Salome HOME
Creation of group for channel (Feature #242).
[modules/hydro.git] / src / HYDROData / HYDROData_ShapesTool.h
index e676bf85462edd645c172cf2fc6a9e21794372ca..893f4c50f53aa837f2ab68dddfd30e84ebae0260 100644 (file)
@@ -25,23 +25,39 @@ public:
                                                               const TopAbs_ShapeEnum&   theExpType,
                                                               TopTools_SequenceOfShape& theOutShapes );
 
+  /**
+   * \brief Gets the first and last vertex from shape. Shape can be an Edge or Wire.
+   * \param theInShape object to explore
+   * \param theFirstVertex[out] first shape vertex
+   * \param theLastVertex[out] last shape vertex
+   * \return true if shape is of correct type
+   */
+  static bool                           Vertices( const TopoDS_Shape& theInShape,
+                                                  TopoDS_Vertex&      theFirstVertex,
+                                                  TopoDS_Vertex&      theLastVertex,
+                                                  const bool          theIsCumOri = false );
+
   /**
    * \brief Compare two vertices on coordinates equation.
    * \param theFirstVert first vertex
    * \param theSecondVert second vertex
+   * \param theIs2D flag indicating the 2D equation (ie. z coord will be ignored)
    * \return \c true if cooredinates of vertices is equals
    */
   static bool                           IsVerticesEquals( const TopoDS_Vertex& theFirstVert,
-                                                          const TopoDS_Vertex& theSecondVert );
+                                                          const TopoDS_Vertex& theSecondVert,
+                                                          const bool           theIs2D = false  );
 
   /**
    * \brief Compare two edges on points coordinates equation.
    * \param theFirstVert first edge
    * \param theSecondVert second edge
+   * \param theIs2D flag indicating the 2D equation (ie. z coord will be ignored)
    * \return \c true if coordinates of all points of given edges is equals
    */
   static bool                           IsEdgesEquals( const TopoDS_Edge& theFirstEdge,
-                                                       const TopoDS_Edge& theSecondEdge );
+                                                       const TopoDS_Edge& theSecondEdge,
+                                                       const bool         theIs2D = false );
 };