protected override void OnDeactivate() { if (current != null) { current.Destroy(); current = null; } canCreate = true; }
protected override Entity OnSplit(Vector3 position) { var part = new ArcEntity(sketch); part.center.pos = center.pos; part.p1.pos = p1.pos; p1.pos = position; part.p0.pos = p1.pos; return(part); }
void AddArc(netDxf.Entities.Arc a) { var c = new UnityEngine.Vector3((float)a.Center.X, (float)a.Center.Y, (float)a.Center.Z); var e = a.StartAngle; float sa = (float)a.StartAngle * Mathf.Deg2Rad; float ea = (float)a.EndAngle * Mathf.Deg2Rad; float r = (float)a.Radius; var rvs = new UnityEngine.Vector3(r * Mathf.Cos(sa), r * Mathf.Sin(sa), c.z) + c; var rve = new UnityEngine.Vector3(r * Mathf.Cos(ea), r * Mathf.Sin(ea), c.z) + c; ArcEntity arc = new ArcEntity(DetailEditor.instance.currentSketch.GetSketch()); arc.c.SetPosition(c); arc.p0.SetPosition(rvs); arc.p1.SetPosition(rve); }
protected override void OnMouseDown(Vector3 pos, ICADObject sko) { if (current != null) { if (!canCreate) { return; } current.p1.pos = pos; current.p1.isSelectable = true; current.p0.isSelectable = true; current.c.isSelectable = true; current.isSelectable = true; if (AutoConstrainCoincident(current.p1, sko as IEntity)) { current = null; StopTool(); return; } } if (DetailEditor.instance.currentSketch == null) { return; } editor.PushUndo(); var newEntity = new ArcEntity(DetailEditor.instance.currentSketch.GetSketch()); newEntity.p0.pos = pos; newEntity.p1.pos = pos; newEntity.c.pos = pos; if (current == null) { AutoConstrainCoincident(newEntity.p0, sko as IEntity); } else { new PointsCoincident(current.sketch, current.p1, newEntity.p0); } current = newEntity; current.isSelectable = false; current.p0.isSelectable = false; current.p1.isSelectable = false; current.c.isSelectable = false; }