Salome HOME
0023614: EDF 16256 - Coordinates of a group
[modules/smesh.git] / src / SMESH_I / SMESH_Filter_i.hxx
index a629f6791deef1fba5f9eadbe3d6885475ab1054..72d0c3c107b44a74c068a5e11c97499c9c5cf483 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  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
@@ -20,7 +20,7 @@
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
-//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's classes
 //  File   : SMESH_Filter_i.hxx
 //  Author : Alexey Petrov, OCC
 //  Module : SMESH
@@ -73,7 +73,7 @@ namespace SMESH
   
   /*
     Class       : Functor_i
-    Description : An abstact class for all functors 
+    Description : An abstract class for all functors 
   */
   class SMESH_I_EXPORT Functor_i: public virtual POA_SMESH::Functor,
                                   public virtual SALOME::GenericObj_i
@@ -99,6 +99,7 @@ namespace SMESH
   {
   public:
     CORBA::Double                   GetValue( CORBA::Long theElementId );
+    CORBA::Boolean                  IsApplicable( CORBA::Long theElementId );
     SMESH::Histogram*               GetHistogram(CORBA::Short   nbIntervals,
                                                  CORBA::Boolean isLogarithmic);
     SMESH::Histogram*               GetLocalHistogram(CORBA::Short               nbIntervals,
@@ -266,11 +267,39 @@ namespace SMESH
     Length2D_i();
     SMESH::Length2D::Values*        GetValues();
     FunctorType                     GetFunctorType();
-    
+
   protected:
     Controls::Length2DPtr          myLength2DPtr;
   };
-  
+
+  /*
+    Class       : Length3D_i
+    Description : Functor for calculating length of edge
+  */
+  class SMESH_I_EXPORT Length3D_i: public virtual POA_SMESH::Length3D,
+                                   public virtual NumericalFunctor_i
+  {
+  public:
+    Length3D_i();
+    //SMESH::Length2D::Values*        GetValues();
+    FunctorType                     GetFunctorType();
+
+  protected:
+    Controls::Length3DPtr          myLength3DPtr;
+  };
+
+  /*
+    Class       : Deflection2D_i
+    Description : Functor for calculating distance between a face and geometry
+  */
+  class SMESH_I_EXPORT Deflection2D_i: public virtual POA_SMESH::Deflection2D,
+                                       public virtual NumericalFunctor_i
+  {
+  public:
+    Deflection2D_i();
+    FunctorType                     GetFunctorType();
+  };
+
   /*
     Class       : MultiConnection_i
     Description : Functor for calculating number of faces conneted to the edge
@@ -311,6 +340,18 @@ namespace SMESH
     FunctorType                     GetFunctorType();
   };
   
+  /*
+    Class       : NodeConnectivityNumber_i
+    Description : Functor returning diameter of a ball element
+  */
+  class SMESH_I_EXPORT NodeConnectivityNumber_i: public virtual POA_SMESH::NodeConnectivityNumber,
+                                       public virtual NumericalFunctor_i
+  {
+  public:
+    NodeConnectivityNumber_i();
+    FunctorType                     GetFunctorType();
+  };
+  
   
   /*
     PREDICATES
@@ -692,7 +733,7 @@ namespace SMESH
   
   /*
     Class       : GroupColor_i
-    Description : Functor for check color of group to whic mesh element belongs to
+    Description : Functor for check color of group to which mesh element belongs to
   */
   class SMESH_I_EXPORT GroupColor_i: public virtual POA_SMESH::GroupColor,
                                      public virtual Predicate_i
@@ -972,7 +1013,11 @@ namespace SMESH
     GetElementsId( SMESH_Mesh_ptr );
 
     virtual
-    ElementType      
+    long_array*
+    GetElementsIdFromParts( const ListOfIDSources& theParts );
+
+    virtual
+    ElementType
     GetElementType();
     
     virtual
@@ -1075,6 +1120,9 @@ namespace SMESH
     MaxElementLength3D_ptr    CreateMaxElementLength3D();
     Length_ptr                CreateLength();
     Length2D_ptr              CreateLength2D();
+    Length3D_ptr              CreateLength3D();
+    Deflection2D_ptr          CreateDeflection2D();
+    NodeConnectivityNumber_ptr CreateNodeConnectivityNumber();
     MultiConnection_ptr       CreateMultiConnection();
     MultiConnection2D_ptr     CreateMultiConnection2D();
     BallDiameter_ptr          CreateBallDiameter();