public static AbstractPolygon makePlaneWall(int lineIndex, List <AbstractLineSegment> lineList0, List <AbstractLineSegment> lineList1) { AbstractLineSegment line0 = lineList0[lineIndex]; AbstractLineSegment line1 = lineList1[lineIndex]; AbstractPoint point01; AbstractPoint point02; AbstractPoint point11; AbstractPoint point12; if (line0.GetComponent <InteractableLineSegment>() != null) { point01 = line0.transform.GetComponent <InteractableLineSegment>().point1; point02 = line0.transform.GetComponent <InteractableLineSegment>().point2; } else //(line0.GetComponent<DependentLineSegment>() != null) { point01 = line0.transform.GetComponent <DependentLineSegment>().point1; point02 = line0.transform.GetComponent <DependentLineSegment>().point2; } if (line1.GetComponent <InteractableLineSegment>() != null) { point11 = line1.transform.GetComponent <InteractableLineSegment>().point1; point12 = line1.transform.GetComponent <InteractableLineSegment>().point2; } else //(line1.GetComponent<DependentLineSegment>() != null) { point11 = line1.transform.GetComponent <DependentLineSegment>().point1; point12 = line1.transform.GetComponent <DependentLineSegment>().point2; } AbstractLineSegment line2 = iLineSegment(point01, point11); AbstractLineSegment line3 = iLineSegment(point02, point12); HW_GeoSolver.ins.AddDependence(line2, point01); HW_GeoSolver.ins.AddDependence(line2, point11); HW_GeoSolver.ins.AddDependence(line3, point02); HW_GeoSolver.ins.AddDependence(line3, point12); line2.transform.GetComponent <AbstractLineSegment>().InitializeFigure(); line3.transform.GetComponent <AbstractLineSegment>().InitializeFigure(); List <AbstractLineSegment> lineList = new List <AbstractLineSegment>(); lineList.Add(line0); lineList.Add(line1); lineList.Add(line2); lineList.Add(line3); List <AbstractPoint> pointList = new List <AbstractPoint>(); pointList.Add(point01); pointList.Add(point02); pointList.Add(point12); pointList.Add(point11); return(iPolygon(lineList, pointList)); }
public void makeRevolvedSurface(AbstractLineSegment attachedLine, Vector3 revPoint, Vector3 normDir) { #region intialize a cylinder, cone or conic /etc. InteractablePoint newPoint = InteractablePoint.Constructor(); newPoint.Position3 = revPoint; //nullreference on this line from shipswheel DependentRevolvedSurface drs = GeoObjConstruction.dRevSurface(newPoint.GetComponent <AbstractPoint>(), attachedLine, normDir); HW_GeoSolver.ins.AddDependence(drs, newPoint); HW_GeoSolver.ins.AddDependence(drs, attachedLine.GetComponent <MasterGeoObj>()); #endregion }