SALOME - SMESH
SMDS_MeshElement Class Referenceabstract

Base class for elements. More...

#include <SMDS_MeshElement.hxx>

Inheritance diagram for SMDS_MeshElement:
Inheritance graph
Collaboration diagram for SMDS_MeshElement:
Collaboration graph

Public Member Functions

SMDS_ElemIteratorPtr nodesIterator () const
 
SMDS_ElemIteratorPtr edgesIterator () const
 
SMDS_ElemIteratorPtr facesIterator () const
 
virtual SMDS_ElemIteratorPtr elementsIterator (SMDSAbs_ElementType type) const
 
virtual int NbNodes () const
 
virtual int NbEdges () const
 
virtual int NbFaces () const
 
int GetID () const
 
virtual SMDSAbs_ElementType GetType () const =0
 Return the type of the current element. More...
 
virtual bool IsPoly () const
 
virtual bool IsQuadratic () const
 
virtual SMDSAbs_EntityType GetEntityType () const =0
 Return type of entity. More...
 
virtual bool IsMediumNode (const SMDS_MeshNode *node) const
 
virtual const SMDS_MeshNodeGetNode (const int ind) const
 Return node by its index. More...
 
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 node index, fixing the given one if necessary. More...
 
int GetNodeIndex (const SMDS_MeshNode *node) const
 Check if a node belongs to the element. More...
 

Protected Member Functions

 SMDS_MeshElement (int ID=-1)
 
virtual void Print (std::ostream &OS) const
 

Private Attributes

int myID
 

Friends

std::ostream & operator<< (std::ostream &OS, const SMDS_MeshElement *)
 
bool SMDS_MeshElementIDFactory::BindID (int ID, SMDS_MeshElement *elem)
 

Detailed Description

Base class for elements.

Definition at line 49 of file SMDS_MeshElement.hxx.

Constructor & Destructor Documentation

◆ SMDS_MeshElement()

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

Member Function Documentation

◆ nodesIterator()

SMDS_ElemIteratorPtr SMDS_MeshElement::nodesIterator ( ) const

◆ edgesIterator()

SMDS_ElemIteratorPtr SMDS_MeshElement::edgesIterator ( ) const

◆ facesIterator()

SMDS_ElemIteratorPtr SMDS_MeshElement::facesIterator ( ) const

◆ elementsIterator()

◆ NbNodes()

◆ NbEdges()

◆ NbFaces()

◆ GetID()

int SMDS_MeshElement::GetID ( ) const

Referenced by TIDCompare::operator()(), TNode::operator<(), and SMESH_TLink::SMESH_TLink().

Here is the caller graph for this function:

◆ GetType()

virtual SMDSAbs_ElementType SMDS_MeshElement::GetType ( ) const
pure virtual

Return the type of the current element.

Implemented in SMDS_VolumeOfNodes, SMDS_MeshNode, SMDS_FaceOfEdges, SMDS_MeshEdge, SMDS_Mesh0DElement, SMDS_PolygonalFaceOfNodes, SMDS_PolyhedralVolumeOfNodes, SMDS_MeshVolume, and SMDS_MeshFace.

Referenced by SMDS_MeshInfo::add(), and SMDS_MeshInfo::remove().

Here is the caller graph for this function:

◆ IsPoly()

virtual bool SMDS_MeshElement::IsPoly ( ) const
virtual

Reimplemented in SMDS_PolygonalFaceOfNodes, and SMDS_PolyhedralVolumeOfNodes.

Definition at line 65 of file SMDS_MeshElement.hxx.

Referenced by SMDS_MeshInfo::RemoveFace(), and SMDS_MeshInfo::RemoveVolume().

Here is the caller graph for this function:

◆ IsQuadratic()

virtual bool SMDS_MeshElement::IsQuadratic ( ) const
virtual

Reimplemented in SMDS_QuadraticVolumeOfNodes, SMDS_QuadraticFaceOfNodes, and SMDS_QuadraticEdge.

Referenced by SMDS_MeshInfo::RemoveEdge().

Here is the caller graph for this function:

◆ GetEntityType()

◆ IsMediumNode()

virtual bool SMDS_MeshElement::IsMediumNode ( const SMDS_MeshNode node) const
virtual

◆ GetNode()

virtual 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_QuadraticVolumeOfNodes, SMDS_VolumeOfNodes, SMDS_QuadraticFaceOfNodes, SMDS_PolyhedralVolumeOfNodes, SMDS_MeshNode, SMDS_PolygonalFaceOfNodes, SMDS_FaceOfEdges, SMDS_FaceOfNodes, SMDS_MeshEdge, and SMDS_Mesh0DElement.

◆ 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

Definition at line 92 of file SMDS_MeshElement.hxx.

◆ IsValidIndex()

virtual 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

◆ 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

Definition at line 106 of file SMDS_MeshElement.hxx.

◆ GetNodeIndex()

int SMDS_MeshElement::GetNodeIndex ( const SMDS_MeshNode node) const

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

◆ Print()

Friends And Related Function Documentation

◆ operator<<

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

◆ SMDS_MeshElementIDFactory::BindID

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

Field Documentation

◆ myID

int SMDS_MeshElement::myID
private

Definition at line 124 of file SMDS_MeshElement.hxx.