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
70 {
return Superclass::TETRAHEDRON_CELL; }
71 virtual void MakeCopy(CellAutoPointer &)
const;
76 virtual unsigned int GetNumberOfPoints(
void)
const;
78 virtual CellFeatureCount GetNumberOfBoundaryFeatures(
int dimension)
const;
80 virtual bool GetBoundaryFeature(
int dimension, CellFeatureIdentifier,
82 virtual void SetPointIds(PointIdConstIterator first);
84 virtual void SetPointIds(PointIdConstIterator first,
85 PointIdConstIterator last);
87 virtual void SetPointId(
int localId, PointIdentifier);
88 virtual PointIdIterator PointIdsBegin(
void);
90 virtual PointIdConstIterator PointIdsBegin(
void)
const;
92 virtual PointIdIterator PointIdsEnd(
void);
94 virtual PointIdConstIterator PointIdsEnd(
void)
const;
97 virtual CellFeatureCount GetNumberOfVertices(
void)
const;
99 virtual CellFeatureCount GetNumberOfEdges(
void)
const;
101 virtual CellFeatureCount GetNumberOfFaces(
void)
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 *);
119 for ( PointIdentifier i = 0; i < itkGetStaticConstMacro(NumberOfPoints); i++ )
128 PointIdentifier m_PointIds[NumberOfPoints];
131 void operator=(
const Self &);
136 #ifndef ITK_MANUAL_INSTANTIATION
137 #include "itkTetrahedronCell.hxx"