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_ 00087 00088 /* 00089 * Change log : 00090 * 00091 * $Log: SpecialVision.h,v $ 00092 * Revision 1.4 2004/06/28 12:07:05 kerdels 00093 * added a Special Vision AutoShutter... 00094 * 00095 * Revision 1.3 2004/06/28 12:01:34 kerdels 00096 * added a Special Vision AutoShutter... 00097 * 00098 * Revision 1.2 2004/06/28 11:54:56 wachter 00099 * Added Special-Vision classes for Challenge 00100 * 00101 * Revision 1.1.1.1 2004/05/22 17:22:25 cvsadm 00102 * created new repository GT2004_WM 00103 * 00104 * Revision 1.2 2004/03/08 02:11:53 roefer 00105 * Interfaces should be const 00106 * 00107 * Revision 1.1 2003/10/06 14:10:13 cvsadm 00108 * Created GT2004 (M.J.) 00109 * 00110 * Revision 1.2 2003/09/26 15:27:48 juengel 00111 * Renamed DataTypes to representations. 00112 * 00113 * Revision 1.1.1.1 2003/07/02 09:40:24 cvsadm 00114 * created new repository for the competitions in Padova from the 00115 * tamara CVS (Tuesday 2:00 pm) 00116 * 00117 * removed unused solutions 00118 * 00119 * Revision 1.5 2003/02/21 18:32:04 roefer 00120 * pColorTable -> colorTable finished 00121 * 00122 * Revision 1.4 2003/02/18 21:29:17 osterhues 00123 * Changed all instances of ColorTable64 to new base class ColorTable 00124 * 00125 * Revision 1.3 2002/11/19 15:43:03 dueffert 00126 * doxygen comments corrected 00127 * 00128 * Revision 1.2 2002/09/17 23:55:22 loetzsch 00129 * - unraveled several datatypes 00130 * - changed the WATCH macro 00131 * - completed the process restructuring 00132 * 00133 * Revision 1.1 2002/09/10 15:36:16 cvsadm 00134 * Created new project GT2003 (M.L.) 00135 * - Cleaned up the /Src/DataTypes directory 00136 * - Removed challenge related source code 00137 * - Removed processing of incoming audio data 00138 * - Renamed AcousticMessage to SoundRequest 00139 * 00140 * Revision 1.3 2002/07/23 13:33:40 loetzsch 00141 * new streaming classes 00142 * 00143 * removed many #include statements 00144 * 00145 * Revision 1.2 2002/06/02 23:21:09 roefer 00146 * Single color table and progress in LinesSelfLocator 00147 * 00148 * Revision 1.1 2002/05/10 17:40:26 juengel 00149 * Added SpecialVision and SpecialPercept. 00150 * 00151 */