28 #ifndef itkPolygonCell_h
29 #define itkPolygonCell_h
52 template<
typename TCellInterface >
65 itkStaticConstMacro(CellDimension,
unsigned int, 2);
82 virtual CellGeometry
GetType(
void) const ITK_OVERRIDE
83 {
return Superclass::POLYGON_CELL; }
84 virtual void MakeCopy(CellAutoPointer &) const ITK_OVERRIDE;
87 virtual
unsigned int GetDimension(
void) const ITK_OVERRIDE;
89 virtual
unsigned int GetNumberOfPoints(
void) const ITK_OVERRIDE;
91 virtual CellFeatureCount GetNumberOfBoundaryFeatures(
int dimension) const ITK_OVERRIDE;
93 virtual
bool GetBoundaryFeature(
int dimension, CellFeatureIdentifier, CellAutoPointer &) ITK_OVERRIDE;
95 virtual
void SetPointIds(PointIdConstIterator first) ITK_OVERRIDE;
97 virtual
void SetPointIds(PointIdConstIterator first,
98 PointIdConstIterator last) ITK_OVERRIDE;
100 void AddPointId(PointIdentifier);
101 void RemovePointId(PointIdentifier);
102 void SetPointIds(
int dummy,
int num, PointIdConstIterator first);
108 virtual
void SetPointId(
int localId, PointIdentifier) ITK_OVERRIDE;
109 virtual PointIdIterator PointIdsBegin(
void) ITK_OVERRIDE;
111 virtual PointIdConstIterator PointIdsBegin(
void) const ITK_OVERRIDE;
113 virtual PointIdIterator PointIdsEnd(
void) ITK_OVERRIDE;
115 virtual PointIdConstIterator PointIdsEnd(
void) const ITK_OVERRIDE;
118 virtual CellFeatureCount GetNumberOfVertices() const;
120 virtual CellFeatureCount GetNumberOfEdges() const;
122 virtual
bool GetVertex(CellFeatureIdentifier, VertexAutoPointer &);
123 virtual
bool GetEdge(CellFeatureIdentifier, EdgeAutoPointer &);
129 for ( PointIdentifier i = 0; i < NumberOfPoints; i++ )
148 #ifndef ITK_MANUAL_INSTANTIATION
149 #include "itkPolygonCell.hxx"
virtual CellGeometry GetType(void) const override
Represents a line segment for a Mesh.
VertexType::SelfAutoPointer VertexAutoPointer
An abstract interface for cells.
std::deque< EdgeInfo > EdgeInfoDQ
PolygonCell(PointIdentifier NumberOfPoints)
Simulate a standard C array with copy semnatics.
#define itkCellCommonTypedefs(celltype)
LineCell< TCellInterface > EdgeType
EdgeType::SelfAutoPointer EdgeAutoPointer
VertexCell< TCellInterface > VertexType
Represents a polygon in a Mesh.
std::vector< PointIdentifier > m_PointIds
std::vector< EdgeInfo > m_Edges
Represents a single vertex for a Mesh.
FixedArray< int, 2 > EdgeInfo
#define itkCellVisitMacro(TopologyId)
Define additional traits for native types such as int or float.
#define itkCellInheritedTypedefs(superclassArg)