00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __TeamBallLocator_h_
00010 #define __TeamBallLocator_h_
00011
00012 #include "Tools/Module/Module.h"
00013
00014 #include "Representations/Perception/CameraMatrix.h"
00015 #include "Representations/Cognition/BallModel.h"
00016 #include "Representations/Cognition/RobotPose.h"
00017 #include "Representations/WLan/TeamMessageCollection.h"
00018 #include "Representations/Motion/OdometryData.h"
00019 #include "Representations/Cognition/SampleSet.h"
00020 #include "Representations/RoboCup/GameControlData.h"
00021 #include "Representations/Cognition/RobotPoseCollection.h"
00022 #include "Representations/Perception/BallPercept.h"
00023 #include "Representations/Cognition/ObstaclesModel.h"
00024 #include "Modules/BallLocator/GT2005Particles/GT2005ParticleContainer.h"
00025
00026
00027
00028
00029
00030
00031 class TeamBallLocatorInterfaces
00032 {
00033 public:
00034
00035 TeamBallLocatorInterfaces(
00036 const SeenBallState& seenBallState,
00037 const OdometryData& odometryData,
00038 const RobotPose& robotPose,
00039 const TeamMessageCollection& teamMessageCollection,
00040 const RobotPoseCollection& robotPoseCollection,
00041 CommunicatedBallState& communicatedBallState,
00042 GT2005ParticleContainer& ballLocatorSamples,
00043 GameControlData& gameControlData,
00044 const BallPercept& ballPercept,
00045 const CameraMatrix& cameraMatrix,
00046 const ObstaclesModel& obstaclesModel
00047 )
00048 : seenBallState(seenBallState),
00049 odometryData(odometryData),
00050 robotPose(robotPose),
00051 teamMessageCollection(teamMessageCollection),
00052 robotPoseCollection(robotPoseCollection),
00053 communicatedBallState(communicatedBallState),
00054 ballLocatorSamples(ballLocatorSamples),
00055 gameControlData(gameControlData),
00056 ballPercept(ballPercept),
00057 cameraMatrix(cameraMatrix),
00058 obstaclesModel(obstaclesModel)
00059 {}
00060
00061
00062 const SeenBallState& seenBallState;
00063
00064
00065 const OdometryData& odometryData;
00066
00067
00068 const RobotPose& robotPose;
00069
00070
00071 const TeamMessageCollection& teamMessageCollection;
00072
00073
00074 const RobotPoseCollection& robotPoseCollection;
00075
00076
00077 CommunicatedBallState& communicatedBallState;
00078
00079
00080 GT2005ParticleContainer& ballLocatorSamples;
00081
00082
00083 GameControlData& gameControlData;
00084
00085
00086 const BallPercept& ballPercept;
00087
00088
00089 const CameraMatrix& cameraMatrix;
00090
00091
00092 const ObstaclesModel& obstaclesModel;
00093 };
00094
00095
00096
00097
00098
00099
00100
00101
00102 class TeamBallLocator : public Module, public TeamBallLocatorInterfaces
00103 {
00104 public:
00105
00106
00107
00108
00109 TeamBallLocator(const TeamBallLocatorInterfaces& interfaces)
00110 : TeamBallLocatorInterfaces(interfaces)
00111 {}
00112
00113
00114 virtual ~TeamBallLocator() {}
00115 };
00116
00117 #endif //__TeamBallLocator_h_