00001 /** 00002 * @file PlayersLocatorSelector.h 00003 * 00004 * Definition of class PlayersLocatorSelector 00005 * 00006 * @author Max Risler 00007 * @author Martin Lötzsch 00008 * @author Matthias Jüngel 00009 */ 00010 00011 #ifndef __PlayersLocatorSelector_h_ 00012 #define __PlayersLocatorSelector_h_ 00013 00014 #include "Tools/Module/ModuleSelector.h" 00015 #include "GT2004PlayersLocator.h" 00016 00017 /** 00018 * PlayersLocator selection module. 00019 * 00020 * A selector for player locators. 00021 */ 00022 class PlayersLocatorSelector : public ModuleSelector, public PlayersLocatorInterfaces 00023 { 00024 public: 00025 /** 00026 * Constructor. 00027 * @param handler The module handler of the process. 00028 * @param interfaces The paramters of the PlayersLocator module. 00029 */ 00030 PlayersLocatorSelector(ModuleHandler &handler, const PlayersLocatorInterfaces& interfaces) 00031 : ModuleSelector(SolutionRequest::playersLocator), 00032 PlayersLocatorInterfaces(interfaces) 00033 { 00034 handler.setModuleSelector(SolutionRequest::playersLocator, this); 00035 } 00036 00037 /** 00038 * Is called on start and when the selected solution changes 00039 * to create a specific solution. 00040 * @param id The id of the solution to create 00041 * @return The created solution or 0 00042 */ 00043 virtual Module* createSolution(SolutionRequest::ModuleSolutionID id) 00044 { 00045 switch(id) 00046 { 00047 case SolutionRequest::gt2004PlayersLocator: 00048 return new GT2004PlayersLocator(*this); 00049 default: 00050 return 0; 00051 } 00052 } 00053 }; 00054 00055 #endif //__PlayersLocatorSelector_h_ 00056 00057 /* 00058 * Change log: 00059 * 00060 * $Log: PlayersLocatorSelector.h,v $ 00061 * Revision 1.2 2004/07/10 00:13:52 spranger 00062 * renaming for coderelease and preparations for gt2005 00063 * 00064 * Revision 1.1.1.1 2004/05/22 17:20:39 cvsadm 00065 * created new repository GT2004_WM 00066 * 00067 * Revision 1.3 2004/03/08 01:07:16 roefer 00068 * Interfaces should be const 00069 * 00070 * Revision 1.2 2004/01/21 14:31:58 loetzsch 00071 * Module Selectors create only the selected solution. 00072 * When the solution changes, the old solution is erased and the new 00073 * one ist created using createSolution(..) 00074 * 00075 * Revision 1.1 2003/10/06 14:10:15 cvsadm 00076 * Created GT2004 (M.J.) 00077 * 00078 * Revision 1.1.1.1 2003/07/02 09:40:24 cvsadm 00079 * created new repository for the competitions in Padova from the 00080 * tamara CVS (Tuesday 2:00 pm) 00081 * 00082 * removed unused solutions 00083 * 00084 * Revision 1.4 2003/03/29 12:52:32 mkunz 00085 * GO2003PlayersLocator added 00086 * 00087 * Revision 1.3 2003/02/27 10:06:59 schmidt 00088 * Added three variants of a SensorFusionPlayersLocator. 00089 * 00090 * Revision 1.2 2002/09/12 12:24:09 juengel 00091 * continued change of module/solution mechanisms 00092 * 00093 * Revision 1.1 2002/09/10 15:36:15 cvsadm 00094 * Created new project GT2003 (M.L.) 00095 * - Cleaned up the /Src/DataTypes directory 00096 * - Removed challenge related source code 00097 * - Removed processing of incoming audio data 00098 * - Renamed AcousticMessage to SoundRequest 00099 * 00100 * Revision 1.3 2002/06/07 10:16:37 kspiess 00101 * constructor changed; team messages integration 00102 * 00103 * Revision 1.2 2002/05/14 12:39:04 dueffert 00104 * corrected some documentation mistakes 00105 * 00106 * Revision 1.1.1.1 2002/05/10 12:40:15 cvsadm 00107 * Moved GT2002 Project from ute to tamara. 00108 * 00109 * Revision 1.3 2002/04/16 16:50:05 dueffert 00110 * no message 00111 * 00112 * Revision 1.2 2002/04/12 07:08:55 juengel 00113 * Player Specialist added. 00114 * 00115 * Revision 1.2 2002/04/02 13:10:20 dueffert 00116 * big change: odometryData and cameraMatrix in image now, old logfiles may be obsolete 00117 * 00118 * Revision 1.1 2002/02/05 03:52:46 loetzsch 00119 * added a few new module selectors 00120 * 00121 */ 00122