27 #ifndef _SMDS_MeshElement_HeaderFile
28 #define _SMDS_MeshElement_HeaderFile
42 #include <vtkCellType.h>
79 virtual int NbNodes()
const;
80 virtual int NbEdges()
const;
81 virtual int NbFaces()
const;
82 inline int GetID()
const {
return myID; }
88 virtual vtkIdType GetVtkType()
const = 0;
90 virtual bool IsPoly()
const {
return false; }
91 virtual bool IsQuadratic()
const;
93 virtual int NbCornerNodes()
const;
126 virtual bool IsValidIndex(
const int ind)
const;
134 if ( ind < 0 )
return NbNodes() + ind % NbNodes();
135 if ( ind >= NbNodes() )
return ind % NbNodes();
152 inline void setIsMarked(
bool is )
const;
153 inline bool isMarked()
const;
187 inline void setId(
int id) { myID = id; }
188 inline void setVtkId(
int vtkId) { myVtkID = vtkId; }
190 inline void setShapeId(
LongType shapeId) { myShapeId = ( shapeId << BITS_SHIFT ) | ( myShapeId & BIT_IS_MARKED ); }
194 virtual void Print(std::ostream & OS)
const;