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_MODELS_GLOBAL_POSITION_OMNI_GLOBAL_H_
00025 #define __FIREVISION_MODELS_GLOBAL_POSITION_OMNI_GLOBAL_H_
00026
00027 #include <models/global_position/globalpositionmodel.h>
00028
00029 namespace firevision {
00030 #if 0
00031 }
00032 #endif
00033
00034 class MirrorModel;
00035
00036 class OmniGlobal : public GlobalPositionModel
00037 {
00038 public:
00039
00040 OmniGlobal(MirrorModel *mirror_model);
00041
00042 virtual void set_robot_position(float x, float y, float ori);
00043 virtual void set_position_in_image(unsigned int x, unsigned int y);
00044
00045 virtual float get_x() const;
00046 virtual float get_y() const;
00047
00048 virtual void calc();
00049
00050 virtual bool is_pos_valid() const;
00051
00052 private:
00053 float pose_x;
00054 float pose_y;
00055 float pose_ori;
00056
00057 float ball_x;
00058 float ball_y;
00059
00060 MirrorModel *mirror_model;
00061
00062 unsigned int image_x;
00063 unsigned int image_y;
00064
00065 };
00066
00067 }
00068
00069 #endif