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

Modules/BallLocator/BallLocatorSelector.h

Go to the documentation of this file.
00001 /**
00002 * @file BallLocatorSelector.h
00003 * 
00004 * Definition of class BallLocatorSelector
00005 *
00006 * @author Max Risler
00007 * @author Martin Lötzsch
00008 * @author Matthias Jüngel
00009 */
00010 
00011 #ifndef __BallLocatorSelector_h_
00012 #define __BallLocatorSelector_h_
00013 
00014 #include "Tools/Module/ModuleSelector.h"
00015 
00016 #include "BallLocator.h"
00017 #include "GT2004BallLocator.h"
00018 
00019 /**
00020 * @class BallLocatorSelector
00021 * 
00022 * A module selector for ball locators.
00023 *
00024 * @author Martin Lötzsch
00025 */
00026 class BallLocatorSelector : public ModuleSelector, public BallLocatorInterfaces
00027 {
00028 public:
00029 /**
00030 * Constructor.
00031 * @param handler The module handler of the process.
00032 * @param interfaces The paramters of the BallLocator module.
00033   */
00034   BallLocatorSelector(ModuleHandler &handler, const BallLocatorInterfaces& interfaces)
00035     : ModuleSelector(SolutionRequest::ballLocator),
00036     BallLocatorInterfaces(interfaces)
00037   {
00038     handler.setModuleSelector(SolutionRequest::ballLocator, this);
00039   }
00040   
00041   /** 
00042   * Is called on start and when the selected solution changes
00043   * to create a specific solution.
00044   * @param id The id of the solution to create
00045   * @return The created solution or 0
00046   */
00047   virtual Module* createSolution(SolutionRequest::ModuleSolutionID id)
00048   {
00049     switch(id)
00050     {
00051     case SolutionRequest::gt2004BallLocator:
00052       return new GT2004BallLocator(*this);
00053     default:
00054       return 0;
00055     }
00056   }
00057   
00058 };
00059 
00060 #endif //__BallLocatorSelector_h_
00061 
00062 /*
00063 * Change log:
00064 *
00065 * $Log: BallLocatorSelector.h,v $
00066 * Revision 1.8  2004/07/14 21:11:34  spranger
00067 * removed Kalman and KalmanCombo, introduced GT2004BallLocator
00068 *
00069 * Revision 1.7  2004/07/10 00:13:58  spranger
00070 * renaming for coderelease and preparations for gt2005
00071 *
00072 * Revision 1.6  2004/07/02 09:31:27  jhoffman
00073 * Kalman-Combo now uses the "PerceptBallLocator" for the position; odometry is used for propagation of position when ball is not seen
00074 *
00075 * Revision 1.5  2004/07/01 12:38:28  dassler
00076 * introduced new Balllocator KalmanComboBallLocator
00077 * ball.seen is set by the Validity and the rest by the Kalman Filter
00078 *
00079 * Revision 1.4  2004/05/26 00:08:58  goehring
00080 * ValidityBasedBallLocator added
00081 *
00082 * Revision 1.3  2004/05/22 22:52:01  juengel
00083 * Renamed ballP_osition to ballModel.
00084 *
00085 * Revision 1.2  2004/05/22 22:01:06  loetzsch
00086 * removed some ball locators
00087 *
00088 * Revision 1.1.1.1  2004/05/22 17:15:16  cvsadm
00089 * created new repository GT2004_WM
00090 *
00091 * Revision 1.13  2004/04/21 20:11:40  goehring
00092 * BallLocators added
00093 *
00094 * Revision 1.12  2004/04/09 11:35:51  roefer
00095 * Bremen Byters German Open check-in
00096 *
00097 * Revision 1.11  2004/04/08 15:33:00  wachter
00098 * GT04 checkin of Microsoft-Hellounds
00099 *
00100 * Revision 1.10  2004/04/07 13:25:43  thomas
00101 * ddd checkin after go04 - second part fixed solutions
00102 *
00103 * Revision 1.9  2004/04/07 12:28:56  risler
00104 * ddd checkin after go04 - first part
00105 *
00106 * Revision 1.8  2004/03/11 14:27:31  uhrig
00107 * KalmanBallLocator was added
00108 *
00109 * Revision 1.7  2004/03/08 00:58:36  roefer
00110 * Interfaces should be const
00111 *
00112 * Revision 1.6  2004/01/21 14:31:57  loetzsch
00113 * Module Selectors create only the selected solution.
00114 * When the solution changes, the old solution is erased and the new
00115 * one ist created using createSolution(..)
00116 *
00117 * Revision 1.5  2003/12/03 13:29:27  schumann
00118 * added MSH2004 Ball Locator
00119 *
00120 * Revision 1.4  2003/12/02 13:52:48  goehring
00121 * PerceptBallLocator added
00122 *
00123 * Revision 1.3  2003/10/22 10:20:37  goehring
00124 * VoteBasedBallLocator Added
00125 *
00126 * Revision 1.2  2003/10/15 13:37:44  goehring
00127 * ATH2004BallLocator added
00128 *
00129 * Revision 1.1  2003/10/06 13:33:15  cvsadm
00130 * Created GT2004 (M.J.)
00131 *
00132 * Revision 1.3  2003/09/25 10:10:31  juengel
00133 * Removed VoteBasedBallLocator.
00134 *
00135 * Revision 1.2  2003/07/05 12:00:10  kudlacik
00136 * Added BallChallengeBallLocator
00137 *
00138 * Revision 1.1.1.1  2003/07/02 09:40:23  cvsadm
00139 * created new repository for the competitions in Padova from the 
00140 * tamara CVS (Tuesday 2:00 pm)
00141 *
00142 * removed unused solutions
00143 *
00144 * Revision 1.8  2003/06/24 10:11:31  jhoffman
00145 * added new ball locator
00146 *
00147 * Revision 1.7  2003/06/21 11:59:10  roefer
00148 * SampleBallLocator added, does not work!
00149 *
00150 * Revision 1.6  2003/05/01 17:09:06  loetzsch
00151 * Redesign of ball modeling:
00152 * - Modularized class BallP_osition
00153 * - splitted up module "BallLocator" into "BallLocator" for modeling of percepts
00154 *   and "TeamBallLocator" for modelling communicated positions
00155 * - Removed solution JumpingBallLocator
00156 * - Splitted Solution DefaultBallLocator into DefaultBallLocator and DefaultTeamBallLocator
00157 * - Renamed SensorFusionBallLocator to GaussBellTeamBallLocator
00158 *
00159 * Revision 1.5  2003/03/05 10:34:05  jhoffman
00160 * no message
00161 *
00162 * Revision 1.4  2003/02/19 16:22:12  engel
00163 * SensorFusionBallLocator added
00164 *
00165 * Revision 1.3  2003/01/30 13:16:48  loetzsch
00166 * Redesign of class BallP_osition
00167 *
00168 * Revision 1.2  2002/09/12 09:45:58  juengel
00169 * continued change of module/solution mechanisms
00170 *
00171 * Revision 1.1  2002/09/10 15:36:12  cvsadm
00172 * Created new project GT2003 (M.L.)
00173 * - Cleaned up the /Src/DataTypes directory
00174 * - Removed challenge related source code
00175 * - Removed processing of incoming audio data
00176 * - Renamed AcousticMessage to SoundRequest
00177 *
00178 * Revision 1.6  2002/06/17 18:36:32  kspiess
00179 * sample based multi ball locator added
00180 *
00181 * Revision 1.5  2002/06/13 22:11:16  roefer
00182 * StickyBallLocator added
00183 *
00184 * Revision 1.4  2002/06/06 10:51:47  kspiess
00185 * distribution for multiple balls;
00186 *
00187 * Revision 1.3  2002/06/03 15:27:30  roefer
00188 * BallLocator gets TeamMessageCollection
00189 *
00190 * Revision 1.2  2002/05/14 12:39:04  dueffert
00191 * corrected some documentation mistakes
00192 *
00193 * Revision 1.1.1.1  2002/05/10 12:40:13  cvsadm
00194 * Moved GT2002 Project from ute to tamara.
00195 *
00196 * Revision 1.4  2002/05/03 11:51:26  juengel
00197 * JumpingBallLocator created.
00198 *
00199 * Revision 1.3  2002/04/02 13:10:18  dueffert
00200 * big change: odometryData and cameraMatrix in image now, old logfiles may be obsolete
00201 *
00202 * Revision 1.2  2002/02/11 11:13:05  roefer
00203 * BallPerceptor and BallLocator inserted
00204 *
00205 * Revision 1.1  2002/02/05 03:50:15  loetzsch
00206 * added a few new module selectors
00207 *
00208 */

Generated on Thu Sep 23 19:57:24 2004 for GT2004 by doxygen 1.3.6