-#include <GeomProjLib.hxx>
-#include <Geom_TrimmedCurve.hxx>
-#include <Geom_Plane.hxx>
-#include <BRepTools.hxx>
-#include <BRepTools_WireExplorer.hxx>
-static void ProjEdgeOnPlane(const TopoDS_Wire& inpWire, const Handle_Geom_Plane& RefPlane, TopoDS_Wire& outWire, TopoDS_Vertex V1, TopoDS_Vertex V2)
-{
- BRepTools_WireExplorer ex(inpWire);
- BRepLib_MakeWire WM;
- for (;ex.More();ex.Next())
- {
- const TopoDS_Edge& CE = ex.Current();
- double f, l;
- Handle(Geom_Curve) C3d = BRep_Tool::Curve(CE, f, l);
- Handle(Geom_Curve) ProjectedCurve = GeomProjLib::ProjectOnPlane(new Geom_TrimmedCurve(C3d, f, l), RefPlane, RefPlane->Position().Direction(), Standard_True);
- TopoDS_Edge ProjEdge = BRepLib_MakeEdge(ProjectedCurve);
- WM.Add(ProjEdge); //auto sharing between edges if vertex is coincident
- }
- outWire = WM.Wire();
- //if (V1.IsNull() || V2.IsNull())
- // outSh = BRepLib_MakeEdge(ProjectedCurve); //create new vertices
- //else
- // outSh = BRepLib_MakeEdge(ProjectedCurve, V1, V2);
-}
-
-
-bool HYDROData_Stream::CreatePresentations( const TopoDS_Edge& theLeftBank,
- const TopoDS_Edge& theRightBank,
- const std::vector<TopoDS_Wire>& theProfiles3d,
- PrsDefinition& thePrs )
+void HYDROData_Stream::CreatePresentations( const Handle(TColgp_HArray1OfPnt) theArrayOfFPnt,
+ const Handle(TColgp_HArray1OfPnt) theArrayOfLPnt,
+ const Handle(TopTools_HArray1OfShape) theArrOfProfiles,
+ PrsDefinition& thePrs )