⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 visualsensor.h

📁 在LINUX下运行的仿真机器人服务器源代码
💻 H
📖 第 1 页 / 共 4 页
字号:
    union     {      VisualSensor_v1::flag_high_close_data_t M_close_data;						      VisualSensor_v1::flag_high_normal_data_t M_normal_data;      VisualSensor_v1::flag_high_ufar_data_t M_ufar_data;    };    void set ( const PObject& flag, const Player& player );  };  struct goal_high_data_t  {    VisualSensor_v1::range_t M_range;    union     {      VisualSensor_v1::goal_high_close_data_t M_close_data;						      VisualSensor_v1::goal_high_normal_data_t M_normal_data;      VisualSensor_v1::goal_high_ufar_data_t M_ufar_data;    };    void set ( const PObject& goal, const Player& player );  };  struct line_high_data_t  {    VisualSensor_v1::range_t M_range;    VisualSensor_v1::line_high_normal_data_t M_normal_data;    void set ( const PObject& line, const Player& player );    bool    operator<( const line_high_data_t& data ) const    {      return M_normal_data < data.M_normal_data;    }  };  struct low_data_t  {    int M_time;    std::list< VisualSensor_v1::goal_low_data_t > M_goals;    std::list< VisualSensor_v1::flag_low_data_t > M_flags;    std::list< VisualSensor_v1::ball_low_data_t > M_balls;    std::list< VisualSensor_v1::player_low_data_t > M_players;    std::list< VisualSensor_v1::line_low_data_t > M_lines;    void set ( const Stadium& stadium, const Player& player );  };  struct high_data_t  {    int M_time;    std::list< VisualSensor_v1::goal_high_data_t > M_goals;    std::list< VisualSensor_v1::flag_high_data_t > M_flags;    std::list< VisualSensor_v1::ball_high_data_t > M_balls;    std::list< VisualSensor_v1::player_high_data_t > M_players;    std::list< VisualSensor_v1::line_high_data_t > M_lines;    void set ( const Stadium& stadium, const Player& player );  };  virtual void send ( const VisualSensor_v1::low_data_t& data ) = 0;  virtual void send ( const VisualSensor_v1::high_data_t& data ) = 0;};std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::ball_low_close_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::ball_low_normal_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::ball_low_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::player_low_close_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::player_low_normal_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::player_low_ufar_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::player_low_tfar_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::player_low_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::flag_low_close_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::flag_low_normal_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::flag_low_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::goal_low_close_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::goal_low_normal_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::goal_low_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::line_low_normal_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::line_low_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::ball_high_close_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::ball_high_normal_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::ball_high_ufar_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::ball_high_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::player_high_close_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::player_high_normal_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::player_high_ufar_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::player_high_tfar_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::player_high_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::flag_high_close_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::flag_high_normal_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::flag_high_ufar_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::flag_high_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::goal_high_close_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::goal_high_normal_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::goal_high_ufar_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::goal_high_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::line_high_normal_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::line_high_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::low_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v1::high_data_t& data );//===================================================================////  CLASS: VisualSensor_v4////  DESC: Class for the version 4 visual protocol.  This version//        introduced body directions of players. All other objects//        are the same, so they don't need to be redefined////===================================================================class VisualSensor_v4  : public VisualSensor_v1{public:  struct obj_body_dir_data_t  {    int M_body_dir;    static int calcBodyDir ( const Player& observed_player, const Player& player );  };  struct player_high_normal_data_t    : public VisualSensor_v4::obj_dir_data_t,      public VisualSensor_v4::obj_dist_data_t,      public VisualSensor_v4::obj_vel_data_t,      public VisualSensor_v4::obj_name_data_t,      public VisualSensor_v4::obj_body_dir_data_t  {  };  struct player_high_data_t  {    VisualSensor_v4::range_t M_range;    union     {      VisualSensor_v4::player_high_close_data_t M_close_data;						      VisualSensor_v4::player_high_normal_data_t M_normal_data;      VisualSensor_v4::player_high_ufar_data_t M_ufar_data;      VisualSensor_v4::player_high_tfar_data_t M_tfar_data;    };    void set ( const Player& observered_player, const Player& player );  };  struct high_data_t  {    int M_time;    std::list< VisualSensor_v4::goal_high_data_t > M_goals;    std::list< VisualSensor_v4::flag_high_data_t > M_flags;    std::list< VisualSensor_v4::ball_high_data_t > M_balls;    std::list< VisualSensor_v4::player_high_data_t > M_players;    void set ( const Stadium& stadium, const Player& player );  };  virtual void send ( const VisualSensor_v4::low_data_t& data ) = 0;  virtual void send ( const VisualSensor_v4::high_data_t& data ) = 0;};std::ostream& toStr ( std::ostream& o, const VisualSensor_v4::player_high_normal_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v4::player_high_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v4::high_data_t& data );//===================================================================////  CLASS: VisualSensor_v5////  DESC: Class for the version 5 visual protocol.  This version//        introduced head directions of players. All other objects//        are the same, so they don't need to be redefined////===================================================================class VisualSensor_v5  : public VisualSensor_v4{public:  struct obj_head_dir_data_t  {    int M_head_dir;    static int calcHeadDir ( const Player& observed_player, const Player& player );  };  struct player_high_normal_data_t    : public VisualSensor_v5::obj_dir_data_t,      public VisualSensor_v5::obj_dist_data_t,      public VisualSensor_v5::obj_vel_data_t,      public VisualSensor_v5::obj_name_data_t,      public VisualSensor_v5::obj_body_dir_data_t,      public VisualSensor_v5::obj_head_dir_data_t  {  };  struct player_high_data_t  {    VisualSensor_v5::range_t M_range;    union     {      VisualSensor_v5::player_high_close_data_t M_close_data;						      VisualSensor_v5::player_high_normal_data_t M_normal_data;      VisualSensor_v5::player_high_ufar_data_t M_ufar_data;      VisualSensor_v5::player_high_tfar_data_t M_tfar_data;    };    void set ( const Player& observered, const Player& player );  };  struct high_data_t  {    int M_time;    std::list< VisualSensor_v5::goal_high_data_t > M_goals;    std::list< VisualSensor_v5::flag_high_data_t > M_flags;    std::list< VisualSensor_v5::ball_high_data_t > M_balls;    std::list< VisualSensor_v5::player_high_data_t > M_players;    void set ( const Stadium& stadium, const Player& player );  };  virtual void send ( const VisualSensor_v5::low_data_t& data ) = 0;  virtual void send ( const VisualSensor_v5::high_data_t& data ) = 0;};std::ostream& toStr ( std::ostream& o, const VisualSensor_v5::player_high_normal_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v5::player_high_data_t& data );std::ostream& toStr ( std::ostream& o, const VisualSensor_v5::high_data_t& data );//===================================================================////  CLASS: VisualSensor_v6////  DESC: Class for the version 6 visual protocol.  This version//        introduced shortened names for all the objects meaning they//        must all be redefined.////===================================================================class VisualSensor_v6  : public VisualSensor_v5{public:  struct ball_low_close_data_t    : public VisualSensor_v6::obj_dir_data_t  {  };  struct player_low_close_data_t    : public VisualSensor_v6::obj_dir_data_t  {  };  struct flag_low_close_data_t    : public VisualSensor_v6::obj_dir_data_t  {  };  struct goal_low_close_data_t    : public VisualSensor_v6::obj_dir_data_t  {  };  struct ball_low_normal_data_t    : public VisualSensor_v6::obj_dir_data_t  {  };  struct line_low_normal_data_t    : public VisualSensor_v6::obj_dir_data_t,      public VisualSensor_v6::obj_name_data_t  {  };  struct obj_name_data_t    : public VisualSensor_v5::obj_name_data_t  {    static const char* calcName ( const PObject& obj );    static const char* calcUFarName ( const Player& obj );    static const char* calcTFarName ( const Player& obj );  };  struct player_low_tfar_data_t    : public VisualSensor_v6::obj_dir_data_t,      public VisualSensor_v6::obj_name_data_t  {  };  struct player_low_ufar_data_t    : public VisualSensor_v6::obj_dir_data_t,      public VisualSensor_v6::obj_name_data_t  {  };  struct player_low_normal_data_t    : public VisualSensor_v6::obj_dir_data_t,      public VisualSensor_v6::obj_name_data_t  {  };  struct flag_low_normal_data_t    : public VisualSensor_v6::obj_dir_data_t,      public VisualSensor_v6::obj_name_data_t  {  };  struct goal_low_normal_data_t    : public VisualSensor_v6::obj_dir_data_t,      public VisualSensor_v6::obj_name_data_t  {  };  struct ball_low_data_t  {    VisualSensor_v6::range_t M_range;    union     {      VisualSensor_v6::ball_low_close_data_t M_close_data;						      VisualSensor_v6::ball_low_normal_data_t M_normal_data;    };    void set ( const MPObject& ball, const Player& player );  };	  struct player_low_data_t  {    VisualSensor_v6::range_t M_range;    union     {      VisualSensor_v6::player_low_close_data_t M_close_data;						      VisualSensor_v6::player_low_normal_data_t M_normal_data;      VisualSensor_v6::player_low_ufar_data_t M_ufar_data;      VisualSensor_v6::player_low_tfar_data_t M_tfar_data;    };    void set ( const Player& observed_player, const Player& player );  };	  struct flag_low_data_t  {    VisualSensor_v6::range_t M_range;    union     {      VisualSensor_v6::flag_low_close_data_t M_close_data;						      VisualSensor_v6::flag_low_normal_data_t M_normal_data;    };    void set ( const PObject& flag, const Player& player );  };  struct goal_low_data_t  {    VisualSensor_v6::range_t M_range;    union     {      VisualSensor_v6::goal_low_close_data_t M_close_data;						      VisualSensor_v6::goal_low_normal_data_t M_normal_data;    };    void set ( const PObject& flag, const Player& player );  };  struct line_low_data_t  {    VisualSensor_v6::range_t M_range;    VisualSensor_v6::line_low_normal_data_t M_normal_data;    void set ( const PObject& line, const Player& player );  };  struct ball_high_close_data_t

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -