itkQuadEdgeMeshPoint.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkQuadEdgeMeshPoint_h
00018 #define __itkQuadEdgeMeshPoint_h
00019
00020 #include "itkPoint.h"
00021 #include "itkConceptChecking.h"
00022 #include "itkGeometricalQuadEdge.h"
00023
00024 namespace itk
00025 {
00032 template< class TCoordRep, unsigned int VPointDimension, typename TQuadEdge=GeometricalQuadEdge< unsigned long, unsigned long, bool, bool, true > >
00033 class QuadEdgeMeshPoint : public Point< TCoordRep, VPointDimension >
00034 {
00035 public:
00036
00038 typedef QuadEdgeMeshPoint Self;
00039 typedef Point< TCoordRep, VPointDimension > Superclass;
00040
00042 itkStaticConstMacro( PointDimension, unsigned int,
00043 VPointDimension );
00044
00045 typedef typename Superclass::ValueType ValueType;
00046 typedef typename Superclass::CoordRepType CoordRepType;
00047 typedef typename Superclass::RealType RealType;
00048 typedef typename Superclass::BaseArray BaseArray;
00049 typedef typename Superclass::Iterator Iterator;
00050 typedef typename Superclass::ConstIterator ConstIterator;
00051 typedef typename Superclass::VectorType VectorType;
00052
00053 typedef ValueType ValueArrayType[ itkGetStaticConstMacro( PointDimension ) ];
00054
00055 #ifdef ITK_USE_CONCEPT_CHECKING
00056
00059 #endif
00060
00061 public:
00062 QuadEdgeMeshPoint();
00063 virtual ~QuadEdgeMeshPoint() {};
00064 QuadEdgeMeshPoint( const Self & r );
00065 QuadEdgeMeshPoint( const Superclass & r );
00066 QuadEdgeMeshPoint( const ValueType r[VPointDimension] ):Superclass( r )
00067 {
00068 this->Initialize();
00069 }
00070 Self & operator=( const Self & r );
00071 Self & operator=( const Superclass & r );
00072 Self & operator=( const ValueType r[VPointDimension] );
00073
00074
00076 void SetEdge( TQuadEdge * inputEdge );
00077
00079 TQuadEdge * GetEdge();
00080 TQuadEdge * GetEdge() const;
00082
00084 bool IsInternal() const;
00085
00087 int GetValence() const;
00088
00089 protected:
00090 void Initialize();
00091
00092 protected:
00093 TQuadEdge * m_Edge;
00094 };
00095
00096 }
00097
00098 #ifndef ITK_MANUAL_INSTANTIATION
00099 #include "itkQuadEdgeMeshPoint.txx"
00100 #endif
00101
00102 #endif
00103