Salome HOME
[SALOME platform 0013410]: SubMesh not taken into account with Netgen 1D-2D et 1D...
authoreap <eap@opencascade.com>
Tue, 16 Sep 2008 08:44:22 +0000 (08:44 +0000)
committereap <eap@opencascade.com>
Tue, 16 Sep 2008 08:44:22 +0000 (08:44 +0000)
+  static SMESH_HypoPredicate* IsMoreLocalThan(const TopoDS_Shape& theShape);

src/SMESH/SMESH_HypoFilter.cxx
src/SMESH/SMESH_HypoFilter.hxx

index fe0bcd46684dd9267311df7bfe260f4e3a95f714..64720b1fa154787eff5abef995598067f3dd9eb1 100644 (file)
@@ -118,6 +118,17 @@ bool SMESH_HypoFilter::IsAssignedToPredicate::IsOk(const SMESH_Hypothesis* aHyp,
   return ( !_mainShape.IsNull() && !aShape.IsNull() && _mainShape.IsSame( aShape ));
 }
 
+//=======================================================================
+//function : IsMoreLocalThanPredicate::IsOk
+//purpose  : 
+//=======================================================================
+
+bool SMESH_HypoFilter::IsMoreLocalThanPredicate::IsOk(const SMESH_Hypothesis* aHyp,
+                                                      const TopoDS_Shape&     aShape) const
+{
+  return ( aShape.ShapeType() > _shapeType );
+}
+
 //=======================================================================
 //function : SMESH_HypoFilter
 //purpose  : 
@@ -262,6 +273,16 @@ SMESH_HypoPredicate* SMESH_HypoFilter::IsApplicableTo(const TopoDS_Shape& theSha
   return new ApplicablePredicate( theShape );
 }
 
+//=======================================================================
+//function : IsMoreLocalThan
+//purpose  : 
+//=======================================================================
+
+SMESH_HypoPredicate* SMESH_HypoFilter::IsMoreLocalThan(const TopoDS_Shape& theShape)
+{
+  return new IsMoreLocalThanPredicate( theShape );
+}
+
 //=======================================================================
 //function : HasType
 //purpose  : 
index 041166d41c0be369754f6ce706026b0c7cedaa4a..d40bc1a75f51b8c6d2d812f3ed69b154d2390e93 100644 (file)
@@ -74,6 +74,7 @@ class SMESH_EXPORT SMESH_HypoFilter: public SMESH_HypoPredicate
   static SMESH_HypoPredicate* IsAssignedTo(const TopoDS_Shape& theShape);
   static SMESH_HypoPredicate* Is(const SMESH_Hypothesis* theHypo);
   static SMESH_HypoPredicate* IsGlobal(const TopoDS_Shape& theMainShape);
+  static SMESH_HypoPredicate* IsMoreLocalThan(const TopoDS_Shape& theShape);
   static SMESH_HypoPredicate* HasName(const std::string & theName);
   static SMESH_HypoPredicate* HasDim(const int theDim);
   static SMESH_HypoPredicate* HasType(const int theHypType);
@@ -167,6 +168,13 @@ class SMESH_EXPORT SMESH_HypoFilter: public SMESH_HypoPredicate
               const TopoDS_Shape&     aShape) const;
   };
         
+  struct IsMoreLocalThanPredicate : public SMESH_HypoPredicate {
+    TopAbs_ShapeEnum _shapeType;
+    IsMoreLocalThanPredicate( const TopoDS_Shape& shape ):_shapeType(shape.ShapeType()){}
+    bool IsOk(const SMESH_Hypothesis* aHyp,
+              const TopoDS_Shape&     aShape) const;
+  };
+        
   struct IsAuxiliaryPredicate : public SMESH_HypoPredicate {
     bool IsOk(const SMESH_Hypothesis* aHyp,
               const TopoDS_Shape&     aShape) const;