39 template <
typename TCellInterface>
40 class ITK_TEMPLATE_EXPORT
LineCell :
public TCellInterface
43 ITK_DISALLOW_COPY_AND_MOVE(
LineCell);
51 itkOverrideGetNameOfClassMacro(
LineCell);
58 static constexpr
unsigned int NumberOfPoints = 2;
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 &);
119 std::array<PointIdentifier, NumberOfPoints> m_PointIds{ MakeFilled<std::array<PointIdentifier, NumberOfPoints>>(
124 #ifndef ITK_MANUAL_INSTANTIATION
125 # include "itkLineCell.hxx"