Version: 9.12.0
VISCOUS_3D::_TmpMeshFace Struct Reference

Class of temporary mesh face. More...

Inheritance diagram for VISCOUS_3D::_TmpMeshFace:

Public Types

typedef SMDS_StdIterator< const SMDS_MeshNode *, SMDS_NodeIteratorPtriterator
 

Public Member Functions

 _TmpMeshFace (const vector< const SMDS_MeshNode * > &nodes, int ID, int faceID=-1, const SMDS_MeshElement *srcFace=0)
 
virtual SMDSAbs_EntityType GetEntityType () const
 
virtual SMDSAbs_GeometryType GetGeomType () const
 
virtual SMDSAbs_ElementType GetType () const
 
virtual bool IsPoly () const
 
virtual bool IsQuadratic () const
 
virtual bool IsMediumNode (const SMDS_MeshNode *) const
 Check if a node is a medium node of a quadratic cell. More...
 
virtual int NbCornerNodes () const
 
virtual int NbNodes () const
 
virtual int NbEdges () const
 
virtual int NbFaces () const
 
virtual void Print (std::ostream &OS) const
 
virtual const SMDS_MeshNodeGetNode (const int ind) const
 =================================================================== More...
 
virtual SMDS_ElemIteratorPtr nodesIterator () const
 
virtual SMDS_NodeIteratorPtr nodeIterator () const
 
virtual smIdType GetID () const
 Return ID of an element. More...
 
virtual int GetShapeID () const
 Return ID of a shape this element was generated on. More...
 
virtual void setIsMarked (bool is) const
 Mark this element. More...
 
virtual bool isMarked () const
 Check if this element is marked. More...
 
virtual VTKCellType GetVtkType () const
 
virtual SMDS_NodeIteratorPtr interlacedNodesIterator () const
 
virtual SMDS_NodeIteratorPtr nodesIteratorToUNV () const
 
iterator begin_nodes () const
 
iterator end_nodes () const
 
const SMDS_MeshNodeGetNodeWrap (const int ind) const
 Return node by its index. More...
 
virtual bool IsValidIndex (const int ind) const
 Return true if index of node is valid (0 <= ind < NbNodes()) More...
 
int WrappedIndex (const int ind) const
 Return a valid corner node index, fixing the given one if necessary. More...
 
virtual int GetNodeIndex (const SMDS_MeshNode *node) const
 Check if a node belongs to the element. More...
 
virtual vtkIdType GetVtkID () const
 Return VTK ID of this element. More...
 
virtual int getshapeId () const
 
bool IsNull () const
 
SMDS_MeshGetMesh () const
 Return the mesh this element belongs to. More...
 

Data Fields

const SMDS_MeshElement_srcFace
 

Protected Types

enum  Bits { BIT_IS_MARKED = 1 , BITS_SHIFT = 1 }
 

Protected Member Functions

virtual void setID (const smIdType id)
 
virtual void setShapeID (const int shapeID)
 
virtual void setShapeID (const int shapeID) const
 Set ID of a shape this element was generated on. More...
 
void setVtkID (const vtkIdType vtkID)
 Store VTK ID. More...
 
SMDS_UnstructuredGridgetGrid () const
 Return a SMDS_UnstructuredGrid. More...
 

Protected Attributes

std::vector< const SMDS_MeshNode * > myNodes
 
smIdType myID
 
int myShapeID
 
SMDS_ElementChunkmyHolder
 

Detailed Description

Class of temporary mesh face.

We can't use SMDS_FaceOfNodes since it's impossible to set it's ID which is needed because SMESH_ElementSearcher internally uses set of elements sorted by ID

Member Typedef Documentation

◆ iterator

Member Enumeration Documentation

◆ Bits

enum SMDS_CellOfNodes::Bits
protectedinherited
Enumerator
BIT_IS_MARKED 
BITS_SHIFT 

Constructor & Destructor Documentation

◆ _TmpMeshFace()

