00001 /** 00002 * @file GT2005KickLogger.h 00003 * 00004 * Definition of class GT2005KickLogger. 00005 * 00006 * @author Carsten Schumann 00007 */ 00008 00009 #ifndef __GT2005KickLogger_h_ 00010 #define __GT2005KickLogger_h_ 00011 00012 #include "Tools/Math/Vector2.h" 00013 #include "Tools/Math/Vector3.h" 00014 #include <list> 00015 00016 struct GT2005KickRecord{ 00017 Vector2<int> before_ball_translation; 00018 Vector2<int> before_robot_translation; 00019 int before_robot_rotation; 00020 00021 Vector2<int> while_ball_translation; 00022 Vector3<int> while_robot_speed; 00023 Vector2<int> while_robot_translation; 00024 int while_robot_rotation; 00025 00026 Vector2<int> while_ball_relative_translation; 00027 00028 Vector2<int> trigger_relative; 00029 00030 Vector2<int> after_robot_translation; 00031 int after_robot_rotation; 00032 Vector2<int> after_ball_translation; 00033 00034 00035 00036 // Vector2<int> ball; 00037 char kick[32]; 00038 int direction; 00039 int distance; 00040 int count; 00041 00042 }; 00043 /** 00044 * @class GT2005KickLogger 00045 * 00046 * Used to measure kicks with the ceiling camera 00047 * 00048 * @author Carsten Schumann 00049 */ 00050 class GT2005KickLogger 00051 { 00052 public: 00053 GT2005KickLogger(); 00054 void loadLatest(); 00055 void save(); 00056 00057 void addResult(GT2005KickRecord& r); 00058 private: 00059 std::list<GT2005KickRecord> list; 00060 std::list<GT2005KickRecord>::iterator findInsertPos(int direction); 00061 }; 00062 00063 #endif
1.3.6