00001 /** 00002 * @author <a href="mailto:Thorsten.Kerkhof@gmx.de">Thorsten Kerkhof</a> 00003 */ 00004 00005 #ifndef __MultipleBallPerceptList_h_ 00006 #define __MultipleBallPerceptList_h_ 00007 00008 #include "Tools/Math/Common.h" 00009 #include "Tools/Math/Vector2.h" 00010 #include "Tools/Math/Vector3.h" 00011 #include "Representations/Perception/CameraMatrix.h" 00012 #include "Tools/Actorics/RobotDimensions.h" 00013 #include "Tools/RobotConfiguration.h" 00014 #include "MultipleBallPerceptElement.h" 00015 00016 00017 class MultipleBallPerceptList : public Streamable 00018 { 00019 void serialize(In* in, Out* out) 00020 { 00021 STREAM_REGISTER_BEGIN(); 00022 STREAM(panningVelocityError); 00023 STREAM_DYN_ARRAY(multiplePercepts, numberOfElements); 00024 STREAM_REGISTER_FINISH(); 00025 } 00026 00027 public: 00028 MultipleBallPerceptList(); 00029 00030 MultipleBallPerceptElement& operator[](int index) {return multiplePercepts[index];} 00031 const MultipleBallPerceptElement& operator[](int index) const {return multiplePercepts[index];} 00032 00033 void add(const MultipleBallPerceptElement& elem); 00034 00035 void calculatePanningVelocityValue(double panningVelocity); 00036 00037 int numberOfElements; 00038 00039 //Needed for MSHTeamBallLocator, because the list is communicated it's inserted here: 00040 //the panning error is calculated for every ListElement 00041 double panningVelocityError; 00042 00043 private: 00044 MultipleBallPerceptElement multiplePercepts[5]; 00045 }; 00046 00047 #endif
1.3.6