-// Copyright (C) 2005 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.
+// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
//
-// 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
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+// 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
+//
+
// File : SALOMEDSImpl_SComponentIterator.cxx
// Author : Sergey RUIN
// Module : SALOME
-
-
+//
#include "SALOMEDSImpl_SComponentIterator.hxx"
#include "SALOMEDSImpl_Study.hxx"
-using namespace std;
-
//============================================================================
/*! Function : constructor
*
*/
//============================================================================
-SALOMEDSImpl_SComponentIterator::SALOMEDSImpl_SComponentIterator(const Handle(TDocStd_Document)& theDocument)
+SALOMEDSImpl_SComponentIterator::SALOMEDSImpl_SComponentIterator(DF_Document* theDocument)
{
_lab = theDocument->Main();
- _it.Initialize (_lab);
+ _it.Init (_lab);
}
//============================================================================
//============================================================================
void SALOMEDSImpl_SComponentIterator::Init()
{
- _it.Initialize (_lab);
+ _it.Init (_lab);
}
//============================================================================
{
if (!_it.More())
return false;
- TDF_Label L = _it.Value();
- if (SALOMEDSImpl_SComponent::IsA(L))
- return true;
-
- return _it.More();
+ DF_Label L = _it.Value();
+ return SALOMEDSImpl_SComponent::IsA(L);
}
- //============================================================================
+//============================================================================
/*! Function : Next
*/
//============================================================================
*
*/
//============================================================================
-Handle(SALOMEDSImpl_SComponent) SALOMEDSImpl_SComponentIterator::Value()
+SALOMEDSImpl_SComponent SALOMEDSImpl_SComponentIterator::Value()
{
return SALOMEDSImpl_Study::SComponent(_it.Value());
}
+//============================================================================
+/*! Function : GetPersistentCopy
+ */
+//============================================================================
+SALOMEDSImpl_SComponentIterator* SALOMEDSImpl_SComponentIterator::GetPersistentCopy() const
+{
+ SALOMEDSImpl_SComponentIterator* itr = new SALOMEDSImpl_SComponentIterator();
+ itr->_lab = _lab;
+ itr->_it = _it;
+
+ return itr;
+}