/// <summary> /// overridden Clone function /// </summary> /// <returns>a clone</returns> public override ShapeBase Clone() { CustomVolumeVertex clone = (CustomVolumeVertex)base.Clone(); clone._parentShape = this._parentShape; return(clone); }
/// <summary> /// Overridden function to insert a vertex /// </summary> /// <param name="view"></param> public override void OnClicked(VisionViewBase view) { base.OnClicked(view); CustomVolumeVertex newVertex = new CustomVolumeVertex(); newVertex.ChildIndex = _insert; EditorManager.Actions.Add(AddShapeAction.CreateAddShapeAction(newVertex, Volume, Volume.ParentLayer, false)); newVertex.Position = Position; EditorManager.ActiveView.Gizmo.SetSingleShape(newVertex, false); }
public override bool OnMouseClick() { bool bUpdate = base.OnMouseClick(); if (_keyMod == KeyModifier.Ctrl) { Vector3F startRay, endRay; Vector3F hitPoint = new Vector3F(); EditorManager.EngineManager.GetRayAtScreenPos(out startRay, out endRay, MouseX, MouseY, EditorManager.Settings.MaxPickingDistance); if (EditorManager.EngineManager.GetTraceHit(startRay, endRay, ref hitPoint)) { CustomVolumeVertex vertex = new CustomVolumeVertex(); EditorManager.Actions.Add(AddShapeAction.CreateAddShapeAction(vertex, _shape, _shape.ParentLayer, true)); vertex.CreateEngineInstance(true); vertex.Position = hitPoint; bUpdate = true; } } return(bUpdate); }
void AddVolumeVertex(CustomVolumeShape volume, Vector3F position) { CustomVolumeVertex vertex = new CustomVolumeVertex(); EditorManager.Actions.Add(AddShapeAction.CreateAddShapeAction(vertex, volume, volume.ParentLayer, true)); vertex.CreateEngineInstance(true); vertex.Position = position; }
public override bool OnMouseClick() { bool bUpdate = base.OnMouseClick(); if (_keyMod == KeyModifier.Ctrl) { Vector3F startRay, endRay; Vector3F hitPoint = new Vector3F(); EditorManager.EngineManager.GetRayAtScreenPos(out startRay, out endRay, MouseX, MouseY, EditorManager.Settings.MaxPickingDistance); if (EditorManager.EngineManager.GetTraceHit(startRay, endRay, ref hitPoint)) { CustomVolumeVertex vertex = new CustomVolumeVertex(); EditorManager.Actions.Add(AddShapeAction.CreateAddShapeAction(vertex, _shape, _shape.ParentLayer, true)); vertex.CreateEngineInstance(true); vertex.Position = hitPoint; bUpdate = true; } } return bUpdate; }