Salome HOME
Create goups for stream.
[modules/hydro.git] / src / HYDROData / HYDROData_ShapesTool.h
1
2 #ifndef HYDROData_ShapesTool_HeaderFile
3 #define HYDROData_ShapesTool_HeaderFile
4
5 #include "HYDROData.h"
6
7 #include <TopAbs_ShapeEnum.hxx>
8
9 class TopoDS_Shape;
10 class TopoDS_Vertex;
11 class TopoDS_Edge;
12 class TopTools_SequenceOfShape;
13
14 class HYDRODATA_EXPORT HYDROData_ShapesTool {
15
16 public:
17
18   /**
19    * \brief Explore the incoming shape to shapes with given type.
20    * \param theInShape object to explore
21    * \param theExpType type to explore
22    * \param theOutShapes[out] list of result shapes if any
23    */
24   static void                           ExploreShapeToShapes( const TopoDS_Shape&       theInShape,
25                                                               const TopAbs_ShapeEnum&   theExpType,
26                                                               TopTools_SequenceOfShape& theOutShapes );
27
28   /**
29    * \brief Compare two vertices on coordinates equation.
30    * \param theFirstVert first vertex
31    * \param theSecondVert second vertex
32    * \return \c true if cooredinates of vertices is equals
33    */
34   static bool                           IsVerticesEquals( const TopoDS_Vertex& theFirstVert,
35                                                           const TopoDS_Vertex& theSecondVert );
36
37   /**
38    * \brief Compare two edges on points coordinates equation.
39    * \param theFirstVert first edge
40    * \param theSecondVert second edge
41    * \return \c true if coordinates of all points of given edges is equals
42    */
43   static bool                           IsEdgesEquals( const TopoDS_Edge& theFirstEdge,
44                                                        const TopoDS_Edge& theSecondEdge );
45 };
46
47
48 #endif
49
50