]> SALOME platform Git repositories - modules/hydro.git/blob - src/HYDROData/HYDROData_Pipes.h
Salome HOME
debug of the channel presentation
[modules/hydro.git] / src / HYDROData / HYDROData_Pipes.h
1
2 #ifndef HYDROData_Pipes_HeaderFile
3 #define HYDROData_Pipes_HeaderFile
4
5 #include <TopoDS_Vertex.hxx>
6 #include <TopoDS_Wire.hxx>
7 #include <gp_Pnt.hxx>
8 #include <TopTools_ListOfShape.hxx>
9
10 class BRepOffsetAPI_MakePipeShell;
11
12 class HYDROData_Canal3dAnd2d
13 {
14 public:
15   HYDROData_Canal3dAnd2d( const TopoDS_Wire& Profile,
16                           const TopoDS_Wire& Guideline );
17   
18   Standard_Boolean Create3dPresentation();
19
20   Standard_Boolean Create2dPresentation();
21
22   Standard_Boolean ProjectWireOntoXOY(const TopoDS_Wire& aWire,
23                                       TopoDS_Wire& ProjectedWire);
24
25   void Make2dProfile();
26
27   TopoDS_Vertex ProjectVertexOntoXOY(const TopoDS_Vertex& aVertex);
28
29   void SetMiddlePoint2d();
30
31   void SetMiddlePoint3d();
32
33   TopoDS_Wire SetTransformedProfile(const TopoDS_Wire& aProfile,
34                                     const TopoDS_Wire& aGuideline,
35                                     const gp_Pnt& aMiddlePoint);
36
37   TopoDS_Wire CreateWireOnUnifiedPipe2d(const TopoDS_Wire& aWireOnPipe2d);
38
39   TopoDS_Wire GetBank(const TopoDS_Vertex& aFreeVertex);
40
41   //Queries
42   TopoDS_Shape Get3dPresentation();
43   TopoDS_Face  Get2dPresentation();
44   TopoDS_Wire GetLeftBank();
45   TopoDS_Wire GetRightBank();
46   TopoDS_Wire GetInlet();
47   TopoDS_Wire GetOutlet();
48
49   void MakeSharpVertexList();
50
51   Standard_Boolean MakeFillet();
52
53 private:
54
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;
63
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;
70
71   TopoDS_Shape myPipe3d;
72   TopoDS_Shape myPipe2d;
73   TopoDS_Shape myUnifiedPipe2d;
74   ShapeUpgrade_UnifySameDomain myUnifier;
75   TopoDS_Wire myInlet;
76   TopoDS_Wire myOutlet;
77   //TopoDS_Shape myLeftBank;
78   //TopoDS_Shape myRightBank;
79
80   Standard_Real myFilletRadius;
81   TopTools_ListOfShape mySharpVertexList;
82   Standard_Real myTolAngular;
83 };
84
85 #endif