]> SALOME platform Git repositories - modules/hydro.git/blob - src/HYDROData/HYDROData_Projection.h
Salome HOME
Access methods for object groups added.
[modules/hydro.git] / src / HYDROData / HYDROData_Projection.h
1
2 #ifndef HYDROData_Projection_HeaderFile
3 #define HYDROData_Projection_HeaderFile
4
5 #include <Standard_Real.hxx>
6 #include <IntCurvesFace_ShapeIntersector.hxx>
7
8 class TopoDS_Shape;
9 class TopoDS_Edge;
10 class TopoDS_Face;
11 class TopoDS_Wire;
12 class TopoDS_Vertex;
13 class TopTools_ListOfShape;
14 class TopTools_IndexedDataMapOfShapeListOfShape;
15 class gp_Pnt;
16
17 class HYDROData_Make3dMesh
18 {
19 public:
20   HYDROData_Make3dMesh( const TopoDS_Shape& aShape,
21                         const Standard_Real Tolerance );
22   
23   Standard_Boolean GetHighestOriginal(const Standard_Real aX,
24                                       const Standard_Real aY,
25                                       gp_Pnt& HighestPoint );
26   
27 private:
28   IntCurvesFace_ShapeIntersector myIntersector;
29 };
30
31 class HYDROData_Projection
32 {
33 public:
34   static TopoDS_Edge FindClosestDirection( const TopoDS_Vertex& StartVertex,
35                                            const TopTools_ListOfShape& Candidates,
36                                            const gp_Vec& StartDir );
37   static TopoDS_Wire BuildOutWire( const TopTools_IndexedDataMapOfShapeListOfShape& VEmap,
38                                    const TopoDS_Vertex& StartVertex,
39                                    TopoDS_Edge&   StartEdge );
40   static TopoDS_Face MakeProjection( const TopoDS_Shape& aShape );
41 };
42
43 #endif