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

Modules/RobotStateDetector/RobotStateDetectorSelector.h

Go to the documentation of this file.
00001 /**
00002 * @file RobotStateDetectorSelector.h
00003 * 
00004 * Definition of class RobotStateDetectorSelector
00005 *
00006 * @author Max Risler
00007 * @author Martin Lötzsch
00008 * @author Matthias Jüngel
00009 */
00010 
00011 #ifndef __RobotStateDetectorSelector_h_
00012 #define __RobotStateDetectorSelector_h_
00013 
00014 #include "Tools/Module/ModuleSelector.h"
00015 #include "GT2004RobotStateDetector.h"
00016 
00017 /**
00018 * RobotStateDetector selection module.
00019 *
00020 * A selector for robot state selectors
00021 */
00022 class RobotStateDetectorSelector : public ModuleSelector, public RobotStateDetectorInterfaces
00023 {
00024 public:
00025 /**
00026 * Constructor.
00027 * @param handler The module handler of the process.
00028 * @param interfaces The paramters of the RobotStateDetector module.
00029   */
00030   RobotStateDetectorSelector(ModuleHandler &handler, const RobotStateDetectorInterfaces& interfaces)
00031     : ModuleSelector(SolutionRequest::robotStateDetector),
00032     RobotStateDetectorInterfaces(interfaces)
00033   {
00034     handler.setModuleSelector(SolutionRequest::robotStateDetector, 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::gt2004RobotStateDetector:
00048       return new GT2004RobotStateDetector(*this);
00049     default:
00050       return 0;
00051     }
00052   }
00053 };
00054 
00055 #endif // RobotStateDetectorSelector_h_
00056 
00057 /*
00058 * Change log:
00059 *
00060 * $Log: RobotStateDetectorSelector.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:41  cvsadm
00065 * created new repository GT2004_WM
00066 *
00067 * Revision 1.3  2004/03/08 02:11:45  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:14  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.2  2002/09/12 09:45:58  juengel
00085 * continued change of module/solution mechanisms
00086 *
00087 * Revision 1.1  2002/09/10 15:36:15  cvsadm
00088 * Created new project GT2003 (M.L.)
00089 * - Cleaned up the /Src/DataTypes directory
00090 * - Removed challenge related source code
00091 * - Removed processing of incoming audio data
00092 * - Renamed AcousticMessage to SoundRequest
00093 *
00094 * Revision 1.2  2002/05/14 12:39:04  dueffert
00095 * corrected some documentation mistakes
00096 *
00097 * Revision 1.1.1.1  2002/05/10 12:40:15  cvsadm
00098 * Moved GT2002 Project from ute to tamara.
00099 *
00100 * Revision 1.2  2002/03/28 16:55:58  risler
00101 * RobotStateDetector receives BodyPercept instead of PerceptCollection
00102 * added switch duration in RobotStateDetector
00103 *
00104 * Revision 1.1  2002/02/05 03:52:16  loetzsch
00105 * added a few new module selectors
00106 *
00107 */

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