SMDS_MeshElement Class Referenceabstract

Base class for elements. More...

#include <SMDS_MeshElement.hxx>

Classes

struct  EntityFilter
 
struct  Filter
 Filters of elements, to be used with SMDS_SetIterator. More...
 
struct  GeomFilter
 
struct  NonNullFilter
 
struct  TypeFilter
 

Public Types

typedef SMDS_StdIterator< const SMDS_MeshNode *, SMDS_ElemIteratorPtr > iterator
 

Public Member Functions

iterator begin_nodes () const
 
SMDS_ElemIteratorPtr edgesIterator () const
 Create an iterator which iterate on edges linked with or owned by the element. More...
 
virtual SMDS_ElemIteratorPtr elementsIterator (SMDSAbs_ElementType type) const
 
iterator end_nodes () const
 
SMDS_ElemIteratorPtr facesIterator () const
 Create an iterator which iterate on faces linked with or owned by the element. More...
 
virtual SMDSAbs_EntityType GetEntityType () const =0
 
virtual SMDSAbs_GeometryType GetGeomType () const =0
 
int GetID () const
 
int getIdInShape () const
 
ShortType getMeshId () const
 
virtual const SMDS_MeshNodeGetNode (const int ind) const
 Return node by its index. More...
 
virtual int GetNodeIndex (const SMDS_MeshNode *node) const
 Check if a node belongs to the element. More...
 
const SMDS_MeshNodeGetNodeWrap (const int ind) const
 Return node by its index. More...
 
LongType getshapeId () const
 
virtual SMDSAbs_ElementType GetType () const =0
 Return the type of the current element. More...
 
int getVtkId () const
 
virtual vtkIdType GetVtkType () const =0
 
virtual SMDS_ElemIteratorPtr interlacedNodesElemIterator () const
 
virtual SMDS_NodeIteratorPtr interlacedNodesIterator () const
 virtual, redefined in vtkEdge, vtkFace and vtkVolume classes More...
 
virtual bool IsMediumNode (const SMDS_MeshNode *node) const
 
virtual bool IsPoly () const
 
virtual bool IsQuadratic () const
 
virtual bool IsValidIndex (const int ind) const
 Return true if index of node is valid (0 <= ind < NbNodes()) More...
 
virtual int NbCornerNodes () const
 Return number of nodes excluding medium ones. More...
 
virtual int NbEdges () const
 Return the number of edges owned by or linked with the current element. More...
 
virtual int NbFaces () const
 Return the number of faces owned by or linked with the current element. More...
 
virtual int NbNodes () const
 Return The number of nodes owned by the current element. More...
 
virtual SMDS_NodeIteratorPtr nodeIterator () const
 
SMDS_ElemIteratorPtr nodesIterator () const
 Create an iterator which iterate on nodes owned by the element. More...
 
virtual SMDS_NodeIteratorPtr nodesIteratorToUNV () const
 virtual, redefined in vtkEdge, vtkFace and vtkVolume classes More...
 
int WrappedIndex (const int ind) const
 Return a valid node index, fixing the given one if necessary. More...
 
- Public Member Functions inherited from SMDS_MeshObject
virtual ~SMDS_MeshObject ()
 

Protected Member Functions

virtual void init (int id=-1, ShortType meshId=-1, LongType shapeId=0)
 
virtual void Print (std::ostream &OS) const
 
void setId (int id)
 
void setIdInShape (int id)
 
void setShapeId (LongType shapeId)
 
void setVtkId (int vtkId)
 
 SMDS_MeshElement (int id, ShortType meshId, LongType shapeId=0)
 
 SMDS_MeshElement (int ID=-1)
 

Protected Attributes

int myID
 Element index in vector SMDS_Mesh::myNodes or SMDS_Mesh::myCells. More...
 
int myIdInShape
 Element index in SMESHDS_SubMesh vector. More...
 
ShortType myMeshId
 SMDS_Mesh identification in SMESH. More...
 
LongType myShapeId
 SubShape and SubMesh identification in SMESHDS. More...
 
vtkIdType myVtkID
 index in vtkUnstructuredGrid More...
 

Friends

SMDS_EXPORT std::ostream & operator<< (std::ostream &OS, const SMDS_MeshElement *)
 
class SMDS_Mesh
 
class SMDS_MeshElementIDFactory
 
SMDS_EXPORT bool SMDS_MeshElementIDFactory::BindID (int ID, SMDS_MeshElement *elem)
 
class SMESHDS_Mesh
 
class SMESHDS_SubMesh
 

Detailed Description

Base class for elements.

Member Typedef Documentation

◆ iterator

typedef SMDS_StdIterator< const SMDS_MeshNode*, SMDS_ElemIteratorPtr > SMDS_MeshElement::iterator

Constructor & Destructor Documentation

◆ SMDS_MeshElement() [1/2]

SMDS_MeshElement::SMDS_MeshElement ( int  ID = -1)
protected

References init().

◆ SMDS_MeshElement() [2/2]

