28 #ifndef __itkPolygonCell_h
29 #define __itkPolygonCell_h
52 template<
typename TCellInterface >
65 itkStaticConstMacro(CellDimension,
unsigned int, 2);
82 virtual CellGeometry GetType(
void)
const
83 {
return Superclass::POLYGON_CELL; }
84 virtual void MakeCopy(CellAutoPointer &)
const;
87 virtual unsigned int GetDimension(
void)
const;
89 virtual unsigned int GetNumberOfPoints(
void)
const;
91 virtual CellFeatureCount GetNumberOfBoundaryFeatures(
int dimension)
const;
93 virtual bool GetBoundaryFeature(
int dimension, CellFeatureIdentifier, CellAutoPointer &);
95 virtual void SetPointIds(PointIdConstIterator first);
97 virtual void SetPointIds(PointIdConstIterator first,
98 PointIdConstIterator last);
100 void AddPointId(PointIdentifier);
101 void RemovePointId(PointIdentifier);
102 void SetPointIds(
int dummy,
int num, PointIdConstIterator first);
104 void BuildEdges(
void);
106 void ClearPoints(
void);
108 virtual void SetPointId(
int localId, PointIdentifier);
109 virtual PointIdIterator PointIdsBegin(
void);
111 virtual PointIdConstIterator PointIdsBegin(
void)
const;
113 virtual PointIdIterator PointIdsEnd(
void);
115 virtual PointIdConstIterator PointIdsEnd(
void)
const;
118 virtual CellFeatureCount GetNumberOfVertices(
void)
const;
120 virtual CellFeatureCount GetNumberOfEdges(
void)
const;
122 virtual bool GetVertex(CellFeatureIdentifier, VertexAutoPointer &);
123 virtual bool GetEdge(CellFeatureIdentifier, EdgeAutoPointer &);
129 for ( PointIdentifier i = 0; i < NumberOfPoints; i++ )
145 void operator=(
const Self &);
149 #ifndef ITK_MANUAL_INSTANTIATION
150 #include "itkPolygonCell.hxx"