Salome HOME
Merge branch 'V9_9_BR'
[modules/smesh.git] / idl / SMESH_Filter.idl
index 4522b220532aee5b440ec7d677f1767cce99771b..7f151908412298e367992146beac8778d9551e91 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022  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
@@ -6,7 +6,7 @@
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -30,6 +30,7 @@
 #include "SALOME_GenericObj.idl"
 #include "GEOM_Gen.idl"
 #include "SMESH_Mesh.idl"
+#include "SMESH_smIdType.idl"
 
 module SMESH
 {
@@ -61,6 +62,10 @@ module SMESH
     FT_MultiConnection2D,
     FT_Length,
     FT_Length2D,
+    FT_Length3D,
+    FT_Deflection2D,
+    FT_NodeConnectivityNumber,
+    FT_BelongToMeshGroup,
     FT_BelongToGeom,
     FT_BelongToPlane,
     FT_BelongToCylinder,
@@ -115,7 +120,8 @@ module SMESH
   */
   interface NumericalFunctor: Functor
   {
-    double GetValue( in long theElementId );
+    double  GetValue    ( in smIdType theElementId );
+    boolean IsApplicable( in smIdType theElementId );
 
     Histogram GetHistogram     ( in short nbIntervals, in boolean isLogarithmic );
     Histogram GetLocalHistogram( in short nbIntervals, in boolean isLogarithmic,
@@ -148,6 +154,8 @@ module SMESH
     typedef sequence<Value> Values;
     Values GetValues();
   };
+  interface Length3D          : NumericalFunctor{};
+  interface Deflection2D      : NumericalFunctor{};
   interface MultiConnection   : NumericalFunctor{};
   interface MultiConnection2D : NumericalFunctor
   {
@@ -161,6 +169,7 @@ module SMESH
     Values GetValues();
   };
   interface BallDiameter    : NumericalFunctor{};
+  interface NodeConnectivityNumber : NumericalFunctor{};
   
 
   /*!
@@ -228,6 +237,17 @@ module SMESH
    */
   interface EqualVolumes: Predicate {};
 
+  /*!
+  * Logical functor (predicate) "Belong To Mesh Group".
+  * Verify whether a mesh element is included into a mesh group
+  */
+  interface BelongToMeshGroup: Predicate
+  {
+    void SetGroup( in SMESH::SMESH_GroupBase theGroup );
+    void SetGroupID( in string theID ); // IOR or StoreName
+    SMESH::SMESH_GroupBase GetGroup();
+  };
+
   /*!
    * Logical functor (predicate) "Belong To Geometry".
    * Verify whether mesh element or node belong to pointed Geom Object
@@ -355,7 +375,7 @@ module SMESH
   */
   interface RangeOfIds: Predicate
   {
-    void            SetRange( in long_array theIds );
+    void            SetRange( in smIdType_array theIds );
     boolean         SetRangeStr( in string theRange );
     string          GetRangeStr();
 
@@ -455,7 +475,7 @@ module SMESH
     void            SetElementType( in ElementType type );
     void            SetPoint      ( in double x, in double y, in double z );
     void            SetVertex     ( in GEOM::GEOM_Object vertex );
-    void            SetNode       ( in long nodeID );
+    void            SetNode       ( in smIdType nodeID );
     string          GetThreshold  ( out ThresholdType type );
     void            SetThreshold  ( in string threshold, in ThresholdType type ) 
       raises (SALOME::SALOME_Exception);
@@ -464,7 +484,7 @@ module SMESH
   /*!
   *  Filter
   */
-  interface Filter: SALOME::GenericObj, SMESH_IDSource
+  interface Filter: SMESH_IDSource
   {
     /*!
     * Structure containing information about one criterion
@@ -503,15 +523,16 @@ module SMESH
 
     typedef sequence<Criterion> Criteria;
 
-    void          SetPredicate( in Predicate thePredicate );
-    void          SetMesh( in SMESH_Mesh theMesh );
+    void           SetPredicate( in Predicate thePredicate );
+    void           SetMesh( in SMESH_Mesh theMesh );
 
-    long_array    GetElementsId( in SMESH_Mesh theMesh );
-    ElementType   GetElementType();
-    Predicate     GetPredicate();
+    smIdType_array GetElementsId( in SMESH_Mesh theMesh );
+    smIdType_array GetElementsIdFromParts( in ListOfIDSources theParts );
+    ElementType    GetElementType();
+    Predicate      GetPredicate();
 
-    boolean       GetCriteria( out Criteria theCriteria );
-    boolean       SetCriteria( in Criteria theCriteria );
+    boolean        GetCriteria( out Criteria theCriteria );
+    boolean        SetCriteria( in Criteria theCriteria );
   };
 
 
@@ -559,59 +580,63 @@ module SMESH
     /*!
     *  Create numerical functors
     */
-    MinimumAngle      CreateMinimumAngle();
-    AspectRatio       CreateAspectRatio();
-    AspectRatio3D     CreateAspectRatio3D();
-    Warping           CreateWarping();
-    Taper             CreateTaper();
-    Skew              CreateSkew();
-    Area              CreateArea();
-    Volume3D          CreateVolume3D();
+    MinimumAngle       CreateMinimumAngle();
+    AspectRatio        CreateAspectRatio();
+    AspectRatio3D      CreateAspectRatio3D();
+    Warping            CreateWarping();
+    Taper              CreateTaper();
+    Skew               CreateSkew();
+    Area               CreateArea();
+    Volume3D           CreateVolume3D();
     MaxElementLength2D CreateMaxElementLength2D();
     MaxElementLength3D CreateMaxElementLength3D();
-    Length            CreateLength();
-    Length2D          CreateLength2D();
-    MultiConnection   CreateMultiConnection();
-    MultiConnection2D CreateMultiConnection2D();
-    BallDiameter      CreateBallDiameter();
+    Length             CreateLength();
+    Length2D           CreateLength2D();
+    Length3D           CreateLength3D();
+    Deflection2D       CreateDeflection2D();
+    MultiConnection    CreateMultiConnection();
+    MultiConnection2D  CreateMultiConnection2D();
+    BallDiameter       CreateBallDiameter();
+    NodeConnectivityNumber CreateNodeConnectivityNumber();
     /*!
-    *  Create logical functors ( predicates )
-    */
-    BelongToGeom      CreateBelongToGeom();
-    BelongToPlane     CreateBelongToPlane();
-    BelongToCylinder  CreateBelongToCylinder();
+     *  Create logical functors ( predicates )
+     */
+    BelongToMeshGroup  CreateBelongToMeshGroup();
+    BelongToGeom       CreateBelongToGeom();
+    BelongToPlane      CreateBelongToPlane();
+    BelongToCylinder   CreateBelongToCylinder();
     BelongToGenSurface CreateBelongToGenSurface();
 
-    LyingOnGeom       CreateLyingOnGeom();
+    LyingOnGeom        CreateLyingOnGeom();
 
-    FreeBorders       CreateFreeBorders();
-    FreeEdges         CreateFreeEdges();
-    FreeNodes         CreateFreeNodes();
-    FreeFaces         CreateFreeFaces();
+    FreeBorders        CreateFreeBorders();
+    FreeEdges          CreateFreeEdges();
+    FreeNodes          CreateFreeNodes();
+    FreeFaces          CreateFreeFaces();
 
-    EqualNodes        CreateEqualNodes();
-    EqualEdges        CreateEqualEdges();
-    EqualFaces        CreateEqualFaces();
-    EqualVolumes      CreateEqualVolumes();
+    EqualNodes         CreateEqualNodes();
+    EqualEdges         CreateEqualEdges();
+    EqualFaces         CreateEqualFaces();
+    EqualVolumes       CreateEqualVolumes();
 
-    RangeOfIds        CreateRangeOfIds();
+    RangeOfIds         CreateRangeOfIds();
 
-    BadOrientedVolume CreateBadOrientedVolume();
-    BareBorderVolume  CreateBareBorderVolume();
-    BareBorderFace    CreateBareBorderFace();
+    BadOrientedVolume  CreateBadOrientedVolume();
+    BareBorderVolume   CreateBareBorderVolume();
+    BareBorderFace     CreateBareBorderFace();
     OverConstrainedVolume CreateOverConstrainedVolume();
     OverConstrainedFace   CreateOverConstrainedFace();
-    LinearOrQuadratic CreateLinearOrQuadratic();
+    LinearOrQuadratic  CreateLinearOrQuadratic();
 
-    GroupColor        CreateGroupColor();
-    ElemGeomType      CreateElemGeomType();
-    ElemEntityType    CreateElemEntityType();
-    CoplanarFaces     CreateCoplanarFaces();
-    ConnectedElements CreateConnectedElements();
+    GroupColor         CreateGroupColor();
+    ElemGeomType       CreateElemGeomType();
+    ElemEntityType     CreateElemEntityType();
+    CoplanarFaces      CreateCoplanarFaces();
+    ConnectedElements  CreateConnectedElements();
 
     /*!
-    *  Create comparators ( predicates )
-    */
+     *  Create comparators ( predicates )
+     */
     LessThan          CreateLessThan();
     MoreThan          CreateMoreThan();
     EqualTo           CreateEqualTo();
@@ -629,7 +654,7 @@ module SMESH
     Filter            CreateFilter();
 
     /*!
-    *  Load filter library. If libary does not exist it is created
+    *  Load filter library. If library does not exist it is created
     */
     FilterLibrary     LoadLibrary( in string aFileName );