SMDS_MeshElement::SMDS_MeshElement ( int  id,
ShortType  meshId,
LongType  shapeId = 0 
)
protected

References init().

Member Function Documentation

◆ begin_nodes()

◆ edgesIterator()

SMDS_ElemIteratorPtr SMDS_MeshElement::edgesIterator ( ) const

Create an iterator which iterate on edges linked with or owned by the element.

This method call elementsIterator().

References elementsIterator().

Referenced by SMDS_Mesh::addChildrenWithNodes(), and NbEdges().

◆ elementsIterator()

◆ end_nodes()

◆ facesIterator()

SMDS_ElemIteratorPtr SMDS_MeshElement::facesIterator ( ) const

Create an iterator which iterate on faces linked with or owned by the element.

This method call elementsIterator().

References elementsIterator().

Referenced by SMDS_Mesh::addChildrenWithNodes(), Fem::FemMesh::getVolumesByFace(), and NbFaces().

◆ GetEntityType()

◆ GetGeomType()

◆ GetID()

int SMDS_MeshElement::GetID ( ) const

Referenced by SMESHDS_Mesh::Add0DElement(), SMESHDS_Mesh::Add0DElementWithID(), SMESHDS_Mesh::AddBall(), SMESHDS_Mesh::AddBallWithID(), SMESHDS_Mesh::AddEdge(), SMESHDS_Mesh::AddEdgeWithID(), SMESHDS_SubMesh::AddElement(), SMESHDS_Mesh::AddFace(), SMESHDS_Mesh::AddFaceWithID(), Fem::FemMesh::addGroupElements(), SMESHDS_Mesh::AddNode(), SMESHDS_Mesh::AddNodeWithID(), SMESHDS_Mesh::AddPolygonalFace(), SMESHDS_Mesh::AddPolyhedralVolume(), SMESHDS_Mesh::AddQuadPolygonalFace(), SMESHDS_Mesh::AddVolume(), SMESHDS_Mesh::AddVolumeWithID(), SMESHDS_Mesh::ChangeElementNodes(), SMESHDS_Mesh::ChangePolyhedronNodes(), SMDS_Mesh::Clear(), StdMeshers_Import_1D2D::Compute(), StdMeshers_Projection_3D::Compute(), SMESHDS_GroupBase::Contains(), SMESHDS_GroupOnFilter::Contains(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), SMESH_MeshEditor::CreateHoleSkin(), FemGui::ViewProviderFEMMeshBuilder::createMesh(), FemGui::TaskCreateNodeSet::DefineNodes(), SMESH_MeshEditor::DoubleNodesOnGroupBoundaries(), Fem::exportFemMeshCells(), Fem::exportFemMeshFaces(), Fem::FemVTKTools::exportFreeCADResult(), Fem::FemVTKTools::exportVTKMesh(), SMESH_MeshEditor::ExtrusionAlongTrack(), SMESH_OctreeNode::FindCoincidentNodes(), SMESH_MeshEditor::FindEqualElements(), SMESH_MeshEditor::FindMatchingNodes(), SMESH_MeshEditor::FindShape(), SMESH::Controls::FreeEdges::GetBoreders(), Fem::FemMesh::getccxVolumesByFace(), VISCOUS_3D::getDistFromEdge(), Fem::FemMesh::getEdgesByEdge(), Fem::FemMesh::getEdgesOnly(), Fem::FemMesh::getElementNodes(), SMESH::Controls::Filter::GetElementsId(), Fem::FemMesh::getFacesOnly(), LinkID_Gen::GetLinkID(), Fem::FemMesh::getNodesByEdge(), SMESH_MeshVSLink::GetNodesByElement(), Fem::FemMesh::getNodesByFace(), Fem::FemMesh::getNodesBySolid(), Fem::FemMesh::getNodesByVertex(), SMESH::Controls::MultiConnection2D::GetValue(), SMESH::Controls::MultiConnection2D::GetValues(), SMESH::Controls::Length2D::GetValues(), Fem::FemMesh::getVolumesByFace(), SMDS_VolumeTool::ID(), SMESH::Controls::FreeEdges::IsFreeEdge(), SMESH::Controls::ConnectedElements::IsSatisfy(), SMESH_ProxyMesh::IsTemporary(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), StdMeshers_Penta_3D::MakeNodes(), StdMeshers_Penta_3D::MakeVolumeMesh(), SMESH_MeshEditor::MergeNodes(), TIDTypeCompare::operator()(), TIDCompare::operator()(), Prism_3D::TNode::operator<(), DriverDAT_W_SMDS_Mesh::Perform(), DriverMED_W_SMESHDS_Mesh::Perform(), DriverUNV_W_SMDS_Mesh::Perform(), SMDS_BallElement::Print(), SMDS_FaceOfEdges::Print(), SMDS_FaceOfNodes::Print(), SMDS_LinearEdge::Print(), SMDS_Mesh0DElement::Print(), SMDS_PolygonalFaceOfNodes::Print(), SMDS_PolyhedralVolumeOfNodes::Print(), SMDS_QuadraticEdge::Print(), SMDS_QuadraticFaceOfNodes::Print(), SMDS_QuadraticVolumeOfNodes::Print(), SMDS_VolumeOfFaces::Print(), SMDS_VolumeOfNodes::Print(), SMDS_VtkEdge::Print(), SMDS_VtkFace::Print(), SMDS_VtkVolume::Print(), SMESHDS_Mesh::RemoveElement(), SMESHDS_Mesh::RemoveFreeElement(), SMDS_Mesh::RemoveFreeElement(), SMESH_ProxyMesh::removeTmpElement(), SMDS_Mesh::Renumber(), NETGENPlugin_SimpleHypothesis_3D::SetParametersByMesh(), StdMeshers_MaxElementVolume::SetParametersByMesh(), SMESH_MeshEditor::SewSideElements(), SMESH_MeshVSLink::SMESH_MeshVSLink(), SMESH_TLink::SMESH_TLink(), StdMeshers_MEFISTO_2D::StoreResult(), Fem::FemMesh::writeABAQUS(), and SMDS_Mesh::~SMDS_Mesh().

