//purpose :
//=======================================================================
-void SMDS_MeshGroup::Remove(const SMDS_MeshElement * theElem)
+bool SMDS_MeshGroup::Remove(const SMDS_MeshElement * theElem)
{
- myElements.erase(theElem);
- if (myElements.empty()) myType = SMDSAbs_All;
+ TIterator found = myElements.find(theElem);
+ if ( found != myElements.end() ) {
+ myElements.erase(found);
+ if (myElements.empty()) myType = SMDSAbs_All;
+ return true;
+ }
+ return false;
}
//=======================================================================
void SetType (const SMDSAbs_ElementType theType);
void Clear();
void Add(const SMDS_MeshElement * theElem);
- void Remove(const SMDS_MeshElement * theElem);
+ bool Remove(const SMDS_MeshElement * theElem);
bool IsEmpty() const { return myElements.empty(); }
int Extent() const { return myElements.size(); }