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 override void InitWithGeometry(Geometry geometry) { VertexUnit unit1 = geometry.VertexUnit(vertex.id); int count = face.ids.Length; VertexUnit[] faceUnits = new VertexUnit[count]; for (int i = 0; i < count; i++) { faceUnits[i] = geometry.VertexUnit(face.ids[i]); } VertexPlaneVertical unit2 = new VertexPlaneVertical(unit1, faceUnits); unit2.preferredSign = sign; geometry.VertexUnitSetId(unit2, 0); units = new VertexUnit[] { unit2 }; GizmoRight gizmoRight = new GizmoRight(vertex.id, unit2.id, faceUnits[0].id); gizmos = new Gizmo[] { gizmoRight }; GeoVertex geoVertex = new GeoVertex(unit2); GeoEdge geoEdge = new GeoEdge(unit1, unit2); elements = new GeoElement[] { geoVertex, geoEdge }; dependencies.AddRange(faceUnits); dependencies.Add(unit1); }
public override void InitWithGeometry(Geometry geometry) { VertexUnit unit1 = geometry.VertexUnit(vertex.id); VertexUnit unit2 = geometry.VertexUnit(edge.id1); VertexUnit unit3 = geometry.VertexUnit(edge.id2); VertexLineVertical unit4 = new VertexLineVertical(unit1, unit2, unit3); unit4.preferredSign = sign; geometry.VertexUnitSetId(unit4, 0); units = new VertexUnit[] { unit4 }; GizmoRight gizmoRight = new GizmoRight(vertex.id, unit4.id, edge.id2); gizmos = new Gizmo[] { gizmoRight }; GeoVertex geoVertex = new GeoVertex(unit4); GeoEdge geoEdge = new GeoEdge(unit1, unit4); elements = new GeoElement[] { geoVertex, geoEdge }; dependencies.Add(unit1); dependencies.Add(unit2); dependencies.Add(unit3); }
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 void RemoveGizmoRight(Gizmo gizmo) { if (!(gizmo is GizmoRight)) { return; } GizmoRight gizmoRight = (GizmoRight)gizmo; RightBehaviour rightBehaviour = (RightBehaviour)gizmoMap[gizmoRight]; Destroy(rightBehaviour.gameObject); gizmoMap.Remove(gizmoRight); }
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); }