18 #ifndef __itkLineCell_h
19 #define __itkLineCell_h
41 template<
typename TCellInterface >
42 class ITK_EXPORT
LineCell:
public TCellInterface
58 enum { NumberOfPoints = 2,
63 virtual CellGeometry GetType(
void)
const
64 {
return Superclass::LINE_CELL; }
65 virtual void MakeCopy(CellAutoPointer &)
const;
68 virtual unsigned int GetDimension(
void)
const;
70 virtual unsigned int GetNumberOfPoints(
void)
const;
72 virtual CellFeatureCount GetNumberOfBoundaryFeatures(
int dimension)
const;
74 virtual bool GetBoundaryFeature(
int dimension, CellFeatureIdentifier, CellAutoPointer &);
75 virtual void SetPointIds(PointIdConstIterator first);
77 virtual void SetPointIds(PointIdConstIterator first,
78 PointIdConstIterator last);
80 virtual void SetPointId(
int localId, PointIdentifier);
81 virtual PointIdIterator PointIdsBegin(
void);
83 virtual PointIdConstIterator PointIdsBegin(
void)
const;
85 virtual PointIdIterator PointIdsEnd(
void);
87 virtual PointIdConstIterator PointIdsEnd(
void)
const;
90 virtual CellFeatureCount GetNumberOfVertices(
void)
const;
92 virtual bool GetVertex(CellFeatureIdentifier, VertexAutoPointer &);
99 for (
unsigned int i = 0; i < itkGetStaticConstMacro(NumberOfPoints); i++ )
109 PointIdentifier m_PointIds[NumberOfPoints];
113 void operator=(
const Self &);
117 #ifndef ITK_MANUAL_INSTANTIATION
118 #include "itkLineCell.hxx"