Container of xD mesh elements substituting other ones in the input mesh of an (x+1)D algorithm. More...

#include <SMESH_ProxyMesh.hxx>

Classes

class  SubMesh
 Proxy sub-mesh. More...
 

Public Types

typedef boost::shared_ptr< SMESH_ProxyMeshPtr
 
typedef std::map< const SMDS_MeshNode *, const SMDS_MeshNode *, TIDCompareTN2NMap
 

Public Member Functions

SMDS_ElemIteratorPtr GetFaces () const
 Returns iterator on all faces of the mesh taking into account substitutions To be used in case of mesh without shape. More...
 
SMDS_ElemIteratorPtr GetFaces (const TopoDS_Shape &face) const
 Returns iterator on all faces on the shape taking into account substitutions. More...
 
SMESH_MeshGetMesh () const
 
SMESHDS_MeshGetMeshDS () const
 Returns mesh DS. More...
 
const SMDS_MeshNodeGetProxyNode (const SMDS_MeshNode *node) const
 Returns the proxy node of a node; the input node is returned if no proxy exists. More...
 
const SubMeshGetProxySubMesh (const TopoDS_Shape &shape) const
 Returns the proxy sub-mesh of a shape; it can be NULL. More...
 
const SMESHDS_SubMeshGetSubMesh (const TopoDS_Shape &shape) const
 Returns the submesh of a shape; it can be a proxy sub-mesh. More...
 
bool IsTemporary (const SMDS_MeshElement *elem) const
 Return true if the element is a temporary one. More...
 
int NbFaces () const
 Return total nb of faces taking into account substitutions. More...
 
int NbProxySubMeshes () const
 Returns number of proxy sub-meshes. More...
 
 SMESH_ProxyMesh ()
 Constructor; mesh must be set by a descendant class. More...
 
 SMESH_ProxyMesh (const SMESH_Mesh &mesh)
 
 SMESH_ProxyMesh (std::vector< SMESH_ProxyMesh::Ptr > &components)
 Make a proxy mesh from components. Components become empty. More...
 
virtual ~SMESH_ProxyMesh ()
 Destructor deletes proxy submeshes and tmp elemens. More...
 

Protected Member Functions

SubMeshfindProxySubMesh (int shapeIndex=0) const
 Returns a proxy sub-mesh. More...
 
SubMeshgetProxySubMesh (const TopoDS_Shape &shape=TopoDS_Shape())
 Returns a proxy sub-mesh; it is created if not yet exists. More...
 
SubMeshgetProxySubMesh (int shapeIndex)
 Returns a proxy sub-mesh; it is created if not yet exists. More...
 
virtual SubMeshnewSubmesh (int index=0) const
 
void removeTmpElement (const SMDS_MeshElement *elem)
 Removes tmp elements from the _mesh. More...
 
void setMesh (const SMESH_Mesh &mesh)
 
void setNode2Node (const SMDS_MeshNode *srcNode, const SMDS_MeshNode *proxyNode, const SubMesh *subMesh)
 Set node-node correspondence. More...
 
int shapeIndex (const TopoDS_Shape &shape) const
 Returns index of a shape. More...
 
void storeTmpElement (const SMDS_MeshElement *elem)
 Stores tmp element residing the _mesh. More...
 
bool takeProxySubMesh (const TopoDS_Shape &shape, SMESH_ProxyMesh *proxyMesh)
 Move proxy sub-mesh from other proxy mesh to this, returns true if sub-mesh found. More...
 
void takeTmpElemsInMesh (SMESH_ProxyMesh *proxyMesh)
 Move tmp elements residing the _mesh from other proxy mesh to this. More...
 

Detailed Description

Container of xD mesh elements substituting other ones in the input mesh of an (x+1)D algorithm.

Member Typedef Documentation

◆ Ptr

typedef boost::shared_ptr<SMESH_ProxyMesh> SMESH_ProxyMesh::Ptr

◆ TN2NMap

typedef std::map<const SMDS_MeshNode*, const SMDS_MeshNode*, TIDCompare > SMESH_ProxyMesh::TN2NMap

Constructor & Destructor Documentation

◆ SMESH_ProxyMesh() [1/3]

SMESH_ProxyMesh::SMESH_ProxyMesh ( )

Constructor; mesh must be set by a descendant class.

◆ SMESH_ProxyMesh() [2/3]

SMESH_ProxyMesh::SMESH_ProxyMesh ( std::vector< SMESH_ProxyMesh::Ptr > &  components)

Make a proxy mesh from components. Components become empty.

References takeTmpElemsInMesh().

◆ SMESH_ProxyMesh() [3/3]

SMESH_ProxyMesh::SMESH_ProxyMesh ( const SMESH_Mesh mesh)

◆ ~SMESH_ProxyMesh()

SMESH_ProxyMesh::~SMESH_ProxyMesh ( )
virtual

Destructor deletes proxy submeshes and tmp elemens.

References GetMeshDS(), and SMESHDS_Mesh::RemoveFreeElement().

Member Function Documentation

◆ findProxySubMesh()

SMESH_ProxyMesh::SubMesh * SMESH_ProxyMesh::findProxySubMesh ( int  shapeIndex = 0) const
protected

Returns a proxy sub-mesh.

References shapeIndex().

Referenced by StdMeshers_QuadToTriaAdaptor::Compute2ndPart(), GetProxyNode(), and takeProxySubMesh().

◆ GetFaces() [1/2]

SMDS_ElemIteratorPtr SMESH_ProxyMesh::GetFaces ( ) const

Returns iterator on all faces of the mesh taking into account substitutions To be used in case of mesh without shape.

