PAL16202,16203 (Propagation 1D on edges group)

- *                * theNumber       - Number of subshapes. Object is selected if it contains theNumber of
- *                                    theSubShapeType sub-shapes
+ *                * theNumber       - Number of subshapes. Object is selected if it contains
+ *                                    theNumber of theSubShapeType sub-shapes, or at least
+ *                                    one theSubShapeType, provided that theNumber==0
This commit is contained in:
eap 2007-11-07 09:48:31 +00:00
parent 9ebce0b2a6
commit fddc257b55
2 changed files with 11 additions and 8 deletions

View File

@ -35,8 +35,9 @@
#include "SALOMEDSClient_SObject.hxx"
#include "SALOMEDS_SObject.hxx"
#include <TopTools_MapOfShape.hxx>
#include <TopExp_Explorer.hxx>
#include <TopTools_IndexedMapOfShape.hxx>
#include <TopExp.hxx>
/*!
* Class : SMESH_NumberFilter
@ -135,12 +136,13 @@ bool SMESH_NumberFilter::isOk (const SUIT_DataOwner* theDataOwner) const
if (mySubShapeType == TopAbs_SHAPE);
return true;
TopExp_Explorer anExp2 (aShape, mySubShapeType);
TopTools_MapOfShape aMap;
for (; anExp2.More(); anExp2.Next())
aMap.Add(anExp2.Current());
TopTools_IndexedMapOfShape aMap;
TopExp::MapShapes(aShape, mySubShapeType, aMap);
return myNumber == aMap.Extent();
if ( myNumber )
return myNumber == aMap.Extent(); // given number
return aMap.Extent(); // at least one?
}
//=======================================================================

View File

@ -43,8 +43,9 @@ class SUIT_DataOwner;
* Filter geom objects by number of subshapes of the given type
* Parameters of constructor:
* * theSubShapeType - Type of subshape
* * theNumber - Number of subshapes. Object is selected if it contains theNumber of
* theSubShapeType sub-shapes
* * theNumber - Number of subshapes. Object is selected if it contains
* theNumber of theSubShapeType sub-shapes, or at least
* one theSubShapeType, provided that theNumber==0
* * theShapeType - This map specifies types of object to be selected
* * theMainObject - Sub-shapes of this object is selected only
* * theIsClosedOnly - Closed shapes is selected if this parameter is true