◆ getIdInShape()

int SMDS_MeshElement::getIdInShape ( ) const

◆ getMeshId()

◆ GetNode()

const SMDS_MeshNode * SMDS_MeshElement::GetNode ( const int  ind) const
virtual

Return node by its index.

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

Reimplemented in SMDS_BallElement, SMDS_FaceOfEdges, SMDS_FaceOfNodes, SMDS_LinearEdge, SMDS_Mesh0DElement, SMDS_PolygonalFaceOfNodes, SMDS_PolyhedralVolumeOfNodes, SMDS_QuadraticFaceOfNodes, SMDS_QuadraticVolumeOfNodes, SMDS_VolumeOfNodes, SMDS_VtkEdge, SMDS_VtkFace, SMDS_VtkVolume, and VISCOUS_3D::_TmpMeshFace.

References nodesIterator().

Referenced by SMESH_MesherHelper::AddTLinks(), StdMeshers_Quadrangle_2D::check(), StdMeshers_QuadToTriaAdaptor::Compute(), NETGENPlugin_NETGEN_2D_ONLY::Compute(), NETGENPlugin_NETGEN_3D::Compute(), StdMeshers_Import_1D::Compute(), StdMeshers_Import_1D2D::Compute(), StdMeshers_Projection_3D::Compute(), StdMeshers_QuadToTriaAdaptor::Compute2ndPart(), SMESH_MeshEditor::ConvertToQuadratic(), FemGui::ViewProviderFEMMeshBuilder::createMesh(), StdMeshers_Import_1D::Evaluate(), StdMeshers_Import_1D2D::Evaluate(), Fem::exportFemMeshCells(), Fem::exportFemMeshFaces(), SMESH_MeshAlgos::FaceNormal(), SMESH_MeshAlgos::FindFaceInSet(), SMESH_MeshEditor::FindMatchingNodes(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), SMESH_ElementSearcherImpl::findOuterBoundary(), SMESH_2D_Algo::FixInternalNodes(), SMESH_MesherHelper::FixQuadraticElements(), Fem::FemMesh::getccxVolumesByFace(), VISCOUS_3D::getDistFromEdge(), StdMeshers_FaceSide::GetEdgeNodes(), Fem::FemMesh::getEdgesByEdge(), Fem::FemMesh::getElementNodes(), SMESH_MeshVSLink::GetGeom(), SMESH_Algo::GetMeshError(), SMDS_FaceOfEdges::GetNode(), SMESH_MeshVSLink::GetNodesByElement(), SMESH_MeshVSLink::GetNormal(), VISCOUS_3D::_Simplex::GetSimplices(), Fem::FemMesh::getVolume(), SMESH_MesherHelper::IsReversedSubMesh(), SMESH::Controls::CoincidentElements::IsSatisfy(), SMESH::Controls::BareBorderFace::IsSatisfy(), SMESH::Controls::OverConstrainedFace::IsSatisfy(), SMESH_Pattern::Load(), SMESH_MesherHelper::LoadNodeColumns(), SMESH_MeshEditor::MakeBoundaryMesh(), VISCOUS_3D::_ViscousBuilder::MakeN2NMap(), StdMeshers_Penta_3D::MakeVolumeMesh(), StdMeshers_QuadToTriaAdaptor::MergeAdjacent(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), DriverMED_W_SMESHDS_Mesh::Perform(), SMESH_MeshEditor::Reorient2D(), SMESH::Controls::CoplanarFaces::SetMesh(), StdMeshers_Adaptive1D::SetParametersByMesh(), StdMeshers_SegmentLengthAroundVertex::SetParametersByMesh(), StdMeshers_Quadrangle_2D::smooth(), SMESH_MeshEditor::Smooth(), and Fem::FemMesh::writeABAQUS().

◆ GetNodeIndex()

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

◆ GetNodeWrap()

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

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

Referenced by SMESH_MeshEditor::GetLinkedNodes().

