2 #ifndef HYDROData_Pipes_HeaderFile
3 #define HYDROData_Pipes_HeaderFile
5 #include <TopoDS_Vertex.hxx>
6 #include <TopoDS_Wire.hxx>
8 #include <TopTools_ListOfShape.hxx>
10 class BRepOffsetAPI_MakePipeShell;
12 class HYDROData_Canal3dAnd2d
15 HYDROData_Canal3dAnd2d( const TopoDS_Wire& Profile,
16 const TopoDS_Wire& Guideline );
18 Standard_Boolean Create3dPresentation();
20 Standard_Boolean Create2dPresentation();
22 Standard_Boolean ProjectWireOntoXOY(const TopoDS_Wire& aWire,
23 TopoDS_Wire& ProjectedWire);
27 TopoDS_Vertex ProjectVertexOntoXOY(const TopoDS_Vertex& aVertex);
29 void SetMiddlePoint2d();
31 void SetMiddlePoint3d();
33 TopoDS_Wire SetTransformedProfile(const TopoDS_Wire& aProfile,
34 const TopoDS_Wire& aGuideline,
35 const gp_Pnt& aMiddlePoint);
37 TopoDS_Wire CreateWireOnUnifiedPipe2d(const TopoDS_Wire& aWireOnPipe2d);
39 TopoDS_Wire GetBank(const TopoDS_Vertex& aFreeVertex);
42 TopoDS_Shape Get3dPresentation();
43 TopoDS_Face Get2dPresentation();
44 TopoDS_Wire GetLeftBank();
45 TopoDS_Wire GetRightBank();
46 TopoDS_Wire GetInlet();
47 TopoDS_Wire GetOutlet();
49 void MakeSharpVertexList();
51 Standard_Boolean MakeFillet();
55 TopoDS_Wire myProfile;
56 TopoDS_Wire myGuideline;
57 TopoDS_Vertex myLeftVertex;
58 TopoDS_Vertex myRightVertex;
59 TopoDS_Vertex myLeftVertex2d;
60 TopoDS_Vertex myRightVertex2d;
61 gp_Pnt myMiddlePoint2d;
62 gp_Pnt myMiddlePoint3d;
64 TopoDS_Wire myProjectedProfile;
65 TopoDS_Wire myProjectedGuideline, myOriginalGuideline;
66 TopoDS_Wire myTransformedProfile3d;
67 TopoDS_Wire myTransformedProfile2d;
68 BRepOffsetAPI_MakePipeShell* mySweep3d;
69 BRepOffsetAPI_MakePipeShell* mySweep2d;
71 TopoDS_Shape myPipe3d;
72 TopoDS_Shape myPipe2d;
73 TopoDS_Shape myUnifiedPipe2d;
74 ShapeUpgrade_UnifySameDomain myUnifier;
77 //TopoDS_Shape myLeftBank;
78 //TopoDS_Shape myRightBank;
80 Standard_Real myFilletRadius;
81 TopTools_ListOfShape mySharpVertexList;
82 Standard_Real myTolAngular;