private void updatePlanePlane(MasterGeoObj mgo, MasterGeoObj masterGeoObj1, MasterGeoObj masterGeoObj2) { intersectionFigData data = IntersectionMath.PlanePlaneIntersection(masterGeoObj1.GetComponent <flatfaceBehave>(), masterGeoObj2.GetComponent <flatfaceBehave>()); if (data.figtype == mgo.figType) { //line only option mgo.Position3 = data.vectordata[0]; mgo.AddToRManager(); } else if (data.figtype == GeoObjType.none) { mgo.DeleteGeoObj(); } else { Debug.LogWarning("TYPE MISMATCH"); } }
private void updateCircleLine(MasterGeoObj mgo, MasterGeoObj masterGeoObj1, MasterGeoObj masterGeoObj2) { intersectionFigData data = IntersectionMath.CircleLineIntersection(masterGeoObj1.GetComponent <AbstractCircle>(), masterGeoObj2.GetComponent <straightEdgeBehave>()); if (data.figtype == mgo.figType) { switch (data.figtype) { case GeoObjType.point: mgo.Position3 = data.vectordata[0]; mgo.AddToRManager(); break; case GeoObjType.circle: DependentCircle circle = mgo.GetComponent <DependentCircle>(); circle.centerPos = data.vectordata[0]; circle.normalDir = data.vectordata[1]; circle.center.Position3 = data.vectordata[0]; circle.edgePos = data.vectordata[2]; circle.edge.Position3 = data.vectordata[2]; circle.AddToRManager(); circle.edge.AddToRManager(); circle.center.AddToRManager(); break; default: break; } } else if (data.figtype == GeoObjType.none) { mgo.DeleteGeoObj(); } else { Debug.LogWarning("TYPE MISMATCH"); } }