◆ getshapeId()

LongType SMDS_MeshElement::getshapeId ( ) const

Referenced by SMESHDS_SubMesh::AddElement(), NETGENPlugin_Mesher::AddSegmentsToMesh(), StdMeshers_Quadrangle_2D::check(), NETGENPlugin_NETGEN_3D::Compute(), StdMeshers_Import_1D2D::Compute(), StdMeshers_QuadToTriaAdaptor::Compute2ndPart(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_MeshEditor::CreateHoleSkin(), SMESH_MeshEditor::DeleteDiag(), NETGENPlugin_Mesher::FillNgMesh(), NETGENPlugin_Mesher::FillSMesh(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), SMESH_MeshEditor::FindShape(), SMESH_MesherHelper::FixQuadraticElements(), SMESH_MesherHelper::GetCentralNode(), SMESH_MesherHelper::GetMediumNode(), SMESH_MesherHelper::GetMediumPos(), StdMeshers_PrismAsBlock::GetNodeColumn(), StdMeshers_FaceSide::GetOrderedNodes(), SMESH_ProxyMesh::GetProxyNode(), SMESH_MesherHelper::GetSubShapeByNode(), StdMeshers_FaceSide::GetUVPtStruct(), StdMeshers_PrismAsBlock::Init(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESH_MeshEditor::InverseDiag(), SMESH::Controls::BelongToGeom::IsSatisfy(), SMESH::Controls::LyingOnGeom::IsSatisfy(), SMESH_Pattern::Load(), SMESH_MeshEditor::MergeNodes(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), SMESH_MeshEditor::QuadTo4Tri(), SMESH_MeshEditor::Remove(), SMESHDS_Mesh::RemoveElement(), SMESHDS_SubMesh::RemoveElement(), SMESHDS_Mesh::RemoveFreeElement(), StdMeshers_Quadrangle_2D::smooth(), SMESH_MeshEditor::SplitBiQuadraticIntoLinear(), SMESH_MeshEditor::TriToQuad(), SMESHDS_Mesh::UnSetNodeOnShape(), SMESH_MeshEditor::UpdateVolumes(), and SMESH_Algo::VertexNode().

◆ GetType()

virtual SMDSAbs_ElementType SMDS_MeshElement::GetType ( ) const
pure virtual

Return the type of the current element.

Implemented in SMDS_BallElement, SMDS_FaceOfEdges, SMDS_Mesh0DElement, SMDS_MeshEdge, SMDS_MeshFace, SMDS_MeshNode, SMDS_MeshVolume, SMDS_PolygonalFaceOfNodes, SMDS_PolyhedralVolumeOfNodes, SMDS_VolumeOfNodes, SMDS_VtkVolume, and VISCOUS_3D::_TmpMeshFace.

Referenced by SMDS_MeshGroup::Add(), SMESHDS_Group::Add(), SMDS_Mesh::addChildrenWithNodes(), SMESHDS_SubMesh::AddElement(), SMESH_MeshEditor::AffectedElemGroupsInRegion(), SMESH_MeshEditor::BestSplit(), DriverMED::buildMeshGrille(), SMDS_Mesh::ChangePolyhedronNodes(), StdMeshers_Projection_3D::Compute(), SMESH_ProxyMesh::SubMesh::Contains(), SMESHDS_SubMesh::Contains(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_MeshEditor::DoubleElements(), SMESH_MeshEditor::DoubleNodesOnGroupBoundaries(), elementsIterator(), SMESH_MeshEditor::ExtrusionAlongTrack(), SMESH_MeshEditor::ExtrusionSweep(), SMESH_MeshAlgos::FaceNormal(), SMESHDS_GroupBase::findInMesh(), SMESH_MeshEditor::FindShape(), SMESH_MeshVSLink::Get3DGeom(), SMESH_MeshAlgos::GetDistance(), StdMeshers_FaceSide::GetEdgeNodes(), SMDS_Mesh::GetElementType(), SMESH_MeshVSLink::GetGeom(), SMESH_MeshVSLink::GetGeomType(), DriverMED_R_SMESHDS_Mesh::GetGroup(), SMESH_MeshEditor::GetLinkedNodes(), SMESH::Controls::NumericalFunctor::GetPoints(), SMESH::Controls::MaxElementLength3D::GetValue(), SMESH::Controls::MultiConnection2D::GetValue(), StdMeshers_Import_1D::importMesh(), SMESH_MeshEditor::ElemFeatures::Init(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESH_MeshAlgos::IsOut(), SMESH::Controls::FreeEdges::IsSatisfy(), SMESH::Controls::BelongToGeom::IsSatisfy(), SMESH::Controls::LyingOnGeom::IsSatisfy(), SMESH::Controls::FreeFaces::IsSatisfy(), SMESH::Controls::LinearOrQuadratic::IsSatisfy(), SMESH::Controls::ElemGeomType::IsSatisfy(), SMESH::Controls::ConnectedElements::IsSatisfy(), SMESH::Controls::RangeOfIds::IsSatisfy(), StdMeshers_Penta_3D::MakeBlock(), SMESH_MeshEditor::MakeBoundaryMesh(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), SMESH_MeshEditor::MergeNodes(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), SMDS_IteratorOfElements::more(), SMDS_MeshNode::NbInverseElements(), MyIterator< VALUE >::next(), TIDTypeCompare::operator()(), DriverMED_R_SMESHDS_Mesh::Perform(), DriverUNV_R_SMDS_Mesh::Perform(), SMESH_MeshEditor::QuadToTri(), SMESHDS_Mesh::RemoveElement(), SMDS_Mesh::RemoveElement(), SMESHDS_Mesh::RemoveFreeElement(), SMDS_Mesh::RemoveFreeElement(), SMESH_MeshEditor::Reorient(), SMESH_MeshEditor::Reorient2D(), SMESH_MeshEditor::RotationSweep(), SMDS_VolumeTool::Set(), StdMeshers_MaxElementArea::SetParametersByMesh(), StdMeshers_MaxElementVolume::SetParametersByMesh(), SMESH_MeshEditor::SewFreeBorder(), SMESH_MeshEditor::SewSideElements(), SMDS_IteratorOfElements::SMDS_IteratorOfElements(), SMDS_MeshNode_MyInvIterator::SMDS_MeshNode_MyInvIterator(), SMDS_MeshNode_MyIterator::SMDS_MeshNode_MyIterator(), SMESH_MeshEditor::Smooth(), SMESH_MeshEditor::SplitVolumes(), SMESH_MeshEditor::TriToQuad(), SMESHDS_Mesh::UnSetMeshElementOnShape(), SMESH_Mesh::UNVToMesh(), and SMESH_Algo::VertexNode().

◆ getVtkId()

◆ GetVtkType()

◆ init()

◆ interlacedNodesElemIterator()

◆ interlacedNodesIterator()

SMDS_NodeIteratorPtr SMDS_MeshElement::interlacedNodesIterator ( ) const
virtual

◆ IsMediumNode()

◆ IsPoly()

◆ IsQuadratic()

bool SMDS_MeshElement::IsQuadratic ( ) const
virtual

Reimplemented in SMDS_QuadraticEdge, SMDS_QuadraticFaceOfNodes, SMDS_QuadraticVolumeOfNodes, SMDS_VtkEdge, SMDS_VtkFace, and SMDS_VtkVolume.

Referenced by SMESH_MesherHelper::AddTLinks(), SMESH_MeshEditor::BestSplit(), StdMeshers_QuadToTriaAdaptor::Compute(), StdMeshers_Projection_3D::Compute(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), StdMeshers_Projection_3D::Evaluate(), SMESH_MeshEditor::ExtrusionSweep(), SMESH_MeshAlgos::FindFaceInSet(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), SMESH_ElementSearcherImpl::findOuterBoundary(), SMESH_MesherHelper::FixQuadraticElements(), SMESH::Controls::FreeEdges::GetBoreders(), SMESH_MeshAlgos::GetDistance(), SMESH_MeshEditor::GetLinkedNodes(), SMESH_MesherHelper::GetMediumPos(), SMESH::Controls::NumericalFunctor::GetPoints(), SMESH::Controls::AspectRatio3D::GetValue(), SMESH::Controls::MultiConnection2D::GetValues(), SMESH::Controls::Length2D::GetValues(), SMESH_MeshEditor::ElemFeatures::Init(), SMESH_MeshEditor::InsertNodesIntoLink(), SMDS_VolumeTool::IsFreeFace(), SMDS_VolumeTool::IsLinked(), SMESH::Controls::LinearOrQuadratic::IsSatisfy(), SMESH_MeshEditor::Make2DMeshFrom3D(), StdMeshers_Penta_3D::MakeBlock(), SMESH_MeshEditor::MakeBoundaryMesh(), SMDS_VolumeTool::MaxLinearSize2(), SMESH_MeshEditor::MergeNodes(), SMDS_VolumeTool::MinLinearSize2(), NbCornerNodes(), DriverUNV_W_SMDS_Mesh::Perform(), SMESH_MeshEditor::QuadToTri(), SMESH_MeshEditor::RotationSweep(), SMESH_MeshEditor::SewFreeBorder(), SMESH_MeshEditor::Smooth(), and SMESH_MeshEditor::SplitVolumes().

◆ IsValidIndex()

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

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

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

References NbNodes().

◆ NbCornerNodes()

◆ NbEdges()

int SMDS_MeshElement::NbEdges ( ) const
virtual

◆ NbFaces()

int SMDS_MeshElement::NbFaces ( ) const
virtual

◆ NbNodes()

int SMDS_MeshElement::NbNodes ( ) const
virtual

Return The number of nodes owned by the current element.

Reimplemented in SMDS_BallElement, SMDS_FaceOfEdges, SMDS_FaceOfNodes, SMDS_LinearEdge, SMDS_Mesh0DElement, SMDS_MeshNode, SMDS_PolygonalFaceOfNodes, SMDS_PolyhedralVolumeOfNodes, SMDS_QuadraticEdge, SMDS_QuadraticFaceOfNodes, SMDS_QuadraticVolumeOfNodes, SMDS_VolumeOfNodes, SMDS_VtkEdge, SMDS_VtkFace, and SMDS_VtkVolume.

References nodesIterator().

Referenced by SMESH_Pattern::Apply(), SMESH_MeshEditor::BestSplit(), StdMeshers_QuadToTriaAdaptor::Compute(), StdMeshers_Import_1D::Compute(), StdMeshers_Projection_3D::Compute(), FemGui::ViewProviderFEMMeshBuilder::createMesh(), SMESH_MeshEditor::DoubleNodes(), StdMeshers_Projection_3D::Evaluate(), Fem::exportFemMeshCells(), Fem::exportFemMeshFaces(), SMESH_MeshEditor::ExtrusionSweep(), SMESH_ElementSearcherImpl::FindClosestTo(), SMESH_MeshAlgos::FindFaceInSet(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), SMESH_ElementSearcherImpl::findOuterBoundary(), Fem::FemMesh::getccxVolumesByFace(), Fem::FemMesh::getEdgesByEdge(), Fem::FemMesh::getElementNodes(), Fem::FemMesh::getFacesByFace(), SMESH_MeshVSLink::GetGeom(), SMESH_MeshEditor::GetLinkedNodes(), SMDS_FaceOfEdges::GetNode(), SMESH_MeshVSLink::GetNodesByElement(), SMESH_MeshVSLink::GetNormal(), SMESH::Controls::NumericalFunctor::GetPoints(), SMESH::Controls::MultiConnection2D::GetValue(), Fem::FemMesh::getVolume(), Fem::FemMesh::getVolumesByFace(), StdMeshers_Import_1D::importMesh(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESH::Controls::CoincidentElements::IsSatisfy(), SMESH::Controls::FreeEdges::IsSatisfy(), SMESH::Controls::ElementsOnShape::IsSatisfy(), SMESH::Controls::FreeFaces::IsSatisfy(), IsValidIndex(), StdMeshers_Penta_3D::MakeBlock(), SMESH_MeshEditor::MakeBoundaryMesh(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), VISCOUS_3D::_ViscousBuilder::MakeN2NMap(), StdMeshers_Penta_3D::MakeVolumeMesh(), SMESH_MeshEditor::MergeNodes(), NbCornerNodes(), SMDS_FaceOfEdges::NbNodes(), DriverDAT_W_SMDS_Mesh::Perform(), DriverMED_W_SMESHDS_Mesh::Perform(), DriverUNV_W_SMDS_Mesh::Perform(), StdMeshers_QuadToTriaAdaptor::Preparation(), SMESH_MeshEditor::QuadToTri(), SMESH_MeshEditor::RotationSweep(), SMDS_VolumeTool::Set(), SMESH_MeshEditor::SewFreeBorder(), SMESH_MeshEditor::Smooth(), SMESH_MeshEditor::SplitVolumes(), SMESH_MeshEditor::Transform(), SMESH_MeshEditor::TriToQuad(), and Fem::FemMesh::writeABAQUS().

◆ nodeIterator()

◆ nodesIterator()

SMDS_ElemIteratorPtr SMDS_MeshElement::nodesIterator ( ) const

Create an iterator which iterate on nodes owned by the element.

This method call elementsIterator().

References elementsIterator().

Referenced by SMDS_Mesh::addChildrenWithNodes(), SMESH_MeshEditor::AffectedElemGroupsInRegion(), SMESH_Pattern::Apply(), SMESH_MeshEditor::BestSplit(), SMDS_Mesh::ChangePolyhedronNodes(), StdMeshers_Projection_2D::Compute(), StdMeshers_QuadToTriaAdaptor::Compute2ndPart(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), SMESH_MeshEditor::DoubleNodes(), SMESH_MeshEditor::DoubleNodesInRegion(), SMESH_MeshEditor::ExtrusionAlongTrack(), SMESH_MeshEditor::ExtrusionSweep(), SMESH_ElementSearcherImpl::FindClosestTo(), SMESH_MeshEditor::FindShape(), SMESH::Controls::FreeEdges::GetBoreders(), SMESH_MeshEditor::GetLinkedNodes(), GetNode(), GetNodeIndex(), SMESH::Controls::NumericalFunctor::GetPoints(), SMESH_ElementSearcherImpl::getTolerance(), SMESH::Controls::MultiConnection2D::GetValue(), SMESH::Controls::MultiConnection2D::GetValues(), SMESH::Controls::Length2D::GetValues(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESH_MeshEditor::InverseDiag(), SMESH_MesherHelper::IsReversedSubMesh(), SMESH::Controls::ElementsOnShape::IsSatisfy(), SMESH::Controls::LyingOnGeom::IsSatisfy(), SMESH::Controls::FreeFaces::IsSatisfy(), SMESH::Controls::ConnectedElements::IsSatisfy(), SMESH_Pattern::Load(), StdMeshers_Penta_3D::LoadIJNodes(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), SMESH_MeshEditor::MergeNodes(), NbNodes(), nodeIterator(), DriverDAT_W_SMDS_Mesh::Perform(), DriverMED_W_SMESHDS_Mesh::Perform(), StdMeshers_QuadToTriaAdaptor::Preparation(), SMESH_MeshEditor::QuadToTri(), SMDS_Mesh::RemoveFreeElement(), SMESH_MeshEditor::Reorient(), SMESH_MeshEditor::RotationSweep(), SMDS_VolumeTool::Set(), SMDS_MeshElementIDFactory::SetInVtkGrid(), SMESH_MeshEditor::SewFreeBorder(), SMESH_MeshEditor::SewSideElements(), SMESH_MeshEditor::Smooth(), SortableElement::SortableElement(), StdMeshers_MEFISTO_2D::StoreResult(), and SMESH_MeshEditor::Transform().

◆ nodesIteratorToUNV()

SMDS_NodeIteratorPtr SMDS_MeshElement::nodesIteratorToUNV ( ) const
virtual

virtual, redefined in vtkEdge, vtkFace and vtkVolume classes

Reimplemented in SMDS_VtkEdge, SMDS_VtkFace, and SMDS_VtkVolume.

References nodeIterator().

Referenced by DriverUNV_W_SMDS_Mesh::Perform().

◆ Print()

◆ setId()

void SMDS_MeshElement::setId ( int  id)
protected

◆ setIdInShape()

◆ setShapeId()

void SMDS_MeshElement::setShapeId ( LongType  shapeId)
protected

◆ setVtkId()

void SMDS_MeshElement::setVtkId ( int  vtkId)
protected

◆ WrappedIndex()

int SMDS_MeshElement::WrappedIndex ( const int  ind) const

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

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

Referenced by SMDS_PolygonalFaceOfNodes::GetNode().

Friends And Related Function Documentation

◆ operator<<

SMDS_EXPORT std::ostream & operator<< ( std::ostream &  OS,
const SMDS_MeshElement ME 
)
friend

◆ SMDS_Mesh

friend class SMDS_Mesh
friend

◆ SMDS_MeshElementIDFactory

◆ SMDS_MeshElementIDFactory::BindID

SMDS_EXPORT bool SMDS_MeshElementIDFactory::BindID ( int  ID,
SMDS_MeshElement elem 
)
friend

◆ SMESHDS_Mesh

friend class SMESHDS_Mesh
friend

◆ SMESHDS_SubMesh

friend class SMESHDS_SubMesh
friend

Member Data Documentation

◆ myID

int SMDS_MeshElement::myID
protected

◆ myIdInShape

int SMDS_MeshElement::myIdInShape
protected

Element index in SMESHDS_SubMesh vector.

Referenced by init().

◆ myMeshId

ShortType SMDS_MeshElement::myMeshId
protected

SMDS_Mesh identification in SMESH.

Referenced by SMDS_MeshNode::AddInverseElement(), SMDS_VtkFace::ChangeApex(), SMDS_BallElement::ChangeNode(), SMDS_VtkEdge::ChangeNodes(), SMDS_Mesh0DElement::ChangeNodes(), SMDS_VtkFace::ChangeNodes(), SMDS_VtkVolume::ChangeNodes(), SMDS_MeshNode::ClearInverseElements(), SMDS_BallElement::elementsIterator(), SMDS_MeshNode::elementsIterator(), SMDS_VtkEdge::elementsIterator(), SMDS_VtkFace::elementsIterator(), SMDS_VtkVolume::elementsIterator(), SMDS_MeshNode::emptyInverseElements(), SMDS_MeshNode::getCoord(), SMDS_BallElement::GetDiameter(), SMDS_VtkFace::GetEntityType(), SMDS_VtkVolume::GetEntityType(), SMDS_VtkVolume::GetFaceNode(), SMDS_VtkFace::GetGeomType(), SMDS_VtkVolume::GetGeomType(), SMDS_MeshNode::GetInverseElementIterator(), SMDS_Mesh::getMeshId(), SMDS_BallElement::GetNode(), SMDS_VtkEdge::GetNode(), SMDS_VtkFace::GetNode(), SMDS_VtkVolume::GetNode(), SMDS_VtkFace::GetNodeIndex(), SMDS_VtkVolume::GetNodeIndex(), SMDS_VtkVolume::GetQuantities(), SMDS_VtkFace::GetVtkType(), SMDS_VtkVolume::GetVtkType(), SMDS_MeshNode::GetXYZ(), SMDS_VtkFace::init(), SMDS_VtkVolume::init(), SMDS_MeshNode::init(), init(), SMDS_VtkEdge::init(), SMDS_BallElement::init(), SMDS_VtkFace::initPoly(), SMDS_VtkFace::initQuadPoly(), SMDS_VtkVolume::interlacedNodesIterator(), SMDS_VtkEdge::IsMediumNode(), SMDS_VtkFace::IsMediumNode(), SMDS_VtkVolume::IsMediumNode(), SMDS_VtkFace::IsPoly(), SMDS_VtkVolume::IsPoly(), SMDS_VtkFace::IsQuadratic(), SMDS_VtkVolume::IsQuadratic(), SMDS_VtkFace::NbCornerNodes(), SMDS_VtkVolume::NbCornerNodes(), SMDS_VtkFace::NbEdges(), SMDS_VtkVolume::NbEdges(), SMDS_VtkVolume::NbFaceNodes(), SMDS_VtkVolume::NbFaces(), SMDS_MeshNode::NbInverseElements(), SMDS_VtkEdge::NbNodes(), SMDS_VtkFace::NbNodes(), SMDS_VtkVolume::NbNodes(), SMDS_VtkVolume::NbUniqueNodes(), SMDS_VtkEdge::nodesIteratorToUNV(), SMDS_VtkFace::nodesIteratorToUNV(), SMDS_VtkVolume::nodesIteratorToUNV(), SMDS_Mesh::registerElement(), SMDS_MeshNode::RemoveInverseElement(), SMDS_BallElement::SetDiameter(), SMDS_MeshNode::setXYZ(), SMDS_VtkVolume::uniqueNodesIterator(), and SMDS_VtkVolume::vtkOrder().

◆ myShapeId

LongType SMDS_MeshElement::myShapeId
protected

SubShape and SubMesh identification in SMESHDS.

Referenced by init().

◆ myVtkID

vtkIdType SMDS_MeshElement::myVtkID
protected

index in vtkUnstructuredGrid

Referenced by SMDS_MeshNode::AddInverseElement(), SMDS_VtkFace::ChangeApex(), SMDS_BallElement::ChangeNode(), SMDS_Mesh0DElement::ChangeNodes(), SMDS_VtkEdge::ChangeNodes(), SMDS_VtkFace::ChangeNodes(), SMDS_VtkVolume::ChangeNodes(), SMDS_MeshNode::ClearInverseElements(), SMDS_BallElement::elementsIterator(), SMDS_MeshNode::elementsIterator(), SMDS_VtkEdge::elementsIterator(), SMDS_VtkFace::elementsIterator(), SMDS_VtkVolume::elementsIterator(), SMDS_MeshNode::emptyInverseElements(), SMDS_MeshNode::getCoord(), SMDS_BallElement::GetDiameter(), SMDS_VtkFace::GetEntityType(), SMDS_VtkVolume::GetEntityType(), SMDS_VtkVolume::GetFaceNode(), SMDS_VtkFace::GetGeomType(), SMDS_VtkVolume::GetGeomType(), SMDS_MeshNode::GetInverseElementIterator(), SMDS_BallElement::GetNode(), SMDS_VtkEdge::GetNode(), SMDS_VtkFace::GetNode(), SMDS_VtkVolume::GetNode(), SMDS_VtkFace::GetNodeIndex(), SMDS_VtkVolume::GetNodeIndex(), SMDS_VtkVolume::GetQuantities(), SMDS_VtkFace::GetVtkType(), SMDS_VtkVolume::GetVtkType(), SMDS_MeshNode::GetXYZ(), SMDS_VtkFace::init(), SMDS_VtkVolume::init(), SMDS_MeshNode::init(), SMDS_VtkEdge::init(), SMDS_BallElement::init(), SMDS_VtkVolume::initPoly(), SMDS_VtkFace::initPoly(), SMDS_VtkFace::initQuadPoly(), SMDS_VtkVolume::interlacedNodesIterator(), SMDS_VtkEdge::IsMediumNode(), SMDS_VtkFace::IsMediumNode(), SMDS_VtkVolume::IsMediumNode(), SMDS_VtkFace::IsPoly(), SMDS_VtkVolume::IsPoly(), SMDS_VtkFace::IsQuadratic(), SMDS_VtkVolume::IsQuadratic(), SMDS_VtkFace::NbCornerNodes(), SMDS_VtkVolume::NbCornerNodes(), SMDS_VtkFace::NbEdges(), SMDS_VtkVolume::NbEdges(), SMDS_VtkVolume::NbFaceNodes(), SMDS_VtkVolume::NbFaces(), SMDS_MeshNode::NbInverseElements(), SMDS_VtkEdge::NbNodes(), SMDS_VtkFace::NbNodes(), SMDS_VtkVolume::NbNodes(), SMDS_VtkVolume::NbUniqueNodes(), SMDS_VtkEdge::nodesIteratorToUNV(), SMDS_VtkFace::nodesIteratorToUNV(), SMDS_VtkVolume::nodesIteratorToUNV(), SMDS_MeshNode::RemoveInverseElement(), SMDS_BallElement::SetDiameter(), SMDS_MeshNode::setXYZ(), SMDS_MeshCell::SMDS_MeshCell(), SMDS_VtkVolume::uniqueNodesIterator(), and SMDS_VtkVolume::vtkOrder().


The documentation for this class was generated from the following files: