mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-18 11:50:32 +05:00
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()
This commit is contained in:
parent
f409dd5186
commit
8b21a624a6
@ -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 :
|
||||
|
@ -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();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user