X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMDS%2FSMDS_VolumeOfFaces.cxx;h=4e0525b01d0d8fef4e6964a529489e9427198cdb;hb=2c607013a23bd4e7ba07e72e0c04dee2c1209cff;hp=c221452ba711c42c8ab15a756d3feb81b296f841;hpb=8d51808a8fa523dc3a98e8eeebea02a28b112f82;p=modules%2Fsmesh.git diff --git a/src/SMDS/SMDS_VolumeOfFaces.cxx b/src/SMDS/SMDS_VolumeOfFaces.cxx index c221452ba..4e0525b01 100644 --- a/src/SMDS/SMDS_VolumeOfFaces.cxx +++ b/src/SMDS/SMDS_VolumeOfFaces.cxx @@ -1,32 +1,40 @@ -// SMESH SMDS : implementaion of Salome mesh data structure +// Copyright (C) 2007-2011 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. // -// 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 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 : SMDS_MeshVolume.cxx + +// SMESH SMDS : implementaion of Salome mesh data structure +// File : SMDS_VolumeOfFaces.cxx // Author : Jean-Michel BOULCOURT // Module : SMESH +// +#ifdef _MSC_VER +#pragma warning(disable:4786) +#endif #include "SMDS_VolumeOfFaces.hxx" #include "SMDS_IteratorOfElements.hxx" +#include "utilities.h" + +using namespace std; + //======================================================================= //function : Print //purpose : @@ -34,81 +42,114 @@ void SMDS_VolumeOfFaces::Print(ostream & OS) const { - OS << "volume <" << GetID() << "> : "; - int i; - for (i = 0; i < myFaces.size()-1; ++i) OS << myFaces[i] << ","; - OS << myFaces[i]<< ") " << endl; + OS << "volume <" << GetID() << "> : "; + int i; + for (i = 0; i < NbFaces()-1; ++i) OS << myFaces[i] << ","; + OS << myFaces[i]<< ") " << endl; } int SMDS_VolumeOfFaces::NbFaces() const { - return myFaces.size(); + return myNbFaces; } -SMDS_Iterator * SMDS_VolumeOfFaces:: - elementsIterator(SMDSAbs_ElementType type) const +class SMDS_VolumeOfFaces_MyIterator:public SMDS_ElemIterator { - class MyIterator:public SMDS_Iterator - { - const vector& mySet; - int index; - public: - MyIterator(const vector& s):mySet(s),index(0) - {} + const SMDS_MeshFace* const *mySet; + int myLength; + int index; + public: + SMDS_VolumeOfFaces_MyIterator(const SMDS_MeshFace* const *s, int l): + mySet(s),myLength(l),index(0) {} - bool more() - { - return index