tracker.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __FIREVISION_FVUTILS_CAMERA_TRACKER_H_
00025 #define __FIREVISION_FVUTILS_CAMERA_TRACKER_H_
00026
00027 namespace firevision {
00028 #if 0
00029 }
00030 #endif
00031
00032 class RelativePositionModel;
00033
00034 class CameraTracker {
00035
00036 public:
00037 CameraTracker(RelativePositionModel *relative_position_model,
00038 float camera_height,
00039 float camera_ori_deg );
00040
00041 ~CameraTracker();
00042
00043 void calc();
00044
00045 float get_new_pan();
00046 float get_new_tilt();
00047
00048 void set_mode(unsigned int mode);
00049 void set_relative_position_model(RelativePositionModel *rpm);
00050 void set_robot_position(float x, float y, float ori);
00051 void set_world_point(float x, float y);
00052
00053 static const unsigned int MODE_MODEL;
00054 static const unsigned int MODE_WORLD;
00055
00056 private:
00057
00058 RelativePositionModel *rpm;
00059
00060 float camera_height;
00061 float camera_orientation;
00062
00063 float new_pan;
00064 float new_tilt;
00065
00066 float robot_x;
00067 float robot_y;
00068 float robot_ori;
00069
00070 float world_x;
00071 float world_y;
00072
00073 unsigned int mode;
00074 };
00075
00076 }
00077
00078 #endif