18 #ifndef itkTetrahedronCell_h
19 #define itkTetrahedronCell_h
36 template<
typename TCellInterface >
61 itkStaticConstMacro(NumberOfPoints,
unsigned int, 4);
62 itkStaticConstMacro(NumberOfVertices,
unsigned int, 4);
63 itkStaticConstMacro(NumberOfEdges,
unsigned int, 6);
64 itkStaticConstMacro(NumberOfFaces,
unsigned int, 4);
65 itkStaticConstMacro(CellDimension,
unsigned int, 3);
69 virtual CellGeometry
GetType(
void) const ITK_OVERRIDE
70 {
return Superclass::TETRAHEDRON_CELL; }
71 virtual void MakeCopy(CellAutoPointer &) const ITK_OVERRIDE;
74 virtual
unsigned int GetDimension(
void) const ITK_OVERRIDE;
76 virtual
unsigned int GetNumberOfPoints(
void) const ITK_OVERRIDE;
78 virtual CellFeatureCount GetNumberOfBoundaryFeatures(
int dimension) const ITK_OVERRIDE;
80 virtual
bool GetBoundaryFeature(
int dimension, CellFeatureIdentifier,
81 CellAutoPointer &) ITK_OVERRIDE;
82 virtual
void SetPointIds(PointIdConstIterator first) ITK_OVERRIDE;
84 virtual
void SetPointIds(PointIdConstIterator first,
85 PointIdConstIterator last) ITK_OVERRIDE;
87 virtual
void SetPointId(
int localId, PointIdentifier) ITK_OVERRIDE;
88 virtual PointIdIterator PointIdsBegin(
void) ITK_OVERRIDE;
90 virtual PointIdConstIterator PointIdsBegin(
void) const ITK_OVERRIDE;
92 virtual PointIdIterator PointIdsEnd(
void) ITK_OVERRIDE;
94 virtual PointIdConstIterator PointIdsEnd(
void) const ITK_OVERRIDE;
97 virtual CellFeatureCount GetNumberOfVertices() const;
99 virtual CellFeatureCount GetNumberOfEdges() const;
101 virtual CellFeatureCount GetNumberOfFaces() const;
103 virtual
bool GetVertex(CellFeatureIdentifier, VertexAutoPointer &);
104 virtual
bool GetEdge(CellFeatureIdentifier, EdgeAutoPointer &);
105 virtual
bool GetFace(CellFeatureIdentifier, FaceAutoPointer &);
110 virtual
bool EvaluatePosition(CoordRepType *,
115 InterpolationWeightType *) ITK_OVERRIDE;
120 for ( PointIdentifier i = 0; i < itkGetStaticConstMacro(NumberOfPoints); i++ )
130 PointIdentifier m_PointIds[NumberOfPoints];
137 #ifndef ITK_MANUAL_INSTANTIATION
138 #include "itkTetrahedronCell.hxx"
virtual CellGeometry GetType(void) const override
TetrahedronCellTopology holds data defining the topological connections of the vertices and edges of ...
Represents a line segment for a Mesh.
FaceType::SelfAutoPointer FaceAutoPointer
TriangleCell< TCellInterface > FaceType
An abstract interface for cells.
EdgeType::SelfAutoPointer EdgeAutoPointer
VertexType::SelfAutoPointer VertexAutoPointer
LineCell< TCellInterface > EdgeType
static ITK_CONSTEXPR_FUNC T max(const T &)
~TetrahedronCell() override
#define itkCellCommonTypedefs(celltype)
TetrahedronCell represents a tetrahedron for a Mesh.
Represents a single vertex for a Mesh.
#define itkCellVisitMacro(TopologyId)
#define itkCellInheritedTypedefs(superclassArg)
VertexCell< TCellInterface > VertexType