SMDS_MeshNode Class Reference

#include <SMDS_MeshNode.hxx>

Public Member Functions

virtual SMDSAbs_EntityType GetEntityType () const
 
virtual SMDSAbs_GeometryType GetGeomType () const
 
SMDS_ElemIteratorPtr GetInverseElementIterator (SMDSAbs_ElementType type=SMDSAbs_All) const
 
const SMDS_PositionPtrGetPosition () const
 
virtual SMDSAbs_ElementType GetType () const
 Return the type of the current element. More...
 
virtual vtkIdType GetVtkType () const
 
void GetXYZ (double xyz[3]) const
 thread safe getting coords More...
 
int NbInverseElements (SMDSAbs_ElementType type=SMDSAbs_All) const
 Count inverse elements of given type. More...
 
virtual int NbNodes () const
 Return The number of nodes owned by the current element. More...
 
void Print (std::ostream &OS) const
 
void SetPosition (const SMDS_PositionPtr &aPos)
 
void setXYZ (double x, double y, double z)
 
double X () const
 
double Y () const
 
double Z () const
 
- Public Member Functions inherited from SMDS_MeshElement
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 ()
 

Static Public Attributes

static int nbNodes =0
 

Protected Member Functions

void AddInverseElement (const SMDS_MeshElement *ME)
 
void ClearInverseElements ()
 
SMDS_ElemIteratorPtr elementsIterator (SMDSAbs_ElementType type) const
 
bool emptyInverseElements ()
 
double * getCoord () const
 
void init (int id, int meshId, int shapeId=-1, double x=0, double y=0, double z=0)
 
void RemoveInverseElement (const SMDS_MeshElement *parent)
 
 SMDS_MeshNode ()
 
 SMDS_MeshNode (int id, int meshId, int shapeId=-1, double x=0, double y=0, double z=0)
 
virtual ~SMDS_MeshNode ()
 
- Protected Member Functions inherited from SMDS_MeshElement
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)
 

Friends

class ObjectPool< SMDS_MeshNode >
 
class SMDS_Mesh
 
class SMDS_VtkFace
 
class SMESHDS_Mesh
 

Additional Inherited Members

- Public Types inherited from SMDS_MeshElement
typedef SMDS_StdIterator< const SMDS_MeshNode *, SMDS_ElemIteratorPtr > iterator
 
- Protected Attributes inherited from SMDS_MeshElement
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...
 

Constructor & Destructor Documentation

◆ SMDS_MeshNode() [1/2]

SMDS_MeshNode::SMDS_MeshNode ( )
protected

References nbNodes.

◆ SMDS_MeshNode() [2/2]

SMDS_MeshNode::SMDS_MeshNode ( int  id,
int  meshId,
int  shapeId = -1,
double  x = 0,
double  y = 0,
double  z = 0 
)
protected

References init(), and nbNodes.

◆ ~SMDS_MeshNode()

SMDS_MeshNode::~SMDS_MeshNode ( )
protectedvirtual

Member Function Documentation

◆ AddInverseElement()

void SMDS_MeshNode::AddInverseElement ( const SMDS_MeshElement ME)
protected

◆ ClearInverseElements()

void SMDS_MeshNode::ClearInverseElements ( )
protected

◆ elementsIterator()

SMDS_ElemIteratorPtr SMDS_MeshNode::elementsIterator ( SMDSAbs_ElementType  type) const
protectedvirtual

◆ emptyInverseElements()

bool SMDS_MeshNode::emptyInverseElements ( )
protected

◆ getCoord()

double * SMDS_MeshNode::getCoord ( ) const
protected

References SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.

Referenced by X(), Y(), and Z().

◆ GetEntityType()

virtual SMDSAbs_EntityType SMDS_MeshNode::GetEntityType ( ) const
virtual

Implements SMDS_MeshElement.

◆ GetGeomType()

virtual SMDSAbs_GeometryType SMDS_MeshNode::GetGeomType ( ) const
virtual

Implements SMDS_MeshElement.

◆ GetInverseElementIterator()

SMDS_ElemIteratorPtr SMDS_MeshNode::GetInverseElementIterator ( SMDSAbs_ElementType  type = SMDSAbs_All) const

References SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.

