Salome HOME
Fix PAL8562: rpath (rpath-link) option needs parameter - directory to search shared...
[modules/smesh.git] / src / SMDS / SMDS_MeshIDFactory.cxx
index 6e02557e08b771936625113e0c6bcae92a4873ac..96314592de10318b74ff108f3e67fdae9a8ca67a 100644 (file)
 //  Author : Jean-Michel BOULCOURT
 //  Module : SMESH
 
-using namespace std;
-#include "SMDS_MeshIDFactory.ixx"
 
+#include "SMDS_MeshIDFactory.hxx"
+
+using namespace std;
 
 //=======================================================================
 //function : SMDS_MeshIDFactory
 //purpose  : 
 //=======================================================================
 
-SMDS_MeshIDFactory::SMDS_MeshIDFactory() : myMaxID(0)
+SMDS_MeshIDFactory::SMDS_MeshIDFactory():myMaxID(0)
+{
+}
+
+int SMDS_MeshIDFactory::GetFreeID()
 {
+       if (myPoolOfID.empty()) return ++myMaxID;
+       else
+       {
+               int ID = myPoolOfID.top();
+               myPoolOfID.pop();
+               return ID;
+       }
 }
 
+//=======================================================================
+//function : ReleaseID
+//purpose  : 
+//=======================================================================
+void SMDS_MeshIDFactory::ReleaseID(const int ID)
+{
+  if (ID > 0 && ID < myMaxID) myPoolOfID.push(ID);
+}