00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __itkBresenhamLine_h
00019 #define __itkBresenhamLine_h
00020
00021 #include "itkVector.h"
00022 #include "itkOffset.h"
00023 #include "itkIndex.h"
00024 #include <vector>
00025
00026 namespace itk {
00027
00028
00029
00030
00031
00032 template <unsigned int VDimension>
00033 class ITK_EXPORT BresenhamLine
00034 {
00035 public:
00036 typedef BresenhamLine Self;
00037
00038 typedef Vector<float, VDimension> LType;
00039 typedef Offset<VDimension> OffsetType;
00040 typedef Index<VDimension> IndexType;
00041 typedef std::vector<OffsetType> OffsetArray;
00042
00043 typedef typename IndexType::IndexValueType IndexValueType;
00044
00045
00046 BresenhamLine(){}
00047 ~BresenhamLine(){}
00048
00049 OffsetArray buildLine(LType Direction, unsigned int length);
00050
00051 };
00052
00053
00054 }
00055
00056
00057 #ifndef ITK_MANUAL_INSTANTIATION
00058 #include "itkBresenhamLine.txx"
00059 #endif
00060
00061
00062 #endif
00063