18 #ifndef itkQuadraticEdgeCell_h
19 #define itkQuadraticEdgeCell_h
34 template <
typename TCellInterface>
53 static constexpr
unsigned int NumberOfPoints = 3;
54 static constexpr
unsigned int NumberOfVertices = 2;
55 static constexpr
unsigned int CellDimension = 1;
64 MakeCopy(CellAutoPointer &)
const override;
68 GetDimension()
const override;
71 GetNumberOfPoints()
const override;
74 GetNumberOfBoundaryFeatures(
int dimension)
const override;
77 GetBoundaryFeature(
int dimension, CellFeatureIdentifier, CellAutoPointer &)
override;
79 SetPointIds(PointIdConstIterator first)
override;
82 SetPointIds(PointIdConstIterator first, PointIdConstIterator last)
override;
85 SetPointId(
int localId, PointIdentifier)
override;
87 PointIdsBegin()
override;
90 PointIdsBegin()
const override;
93 PointIdsEnd()
override;
96 PointIdsEnd()
const override;
99 virtual CellFeatureCount
100 GetNumberOfVertices()
const;
103 GetVertex(CellFeatureIdentifier, VertexAutoPointer &);
115 EvaluateShapeFunctions(
const ParametricCoordArrayType & parametricCoordinates,
116 ShapeFunctionsArrayType & weights)
const override;
120 std::array<PointIdentifier, NumberOfPoints> m_PointIds{ MakeFilled<std::array<PointIdentifier, NumberOfPoints>>(
125 #ifndef ITK_MANUAL_INSTANTIATION
126 # include "itkQuadraticEdgeCell.hxx"