+ /*!
+ * Logical functor (predicate) "Is element Linear or Quadratic".
+ * Verify whether a mesh element is linear
+ */
+ interface LinearOrQuadratic: Predicate {
+ void SetElementType( in ElementType theType );
+ };
+
+ /*!
+ * Predicate "Group Color"
+ * Returns color of group to which mesh element belongs to
+ */
+ interface GroupColor : Predicate {
+ void SetElementType( in ElementType theType );
+ void SetColorStr( in string theColor );
+ string GetColorStr();
+ };
+
+ /*!
+ * Predicate "Element geometry type"
+ * Returns is element has indicated geometry type
+ */
+ interface ElemGeomType : Predicate {
+ void SetElementType ( in ElementType theType );
+ void SetGeometryType( in GeometryType theType );
+ };
+
+ /*!
+ * Predicate "Element entity type"
+ * Returns is element has indicated entity type
+ */
+ interface ElemEntityType : Predicate {
+ void SetElementType ( in ElementType theType );
+ void SetEntityType( in EntityType theSetEntityType );
+ };
+
+ /*!
+ * Predicate "Coplanar faces"
+ * Returns true if a mesh face is a coplanar neighbour to a given one. It checks
+ * if normal of a face has angle with the threshold face less than a tolerance.
+ */
+ interface CoplanarFaces : Predicate {
+ void SetFace ( in long theFaceID );
+ void SetTolerance( in double theToler );
+ };
+
+ /*!
+ * Predicate "Connected Elements"
+ * Returns true if an element is connected via other elements to the element
+ * located at a given point.
+ */
+ interface ConnectedElements : Predicate {
+ enum ThresholdType { POINT, VERTEX, NODE, NONE };
+ 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 );
+ string GetThreshold ( out ThresholdType type );
+ void SetThreshold ( in string threshold, in ThresholdType type )
+ raises (SALOME::SALOME_Exception);
+ };
+