Referenced by SMESH_MeshEditor::AffectedElemGroupsInRegion(), StdMeshers_Import_1D2D::Compute(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_MeshEditor::CreateHoleSkin(), SMDS_Mesh::DebugStats(), SMESH_MeshEditor::DoubleNodesInRegion(), SMESH_MeshEditor::ExtrusionAlongTrack(), SMESH_MeshEditor::ExtrusionSweep(), SMDS_Mesh::Find0DElement(), SMDS_Mesh::FindBall(), NETGENPlugin_Internals::findBorderElements(), SMDS_Mesh::FindEdge(), SMDS_Mesh::FindFace(), SMESH_MeshAlgos::FindFaceInSet(), SMESH_MeshEditor::FindMatchingNodes(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), SMESH_MeshEditor::GetLinkedNodes(), SMESH_MesherHelper::GetMediumPos(), VISCOUS_3D::_Simplex::GetSimplices(), SMESH::Controls::MultiConnection2D::GetValue(), SMESH::Controls::FreeEdges::IsFreeEdge(), SMDS_VolumeTool::IsFreeFace(), SMDS_VolumeTool::IsFreeFaceAdv(), SMESH_MeshEditor::IsMedium(), Prism_3D::TNode::IsNeighbor(), SMESH::Controls::BareBorderFace::IsSatisfy(), SMESH::Controls::OverConstrainedFace::IsSatisfy(), SMESH::Controls::FreeFaces::IsSatisfy(), SMESH::Controls::ConnectedElements::IsSatisfy(), StdMeshers_QuadToTriaAdaptor::MergeAdjacent(), SMESH_MeshEditor::MergeNodes(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), SMDS_Mesh::RemoveFreeElement(), SMESH_MeshEditor::RotationSweep(), SMESH::Controls::CoplanarFaces::SetMesh(), StdMeshers_SegmentLengthAroundVertex::SetParametersByMesh(), SMESH_MeshEditor::SewFreeBorder(), SMESH_MeshEditor::SewSideElements(), StdMeshers_Quadrangle_2D::smooth(), SMESH_MeshEditor::Smooth(), StdMeshers_MEFISTO_2D::StoreResult(), VISCOUS_3D::_Shrinker1D::SwapSrcTgtNodes(), SMESH_MeshEditor::Transform(), and SMESH_MeshEditor::UpdateVolumes().

◆ GetPosition()

◆ GetType()

SMDSAbs_ElementType SMDS_MeshNode::GetType ( ) const
virtual

Return the type of the current element.

Implements SMDS_MeshElement.

Referenced by SMESH_MeshVSLink::GetGeom(), and SMESH_MeshVSLink::GetGeomType().

◆ GetVtkType()

vtkIdType SMDS_MeshNode::GetVtkType ( ) const
virtual

Implements SMDS_MeshElement.

◆ GetXYZ()

◆ init()

void SMDS_MeshNode::init ( int  id,
int  meshId,
int  shapeId = -1,
double  x = 0,
double  y = 0,
double  z = 0 
)
protected

◆ NbInverseElements()

◆ NbNodes()

int SMDS_MeshNode::NbNodes ( ) const
virtual

Return The number of nodes owned by the current element.

Reimplemented from SMDS_MeshElement.

◆ Print()

void SMDS_MeshNode::Print ( std::ostream &  OS) const
virtual

Reimplemented from SMDS_MeshElement.

References SMDS_MeshElement::myID, X(), Y(), and Z().

◆ RemoveInverseElement()

◆ SetPosition()

◆ setXYZ()

◆ X()

double SMDS_MeshNode::X ( ) const

References getCoord().

Referenced by NETGENPlugin_Mesher::AddIntVerticesInFaces(), NETGENPlugin_Mesher::AddSegmentsToMesh(), SMESH_MeshEditor::AffectedElemGroupsInRegion(), SMESH_OctreeNode::buildChildrenData(), SMESH_OctreeNode::buildRootBox(), NETGENPlugin_NETGEN_3D::Compute(), StdMeshers_RadialQuadrangle_1D2D::Compute(), StdMeshers_Quadrangle_2D::computeQuadDominant(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), FemGui::TaskCreateNodeSet::DefineNodes(), SMESH_MeshEditor::DoubleNodes(), Fem::FemVTKTools::exportVTKMesh(), SMESH_MeshAlgos::FaceNormal(), SMESH_OctreeNode::FindCoincidentNodes(), StdMeshers_Penta_3D::FindNodeOnShape(), SMESH_MesherHelper::FixQuadraticElements(), Fem::FemMesh::getBoundBox(), Prism_3D::TNode::GetCoords(), SMESH_MeshVSLink::GetGeom(), SMESH_MesherHelper::GetMediumNode(), SMESH_MeshVSLink::GetNormal(), PathMachineState.MachineState::getPosition(), PathMachineState.MachineState::getState(), SMESH::Controls::Length2D::GetValues(), Fem::FemMesh::getVolume(), StdMeshers_Import_1D::importMesh(), VISCOUS_3D::_Simplex::IsForward(), SMESH_Pattern::Load(), StdMeshers_Penta_3D::MakeNodes(), SMESH_NodeSearcherImpl::MoveNode(), DriverDAT_W_SMDS_Mesh::Perform(), DriverMED_W_SMESHDS_Mesh::Perform(), DriverUNV_W_SMDS_Mesh::Perform(), Print(), SMESH_MeshEditor::RotationSweep(), SMDS_VolumeTool::Set(), StdMeshers_Penta_3D::SetHorizEdgeXYZ(), SMESH_MeshEditor::SewFreeBorder(), StdMeshers_Quadrangle_2D::smooth(), SMESH_MeshEditor::Smooth(), Fem::FemMesh::transformGeometry(), SMESH_OctreeNode::UpdateByMoveNode(), and Fem::FemMesh::writeABAQUS().

◆ Y()

double SMDS_MeshNode::Y ( ) const

◆ Z()

double SMDS_MeshNode::Z ( ) const

References getCoord().

Referenced by PathMachineState.MachineState::addCommand(), NETGENPlugin_Mesher::AddIntVerticesInFaces(), NETGENPlugin_Mesher::AddSegmentsToMesh(), SMESH_MeshEditor::AffectedElemGroupsInRegion(), SMESH_OctreeNode::buildChildrenData(), SMESH_OctreeNode::buildRootBox(), NETGENPlugin_NETGEN_3D::Compute(), StdMeshers_RadialQuadrangle_1D2D::Compute(), StdMeshers_Quadrangle_2D::computeQuadDominant(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), FemGui::TaskCreateNodeSet::DefineNodes(), SMESH_MeshEditor::DoubleNodes(), Fem::FemVTKTools::exportVTKMesh(), SMESH_MeshAlgos::FaceNormal(), SMESH_OctreeNode::FindCoincidentNodes(), StdMeshers_Penta_3D::FindNodeOnShape(), Fem::FemMesh::getBoundBox(), Prism_3D::TNode::GetCoords(), SMESH_MeshVSLink::GetGeom(), SMESH_MesherHelper::GetMediumNode(), SMESH_MeshVSLink::GetNormal(), PathMachineState.MachineState::getPosition(), PathMachineState.MachineState::getState(), SMESH::Controls::Length2D::GetValues(), Fem::FemMesh::getVolume(), StdMeshers_Import_1D::importMesh(), VISCOUS_3D::_Simplex::IsForward(), SMESH_Pattern::Load(), StdMeshers_Penta_3D::MakeNodes(), DriverDAT_W_SMDS_Mesh::Perform(), DriverMED_W_SMESHDS_Mesh::Perform(), DriverUNV_W_SMDS_Mesh::Perform(), Print(), SMESH_MeshEditor::RotationSweep(), SMDS_VolumeTool::Set(), StdMeshers_Penta_3D::SetHorizEdgeXYZ(), SMESH_MeshEditor::SewFreeBorder(), SMESH_MeshEditor::Smooth(), Fem::FemMesh::transformGeometry(), SMESH_OctreeNode::UpdateByMoveNode(), and Fem::FemMesh::writeABAQUS().

Friends And Related Function Documentation

◆ ObjectPool< SMDS_MeshNode >

friend class ObjectPool< SMDS_MeshNode >
friend

◆ SMDS_Mesh

friend class SMDS_Mesh
friend

◆ SMDS_VtkFace

friend class SMDS_VtkFace
friend

◆ SMESHDS_Mesh

friend class SMESHDS_Mesh
friend

Member Data Documentation

◆ nbNodes

int SMDS_MeshNode::nbNodes =0
static

Referenced by SMDS_MeshNode(), and ~SMDS_MeshNode().


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