Salome HOME
add SMESH plugin MGCleaner
[modules/smesh.git] / src / SMESH_I / SMESH_Filter_i.hxx
index 2186b42ea4629d61ed7c543332d1fc2b5d241ea9..fa9436722ee7435cb9689dbd7e6de5dcddcff1a8 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -18,6 +18,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
 //  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
 //  File   : SMESH_Filter_i.hxx
@@ -141,10 +142,10 @@ namespace SMESH
                                   public virtual SALOME::GenericObj_i
   {
   public:
-    void                            SetMesh( SMESH_Mesh_ptr theMesh );
-    Controls::FunctorPtr            GetFunctor(){ return myFunctorPtr;}
+    virtual void                    SetMesh( SMESH_Mesh_ptr theMesh );
+    Controls::FunctorPtr            GetFunctor() { return myFunctorPtr; }
     ElementType                     GetElementType();
-    
+
   protected:
     Functor_i();
     ~Functor_i();
@@ -801,6 +802,34 @@ namespace SMESH
   private:
     Controls::CoplanarFacesPtr myCoplanarFacesPtr;
   };
+
+  /*
+   * Class       : ConnectedElements_i
+   * Description : Returns true if an element is connected via other elements to the element
+   *               located at a given point.
+   */
+  class SMESH_I_EXPORT ConnectedElements_i: public virtual POA_SMESH::ConnectedElements,
+                                            public virtual Predicate_i
+  {
+  public:
+    ConnectedElements_i();
+    FunctorType             GetFunctorType();
+
+    void                    SetElementType( ElementType theType );
+    void                    SetPoint( CORBA::Double x, CORBA::Double y, CORBA::Double z );
+    void                    SetVertex( GEOM::GEOM_Object_ptr vertex )
+      throw (SALOME::SALOME_Exception);
+    void                    SetNode ( CORBA::Long nodeID )
+      throw (SALOME::SALOME_Exception);
+    void                    SetThreshold ( const char* threshold,
+                                           SMESH::ConnectedElements::ThresholdType type )
+      throw (SALOME::SALOME_Exception);
+    char*                   GetThreshold ( SMESH::ConnectedElements::ThresholdType& type );
+
+  private:
+    Controls::ConnectedElementsPtr          myConnectedElementsPtr;
+    std::string                             myVertexID;
+  };
   
   /*
     Class       : Comparator_i
@@ -1115,6 +1144,7 @@ namespace SMESH
     ElemGeomType_ptr          CreateElemGeomType();
     ElemEntityType_ptr        CreateElemEntityType();
     CoplanarFaces_ptr         CreateCoplanarFaces();
+    ConnectedElements_ptr     CreateConnectedElements();
 
     LessThan_ptr              CreateLessThan();
     MoreThan_ptr              CreateMoreThan();