X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMDS%2FSMDS_IteratorOfElements.hxx;h=07b4b0b380f7428491db311664e384f8117997ed;hb=c80762b0a1cdba101aec4aa2b1cae281331a162e;hp=5d2d3700c0e4c52c986e4a4477e310c233e6e3e7;hpb=ec6221e48c7b7c6ee6e11008d57d0bfc0dd41992;p=modules%2Fsmesh.git diff --git a/src/SMDS/SMDS_IteratorOfElements.hxx b/src/SMDS/SMDS_IteratorOfElements.hxx index 5d2d3700c..07b4b0b38 100644 --- a/src/SMDS/SMDS_IteratorOfElements.hxx +++ b/src/SMDS/SMDS_IteratorOfElements.hxx @@ -1,53 +1,57 @@ +// Copyright (C) 2007-2016 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 +// +// 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 +// + // SMESH SMDS : implementaion of Salome mesh data structure // -// 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 +#include "SMESH_SMDS.hxx" #include "SMDS_Iterator.hxx" #include "SMDS_MeshElement.hxx" #include -using namespace std; -class SMDS_IteratorOfElements:public SMDS_Iterator +class SMDS_EXPORT SMDS_IteratorOfElements:public SMDS_ElemIterator { public: ///////////////////////////////////////////////////////////////////////////// /// Create an iterator which look for elements of type type which are linked /// to the element element. it is the iterator to get connectivity of element ////////////////////////////////////////////////////////////////////////////// - SMDS_IteratorOfElements(const SMDS_MeshElement * element, - SMDSAbs_ElementType type, SMDS_Iterator* it); - bool more(); - const SMDS_MeshElement * next(); - ~SMDS_IteratorOfElements(); + SMDS_IteratorOfElements(const SMDS_MeshElement * element, + SMDSAbs_ElementType type, + const SMDS_ElemIteratorPtr& it); + bool more(); + const SMDS_MeshElement * next(); private: - SMDS_Iterator * t2Iterator; - SMDS_Iterator * t1Iterator; - SMDSAbs_ElementType myType; - const SMDS_MeshElement * myProxyElement; - const SMDS_MeshElement * myElement; - bool myReverseIteration; + SMDS_ElemIteratorPtr t1Iterator; + SMDS_ElemIteratorPtr t2Iterator; + SMDSAbs_ElementType myType; + const SMDS_MeshElement * myElement; + const SMDS_MeshElement * myProxyElement; + bool myReverseIteration; - set alreadyReturnedElements; - set::iterator itAlreadyReturned; - bool subMore(); - const SMDS_MeshElement * subNext(); + std::set alreadyReturnedElements; + std::set::iterator itAlreadyReturned; + bool subMore(); + const SMDS_MeshElement * subNext(); };