00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __BREZENHAM_H
00022 #define __BREZENHAM_H
00023
00024 #include <TooN/TooN.h>
00025 #include <cvd/image_ref.h>
00026
00027 namespace CVD {
00028
00029
00037 class Brezenham {
00038 public:
00041 Brezenham(TooN::Vector<2> dir);
00042
00044 ImageRef step();
00045
00046 private:
00047 double residual;
00048 double val1;
00049 double val2;
00050 ImageRef step1;
00051 ImageRef step2;
00052 };
00053
00054
00061 class Brezenham8 {
00062 public:
00065 Brezenham8(TooN::Vector<2> dir);
00066
00068 ImageRef step();
00069
00074 ImageRef sideways() {return my_sideways;}
00075
00076 private:
00077 double residual;
00078 double val1;
00079 double val2;
00080 ImageRef step1;
00081 ImageRef step2;
00082 ImageRef my_sideways;
00083 };
00084
00085 }
00086
00087 #endif