From: eap Date: Fri, 29 Dec 2006 11:04:52 +0000 (+0000) Subject: NPAL14419 IMP: a filter predicate to find nodes/elements lying on any X-Git-Tag: V3_2_5pre1~36 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=cec6b2940be75d054b28b1ca26f3d1a720b1b4a1;p=modules%2Fsmesh.git NPAL14419 IMP: a filter predicate to find nodes/elements lying on any kind of geom surface needed in ElementsOnSurface, clear IDs if parameters change --- diff --git a/src/Controls/SMESH_Controls.cxx b/src/Controls/SMESH_Controls.cxx index 9ef5d00f5..338519c3b 100644 --- a/src/Controls/SMESH_Controls.cxx +++ b/src/Controls/SMESH_Controls.cxx @@ -2554,22 +2554,27 @@ SMDSAbs_ElementType ElementsOnSurface::GetType() const { return myType; } void ElementsOnSurface::SetTolerance( const double theToler ) -{ myToler = theToler; } +{ + if ( myToler != theToler ) + myIds.Clear(); + myToler = theToler; +} double ElementsOnSurface::GetTolerance() const { return myToler; } void ElementsOnSurface::SetUseBoundaries( bool theUse ) { - bool diff = ( myUseBoundaries != theUse ); - myUseBoundaries = theUse; - if ( diff ) + if ( myUseBoundaries != theUse ) { + myUseBoundaries = theUse; SetSurface( mySurf, myType ); + } } void ElementsOnSurface::SetSurface( const TopoDS_Shape& theShape, const SMDSAbs_ElementType theType ) { + myIds.Clear(); myType = theType; mySurf.Nullify(); if ( theShape.IsNull() || theShape.ShapeType() != TopAbs_FACE )