From cec6b2940be75d054b28b1ca26f3d1a720b1b4a1 Mon Sep 17 00:00:00 2001 From: eap Date: Fri, 29 Dec 2006 11:04:52 +0000 Subject: [PATCH] NPAL14419 IMP: a filter predicate to find nodes/elements lying on any kind of geom surface needed in ElementsOnSurface, clear IDs if parameters change --- src/Controls/SMESH_Controls.cxx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) 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 ) -- 2.39.2