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_ProxyMesh > | Ptr |
typedef std::map< const SMDS_MeshNode *, const SMDS_MeshNode *, TIDCompare > | TN2NMap |
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_Mesh * | GetMesh () const |
SMESHDS_Mesh * | GetMeshDS () const |
Returns mesh DS. More... | |
const SMDS_MeshNode * | GetProxyNode (const SMDS_MeshNode *node) const |
Returns the proxy node of a node; the input node is returned if no proxy exists. More... | |
const SubMesh * | GetProxySubMesh (const TopoDS_Shape &shape) const |
Returns the proxy sub-mesh of a shape; it can be NULL. More... | |
const SMESHDS_SubMesh * | GetSubMesh (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 | |
SubMesh * | findProxySubMesh (int shapeIndex=0) const |
Returns a proxy sub-mesh. More... | |
SubMesh * | getProxySubMesh (const TopoDS_Shape &shape=TopoDS_Shape()) |
Returns a proxy sub-mesh; it is created if not yet exists. More... | |
SubMesh * | getProxySubMesh (int shapeIndex) |
Returns a proxy sub-mesh; it is created if not yet exists. More... | |
virtual SubMesh * | newSubmesh (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... | |
Container of xD mesh elements substituting other ones in the input mesh of an (x+1)D algorithm.
typedef boost::shared_ptr<SMESH_ProxyMesh> SMESH_ProxyMesh::Ptr |
typedef std::map<const SMDS_MeshNode*, const SMDS_MeshNode*, TIDCompare > SMESH_ProxyMesh::TN2NMap |
SMESH_ProxyMesh::SMESH_ProxyMesh | ( | ) |
Constructor; mesh must be set by a descendant class.
SMESH_ProxyMesh::SMESH_ProxyMesh | ( | std::vector< SMESH_ProxyMesh::Ptr > & | components | ) |
Make a proxy mesh from components. Components become empty.
References takeTmpElemsInMesh().
SMESH_ProxyMesh::SMESH_ProxyMesh | ( | const SMESH_Mesh & | mesh | ) |
|
virtual |
Destructor deletes proxy submeshes and tmp elemens.
References GetMeshDS(), and SMESHDS_Mesh::RemoveFreeElement().
|
protected |
Returns a proxy sub-mesh.
References shapeIndex().
Referenced by StdMeshers_QuadToTriaAdaptor::Compute2ndPart(), VISCOUS_3D::_MeshOfSolid::getFaceSubM(), GetProxyNode(), and takeProxySubMesh().
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().
SMDS_ElemIteratorPtr SMESH_ProxyMesh::GetFaces | ( | const TopoDS_Shape & | face | ) | const |
Returns iterator on all faces on the shape taking into account substitutions.
References GetSubMesh().
SMESH_Mesh * SMESH_ProxyMesh::GetMesh | ( | ) | const |
SMESHDS_Mesh * SMESH_ProxyMesh::GetMeshDS | ( | ) | const |
const SMDS_MeshNode * SMESH_ProxyMesh::GetProxyNode | ( | const SMDS_MeshNode * | node | ) | const |
Returns the proxy node of a node; the input node is returned if no proxy exists.
References findProxySubMesh(), GetMeshDS(), SMDS_MeshNode::GetPosition(), SMDS_MeshElement::getshapeId(), SMESH_MesherHelper::GetSubShapeByNode(), SMDS_Position::GetTypeOfPosition(), and shapeIndex().
Referenced by SMESH_MesherHelper::LoadNodeColumns().
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().
|
protected |
Returns a proxy sub-mesh; it is created if not yet exists.
References getProxySubMesh(), and shapeIndex().
|
protected |
Returns a proxy sub-mesh; it is created if not yet exists.
References newSubmesh().
Referenced by StdMeshers_QuadToTriaAdaptor::Compute(), VISCOUS_2D::_ProxyMeshOfFace::GetEdgeSubMesh(), VISCOUS_3D::_MeshOfSolid::getFaceSubM(), and getProxySubMesh().
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().
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().
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().
int SMESH_ProxyMesh::NbProxySubMeshes | ( | ) | const |
Returns number of proxy sub-meshes.
Reimplemented in VISCOUS_2D::_ProxyMeshOfFace.
Referenced by getProxySubMesh().
|
protected |
Removes tmp elements from the _mesh.
References SMDS_MeshElement::GetID(), GetMeshDS(), and SMESHDS_Mesh::RemoveFreeElement().
Referenced by StdMeshers_QuadToTriaAdaptor::Compute(), and StdMeshers_QuadToTriaAdaptor::MergePiramids().
|
protected |
Referenced by StdMeshers_QuadToTriaAdaptor::Compute().
|
protected |
Set node-node correspondence.
Referenced by VISCOUS_3D::_MeshOfSolid::setNode2Node().
|
protected |
Returns index of a shape.
References GetMeshDS().
Referenced by findProxySubMesh(), VISCOUS_3D::_MeshOfSolid::getFaceSubM(), GetProxyNode(), GetProxySubMesh(), getProxySubMesh(), GetSubMesh(), and takeProxySubMesh().
|
protected |
Stores tmp element residing the _mesh.
Referenced by StdMeshers_QuadToTriaAdaptor::Compute().
|
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().
|
protected |
Move tmp elements residing the _mesh from other proxy mesh to this.
Referenced by StdMeshers_QuadToTriaAdaptor::Compute(), and SMESH_ProxyMesh().