]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
PAL11544: Improve memory management: implement and use destructors.
authorjfa <jfa@opencascade.com>
Thu, 16 Feb 2006 12:30:40 +0000 (12:30 +0000)
committerjfa <jfa@opencascade.com>
Thu, 16 Feb 2006 12:30:40 +0000 (12:30 +0000)
src/SMESHDS/SMESHDS_Command.cxx
src/SMESHDS/SMESHDS_Mesh.cxx
src/SMESHDS/SMESHDS_Script.cxx
src/SMESHDS/SMESHDS_Script.hxx

index b55b5af1c3694f09d57b5d540711f252dd094804..d8b664e0e67480054d0b9f4e346ebac45b9a8287 100644 (file)
@@ -33,7 +33,7 @@
 using namespace std;
 
 //=======================================================================
-//function : 
+//function : Constructor
 //purpose  : 
 //=======================================================================
 SMESHDS_Command::SMESHDS_Command(const SMESHDS_CommandType aType):myType(aType),
@@ -41,6 +41,14 @@ myNumber(0)
 {
 }
 
+//=======================================================================
+//function : Destructor
+//purpose  : 
+//=======================================================================
+SMESHDS_Command::~SMESHDS_Command()
+{
+}
+
 //=======================================================================
 //function : 
 //purpose  : 
index 028e7e254c1775dc82edfc33ef5dcb86842f1f2e..d22746e325ff96be6664e8c5204ecc937086ad44 100644 (file)
@@ -1182,4 +1182,5 @@ void SMESHDS_Mesh::SetMeshElementOnShape(const SMDS_MeshElement* anElement,
 
 SMESHDS_Mesh::~SMESHDS_Mesh()
 {
+  delete myScript;
 }
index 369ab4697cbe43cb4641553849c6ec89ccc0bb3d..16c6069455f1caf82ec3bb8567f6a2c67f5a8d41 100644 (file)
 
 using namespace std;
 
+//=======================================================================
+//function : Destructor
+//purpose  : 
+//=======================================================================
+SMESHDS_Script::~SMESHDS_Script()
+{
+  Clear();
+}
+
 //=======================================================================
 //function : getCommand
 //purpose  : 
@@ -222,7 +231,6 @@ void SMESHDS_Script::ChangePolyhedronNodes (const int        ElementID,
 //function : Renumber
 //purpose  : 
 //=======================================================================
-
 void SMESHDS_Script::Renumber (const bool isNodes, const int startID, const int deltaID)
 {
   getCommand(SMESHDS_Renumber)->Renumber( isNodes, startID, deltaID );
@@ -234,7 +242,11 @@ void SMESHDS_Script::Renumber (const bool isNodes, const int startID, const int
 //=======================================================================
 void SMESHDS_Script::Clear()
 {
-       myCommands.clear();
+  list<SMESHDS_Command*>::iterator anIt = myCommands.begin();
+  for (; anIt != myCommands.end(); anIt++) {
+    delete (*anIt);
+  }
+  myCommands.clear();
 }
 
 //=======================================================================
@@ -243,5 +255,5 @@ void SMESHDS_Script::Clear()
 //=======================================================================
 const list<SMESHDS_Command*>& SMESHDS_Script::GetCommands()
 {
-       return myCommands;
+  return myCommands;
 }
index 3874facfcecdc9f895d2eaea615967df5a906035..366ac3bdcf481ce1b63310dcb63ffb63eeb91f60 100644 (file)
@@ -36,6 +36,9 @@
 class SMESHDS_Script
 {
   public:
+       SMESHDS_Script() {};
+       ~SMESHDS_Script();
+  
        void AddNode(int NewNodeID, double x, double y, double z);
        void AddEdge(int NewEdgeID, int idnode1, int idnode2);
        void AddFace(int NewFaceID, int idnode1, int idnode2, int idnode3);
@@ -66,8 +69,7 @@ class SMESHDS_Script
        void Renumber (const bool isNodes, const int startID, const int deltaID);
        void Clear();
        const std::list<SMESHDS_Command*> & GetCommands();
-       ~SMESHDS_Script();
-  
+
   private:
        SMESHDS_Command* getCommand(const SMESHDS_CommandType aType);