VISCOUS_3D::_TmpMeshFace::_TmpMeshFace ( const vector< const SMDS_MeshNode * > &  nodes,
int  ID,
int  faceID = -1,
const SMDS_MeshElement srcFace = 0 
)

Member Function Documentation

◆ begin_nodes()

◆ end_nodes()

◆ GetEntityType()

virtual SMDSAbs_EntityType VISCOUS_3D::_TmpMeshFace::GetEntityType ( ) const
virtual

◆ GetGeomType()

virtual SMDSAbs_GeometryType VISCOUS_3D::_TmpMeshFace::GetGeomType ( ) const
virtual

◆ getGrid()

◆ GetID()

smIdType SMDS_CellOfNodes::GetID ( ) const
virtualinherited

Return ID of an element.

Reimplemented from SMDS_MeshElement.

References SMDS_CellOfNodes::myID.

Referenced by SMDS_FaceOfNodes::Print(), SMDS_PolygonalFaceOfNodes::Print(), and SMDS_VolumeOfNodes::Print().

◆ GetMesh()

◆ GetNode()

const SMDS_MeshNode * SMDS_PolygonalFaceOfNodes::GetNode ( const int  ind) const
virtualinherited

===================================================================

Iterator on edges of face ===================================================================

Return node by its index

Parameters
ind- node index
Return values
constSMDS_MeshNode* - the node

Implements SMDS_MeshElement.

References SMDS_PolygonalFaceOfNodes::myNodes, and SMDS_MeshElement::WrappedIndex().

◆ GetNodeIndex()

int SMDS_MeshElement::GetNodeIndex ( const SMDS_MeshNode node) const
virtualinherited

Check if a node belongs to the element.

Parameters
node- the node to check
Return values
int- node index within the element, -1 if not found

Reimplemented in SMDS_VolumeOfNodes, SMDS_MeshVolume, SMDS_MeshCell, SMDS_LinearEdge, and SMDS_FaceOfNodes.

References SMDS_MeshElement::nodesIterator().

Referenced by VISCOUS_3D::_ViscousBuilder::addBoundaryElements(), StdMeshers_QuadToTriaAdaptor::Compute2ndPart(), SMESH_MeshAlgos::Intersector::Algo::Cut(), SMESH_MeshAlgos::Intersector::CutByPlanes(), SMDS_UnstructuredGrid::extrudeVolumeFromFace(), SMDS_Mesh::FindEdge(), SMDS_Mesh::FindElement(), SMESH_MeshAlgos::FindFaceInSet(), VISCOUS_3D::_LayerEdge::FindIntersection(), SMESH_MeshEditor::FindMatchingNodes(), SMESH_ElementSearcherImpl::findOuterBoundary(), findSegment(), SMESH_MeshAlgos::GetCommonNodes(), VISCOUS_3D::getDistFromEdge(), SMDS_Mesh::GetElementsByNodes(), VISCOUS_3D::_Simplex::GetSimplices(), SMESH::Controls::FreeEdges::IsFreeEdge(), SMDS_VolumeTool::IsFreeFace(), SMDS_MeshElement::IsMediumNode(), SMESH_MeshAlgos::IsOn2DBoundary(), SMESH_MeshAlgos::IsRightOrder(), SMESH::Controls::BareBorderFace::IsSatisfy(), StdMeshers_QuadToTriaAdaptor::LimitHeight(), _QuadFaceGrid::LoadGrid(), SMESH_MeshAlgos::Intersector::Algo::MakeNewFaces(), SMESH_MeshAlgos::MakeOffset(), SMESH_MeshEditor::makeWalls(), SMESH_MeshEditor::MergeNodes(), SMESH_MeshAlgos::NbCommonNodes(), StdMeshers_QuadToTriaAdaptor::Preparation(), SMESH_MeshEditor::Reorient2DBy3D(), SMESH::Controls::CoplanarFaces::SetMesh(), SMESH_MeshEditor::SewSideElements(), StdMeshers_Quadrangle_2D::smooth(), VISCOUS_3D::_ViscousBuilder::smoothAndCheck(), and VISCOUS_3D::_Shrinker1D::SwapSrcTgtNodes().

