00001
00007 #ifndef P_KEYPOINT_HH
00008 #define P_KEYPOINT_HH
00009
00010 #include <blort/Recognizer3D/PNamespace.hh>
00011 #include <blort/Recognizer3D/Vector2.hh>
00012 #include "float.h"
00013
00014 namespace P
00015 {
00016
00017 class Keypoint
00018 {
00019 public:
00020 Vector2 p;
00021 float scale;
00022 float angle;
00023 float mi11,mi12,mi21,mi22;
00024
00025 Keypoint *bw, *fw;
00026
00027 int nb;
00028 static int nbcnt;
00029 unsigned id;
00030 static unsigned idcnt;
00031
00032 float error;
00033
00034 Keypoint();
00035 Keypoint(Keypoint *k);
00036 Keypoint(double x, double y);
00037 Keypoint(double x, double y, float s, float a);
00038 Keypoint(double x, double y, Keypoint *bw);
00039 Keypoint(double x,double y,float s,float a,float _m11,float _m12,float _m21,float _m22);
00040 ~Keypoint();
00041
00042 inline double X() {return p.x;}
00043 inline double Y() {return p.y;}
00044 inline float Scale() {return scale;}
00045 inline float Angle() {return angle;}
00046 inline float Mi11() {return mi11;}
00047 inline float Mi12() {return mi12;}
00048 inline float Mi21() {return mi21;}
00049 inline float Mi22() {return mi22;}
00050 };
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060 }
00061
00062 #endif
00063