Salome HOME
DCQ : Merge with Ecole_Ete_a6.
[modules/smesh.git] / src / SMDS / SMDS_MeshElementIDFactory.cxx
index d635b0110c15ea89c0360c75d87946aaa202f336..43f12c7771912daa708edc644b22104f7da9b0de 100644 (file)
@@ -58,3 +58,27 @@ SMDS_MeshElement* SMDS_MeshElementIDFactory::MeshElement(int ID)
     map<int, SMDS_MeshElement*>::iterator it=myIDElements.find(ID);
     if(it==myIDElements.end()) return NULL; else return (*it).second;
 }
+
+
+//=======================================================================
+//function : GetFreeID
+//purpose  : 
+//=======================================================================
+int SMDS_MeshElementIDFactory::GetFreeID()
+{
+  int ID;
+  do {
+    ID = SMDS_MeshIDFactory::GetFreeID();
+  } while (myIDElements.find(ID) != myIDElements.end());
+  return ID;
+}
+
+//=======================================================================
+//function : ReleaseID
+//purpose  : 
+//=======================================================================
+void SMDS_MeshElementIDFactory::ReleaseID(const int ID)
+{
+  myIDElements.erase(ID);
+  SMDS_MeshIDFactory::ReleaseID(ID);
+}