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

Modules/SpecialVision/SpecialVision.h

Go to the documentation of this file.
00001 /** 
00002 * @file SpecialVision.h
00003 * 
00004 * Definition of class SpecialVision
00005 *
00006 * @author <A href=mailto:juengel@informatik.hu-berlin.de>Matthias Juengel</A>
00007 * @author Martin Lötzsch
00008 */
00009 
00010 #ifndef __SpecialVision_h_
00011 #define __SpecialVision_h_
00012 
00013 #include "Tools/Module/Module.h"
00014 
00015 #include "Representations/Perception/Image.h"
00016 #include "Representations/Perception/SpecialPercept.h"
00017 #include "Representations/Perception/SpecialVisionRequest.h"
00018 #include "Representations/Perception/ColorTable.h"
00019 #include "Platform/Sensors.h"
00020 #include "Representations/Cognition/RobotPose.h"
00021 
00022 /** 
00023 * @class SpecialVisionInterfaces
00024 * 
00025 * The interfaces of the module SpecialVision
00026 */
00027 class SpecialVisionInterfaces
00028 {
00029 public:
00030   /** Constructor */
00031   SpecialVisionInterfaces(const Image& image, 
00032     const SpecialVisionRequest& specialVisionRequest,
00033     const ColorTable& colorTable,
00034     const RobotPose& robotPose,
00035     SpecialPercept& specialPercept,
00036     Sensors& sensors)
00037     : 
00038     image(image),
00039     specialVisionRequest(specialVisionRequest),
00040     colorTable(colorTable),
00041     robotPose(robotPose),
00042     specialPercept(specialPercept),
00043     sensors(sensors)
00044   {}
00045 protected:
00046   /** The image to be processed */
00047   const Image& image;
00048   
00049   /** A request from the behavior what to do */
00050   const SpecialVisionRequest& specialVisionRequest;
00051   
00052   /** A colortable ptr that can be used */
00053   const ColorTable& colorTable;
00054 
00055   /** A Robot-Pose that can be uses */
00056   const RobotPose& robotPose;
00057 
00058   /** The special percept to be generated */
00059   SpecialPercept& specialPercept;
00060 
00061   /** The sensors class (it's the cognition process itself, believe it or not !) */
00062   Sensors& sensors;
00063 };
00064 
00065 
00066 /**
00067 * @class SpecialVision
00068 *
00069 * The base class for special vision modules 
00070 */
00071 class SpecialVision : public Module, public SpecialVisionInterfaces
00072 {
00073 public:
00074 /** 
00075 * Constructor
00076 * @param interfaces The interfaces of the SpecialVision module 
00077   */
00078   SpecialVision(const SpecialVisionInterfaces& interfaces)
00079     : SpecialVisionInterfaces(interfaces)
00080   {}
00081   
00082   /** Destructor */
00083   virtual ~SpecialVision() {}
00084 };
00085 
00086 #endif // __SpecialVision_h_

Generated on Mon Mar 20 21:59:57 2006 for GT2005 by doxygen 1.3.6