28 #ifndef itkPolygonCell_h
29 #define itkPolygonCell_h
48 template <
typename TCellInterface>
63 static constexpr
unsigned int CellDimension = 2;
86 MakeCopy(CellAutoPointer &)
const override;
90 GetDimension()
const override;
93 GetNumberOfPoints()
const override;
96 GetNumberOfBoundaryFeatures(
int dimension)
const override;
99 GetBoundaryFeature(
int dimension, CellFeatureIdentifier, CellAutoPointer &)
override;
102 SetPointIds(PointIdConstIterator first)
override;
105 SetPointIds(PointIdConstIterator first, PointIdConstIterator last)
override;
107 void AddPointId(PointIdentifier);
108 void RemovePointId(PointIdentifier);
110 SetPointIds(
int dummy,
int num, PointIdConstIterator first);
119 SetPointId(
int localId, PointIdentifier)
override;
121 PointIdsBegin()
override;
124 PointIdsBegin()
const override;
127 PointIdsEnd()
override;
130 PointIdsEnd()
const override;
133 virtual CellFeatureCount
134 GetNumberOfVertices()
const;
136 virtual CellFeatureCount
137 GetNumberOfEdges()
const;
140 GetVertex(CellFeatureIdentifier, VertexAutoPointer &);
142 GetEdge(CellFeatureIdentifier, EdgeAutoPointer &);
148 for (PointIdentifier i = 0; i < NumberOfPoints; ++i)
159 std::vector<EdgeInfo> m_Edges{};
160 std::vector<PointIdentifier> m_PointIds{};
164 #ifndef ITK_MANUAL_INSTANTIATION
165 # include "itkPolygonCell.hxx"