Salome HOME
Add BelongToGenSurface predicate
[modules/smesh.git] / src / SMESH_I / SMESH_Filter_i.hxx
index b634bfe9d4c7a94cf845635a45b8701dbd13f04f..1f35b0c408d8845e21ee0463f006311f5b4b338a 100644 (file)
@@ -17,7 +17,7 @@
 //  License along with this library; if not, write to the Free Software 
 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
 // 
-//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 //
 //
@@ -239,6 +239,19 @@ namespace SMESH
   };
   
   
+  /*
+    Class       : Volume3D_i
+    Description : Functor for calculating volume of 3D element
+  */
+  class Volume3D_i: public virtual POA_SMESH::Volume3D,
+                    public virtual NumericalFunctor_i
+  {
+  public:
+    Volume3D_i();
+    FunctorType                     GetFunctorType();
+  };
+  
+  
   /*
     Class       : Length_i
     Description : Functor for calculating length of edge
@@ -347,11 +360,14 @@ namespace SMESH
     void                            SetGeom( const TopoDS_Shape& theShape );
     
     void                            SetShapeName( const char* theName );
+    void                            SetShape( const char* theID, const char* theName );
     char*                           GetShapeName();
+    char*                           GetShapeID();
     
   protected:
     Controls::BelongToGeomPtr       myBelongToGeomPtr;
     char*                           myShapeName;
+    char*                           myShapeID;
   };
   
   /*
@@ -368,14 +384,20 @@ namespace SMESH
     void                            SetSurface( GEOM::GEOM_Object_ptr theGeom, ElementType theType );
     
     void                            SetShapeName( const char* theName, ElementType theType );
+    void                            SetShape( const char* theID, const char* theName, ElementType theType );
     char*                           GetShapeName();
-    
+    char*                           GetShapeID();
+
     void                            SetTolerance( CORBA::Double );
     CORBA::Double                   GetTolerance();
     
+    void                            SetUseBoundaries( CORBA::Boolean theUseBndRestrictions );
+    CORBA::Boolean                  GetUseBoundaries();
+
   protected:
     Controls::ElementsOnSurfacePtr  myElementsOnSurfacePtr;
     char*                           myShapeName;
+    char*                           myShapeID;
     Handle(Standard_Type)           mySurfaceType;
   };
   
@@ -405,6 +427,19 @@ namespace SMESH
     FunctorType                     GetFunctorType();
   };
   
+  /*
+    Class       : BelongToGenSurface_i
+    Description : Verify whether mesh element lie on pointed Geom surfasic object
+  */
+  class BelongToGenSurface_i: public virtual POA_SMESH::BelongToGenSurface,
+                              public virtual BelongToSurface_i
+  {
+  public:
+    BelongToGenSurface_i();
+    void                            SetSurface( GEOM::GEOM_Object_ptr theGeom, ElementType theType );
+    FunctorType                     GetFunctorType();
+  };
+  
   /*
     Class       : LyingOnGeom_i
     Description : Predicate for selection on geometrical support(lying or partially lying)
@@ -423,11 +458,14 @@ namespace SMESH
     void                            SetGeom( const TopoDS_Shape& theShape );
     
     void                            SetShapeName( const char* theName );
+    void                            SetShape( const char* theID, const char* theName );
     char*                           GetShapeName();
+    char*                           GetShapeID();
     
   protected:
     Controls::LyingOnGeomPtr        myLyingOnGeomPtr;
     char*                           myShapeName;
+    char*                           myShapeID;
   };
   
   /*
@@ -739,6 +777,7 @@ namespace SMESH
     Taper_ptr                 CreateTaper();
     Skew_ptr                  CreateSkew();
     Area_ptr                  CreateArea();
+    Volume3D_ptr              CreateVolume3D();
     Length_ptr                CreateLength();
     Length2D_ptr              CreateLength2D();
     MultiConnection_ptr       CreateMultiConnection();
@@ -747,6 +786,7 @@ namespace SMESH
     BelongToGeom_ptr          CreateBelongToGeom();
     BelongToPlane_ptr         CreateBelongToPlane();
     BelongToCylinder_ptr      CreateBelongToCylinder();
+    BelongToGenSurface_ptr    CreateBelongToGenSurface();
     
     LyingOnGeom_ptr           CreateLyingOnGeom();