References SMDS_Mesh::elementsIterator(), GetMeshDS(), and NbFaces().

Referenced by StdMeshers_QuadToTriaAdaptor::Compute().

◆ GetFaces() [2/2]

SMDS_ElemIteratorPtr SMESH_ProxyMesh::GetFaces ( const TopoDS_Shape &  face) const

Returns iterator on all faces on the shape taking into account substitutions.

References GetSubMesh().

◆ GetMesh()

◆ GetMeshDS()

◆ GetProxyNode()

const SMDS_MeshNode * SMESH_ProxyMesh::GetProxyNode ( const SMDS_MeshNode node) const

◆ GetProxySubMesh()

const SMESH_ProxyMesh::SubMesh * SMESH_ProxyMesh::GetProxySubMesh ( const TopoDS_Shape &  shape) const

Returns the proxy sub-mesh of a shape; it can be NULL.

References shapeIndex().

Referenced by NETGENPlugin_Mesher::Compute(), and VISCOUS_3D::_ViscousBuilder::MakeN2NMap().

◆ getProxySubMesh() [1/2]

SMESH_ProxyMesh::SubMesh * SMESH_ProxyMesh::getProxySubMesh ( const TopoDS_Shape &  shape = TopoDS_Shape())
protected

Returns a proxy sub-mesh; it is created if not yet exists.

References getProxySubMesh(), and shapeIndex().

◆ getProxySubMesh() [2/2]

SMESH_ProxyMesh::SubMesh * SMESH_ProxyMesh::getProxySubMesh ( int  shapeIndex)
protected

Returns a proxy sub-mesh; it is created if not yet exists.

References newSubmesh().

Referenced by StdMeshers_QuadToTriaAdaptor::Compute(), VISCOUS_3D::_MeshOfSolid::getFaceSubM(), and getProxySubMesh().

◆ GetSubMesh()

const SMESHDS_SubMesh * SMESH_ProxyMesh::GetSubMesh ( const TopoDS_Shape &  shape) const

Returns the submesh of a shape; it can be a proxy sub-mesh.

References GetMeshDS(), SMESHDS_Mesh::MeshElements(), and shapeIndex().

Referenced by StdMeshers_QuadToTriaAdaptor::Compute(), GetFaces(), SMESH_MesherHelper::LoadNodeColumns(), and NbFaces().

◆ IsTemporary()

bool SMESH_ProxyMesh::IsTemporary ( const SMDS_MeshElement elem) const

Return true if the element is a temporary one.

References SMDS_MeshElement::GetID().

Referenced by SMESH_MesherHelper::LoadNodeColumns().

◆ NbFaces()

int SMESH_ProxyMesh::NbFaces ( ) const

Return total nb of faces taking into account substitutions.

References DraftVecUtils::find(), GetMeshDS(), SMDS_Mesh::GetMeshInfo(), GetSubMesh(), SMDS_MeshInfo::NbEntities(), and SMDS_Mesh::NbFaces().

Referenced by GetFaces().

◆ NbProxySubMeshes()

int SMESH_ProxyMesh::NbProxySubMeshes ( ) const

Returns number of proxy sub-meshes.

◆ newSubmesh()

virtual SubMesh* SMESH_ProxyMesh::newSubmesh ( int  index = 0) const
protectedvirtual

Reimplemented in VISCOUS_2D::_ProxyMeshOfFace.

Referenced by getProxySubMesh().

◆ removeTmpElement()

void SMESH_ProxyMesh::removeTmpElement ( const SMDS_MeshElement elem)
protected

Removes tmp elements from the _mesh.

References SMDS_MeshElement::GetID(), GetMeshDS(), and SMESHDS_Mesh::RemoveFreeElement().

Referenced by StdMeshers_QuadToTriaAdaptor::Compute().

◆ setMesh()

void SMESH_ProxyMesh::setMesh ( const SMESH_Mesh mesh)
protected

◆ setNode2Node()

void SMESH_ProxyMesh::setNode2Node ( const SMDS_MeshNode srcNode,
const SMDS_MeshNode proxyNode,
const SubMesh subMesh 
)
protected

Set node-node correspondence.

Referenced by VISCOUS_3D::_MeshOfSolid::setNode2Node().

◆ shapeIndex()

int SMESH_ProxyMesh::shapeIndex ( const TopoDS_Shape &  shape) const
protected

◆ storeTmpElement()

void SMESH_ProxyMesh::storeTmpElement ( const SMDS_MeshElement elem)
protected

Stores tmp element residing the _mesh.

Referenced by StdMeshers_QuadToTriaAdaptor::Compute().

◆ takeProxySubMesh()

bool SMESH_ProxyMesh::takeProxySubMesh ( const TopoDS_Shape &  shape,
SMESH_ProxyMesh proxyMesh 
)
protected

Move proxy sub-mesh from other proxy mesh to this, returns true if sub-mesh found.

References findProxySubMesh(), and shapeIndex().

Referenced by StdMeshers_QuadToTriaAdaptor::Compute().

◆ takeTmpElemsInMesh()

void SMESH_ProxyMesh::takeTmpElemsInMesh ( SMESH_ProxyMesh proxyMesh)
protected

Move tmp elements residing the _mesh from other proxy mesh to this.

Referenced by StdMeshers_QuadToTriaAdaptor::Compute(), and SMESH_ProxyMesh().


The documentation for this class was generated from the following files:
  • Sources/FreeCAD/src/3rdParty/salomesmesh/inc/SMESH_ProxyMesh.hxx
  • Sources/FreeCAD/src/3rdParty/salomesmesh/src/SMESH/SMESH_ProxyMesh.cpp