X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDSImpl%2FSALOMEDSImpl_UseCaseIterator.cxx;h=4c706e5b1a278dad34e732bd244c904e8a9831c6;hb=15a97ac169f8acd9cfcb6c4f9ef236d79c9d6a32;hp=7c32150d296af624eeba597f8e05f05286c193dd;hpb=1bd1d38e86c39b13e265f8ff534fc1463c25fef3;p=modules%2Fkernel.git diff --git a/src/SALOMEDSImpl/SALOMEDSImpl_UseCaseIterator.cxx b/src/SALOMEDSImpl/SALOMEDSImpl_UseCaseIterator.cxx index 7c32150d2..4c706e5b1 100644 --- a/src/SALOMEDSImpl/SALOMEDSImpl_UseCaseIterator.cxx +++ b/src/SALOMEDSImpl/SALOMEDSImpl_UseCaseIterator.cxx @@ -1,27 +1,55 @@ +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE +// +// Copyright (C) 2003-2007 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, or (at your option) any later version. +// +// 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 +// + // File : SALOMEDSImpl_UseCaseIterator.cxx // Author : Serge RUIN // Module : SALOME - +// #include "SALOMEDSImpl_UseCaseIterator.hxx" #include "SALOMEDSImpl_SObject.hxx" #include "SALOMEDSImpl_Study.hxx" -using namespace std; +//============================================================================ +/*! Function : empty constructor + * Purpose : + */ +//============================================================================ +SALOMEDSImpl_UseCaseIterator::SALOMEDSImpl_UseCaseIterator() +{ + _node = NULL; +} -IMPLEMENT_STANDARD_HANDLE( SALOMEDSImpl_UseCaseIterator, MMgt_TShared ) -IMPLEMENT_STANDARD_RTTIEXT( SALOMEDSImpl_UseCaseIterator, MMgt_TShared ) //============================================================================ /*! Function : constructor * Purpose : */ //============================================================================ -SALOMEDSImpl_UseCaseIterator::SALOMEDSImpl_UseCaseIterator(const TDF_Label& theLabel, - const Standard_GUID& theGUID, - const bool allLevels) +SALOMEDSImpl_UseCaseIterator::SALOMEDSImpl_UseCaseIterator(const DF_Label& theLabel, + const std::string& theGUID, + const bool allLevels) :_guid(theGUID), _levels(allLevels) { - if(theLabel.FindAttribute(_guid, _node)) { + if((_node = (SALOMEDSImpl_AttributeTreeNode*)theLabel.FindAttribute(_guid))) { _it.Initialize (_node, _levels); } } @@ -55,7 +83,7 @@ bool SALOMEDSImpl_UseCaseIterator::More() return _it.More(); } - //============================================================================ +//============================================================================ /*! Function : Next * */ @@ -72,9 +100,24 @@ void SALOMEDSImpl_UseCaseIterator::Next() */ //============================================================================ -Handle(SALOMEDSImpl_SObject) SALOMEDSImpl_UseCaseIterator::Value() +SALOMEDSImpl_SObject SALOMEDSImpl_UseCaseIterator::Value() { - TDF_Label L = _it.Value()->Label(); + DF_Label L = _it.Value()->Label(); return SALOMEDSImpl_Study::SObject(L); } +//============================================================================ +/*! Function : GetPersistentCopy + * + */ +//============================================================================ +SALOMEDSImpl_UseCaseIterator* SALOMEDSImpl_UseCaseIterator::GetPersistentCopy() const +{ + SALOMEDSImpl_UseCaseIterator* itr = new SALOMEDSImpl_UseCaseIterator(); + itr->_it = _it; + itr->_node = _node; + itr->_guid = _guid; + itr->_levels = _levels; + + return itr; +}