18 #ifndef itkTetrahedronCell_h
19 #define itkTetrahedronCell_h
36 template<
typename TCellInterface >
63 static constexpr
unsigned int NumberOfPoints = 4;
64 static constexpr
unsigned int NumberOfVertices = 4;
65 static constexpr
unsigned int NumberOfEdges = 6;
66 static constexpr
unsigned int NumberOfFaces = 4;
67 static constexpr
unsigned int CellDimension = 3;
71 {
return Superclass::TETRAHEDRON_CELL; }
72 void MakeCopy(CellAutoPointer &)
const override;
75 unsigned int GetDimension()
const override;
77 unsigned int GetNumberOfPoints()
const override;
79 CellFeatureCount GetNumberOfBoundaryFeatures(
int dimension)
const override;
81 bool GetBoundaryFeature(
int dimension, CellFeatureIdentifier,
82 CellAutoPointer &)
override;
83 void SetPointIds(PointIdConstIterator first)
override;
85 void SetPointIds(PointIdConstIterator first,
86 PointIdConstIterator last)
override;
88 void SetPointId(
int localId, PointIdentifier)
override;
89 PointIdIterator PointIdsBegin()
override;
91 PointIdConstIterator PointIdsBegin()
const override;
93 PointIdIterator PointIdsEnd()
override;
95 PointIdConstIterator PointIdsEnd()
const override;
98 virtual CellFeatureCount GetNumberOfVertices()
const;
100 virtual CellFeatureCount GetNumberOfEdges()
const;
102 virtual CellFeatureCount GetNumberOfFaces()
const;
104 virtual bool GetVertex(CellFeatureIdentifier, VertexAutoPointer &);
105 virtual bool GetEdge(CellFeatureIdentifier, EdgeAutoPointer &);
106 virtual bool GetFace(CellFeatureIdentifier, FaceAutoPointer &);
111 bool EvaluatePosition(CoordRepType *,
116 InterpolationWeightType *)
override;
121 for ( PointIdentifier i = 0; i < Self::NumberOfPoints; i++ )
131 PointIdentifier m_PointIds[NumberOfPoints];
135 #ifndef ITK_MANUAL_INSTANTIATION
136 #include "itkTetrahedronCell.hxx"
TetrahedronCellTopology holds data defining the topological connections of the vertices and edges of ...
Represents a line segment for a Mesh.
Define numeric traits for std::vector.
typename FaceType::SelfAutoPointer FaceAutoPointer
An abstract interface for cells.
CellGeometry GetType() const override
#define itkCellCommonTypedefs(celltype)
TetrahedronCell represents a tetrahedron for a Mesh.
Represents a single vertex for a Mesh.
#define itkCellVisitMacro(TopologyId)
typename VertexType::SelfAutoPointer VertexAutoPointer
typename EdgeType::SelfAutoPointer EdgeAutoPointer
#define itkCellInheritedTypedefs(superclassArg)