18 #ifndef itkQuadraticTriangleCell_h
19 #define itkQuadraticTriangleCell_h
37 template <
typename TCellInterface>
39 :
public TCellInterface
62 static constexpr
unsigned int NumberOfPoints = 6;
63 static constexpr
unsigned int NumberOfVertices = 3;
64 static constexpr
unsigned int NumberOfEdges = 3;
65 static constexpr
unsigned int CellDimension = 2;
74 MakeCopy(CellAutoPointer &)
const override;
78 GetDimension()
const override;
81 GetNumberOfPoints()
const override;
84 GetNumberOfBoundaryFeatures(
int dimension)
const override;
87 GetBoundaryFeature(
int dimension, CellFeatureIdentifier, CellAutoPointer &)
override;
89 SetPointIds(PointIdConstIterator first)
override;
92 SetPointIds(PointIdConstIterator first, PointIdConstIterator last)
override;
95 SetPointId(
int localId, PointIdentifier)
override;
97 PointIdsBegin()
override;
100 PointIdsBegin()
const override;
103 PointIdsEnd()
override;
106 PointIdsEnd()
const override;
109 virtual CellFeatureCount
110 GetNumberOfVertices()
const;
112 virtual CellFeatureCount
113 GetNumberOfEdges()
const;
116 GetVertex(CellFeatureIdentifier, VertexAutoPointer &);
118 GetEdge(CellFeatureIdentifier, EdgeAutoPointer &);
127 EvaluateShapeFunctions(
const ParametricCoordArrayType & parametricCoordinates,
128 ShapeFunctionsArrayType & weights)
const override;
133 for (PointIdentifier i = 0; i < Self::NumberOfPoints; i++)
143 PointIdentifier m_PointIds[NumberOfPoints];
147 #ifndef ITK_MANUAL_INSTANTIATION
148 # include "itkQuadraticTriangleCell.hxx"