- TopoDS_Edge ProjEdge;
- ProjEdgeOnPlane(theProfiles3d[i], RefPlane, ProjEdge, TopoDS_Vertex(), TopoDS_Vertex());
- internProf.push_back (TopoDS::Edge(ProjEdge.Oriented(TopAbs_INTERNAL)));
- }
-
- TopoDS_Edge ProjEdgeIn, ProjEdgeOut;
- TopoDS_Vertex V1In, V2In, V1Out, V2Out;
-
- ProjEdgeOnPlane(theProfiles3d.front(), RefPlane, ProjEdgeIn, TopoDS_Vertex(), TopoDS_Vertex());
- TopExp::Vertices(ProjEdgeIn, V1In, V2In);
-
- ProjEdgeOnPlane(theProfiles3d.back(), RefPlane, ProjEdgeOut, TopoDS_Vertex(), TopoDS_Vertex());
- TopExp::Vertices(ProjEdgeOut, V1Out, V2Out);
-
- TopoDS_Edge ProjEdgeLeftB, ProjEdgeRightB;
- ProjEdgeOnPlane(theLeftBank, RefPlane, ProjEdgeLeftB, V1In, V1Out);
- ProjEdgeOnPlane(theRightBank, RefPlane, ProjEdgeRightB, V2In, V2Out);
-
- BRepLib_MakeWire WM(ProjEdgeIn, ProjEdgeOut, ProjEdgeLeftB, ProjEdgeRightB);
- for (size_t i = 0; i < internProf.size(); i++ )
- WM.Add(internProf[i]);
-
- TopoDS_Face outF = BRepLib_MakeFace(RefPlane, WM.Wire()).Face();
- thePrs.myPrs2D = outF;
-
- return true;
- /*if ( theArrayOfFPnt.IsNull() || theArrayOfLPnt.IsNull() || theArrOfProfiles.IsNull() ) {
- return false;