18 #ifndef itkQuadraticTriangleCell_h
19 #define itkQuadraticTriangleCell_h
37 template<
typename TCellInterface >
58 itkStaticConstMacro(NumberOfPoints,
unsigned int, 6);
59 itkStaticConstMacro(NumberOfVertices,
unsigned int, 3);
60 itkStaticConstMacro(NumberOfEdges,
unsigned int, 3);
61 itkStaticConstMacro(CellDimension,
unsigned int, 2);
65 virtual CellGeometry
GetType(
void) const ITK_OVERRIDE
66 {
return Superclass::QUADRATIC_TRIANGLE_CELL; }
67 virtual void MakeCopy(CellAutoPointer &) const ITK_OVERRIDE;
70 virtual
unsigned int GetDimension(
void) const ITK_OVERRIDE;
72 virtual
unsigned int GetNumberOfPoints(
void) const ITK_OVERRIDE;
74 virtual CellFeatureCount GetNumberOfBoundaryFeatures(
int dimension) const ITK_OVERRIDE;
76 virtual
bool GetBoundaryFeature(
int dimension, CellFeatureIdentifier, CellAutoPointer &) ITK_OVERRIDE;
77 virtual
void SetPointIds(PointIdConstIterator first) ITK_OVERRIDE;
79 virtual
void SetPointIds(PointIdConstIterator first,
80 PointIdConstIterator last) ITK_OVERRIDE;
82 virtual
void SetPointId(
int localId, PointIdentifier) ITK_OVERRIDE;
83 virtual PointIdIterator PointIdsBegin(
void) ITK_OVERRIDE;
85 virtual PointIdConstIterator PointIdsBegin(
void) const ITK_OVERRIDE;
87 virtual PointIdIterator PointIdsEnd(
void) ITK_OVERRIDE;
89 virtual PointIdConstIterator PointIdsEnd(
void) const ITK_OVERRIDE;
92 virtual CellFeatureCount GetNumberOfVertices() const;
94 virtual CellFeatureCount GetNumberOfEdges() const;
96 virtual
bool GetVertex(CellFeatureIdentifier, VertexAutoPointer &);
97 virtual
bool GetEdge(CellFeatureIdentifier, EdgeAutoPointer &);
105 virtual
void EvaluateShapeFunctions(
106 const ParametricCoordArrayType & parametricCoordinates,
107 ShapeFunctionsArrayType & weights) const ITK_OVERRIDE;
112 for ( PointIdentifier i = 0; i < itkGetStaticConstMacro(NumberOfPoints); i++ )
122 PointIdentifier m_PointIds[NumberOfPoints];
129 #ifndef ITK_MANUAL_INSTANTIATION
130 #include "itkQuadraticTriangleCell.hxx"
~QuadraticTriangleCell() override
EdgeType::SelfAutoPointer EdgeAutoPointer
An abstract interface for cells.
static ITK_CONSTEXPR_FUNC T max(const T &)
#define itkCellCommonTypedefs(celltype)
Represents a second order triangular patch for a Mesh.
VertexType::SelfAutoPointer VertexAutoPointer
Represents a second order line segment for a Mesh.
Represents a single vertex for a Mesh.
QuadraticTriangleCellTopology holds data defining the topological connections of the vertices and edg...
virtual CellGeometry GetType(void) const override
#define itkCellVisitMacro(TopologyId)
QuadraticEdgeCell< TCellInterface > EdgeType
VertexCell< TCellInterface > VertexType
#define itkCellInheritedTypedefs(superclassArg)