public void AddGizmoCorner(Gizmo gizmo) { if (!(gizmo is GizmoCorner)) { return; } GizmoCorner gizmoCorner = (GizmoCorner)gizmo; GameObject gizmoObject = new GameObject("corner"); gizmoObject.transform.SetParent(gizmoWrapper.transform); CornerBehavior cornerBehavior = gizmoObject.AddComponent <CornerBehavior>(); cornerBehavior.Init(geoCamera); CornerRefer corner = gizmoCorner.corner; Vector3 origin = geometry.UnitVector(corner.id2); Vector3 dir1 = geometry.Direction(corner.id2, corner.id1); Vector3 dir2 = geometry.Direction(corner.id2, corner.id3); cornerBehavior.SetData(origin, dir1, dir2); gizmoMap.Add(gizmoCorner, cornerBehavior); }
public void AddGizmoRight(Gizmo gizmo) { if (!(gizmo is GizmoRight)) { return; } GizmoRight gizmoRight = (GizmoRight)gizmo; GameObject gizmoObject = new GameObject("right"); gizmoObject.transform.SetParent(gizmoWrapper.transform); RightBehaviour rightBehaviour = gizmoObject.AddComponent <RightBehaviour>(); rightBehaviour.Init(geoCamera); CornerRefer corner = gizmoRight.corner; Vector3 origin = geometry.UnitVector(corner.id2); Vector3 dir1 = geometry.Direction(corner.id2, corner.id1); Vector3 dir2 = geometry.Direction(corner.id2, corner.id3); rightBehaviour.SetData(origin, dir1, dir2); gizmoMap.Add(gizmoRight, rightBehaviour); }
public void AddGizmoAngle(Gizmo gizmo) { if (!(gizmo is GizmoAngle)) { return; } GizmoAngle gizmoAngle = (GizmoAngle)gizmo; GameObject gizmoObject = new GameObject("angle"); gizmoObject.transform.SetParent(gizmoWrapper.transform); AngleBehaviour angleBehaviour = gizmoObject.AddComponent <AngleBehaviour>(); angleBehaviour.Init(geoCamera); CornerRefer corner = gizmoAngle.corner; Vector3 origin = geometry.UnitVector(corner.id2); Vector3 dir1 = geometry.Direction(corner.id2, corner.id1); Vector3 dir2 = geometry.Direction(corner.id2, corner.id3); float angle = geometry.CornerAngle(corner.id1, corner.id2, corner.id3); angleBehaviour.SetData(origin, dir1, dir2, angle); gizmoMap.Add(gizmoAngle, angleBehaviour); }
public TopTRightCondition(int id1, int id2, int id3) : base(2) { this.corner = new CornerRefer(id1, id2, id3); GizmoRight gizmoRight = new GizmoRight(corner); gizmos = new Gizmo[] { gizmoRight }; }
public BottomAngleCondition(int id1, int id2, int id3, float angle) : base(2) { this.corner = new CornerRefer(id1, id2, id3); this.angle = angle; GizmoCorner gizmoCorner = new GizmoCorner(corner); GizmoAngle gizmoAngle = new GizmoAngle(corner); gizmos = new Gizmo[] { gizmoCorner, gizmoAngle }; }
public void UpdateGizmoRight(Gizmo gizmo) { if (!(gizmo is GizmoRight)) { return; } GizmoRight gizmoRight = (GizmoRight)gizmo; RightBehaviour rightBehaviour = (RightBehaviour)gizmoMap[gizmoRight]; CornerRefer corner = gizmoRight.corner; Vector3 origin = geometry.UnitVector(corner.id2); Vector3 dir1 = geometry.Direction(corner.id2, corner.id1); Vector3 dir2 = geometry.Direction(corner.id2, corner.id3); rightBehaviour.SetData(origin, dir1, dir2); }
public void UpdateGizmoCorner(Gizmo gizmo) { if (!(gizmo is GizmoCorner)) { return; } GizmoCorner gizmoCorner = (GizmoCorner)gizmo; CornerBehavior cornerBehavior = (CornerBehavior)gizmoMap[gizmoCorner]; CornerRefer corner = gizmoCorner.corner; Vector3 origin = geometry.UnitVector(corner.id2); Vector3 dir1 = geometry.Direction(corner.id2, corner.id1); Vector3 dir2 = geometry.Direction(corner.id2, corner.id3); cornerBehavior.SetData(origin, dir1, dir2); }
public void UpdateGizmoAngle(Gizmo gizmo) { if (!(gizmo is GizmoAngle)) { return; } GizmoAngle gizmoAngle = (GizmoAngle)gizmo; AngleBehaviour angleBehaviour = (AngleBehaviour)gizmoMap[gizmoAngle]; CornerRefer corner = gizmoAngle.corner; Vector3 origin = geometry.UnitVector(corner.id2); Vector3 dir1 = geometry.Direction(corner.id2, corner.id1); Vector3 dir2 = geometry.Direction(corner.id2, corner.id3); float angle = geometry.CornerAngle(corner.id1, corner.id2, corner.id3); angleBehaviour.SetData(origin, dir1, dir2, angle); }
public override FormInput Title() { CornerRefer corner = measure.corner; FormElement formElement = new FormElement(3); formElement.fields[0] = geometry.VertexSign(corner.id1); formElement.fields[1] = geometry.VertexSign(corner.id2); formElement.fields[2] = geometry.VertexSign(corner.id3); float angle = geometry.CornerAngle(corner.id1, corner.id2, corner.id3); FormNum formNum = new FormNum(angle); formNum.format = UIConstants.AngleFormat; FormInput formInput = new FormInput(4); formInput.inputs[0] = new FormText("∠"); formInput.inputs[1] = formElement; formInput.inputs[2] = new FormText("="); formInput.inputs[3] = formNum; return(formInput); }
private bool IsEdgeOppositeCorner(EdgeRefer er, CornerRefer cr) { return(cr.id2 != er.id1 && cr.id2 != er.id2); }
public GizmoRight(CornerRefer corner) { name = "GizmoRight"; this.corner = corner; }
public GizmoRight(int id1, int id2, int id3) { name = "GizmoRight"; corner = new CornerRefer(id1, id2, id3); }
public GizmoCorner(CornerRefer corner) { name = "GizmoCorner"; this.corner = corner; }
public GizmoAngle(CornerRefer corner) { name = "GizmoAngle"; this.corner = corner; }
public GizmoAngle(int id1, int id2, int id3) { name = "GizmoAngle"; corner = new CornerRefer(id1, id2, id3); }
public CornerAngleMeasure(int id1, int id2, int id3) : base() { corner = new CornerRefer(id1, id2, id3); }
private bool IsEdgeAdjacentCorner(EdgeRefer er, CornerRefer cr) { return(cr.id2 == er.id1 || cr.id2 == er.id2); }