00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkVertexCell_h
00018 #define __itkVertexCell_h
00019
00020 #include "itkCellInterface.h"
00021
00022 namespace itk
00023 {
00024
00040 template < typename TCellInterface >
00041 class ITK_EXPORT VertexCell: public TCellInterface
00042 {
00043 public:
00045 itkCellCommonTypedefs(VertexCell);
00046 itkCellInheritedTypedefs(TCellInterface);
00048
00050 itkTypeMacro(VertexCell, CellInterface);
00051
00053 itkStaticConstMacro(NumberOfPoints, unsigned int, 1);
00054 itkStaticConstMacro(CellDimension, unsigned int, 0);
00056
00058 virtual CellGeometry GetType(void) const
00059 {return Superclass::VERTEX_CELL;}
00060 virtual void MakeCopy( CellAutoPointer & ) const;
00061 virtual unsigned int GetDimension(void) const;
00062 virtual unsigned int GetNumberOfPoints(void) const;
00063 virtual CellFeatureCount GetNumberOfBoundaryFeatures(int dimension) const;
00064 virtual bool GetBoundaryFeature(int dimension, CellFeatureIdentifier,
00065 CellAutoPointer &);
00066 virtual void SetPointIds(PointIdConstIterator first);
00067 virtual void SetPointIds(PointIdConstIterator first,
00068 PointIdConstIterator last);
00069 virtual void SetPointId(int localId, PointIdentifier);
00070 virtual PointIdIterator PointIdsBegin(void);
00071 virtual PointIdConstIterator PointIdsBegin(void) const;
00072 virtual PointIdIterator PointIdsEnd(void);
00073 virtual PointIdConstIterator PointIdsEnd(void) const;
00075
00077 virtual void SetPointId(PointIdentifier);
00078 virtual PointIdentifier GetPointId(void);
00080
00082 itkCellVisitMacro(Superclass::VERTEX_CELL);
00083
00085 virtual bool EvaluatePosition(CoordRepType*,
00086 PointsContainer* ,
00087 CoordRepType*,
00088 CoordRepType [],
00089 double *,
00090 InterpolationWeightType*);
00091 public:
00092 VertexCell() {}
00093 ~VertexCell() {}
00095
00096 protected:
00100 PointIdentifier m_PointIds[NumberOfPoints];
00101
00102 private:
00103 VertexCell(const Self&);
00104 void operator=(const Self&);
00105 };
00106
00107 }
00108
00109 #ifndef ITK_MANUAL_INSTANTIATION
00110 #include "itkVertexCell.txx"
00111 #endif
00112
00113 #endif
00114