This commit is contained in:
san 2005-02-07 13:51:15 +00:00
parent 4101a1ce54
commit 92595f0080
3 changed files with 17 additions and 1 deletions

View File

@ -93,6 +93,7 @@ bool SMESHDS_Group::Add (const int theID)
SetType( aElem->GetType() );
myGroup.Add (aElem);
resetIterator();
return true;
}
@ -108,6 +109,7 @@ bool SMESHDS_Group::Remove (const int theID)
if (!aElem || !myGroup.Contains(aElem))
return false;
myGroup.Remove (aElem);
resetIterator();
return true;
}
@ -119,6 +121,7 @@ bool SMESHDS_Group::Remove (const int theID)
void SMESHDS_Group::Clear()
{
myGroup.Clear();
resetIterator();
}
// =====================

View File

@ -41,7 +41,7 @@ SMESHDS_GroupBase::SMESHDS_GroupBase (const int theID,
const SMESHDS_Mesh* theMesh,
const SMDSAbs_ElementType theType):
myID(theID), myMesh(theMesh), myType(theType), myStoreName(""),
myCurIndex(0), myCurID(0)
myCurIndex(0), myCurID(-1)
{
}
@ -86,6 +86,18 @@ const SMDS_MeshElement* SMESHDS_GroupBase::findInMesh (const int theID) const
return aElem;
}
//=============================================================================
/*!
* Internal method: resets cached iterator, should be called by ancestors
* when they are modified (ex: Add() or Remove() )
*/
//=============================================================================
void SMESHDS_GroupBase::resetIterator()
{
myCurIndex = 0;
myCurID = -1;
}
//=======================================================================
//function : Extent
//purpose :

View File

@ -68,6 +68,7 @@ class SMESHDS_GroupBase
protected:
const SMDS_MeshElement* findInMesh (const int theID) const;
void resetIterator();
private:
SMESHDS_GroupBase (const SMESHDS_GroupBase& theOther);