X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHDS%2FSMESHDS_SubMesh.hxx;h=2caffb10b15b8e91a117f79f85abfaf3701feee2;hb=67312ab966a7c21fe835917978028643ffadd99e;hp=4eab3aa4470bf87057ffea6c53fee0d8a83f106b;hpb=25b7d7ffe76e153c93cb67055192b11b16c3d0e2;p=modules%2Fsmesh.git diff --git a/src/SMESHDS/SMESHDS_SubMesh.hxx b/src/SMESHDS/SMESHDS_SubMesh.hxx index 4eab3aa44..2caffb10b 100644 --- a/src/SMESHDS/SMESHDS_SubMesh.hxx +++ b/src/SMESHDS/SMESHDS_SubMesh.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// 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 @@ -30,9 +30,12 @@ #include "SMESH_SMESHDS.hxx" #include "SMDS_Mesh.hxx" -#include #include +#include +class SMESHDS_SubMesh; +typedef boost::container::flat_set< const SMESHDS_SubMesh* > TSubMeshSet; + class SMESHDS_SubMesh; typedef SMDS_Iterator SMESHDS_SubMeshIterator; typedef boost::shared_ptr< SMESHDS_SubMeshIterator > SMESHDS_SubMeshIteratorPtr; @@ -49,11 +52,11 @@ class SMESHDS_EXPORT SMESHDS_SubMesh // if !IsComplexSubmesh() virtual void AddElement(const SMDS_MeshElement * ME); - virtual bool RemoveElement(const SMDS_MeshElement * ME, bool isElemDeleted); // ret true if ME was in + virtual bool RemoveElement(const SMDS_MeshElement * ME); // ret true if ME was in virtual void AddNode(const SMDS_MeshNode * ME); - virtual bool RemoveNode(const SMDS_MeshNode * ME, bool isNodeDeleted); // ret true if ME was in - virtual const SMDS_MeshElement* GetElement( size_t idInShape ) const; - virtual const SMDS_MeshNode* GetNode ( size_t idInShape ) const; + virtual bool RemoveNode(const SMDS_MeshNode * ME); // ret true if ME was in + //virtual const SMDS_MeshElement* GetElement( size_t idInShape ) const; + //virtual const SMDS_MeshNode* GetNode ( size_t idInShape ) const; // if IsComplexSubmesh() void AddSubMesh( const SMESHDS_SubMesh* theSubMesh ); @@ -65,29 +68,25 @@ class SMESHDS_EXPORT SMESHDS_SubMesh // for both types virtual int NbElements() const; - virtual SMDS_ElemIteratorPtr GetElements() const; virtual int NbNodes() const; + virtual SMDS_ElemIteratorPtr GetElements() const; virtual SMDS_NodeIteratorPtr GetNodes() const; virtual bool Contains(const SMDS_MeshElement * ME) const; // check if elem or node is in virtual bool IsQuadratic() const; // clear the contents virtual void Clear(); - int getSize(); - void compactList(); SMESHDS_Mesh* GetParent() const { return const_cast< SMESHDS_Mesh*>( myParent ); } int GetID() const { return myIndex; } private: - SMESHDS_Mesh * myParent; - std::vector myElements; - std::vector myNodes; - int myUnusedIdNodes; - int myUnusedIdElements; - int myIndex; + int myIndex; + int myNbElements; + int myNbNodes; + SMESHDS_Mesh * myParent; + TSubMeshSet mySubMeshes; - std::set mySubMeshes; }; #endif