◆ GetNodeWrap()

const SMDS_MeshNode* SMDS_MeshElement::GetNodeWrap ( const int  ind) const
inherited

Return node by its index.

Parameters
ind- node index
Return values
constSMDS_MeshNode* - the node

Index is wrapped if it is out of a valid range of corner nodes

Referenced by SMESH_MeshAlgos::Intersector::Algo::Cut(), SMESH_MeshEditor::GetLinkedNodes(), and SMESH_MeshEditor::makeWalls().

◆ GetShapeID()

int SMDS_CellOfNodes::GetShapeID ( ) const
virtualinherited

Return ID of a shape this element was generated on.

Reimplemented from SMDS_MeshElement.

References SMDS_CellOfNodes::BITS_SHIFT, and SMDS_CellOfNodes::myShapeID.

◆ getshapeId()

virtual int SMDS_MeshElement::getshapeId ( ) const
virtualinherited

Referenced by SMESH_Delaunay::addCloseNodes(), SMESHDS_SubMesh::AddNode(), areNodesBound(), StdMeshers_Quadrangle_2D::check(), SMESH_MesherHelper::CheckNodeU(), SMESH_MesherHelper::CheckNodeUV(), StdMeshers_Import_1D2D::Compute(), VISCOUS_3D::_ViscousBuilder::computeGeomSize(), SMESHDS_SubMesh::Contains(), SMESH_MeshEditor::convertElemToQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_MeshEditor::copyPosition(), SMESH_Pattern::createElements(), SMESH_MeshEditor::CreateHoleSkin(), SMESH_MeshEditor::DeleteDiag(), SMESH_Mesh_i::exportMEDFields(), VISCOUS_3D::_ViscousBuilder::findEdgesToUpdateNormalNearConvexFace(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), SMESH_MeshEditor::FindShape(), VISCOUS_3D::_ViscousBuilder::findShapesToSmooth(), SMESH_MesherHelper::FixQuadraticElements(), SMESH_MesherHelper::GetCentralNode(), VISCOUS_3D::_ViscousBuilder::getFaceNormal(), SMESH_MesherHelper::GetMediumNode(), SMESH_MesherHelper::getMediumNodeOnComposedWire(), SMESH_MesherHelper::GetMediumPos(), StdMeshers_PrismAsBlock::GetNodeColumn(), SMESH_MesherHelper::GetNodeU(), SMESH_MesherHelper::GetNodeUV(), VISCOUS_3D::_EdgesOnShape::GetNormal(), StdMeshers_FaceSide::GetOrderedNodes(), SMESH_ProxyMesh::GetProxyNode(), SMESH_Mesh_i::GetShapeID(), VISCOUS_3D::_Simplex::GetSimplices(), SMESH_MesherHelper::GetSubShapeByNode(), StdMeshers_FaceSide::GetUVPtStruct(), SMESH::Controls::Deflection2D::GetValue(), StdMeshers_PrismAsBlock::HasNodeColumn(), StdMeshers_PrismAsBlock::Init(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESH_MeshEditor::InverseDiag(), SMESH_MesherHelper::IsCornerOfStructure(), SMESH::Controls::BelongToGeom::IsSatisfy(), SMESH::Controls::LyingOnGeom::IsSatisfy(), SMESH_Pattern::Load(), VISCOUS_3D::_ViscousBuilder::makeLayer(), SMESH_MeshEditor::MergeNodes(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), DriverGMF_Write::Perform(), SMESH_MeshEditor::QuadTo4Tri(), SMESH_MeshEditor::Remove(), SMESHDS_Mesh::RemoveElement(), SMESHDS_SubMesh::RemoveElement(), SMESHDS_Mesh::RemoveFreeElement(), SMESHDS_Mesh::RemoveFreeNode(), SMESHDS_Mesh::RemoveNode(), SMESHDS_SubMesh::RemoveNode(), SMESH_MeshEditor::removeQuadElem(), VISCOUS_3D::_ViscousBuilder::setEdgeData(), SMESH_MeshEditor::SewSideElements(), VISCOUS_2D::_ViscousBuilder2D::shrink(), StdMeshers_Quadrangle_2D::smooth(), VISCOUS_3D::_ViscousBuilder::smoothAndCheck(), SMESH_MeshEditor::SplitBiQuadraticIntoLinear(), StdMeshers_PrismAsBlock::TPCurveOnHorFaceAdaptor::TPCurveOnHorFaceAdaptor(), SMESH_MeshEditor::TriToQuad(), SMESHDS_Mesh::UnSetElementOnShape(), SMESHDS_Mesh::UnSetNodeOnShape(), SMESH_MeshEditor::UpdateVolumes(), StdMeshers_PrismAsBlock::TSideFace::Value(), and SMESH_Algo::VertexNode().

◆ GetType()

SMDSAbs_ElementType SMDS_PolygonalFaceOfNodes::GetType ( ) const
virtualinherited

Implements SMDS_MeshElement.

References SMDSAbs_Face.

◆ GetVtkID()

vtkIdType SMDS_MeshElement::GetVtkID ( ) const
virtualinherited

Return VTK ID of this element.

References SMDS_ElementChunk::GetVtkID(), and SMDS_MeshElement::myHolder.

Referenced by SMDS_MeshNode::AddInverseElement(), SMDS_ElementHolder::beforeCompacting(), SMDS_MeshCell::ChangeNodes(), SMDS_MeshVolume::ChangeNodes(), SMDS_MeshNode::ClearInverseElements(), SMDS_ElementFactory::Compact(), SMESH_MeshEditor::CreateHoleSkin(), SMESH_MeshEditor::DoubleNodesOnGroupBoundaries(), SMDS_UnstructuredGrid::extrudeVolumeFromFace(), SMDS_ElementFactory::Free(), SMDS_MeshNode::getCoord(), SMDS_BallElement::GetDiameter(), SMESH_VisualObjDef::GetElemVTKId(), SMESHGUI_PreVisualObj::GetElemVTKId(), SMDS_MeshVolume::GetFaceNode(), SMDS_MeshNode::GetInverseElementIterator(), SMDS_MeshCell::GetNode(), SMDS_MeshVolume::GetNode(), SMDS_MeshCell::GetNodeIndex(), SMDS_MeshVolume::GetNodeIndex(), SMESH_VisualObjDef::GetNodeVTKId(), SMDS_MeshVolume::GetQuantities(), SMESH::Controls::AspectRatio3D::GetValue(), SMDS_MeshCell::GetVtkType(), SMDS_MeshNode::GetXYZ(), SMDS_BallElement::init(), SMDS_MeshNode::init(), SMDS_MeshCell::init(), SMDS_MeshVolume::NbEdges(), SMDS_MeshVolume::NbFaceNodes(), SMDS_MeshVolume::NbFaces(), SMDS_MeshNode::NbInverseElements(), SMDS_MeshCell::NbNodes(), SMDS_MeshVolume::NbNodes(), SMDS_MeshCell::nodeIterator(), SMDS_MeshVolume::nodeIterator(), SMDS_MeshCell::nodesIterator(), SMDS_MeshVolume::nodesIterator(), SMDS_MeshCell::nodesIteratorToUNV(), SMDS_Mesh::RemoveFreeElement(), SMDS_MeshNode::RemoveInverseElement(), SMDS_BallElement::SetDiameter(), and SMDS_MeshNode::setXYZ().

◆ GetVtkType()

virtual VTKCellType SMDS_CellOfNodes::GetVtkType ( ) const
virtualinherited

Implements SMDS_MeshElement.

◆ interlacedNodesIterator()

◆ isMarked()

bool SMDS_CellOfNodes::isMarked ( ) const
virtualinherited

Check if this element is marked.

Reimplemented from SMDS_MeshElement.

References SMDS_CellOfNodes::BIT_IS_MARKED, and SMDS_CellOfNodes::myShapeID.

◆ IsMediumNode()

virtual bool SMDS_PolygonalFaceOfNodes::IsMediumNode ( const SMDS_MeshNode node) const
virtualinherited

Check if a node is a medium node of a quadratic cell.

Reimplemented from SMDS_MeshElement.

◆ IsNull()

◆ IsPoly()

virtual bool SMDS_PolygonalFaceOfNodes::IsPoly ( ) const
virtualinherited

Implements SMDS_MeshElement.

◆ IsQuadratic()

virtual bool SMDS_PolygonalFaceOfNodes::IsQuadratic ( ) const
virtualinherited

Implements SMDS_MeshElement.

◆ IsValidIndex()

bool SMDS_MeshElement::IsValidIndex ( const int  ind) const
virtualinherited

Return true if index of node is valid (0 <= ind < NbNodes())

Parameters
ind- node index
Return values
bool- index check result

References SMDS_MeshElement::NbNodes().

◆ NbCornerNodes()

virtual int SMDS_PolygonalFaceOfNodes::NbCornerNodes ( ) const
virtualinherited

◆ NbEdges()

int SMDS_PolygonalFaceOfNodes::NbEdges ( ) const
virtualinherited

◆ NbFaces()

int SMDS_PolygonalFaceOfNodes::NbFaces ( ) const
virtualinherited

Implements SMDS_MeshElement.

◆ NbNodes()

int SMDS_PolygonalFaceOfNodes::NbNodes ( ) const
virtualinherited

◆ nodeIterator()

SMDS_NodeIteratorPtr SMDS_PolygonalFaceOfNodes::nodeIterator ( ) const
virtualinherited

◆ nodesIterator()

SMDS_ElemIteratorPtr SMDS_PolygonalFaceOfNodes::nodesIterator ( ) const
virtualinherited

◆ nodesIteratorToUNV()

virtual SMDS_NodeIteratorPtr SMDS_MeshElement::nodesIteratorToUNV ( ) const
virtualinherited

Reimplemented in SMDS_MeshCell.

◆ Print()

void SMDS_PolygonalFaceOfNodes::Print ( std::ostream &  OS) const
virtualinherited

◆ setID()

void SMDS_CellOfNodes::setID ( const smIdType  id)
protectedvirtualinherited

◆ setIsMarked()

void SMDS_CellOfNodes::setIsMarked ( bool  is) const
virtualinherited

Mark this element.

Reimplemented from SMDS_MeshElement.

References SMDS_CellOfNodes::BIT_IS_MARKED, and SMDS_CellOfNodes::myShapeID.

◆ setShapeID() [1/2]

void SMDS_CellOfNodes::setShapeID ( const int  shapeID)
protectedvirtualinherited

◆ setShapeID() [2/2]

void SMDS_MeshElement::setShapeID ( const int  shapeID) const
protectedvirtualinherited

◆ setVtkID()

void SMDS_MeshElement::setVtkID ( const vtkIdType  vtkID)
protectedinherited

◆ WrappedIndex()

int SMDS_MeshElement::WrappedIndex ( const int  ind) const
inherited

Return a valid corner node index, fixing the given one if necessary.

Parameters
ind- node index
Return values
int- valid node index

References SMDS_MeshElement::NbCornerNodes().

Referenced by SMDS_PolygonalFaceOfNodes::GetNode().

Field Documentation

◆ _srcFace

const SMDS_MeshElement* VISCOUS_3D::_TmpMeshFace::_srcFace

◆ myHolder

◆ myID

smIdType SMDS_CellOfNodes::myID
protectedinherited

◆ myNodes

◆ myShapeID