Salome HOME
Merge branch 'BR_MULTI_BATHS' into HEAD
[modules/hydro.git] / src / HYDROData / HYDROData_PolylineOperator.h
index 7740bf5ed3977d3a7f13ffa842df76c93a1b73d8..a4c280b8c12eb0fd72911af03536b883581879af 100644 (file)
@@ -26,6 +26,7 @@
 
 class Handle( HYDROData_Document );
 class HYDROData_TopoCurve;
+class Handle(HYDROData_Object);
 
 class HYDRODATA_EXPORT HYDROData_PolylineOperator
 {
@@ -37,7 +38,8 @@ public:
   bool Split( const Handle( HYDROData_Document )& theDoc,
               const Handle( HYDROData_PolylineXY )& thePolyline,
               const Handle( HYDROData_PolylineXY )& theTool,
-              double theTolerance ) const;
+              double theTolerance,
+              bool& theIsIntersected) const;
   bool Split( const Handle( HYDROData_Document )& theDoc,
               const HYDROData_SequenceOfObjects& thePolylines,
               double theTolerance );
@@ -57,18 +59,22 @@ public:
   //! the middle deflection is more than the required deflection and
   //! more than the half of the maximal middle deflection.
   //! Returns the initial maximal middle deflection.
-  //! Returns a negative value in the case of any erorr.
+  //! Returns a negative value in the case of any error.
   static double ReduceDeflection(
     const double theDeflection,
     HYDROData_TopoCurve& theCurve,
     int& thePieceCount);
 
+  bool Extract( const Handle(HYDROData_Document)& theDocument,
+                const Handle(HYDROData_Object)& theObject );
+
 protected:
   bool split( const Handle( HYDROData_Document )& theDoc,
               const Handle( HYDROData_PolylineXY )& thePolyline,
               const HYDROData_SequenceOfObjects& theTools,
               double theTolerance,
-              int theIgnoreIndex ) const;
+              int theIgnoreIndex,
+              bool& theIsIntersected) const;
 
   static void Split(
     const TopoDS_Wire& theWire,
@@ -77,7 +83,7 @@ protected:
     std::vector<TopoDS_Shape>& theWires);
 
   static bool CreatePolylines( const Handle( HYDROData_Document )& theDoc,
-                               const QString& theNamePrefix,
+                               const Handle( HYDROData_PolylineXY )& theOldPolyline,
                                const std::vector<TopoDS_Shape>& theShape,
                                bool isUseIndices );
 };