Salome HOME
0022762: [EDF] Fast detection of face/face face/solid solid/solid interference
[modules/geom.git] / src / GEOM_I / GEOM_IHealingOperations_i.hh
index 8b30c9530dfa9eed8d324a80aa62446dbd5a8591..c1da1d0060956890505a1beeca70c8089c74d1d2 100644 (file)
@@ -33,9 +33,6 @@
 
 #include "GEOMImpl_IHealingOperations.hxx"
 
-#include <TColStd_HArray1OfExtendedString.hxx>
-#include <TColStd_HArray1OfInteger.hxx>
-
 class GEOM_I_EXPORT GEOM_IHealingOperations_i :
     public virtual POA_GEOM::GEOM_IHealingOperations,
     public virtual GEOM_IOperations_i
@@ -72,25 +69,29 @@ class GEOM_I_EXPORT GEOM_IHealingOperations_i :
    GEOM::GEOM_Object_ptr FillHoles (GEOM::GEOM_Object_ptr theObject,
                                     const GEOM::short_array& theWires);
 
-   GEOM::GEOM_Object_ptr Sew (GEOM::GEOM_Object_ptr theObject,
+   GEOM::GEOM_Object_ptr Sew (const GEOM::ListOfGO & theObject,
                               CORBA::Double theTolerance);
 
-   GEOM::GEOM_Object_ptr SewAllowNonManifold (GEOM::GEOM_Object_ptr theObject,
+   GEOM::GEOM_Object_ptr SewAllowNonManifold (const GEOM::ListOfGO & theObject,
                                               CORBA::Double theTolerance);
 
-   GEOM::GEOM_Object_ptr RemoveInternalFaces (GEOM::GEOM_Object_ptr theCompound);
+   GEOM::GEOM_Object_ptr RemoveInternalFaces (const GEOM::ListOfGO& theSolids);
 
    GEOM::GEOM_Object_ptr DivideEdge (GEOM::GEOM_Object_ptr theObject,
-                                     CORBA::Short theIndex,
-                                     CORBA::Double theValue,
-                                     CORBA::Boolean isByParameter);
+                                     CORBA::Short          theIndex,
+                                     CORBA::Double         theValue,
+                                     CORBA::Boolean        isByParameter);
+
+   GEOM::GEOM_Object_ptr DivideEdgeByPoint (GEOM::GEOM_Object_ptr theObject,
+                                            CORBA::Short          theIndex,
+                                            const GEOM::ListOfGO& thePoints);
 
    GEOM::GEOM_Object_ptr FuseCollinearEdgesWithinWire (GEOM::GEOM_Object_ptr theWire,
                                                        const GEOM::ListOfGO& theVertices);
 
-   CORBA::Boolean GetFreeBoundary(GEOM::GEOM_Object_ptr theObject,
-                                  GEOM::ListOfGO_out theClosedWires,
-                                  GEOM::ListOfGO_out theOpenWires );
+   CORBA::Boolean GetFreeBoundary(const GEOM::ListOfGO& theObjects,
+                                  GEOM::ListOfGO_out    theClosedWires,
+                                  GEOM::ListOfGO_out    theOpenWires );
 
    GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theObject);
    GEOM::GEOM_Object_ptr ChangeOrientationCopy (GEOM::GEOM_Object_ptr theObject);
@@ -100,8 +101,9 @@ class GEOM_I_EXPORT GEOM_IHealingOperations_i :
 
    ::GEOMImpl_IHealingOperations* GetOperations() { return (::GEOMImpl_IHealingOperations*)GetImpl(); }
 
+   GEOM::ModifStatistics* GetStatistics();
+   
 private:
-         Handle(TColStd_HArray1OfExtendedString) Convert( const GEOM::string_array& );
          Handle(TColStd_HArray1OfInteger)        Convert( const GEOM::short_array& );
 
 };