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_