X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHDS%2FSMESHDS_Document.cxx;h=838e7a4873baa66ad85003ae784be6c941b0d09e;hb=9a6c1bd34d45e38869069675ab23fc3f958703dd;hp=f533a72a7873fe8dd5f5f6da94c5188b5d457026;hpb=e4737e85f0da6d3f90fd08f6be1c2825195fe16f;p=modules%2Fsmesh.git diff --git a/src/SMESHDS/SMESHDS_Document.cxx b/src/SMESHDS/SMESHDS_Document.cxx index f533a72a7..838e7a487 100644 --- a/src/SMESHDS/SMESHDS_Document.cxx +++ b/src/SMESHDS/SMESHDS_Document.cxx @@ -1,31 +1,30 @@ -// SMESH SMESHDS : management of mesh data and SMESH document +// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. // +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +// SMESH SMESHDS : management of mesh data and SMESH document // File : SMESHDS_Document.cxx // Author : Yves FRICAUD, OCC // Module : SMESH // $Header: - +// #include "SMESHDS_Document.hxx" #include "utilities.h" @@ -39,17 +38,29 @@ SMESHDS_Document::SMESHDS_Document(int UserID):myUserID(UserID) { } +//======================================================================= +//function : Destructor +//purpose : +//======================================================================= + +SMESHDS_Document::~SMESHDS_Document() +{ + InitMeshesIterator(); + while ( MoreMesh() ) + delete NextMesh(); +} + //======================================================================= //function : NewMesh //purpose : //======================================================================= -int SMESHDS_Document::NewMesh() +int SMESHDS_Document::NewMesh(bool theIsEmbeddedMode) { - static int NewMeshID = 0; - NewMeshID++; - SMESHDS_Mesh *aNewMesh = new SMESHDS_Mesh(NewMeshID); - myMeshes[NewMeshID] = aNewMesh; - return NewMeshID; + static int aNewMeshID = 0; + aNewMeshID++; + SMESHDS_Mesh *aNewMesh = new SMESHDS_Mesh(aNewMeshID,theIsEmbeddedMode); + myMeshes[aNewMeshID] = aNewMesh; + return aNewMeshID; } //======================================================================= @@ -58,13 +69,13 @@ int SMESHDS_Document::NewMesh() //======================================================================= SMESHDS_Mesh *SMESHDS_Document::GetMesh(int MeshID) { - map::iterator it=myMeshes.find(MeshID); - if (it==myMeshes.end()) - { - MESSAGE("SMESHDS_Document::GetMesh : ID not found"); - return NULL; - } - else return (*it).second; + map::iterator it=myMeshes.find(MeshID); + if (it==myMeshes.end()) + { + MESSAGE("SMESHDS_Document::GetMesh : ID not found"); + return NULL; + } + else return (*it).second; } //======================================================================= @@ -73,10 +84,10 @@ SMESHDS_Mesh *SMESHDS_Document::GetMesh(int MeshID) //======================================================================= void SMESHDS_Document::RemoveMesh(int MeshID) { - map::iterator it=myMeshes.find(MeshID); - if (it==myMeshes.end()) - MESSAGE("SMESHDS_Document::RemoveMesh : ID not found"); - myMeshes.erase(it); + map::iterator it=myMeshes.find(MeshID); + if (it==myMeshes.end()) + MESSAGE("SMESHDS_Document::RemoveMesh : ID not found"); + myMeshes.erase(it); } //======================================================================= @@ -85,7 +96,7 @@ void SMESHDS_Document::RemoveMesh(int MeshID) //======================================================================= void SMESHDS_Document::AddHypothesis(SMESHDS_Hypothesis * H) { - myHypothesis[H->GetID()]=H; + myHypothesis[H->GetID()]=H; } //======================================================================= @@ -94,13 +105,13 @@ void SMESHDS_Document::AddHypothesis(SMESHDS_Hypothesis * H) //======================================================================= SMESHDS_Hypothesis * SMESHDS_Document::GetHypothesis(int HypID) { - map::iterator it=myHypothesis.find(HypID); - if (it==myHypothesis.end()) - { - MESSAGE("SMESHDS_Document::GetHypothesis : ID not found"); - return NULL; - } - else return (*it).second; + map::iterator it=myHypothesis.find(HypID); + if (it==myHypothesis.end()) + { + MESSAGE("SMESHDS_Document::GetHypothesis : ID not found"); + return NULL; + } + else return (*it).second; } //======================================================================= @@ -109,10 +120,10 @@ SMESHDS_Hypothesis * SMESHDS_Document::GetHypothesis(int HypID) //======================================================================= void SMESHDS_Document::RemoveHypothesis(int HypID) { - map::iterator it=myHypothesis.find(HypID); - if (it==myHypothesis.end()) - MESSAGE("SMESHDS_Document::RemoveHypothesis : ID not found"); - myHypothesis.erase(it); + map::iterator it=myHypothesis.find(HypID); + if (it==myHypothesis.end()) + MESSAGE("SMESHDS_Document::RemoveHypothesis : ID not found"); + myHypothesis.erase(it); } //======================================================================= @@ -121,7 +132,7 @@ void SMESHDS_Document::RemoveHypothesis(int HypID) //======================================================================= int SMESHDS_Document::NbMeshes() { - return myMeshes.size(); + return myMeshes.size(); } //======================================================================= @@ -130,7 +141,7 @@ int SMESHDS_Document::NbMeshes() //======================================================================= int SMESHDS_Document::NbHypothesis() { - return myHypothesis.size(); + return myHypothesis.size(); } //======================================================================= @@ -139,7 +150,7 @@ int SMESHDS_Document::NbHypothesis() //======================================================================= void SMESHDS_Document::InitMeshesIterator() { - myMeshesIt=myMeshes.begin(); + myMeshesIt=myMeshes.begin(); } //======================================================================= @@ -148,9 +159,9 @@ void SMESHDS_Document::InitMeshesIterator() //======================================================================= SMESHDS_Mesh * SMESHDS_Document::NextMesh() { - SMESHDS_Mesh * toReturn=(*myMeshesIt).second; - myMeshesIt++; - return toReturn; + SMESHDS_Mesh * toReturn=(*myMeshesIt).second; + myMeshesIt++; + return toReturn; } //======================================================================= @@ -159,7 +170,7 @@ SMESHDS_Mesh * SMESHDS_Document::NextMesh() //======================================================================= bool SMESHDS_Document::MoreMesh() { - return myMeshesIt!=myMeshes.end(); + return myMeshesIt!=myMeshes.end(); } //======================================================================= @@ -168,7 +179,7 @@ bool SMESHDS_Document::MoreMesh() //======================================================================= void SMESHDS_Document::InitHypothesisIterator() { - myHypothesisIt=myHypothesis.begin(); + myHypothesisIt=myHypothesis.begin(); } //======================================================================= @@ -177,9 +188,9 @@ void SMESHDS_Document::InitHypothesisIterator() //======================================================================= SMESHDS_Hypothesis * SMESHDS_Document::NextHypothesis() { - SMESHDS_Hypothesis * toReturn=(*myHypothesisIt).second; - myHypothesisIt++; - return toReturn; + SMESHDS_Hypothesis * toReturn=(*myHypothesisIt).second; + myHypothesisIt++; + return toReturn; } //======================================================================= @@ -188,5 +199,5 @@ SMESHDS_Hypothesis * SMESHDS_Document::NextHypothesis() //======================================================================= bool SMESHDS_Document::MoreHypothesis() { - return myHypothesisIt!=myHypothesis.end(); + return myHypothesisIt!=myHypothesis.end(); }