From 8b21a624a6c3eea2ffad35d87162b228a7c95011 Mon Sep 17 00:00:00 2001 From: eap Date: Tue, 18 Jan 2011 10:57:32 +0000 Subject: [PATCH] 0020832: EDF 1359 SMESH : Automatic meshing of boundary layers Make some methods virtual to enable inheriting by StdMeshers_ProxyMesh::SubMesh +virtual ~SMESHDS_SubMesh() +void RemoveAllSubmeshes() --- src/SMESHDS/SMESHDS_SubMesh.cxx | 27 +++++++++++++++++++++++++++ src/SMESHDS/SMESHDS_SubMesh.hxx | 24 +++++++++++++----------- 2 files changed, 40 insertions(+), 11 deletions(-) diff --git a/src/SMESHDS/SMESHDS_SubMesh.cxx b/src/SMESHDS/SMESHDS_SubMesh.cxx index b56397d97..257e092e0 100644 --- a/src/SMESHDS/SMESHDS_SubMesh.cxx +++ b/src/SMESHDS/SMESHDS_SubMesh.cxx @@ -36,6 +36,13 @@ using namespace std; + +//================================================================================ +/*! + * \brief Constructor + */ +//================================================================================ + SMESHDS_SubMesh::SMESHDS_SubMesh(SMESHDS_Mesh *parent, int index) { myParent = parent; @@ -46,6 +53,16 @@ SMESHDS_SubMesh::SMESHDS_SubMesh(SMESHDS_Mesh *parent, int index) myUnusedIdElements = 0; } +//================================================================================ +/*! + * \brief Destructor + */ +//================================================================================ + +SMESHDS_SubMesh::~SMESHDS_SubMesh() +{ +} + //======================================================================= //function : AddElement //purpose : @@ -405,6 +422,16 @@ bool SMESHDS_SubMesh::RemoveSubMesh( const SMESHDS_SubMesh* theSubMesh ) return mySubMeshes.erase( theSubMesh ); } +//======================================================================= +//function : RemoveAllSubmeshes +//purpose : +//======================================================================= + +void SMESHDS_SubMesh::RemoveAllSubmeshes() +{ + mySubMeshes.clear(); +} + //======================================================================= //function : ContainsSubMesh //purpose : diff --git a/src/SMESHDS/SMESHDS_SubMesh.hxx b/src/SMESHDS/SMESHDS_SubMesh.hxx index 53493254c..2369327c5 100644 --- a/src/SMESHDS/SMESHDS_SubMesh.hxx +++ b/src/SMESHDS/SMESHDS_SubMesh.hxx @@ -43,31 +43,33 @@ class SMESHDS_EXPORT SMESHDS_SubMesh { public: SMESHDS_SubMesh(SMESHDS_Mesh *parent, int index); + virtual ~SMESHDS_SubMesh(); - bool IsComplexSubmesh() const { return !mySubMeshes.empty(); } + virtual bool IsComplexSubmesh() const { return !mySubMeshes.empty(); } // if !IsComplexSubmesh() - void AddElement(const SMDS_MeshElement * ME); - bool RemoveElement(const SMDS_MeshElement * ME, bool isElemDeleted); // ret true if ME was in - void AddNode(const SMDS_MeshNode * ME); - bool RemoveNode(const SMDS_MeshNode * ME, bool isNodeDeleted); // ret true if ME was in + virtual void AddElement(const SMDS_MeshElement * ME); + virtual bool RemoveElement(const SMDS_MeshElement * ME, bool isElemDeleted); // 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 // if IsComplexSubmesh() void AddSubMesh( const SMESHDS_SubMesh* theSubMesh ); bool RemoveSubMesh( const SMESHDS_SubMesh* theSubMesh ); + void RemoveAllSubmeshes(); bool ContainsSubMesh( const SMESHDS_SubMesh* theSubMesh ) const; int NbSubMeshes() const { return mySubMeshes.size(); } SMESHDS_SubMeshIteratorPtr GetSubMeshIterator() const; // for both types - int NbElements() const; - SMDS_ElemIteratorPtr GetElements() const; - int NbNodes() const; - SMDS_NodeIteratorPtr GetNodes() const; - bool Contains(const SMDS_MeshElement * ME) const; // check if elem or node is in + virtual int NbElements() const; + virtual SMDS_ElemIteratorPtr GetElements() const; + virtual int NbNodes() const; + virtual SMDS_NodeIteratorPtr GetNodes() const; + virtual bool Contains(const SMDS_MeshElement * ME) const; // check if elem or node is in // clear the contents - void Clear(); + virtual void Clear(); int getSize(); void compactList(); -- 2.39.2