public void Remove(Motion6D.SerializablePosition position) { positions.Remove(position); IWpfVisible visible = position.Parameters as IWpfVisible; foreach (Motion6D.Camera camera in cameras) { camera.DynamicalRemove(position); } }
public void Add(Motion6D.SerializablePosition position) { if (positions.Contains(position)) { return; } positions.Add(position); foreach (Motion6D.Camera camera in cameras) { camera.DynamicalAdd(position); } }
/// <summary> /// Creates object the corresponds to button /// </summary> /// <param name="button">The button</param> /// <returns>Created object</returns> public override ICategoryObject CreateObject(IPaletteButton button) { Type type = button.ReflectionType; string kind = button.Kind; // Kind of object if (type.Equals(typeof(Motion6D.SerializablePosition))) { Motion6D.SerializablePosition p = new Motion6D.SerializablePosition(); if (kind.Equals(SphericalVectorPotentialGragient)) { PhysicalField.SphericalFieldWrapper ph = new PhysicalField.SphericalFieldWrapper((int)SphericalFields.SphericalType.VectorPotentialGragient); p.Parameters = ph; Motion6D.Interfaces.IPositionObject po = ph; po.Position = p; return(p); } if (kind.Equals(Measurements_of_3D_field)) { Motion6D.PhysicalFieldMeasurements3D ph = new Motion6D.PhysicalFieldMeasurements3D(); p.Parameters = ph; Motion6D.Interfaces.IPositionObject po = ph; po.Position = p; return(p); } if (kind.Equals(InertialNavigationSystem)) { Motion6D.InertialSensorData sensor = new Motion6D.InertialSensorData(); p.Parameters = sensor; Motion6D.Interfaces.IPositionObject po = sensor; po.Position = p; return(p); } if (kind.Equals(Field3D)) { Motion6D.PhysicalField3D ph = new Motion6D.PhysicalField3D(); p.Parameters = ph; Motion6D.Interfaces.IPositionObject po = ph; po.Position = p; return(p); } } return(null); }