protected override void OnDeactivate() { if (current != null) { current.Destroy(); current = null; } canCreate = true; prev = null; }
protected override void OnMouseDown(Vector3 pos, ICADObject sko) { if (current != null) { if (!canCreate) { return; } current.p[2].pos = pos; foreach (var p in current.p) { p.isSelectable = true; } current.isSelectable = true; if (prev != null) { new Tangent(current.sketch, current, prev); } if (AutoConstrainCoincident(current.p[3], sko as IEntity)) { current = null; StopTool(); return; } } if (DetailEditor.instance.currentSketch == null) { return; } editor.PushUndo(); var newEntity = new SplineEntity(DetailEditor.instance.currentSketch.GetSketch()); foreach (var p in newEntity.p) { p.pos = pos; } if (current == null) { AutoConstrainCoincident(newEntity.p[0], sko as IEntity); } else { new PointsCoincident(current.sketch, current.p[3], newEntity.p[0]); } prev = current; current = newEntity; foreach (var p in current.p) { p.isSelectable = false; } current.isSelectable = false; }