18 #ifndef itkQuadraticEdgeCell_h
19 #define itkQuadraticEdgeCell_h
39 template <
typename TCellInterface>
58 static constexpr
unsigned int NumberOfPoints = 3;
59 static constexpr
unsigned int NumberOfVertices = 2;
60 static constexpr
unsigned int CellDimension = 1;
69 MakeCopy(CellAutoPointer &)
const override;
73 GetDimension()
const override;
76 GetNumberOfPoints()
const override;
79 GetNumberOfBoundaryFeatures(
int dimension)
const override;
82 GetBoundaryFeature(
int dimension, CellFeatureIdentifier, CellAutoPointer &)
override;
84 SetPointIds(PointIdConstIterator first)
override;
87 SetPointIds(PointIdConstIterator first, PointIdConstIterator last)
override;
90 SetPointId(
int localId, PointIdentifier)
override;
92 PointIdsBegin()
override;
95 PointIdsBegin()
const override;
98 PointIdsEnd()
override;
101 PointIdsEnd()
const override;
104 virtual CellFeatureCount
105 GetNumberOfVertices()
const;
108 GetVertex(CellFeatureIdentifier, VertexAutoPointer &);
120 EvaluateShapeFunctions(
const ParametricCoordArrayType & parametricCoordinates,
121 ShapeFunctionsArrayType & weights)
const override;
125 std::array<PointIdentifier, NumberOfPoints> m_PointIds{ MakeFilled<std::array<PointIdentifier, NumberOfPoints>>(
130 #ifndef ITK_MANUAL_INSTANTIATION
131 # include "itkQuadraticEdgeCell.hxx"