Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

# Representations/Perception/MultipleBallPerceptList.h

Go to the documentation of this file.

    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