Version: 9.12.0
VISCOUS_2D::_ProxyMeshOfFace Struct Reference

Proxy Mesh of FACE with viscous layers. More...

Inheritance diagram for VISCOUS_2D::_ProxyMeshOfFace:

Data Structures

struct  _EdgeSubMesh
 

Public Types

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

Public Member Functions

 _ProxyMeshOfFace (const SMESH_Mesh &mesh)
 
_EdgeSubMeshGetEdgeSubMesh (int ID)
 
virtual SubMeshnewSubmesh (int index=0) const
 Create a SubMesh. More...
 
const SMESHDS_SubMeshGetSubMesh (const TopoDS_Shape &shape) const
 Returns the submesh of a shape; it can be a proxy sub-mesh. More...
 
const SMESHDS_SubMeshGetSubMesh (const int shapeID) const
 Return a sub-mesh by a shape ID; it can be a proxy sub-mesh. More...
 
const SubMeshGetProxySubMesh (const TopoDS_Shape &shape) const
 Returns the proxy sub-mesh of a shape; it can be NULL. 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...
 
int NbProxySubMeshes () const
 Returns number of proxy sub-meshes. More...
 
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...
 
smIdType NbFaces () const
 Return total nb of faces taking into account substitutions. More...
 
bool IsTemporary (const SMDS_MeshElement *elem) const
 Return true if the element is a temporary one. More...
 
SMDS_ElemIteratorPtr GetInverseElementIterator (const SMDS_MeshNode *node, SMDSAbs_ElementType type) const
 Return iterator on inverse elements of a node that may be a proxy one. More...
 
SMESH_MeshGetMesh () const
 
SMESHDS_MeshGetMeshDS () const
 Returns mesh DS. More...
 

Static Public Member Functions

static bool HasPrismsOnTwoSides (SMESHDS_SubMesh *faceSM)
 Check if a FACE has prisms on its both sides. More...
 

Protected Member Functions

void setMesh (const SMESH_Mesh &mesh)
 Set mesh. More...
 
int shapeIndex (const TopoDS_Shape &shape) const
 Returns index of a shape. More...
 
SubMeshfindProxySubMesh (int shapeIndex=0) const
 Returns a proxy sub-mesh. More...
 
SubMeshgetProxySubMesh (int shapeIndex)
 Returns a proxy sub-mesh; it is created if not yet exists. More...
 
SubMeshgetProxySubMesh (const TopoDS_Shape &shape=TopoDS_Shape())
 Returns a proxy sub-mesh; it is created if not yet exists. 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...
 
void removeTmpElement (const SMDS_MeshElement *elem)
 Removes tmp elements from the _mesh. More...
 
void storeTmpElement (const SMDS_MeshElement *elem)
 Stores tmp element residing the _mesh. More...
 
void setNode2Node (const SMDS_MeshNode *srcNode, const SMDS_MeshNode *proxyNode, const SubMesh *subMesh)
 Set node-node correspondence. More...
 

Protected Attributes

std::vector< SMDSAbs_EntityType_allowedTypes
 

Private Types

typedef NCollection_DataMap< const SMDS_MeshNode *, std::vector< const SMDS_MeshElement * >, SMESH_HasherTNodeElemVecMap
 

Private Attributes

const SMESH_Mesh_mesh
 
std::vector< SubMesh * > _subMeshes
 
std::set< const SMDS_MeshElement * > _elemsInMesh
 
TNodeElemVecMap _inverseElements
 
SubMesh_subContainer
 

Detailed Description

Proxy Mesh of FACE with viscous layers.

It's needed only to redefine newSubmesh().

Member Typedef Documentation

◆ Ptr

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

◆ TN2NMap

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

◆ TNodeElemVecMap

typedef NCollection_DataMap< const SMDS_MeshNode*, std::vector< const SMDS_MeshElement* >, SMESH_Hasher > SMESH_ProxyMesh::TNodeElemVecMap
privateinherited

Constructor & Destructor Documentation

◆ _ProxyMeshOfFace()

VISCOUS_2D::_ProxyMeshOfFace::_ProxyMeshOfFace ( const SMESH_Mesh mesh)

Member Function Documentation

◆ findProxySubMesh()

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

◆ GetEdgeSubMesh()

◆ GetFaces() [1/2]

◆ GetFaces() [2/2]

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

◆ GetInverseElementIterator()

SMDS_ElemIteratorPtr SMESH_ProxyMesh::GetInverseElementIterator ( const SMDS_MeshNode node,
SMDSAbs_ElementType  type 
) const
inherited

◆ GetMesh()

◆ GetMeshDS()

◆ GetProxyNode()

◆ GetProxySubMesh()

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

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

References SMESH_ProxyMesh::_subMeshes, and SMESH_ProxyMesh::shapeIndex().

Referenced by VISCOUS_3D::_ViscousBuilder::makeGroupOfLE(), and VISCOUS_3D::_ViscousBuilder::MakeN2NMap().

◆ getProxySubMesh() [1/2]

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

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

References SMESH_ProxyMesh::getProxySubMesh(), and SMESH_ProxyMesh::shapeIndex().

◆ getProxySubMesh() [2/2]

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

◆ GetSubMesh() [1/2]

const SMESHDS_SubMesh * SMESH_ProxyMesh::GetSubMesh ( const int  shapeID) const
inherited

Return a sub-mesh by a shape ID; it can be a proxy sub-mesh.

References SMESH_ProxyMesh::_subMeshes, SMESH_ProxyMesh::GetMeshDS(), and SMESHDS_Mesh::MeshElements().

◆ GetSubMesh() [2/2]

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

◆ HasPrismsOnTwoSides()

bool SMESH_ProxyMesh::HasPrismsOnTwoSides ( SMESHDS_SubMesh smFace)
staticinherited

Check if a FACE has prisms on its both sides.

Parameters
[in]smFace- sub-mesh of the FACE. NOT a proxy sub-mesh!
Returns
bool - true if there are prisms on the two sides

References SMDS_MeshElement::begin_nodes(), SMDS_MeshElement::end_nodes(), SMESHDS_SubMesh::GetElements(), SMDS_Mesh::GetElementsByNodes(), SMDS_MeshElement::NbCornerNodes(), SMESHDS_SubMesh::NbElements(), and SMDSAbs_Volume.

Referenced by StdMeshers_QuadToTriaAdaptor::Compute().

◆ IsTemporary()

bool SMESH_ProxyMesh::IsTemporary ( const SMDS_MeshElement elem) const
inherited

Return true if the element is a temporary one.

References SMESH_ProxyMesh::_elemsInMesh, and SMDS_MeshElement::GetID().

Referenced by _QuadFaceGrid::LoadGrid(), and SMESH_MesherHelper::LoadNodeColumns().

◆ NbFaces()

◆ NbProxySubMeshes()

int SMESH_ProxyMesh::NbProxySubMeshes ( ) const
inherited

Returns number of proxy sub-meshes.

References SMESH_ProxyMesh::_subMeshes.

Referenced by SMESH_ProxyMesh::GetInverseElementIterator().

◆ newSubmesh()

virtual SubMesh* VISCOUS_2D::_ProxyMeshOfFace::newSubmesh ( int  index = 0) const
virtual

Create a SubMesh.

Parameters
[ino]index - shape index
Returns
SubMesh* - new SubMesh

Reimplemented from SMESH_ProxyMesh.

◆ removeTmpElement()

◆ setMesh()

◆ setNode2Node()

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

Set node-node correspondence.

References SMESH_ProxyMesh::SubMesh::_n2n.

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

◆ shapeIndex()

◆ storeTmpElement()

void SMESH_ProxyMesh::storeTmpElement ( const SMDS_MeshElement elem)
protectedinherited

Stores tmp element residing the _mesh.

References SMESH_ProxyMesh::_elemsInMesh.

Referenced by StdMeshers_QuadToTriaAdaptor::Compute().

◆ takeProxySubMesh()

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

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

References SMESH_ProxyMesh::_mesh, SMESH_ProxyMesh::_subMeshes, SMESH_ProxyMesh::findProxySubMesh(), and SMESH_ProxyMesh::shapeIndex().

Referenced by StdMeshers_QuadToTriaAdaptor::Compute().

◆ takeTmpElemsInMesh()

void SMESH_ProxyMesh::takeTmpElemsInMesh ( SMESH_ProxyMesh proxyMesh)
protectedinherited

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

References SMESH_ProxyMesh::_elemsInMesh.

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

Field Documentation

◆ _allowedTypes

◆ _elemsInMesh

◆ _inverseElements

TNodeElemVecMap SMESH_ProxyMesh::_inverseElements
privateinherited

◆ _mesh

◆ _subContainer

SubMesh* SMESH_ProxyMesh::_subContainer
mutableprivateinherited

◆ _subMeshes