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

Tools/Debugging/DebugKeyTable.h

Go to the documentation of this file.
00001 /** 
00002 * @file DebugKeyTable.h
00003 * Declaration of class DebugKey and DebugKeyTable
00004 *
00005 * @author <A href=mailto:brunn@sim.informatik.tu-darmstadt.de>Ronnie Brunn</A>
00006 * @author <A href=mailto:risler@sim.informatik.tu-darmstadt.de>Max Risler</A>
00007 * @author Martin Lötzsch
00008 */
00009 
00010 #ifndef __DEBUGKEYTABLE_H__
00011 #define __DEBUGKEYTABLE_H__
00012 
00013 #include "Tools/Streams/InOut.h"
00014 
00015 /** 
00016 * @class DebugKey
00017 * 
00018 * Represents a request for debug output.
00019 */
00020 class DebugKey
00021 {
00022 public:
00023   enum modes { 
00024     disabled, /*!< dont send anything */
00025       always, /*!< always send the debug message */
00026       n_times, /*!< send the debug message the next n times (frames) */
00027       every_n_times, /*!< send the message every n times (frames) */
00028       every_n_ms /*!< send the message at most every n milliseconds */
00029   };
00030   
00031   /** the mode of this DebugKey */
00032   modes mode; 
00033   
00034   /** the parameter for timed or counted debug messages */
00035   unsigned int n; 
00036   
00037   /** last time (ever_n_ms) or number of times (every_n_times, n_times) the message was sent */
00038   unsigned long last; 
00039   
00040   /** 
00041   * Determines if the key is active in the current frame 
00042   * This is set by activateDebugKeys()
00043   */
00044   bool active;
00045   
00046   /**
00047   * construct a new DebugKey
00048   */
00049   DebugKey(modes mode=disabled, unsigned int n=0);
00050   
00051   /** sets the mode and the parameter of a DebugKey */
00052   void set(modes mode=always, unsigned int n=0);
00053 };
00054 
00055 
00056 /**
00057 * Contains a table of debug keys and all methods for using debug keys.
00058 *
00059 * @author <A href=mailto:brunn@sim.informatik.tu-darmstadt.de>Ronnie Brunn</A>
00060 * @author <A href=mailto:risler@sim.informatik.tu-darmstadt.de>Max Risler</A>
00061 * @author Martin Lötzsch
00062 */
00063 class DebugKeyTable
00064 {
00065 public:
00066 /**
00067 * IDs for Debug Keys.
00068 * enter new Debug Keys here and add the corresponding string in getDebugKeyName
00069   */
00070   enum debugKeyID {
00071       sendImage,
00072       sendJPEGImage,
00073       sendLowResImage,
00074       sendSensorData,
00075       sendJointData,
00076       sendOdometryData,
00077       sendMotionInfo,
00078       sendBodyPosture,
00079       sendPercepts,
00080       sendSpecialPercept,
00081       sendWorldState,
00082       sendGameControlData,
00083       sendPlayerConfig,
00084       sendSoundRequest,
00085       sendOptionRatings,
00086       sendKickRecords,
00087       
00088       sendTimeOffsets,
00089       printRobotStatus,
00090       printCBBRules,
00091       printPixelUsage,
00092       learnWalking,
00093       sendDDPInfo,
00094       sendWalkingEngineInfo,
00095       sendKickEngineInfo,
00096 
00097       numOfDebugKeysForDebugKeyToolbar,
00098 
00099       sendXabsl2DebugMessagesForBehaviorControl,
00100       sendXabsl2DebugMessagesForHeadControl,
00101       sendColorTable64,
00102       sendColorTableReferenceColor,
00103       sendColorTableCuboids,
00104       
00105       // histograms
00106       sendHistogram_imageIntensityY,
00107       sendHistogram_imageIntensityU,
00108       sendHistogram_imageIntensityV,
00109       sendHistogram_scanLineIntensityY,
00110       sendHistogram_scanLineIntensityU,
00111       sendHistogram_scanLineIntensityV,
00112       sendHistogram_colorFrequency,
00113       sendHistogram_lengthOfSegments,
00114       
00115       //image drawings
00116       send_selfLocator_drawing,
00117       send_imageProcessor_general_drawing,
00118       send_imageProcessor_horizon_drawing,
00119       send_imageProcessor_scanLines_drawing,
00120       send_imageProcessor_coloredSegments1_drawing,
00121       send_imageProcessor_coloredSegments2_drawing,
00122       send_imageProcessor_coloredSegments3_drawing,
00123       send_imageProcessor_calibration1_drawing,
00124       send_imageProcessor_calibration2_drawing,
00125       send_imageProcessor_ball1_drawing,
00126       send_imageProcessor_ball2_drawing,
00127       send_imageProcessor_ball3_drawing,
00128       send_imageProcessor_ball4_drawing,
00129       send_imageProcessor_ground_drawing,
00130       send_imageProcessor_flagsAndGoals_drawing,
00131       send_imageProcessor_obstacles_drawing,
00132       send_imageProcessor_gradients_drawing,
00133       send_imageProcessor_edges_drawing,
00134       send_sketch_drawing,
00135 
00136       //field drawings
00137       send_selfLocatorField_drawing,
00138       send_teamBallLocatorField_drawing,
00139       send_ballLocatorField_drawing,
00140     send_goaliePositionField_drawing,
00141       send_headControlField_drawing,
00142       // send_obstaclesLocatorField_drawing,
00143       send_behavior_CBBVector_drawing,
00144       send_behavior_CBBWay_drawing,
00145       send_behavior_kickAngles_drawing,
00146       send_behavior_aStarSearch_drawing,
00147       send_dribbleBall_drawing,
00148       
00149       //radar drawings
00150       send_behavior_kickAnglesRadar_drawing,
00151       send_models_corridorsRadar_drawing,
00152 
00153       //debug images
00154       send_segmentedImage1_image,
00155       send_segmentedImage2_image,
00156       send_segmentedImage3_image,
00157       send_classificationY_image,
00158       send_classificationU_image,
00159       send_classificationV_image,
00160       send_colorFrequency_image,
00161       send_imageProcessorGeneral_image,
00162       send_imageProcessorScanLines_image,
00163       send_imageProcessorBall_image,
00164       send_imageProcessorGoals_image,
00165       send_imageProcessorFlags_image,
00166       send_imageProcessorPlayers_image,
00167       send_imageProcessorGradients_image,
00168       send_imageMotionRecognition_image,
00169       
00170       //times
00171       sendImageProcessorTime,
00172       sendSensorDataProcessorTime,
00173       sendBallLocatorTime,
00174       sendTeamBallLocatorTime,
00175       sendSelfLocatorTime,
00176       sendPlayersLocatorTime,
00177       sendObstaclesLocatorTime,
00178       sendBehaviorControlTime,
00179       sendMotionControlTime,
00180       sendSoundControlTime,
00181       sendSpecialVisionTime,
00182       sendPerceptBehaviorControlTime,
00183       sendSensorBehaviorControlTime,
00184       sendHeadControlTime,
00185       sendCollisionDetectorTime,
00186       sendRobotStateDetectorTime,
00187       
00188       numOfDebugKeys
00189   } ;
00190   
00191   /**
00192   * returns the DebugKey's name
00193   */
00194   static char* getDebugKeyName (debugKeyID aID) 
00195   {
00196     switch (aID) {
00197     case sendImage: return "sendImage";
00198     case sendJPEGImage: return "sendJPEGImage";
00199     case sendLowResImage: return "sendLowResImage";
00200     case sendSensorData: return "sendSensorData";
00201     case sendJointData: return "sendJointData";
00202     case sendOdometryData: return "sendOdometryData";
00203     case sendMotionInfo: return "sendMotionInfo";
00204     case sendBodyPosture: return "sendBodyPosture";
00205     case sendPercepts: return "sendPercepts";
00206     case sendSpecialPercept: return "sendSpecialPercept";
00207     case sendWorldState: return "sendWorldState";
00208     case sendGameControlData: return "sendGameControlData";
00209     case sendPlayerConfig: return "sendPlayerConfig";
00210     case sendSoundRequest: return "sendSoundRequest";
00211       
00212     case sendXabsl2DebugMessagesForBehaviorControl: return "sendXabsl2DebugMessagesForBehaviorControl";
00213     case sendXabsl2DebugMessagesForHeadControl: return "sendXabsl2DebugMessagesForHeadControl";
00214     case sendTimeOffsets: return "sendTimeOffsets";
00215     case sendColorTable64: return "sendColorTable64";
00216     case sendColorTableCuboids: return "sendColorTableCuboids";
00217     case sendColorTableReferenceColor: return "sendColorTableReferenceColor";
00218     case printRobotStatus: return "printRobotStatus";
00219     case printCBBRules: return "printCBBRules";
00220     case printPixelUsage: return "printPixelUsage";
00221     case learnWalking: return "learnWalking";
00222     case sendDDPInfo: return "printDogDiscoveryProtocolInformation";
00223     case sendKickRecords: return "sendKickRecords";
00224     case sendWalkingEngineInfo: return "sendWalkingEngineInfo";
00225     case sendKickEngineInfo: return "sendKickEngineInfo";
00226       
00227       // histograms
00228     case sendHistogram_imageIntensityY: return "sendHistogram_imageIntensityY";
00229     case sendHistogram_imageIntensityU: return "sendHistogram_imageIntensityU";
00230     case sendHistogram_imageIntensityV: return "sendHistogram_imageIntensityV";
00231     case sendHistogram_scanLineIntensityY: return "sendHistogram_scanLineIntensityY";
00232     case sendHistogram_scanLineIntensityU: return "sendHistogram_scanLineIntensityU";
00233     case sendHistogram_scanLineIntensityV: return "sendHistogram_scanLineIntensityV";
00234     case sendHistogram_colorFrequency: return "sendHistogram_colorFrequency";
00235     case sendHistogram_lengthOfSegments: return "sendHistogram_lengthOfSegments";
00236       
00237       //image drawings
00238     case send_selfLocator_drawing: return "send_selfLocator_drawing";
00239     case send_imageProcessor_general_drawing: return "send_imageProcessor_general_drawing";
00240     case send_imageProcessor_horizon_drawing: return "send_imageProcessor_horizon_drawing";
00241     case send_imageProcessor_scanLines_drawing: return "send_imageProcessor_scanLines_drawing";
00242     case send_imageProcessor_coloredSegments1_drawing: return "send_imageProcessor_coloredSegments1_drawing";
00243     case send_imageProcessor_coloredSegments2_drawing: return "send_imageProcessor_coloredSegments2_drawing";
00244     case send_imageProcessor_coloredSegments3_drawing: return "send_imageProcessor_coloredSegments3_drawing";
00245     case send_imageProcessor_calibration1_drawing: return "send_imageProcessor_calibration1_drawing";
00246     case send_imageProcessor_calibration2_drawing: return "send_imageProcessor_calibration2_drawing";
00247     case send_imageProcessor_ball1_drawing: return "send_imageProcessor_ball1_drawing";
00248     case send_imageProcessor_ball2_drawing: return "send_imageProcessor_ball2_drawing";
00249     case send_imageProcessor_ball3_drawing: return "send_imageProcessor_ball3_drawing";
00250     case send_imageProcessor_ball4_drawing: return "send_imageProcessor_ball4_drawing";
00251     case send_imageProcessor_ground_drawing: return "send_imageProcessor_ground_drawing";
00252     case send_imageProcessor_flagsAndGoals_drawing: return "send_imageProcessor_flagsAndGoals_drawing";
00253     case send_imageProcessor_obstacles_drawing: return "send_imageProcessor_obstacles_drawing";
00254     case send_imageProcessor_gradients_drawing: return "send_imageProcessor_gradients_drawing";
00255     case send_imageProcessor_edges_drawing: return "send_imageProcessor_edges_drawing";
00256     case send_sketch_drawing: return "send_sketch_drawing";
00257       
00258       // field drawings
00259     case send_ballLocatorField_drawing: return "send_ballLocatorField_drawing";
00260     case send_goaliePositionField_drawing: return "send_goaliePositionField_drawing";   
00261     case send_selfLocatorField_drawing: return "send_selfLocatorField_drawing";
00262     case send_headControlField_drawing: return "send_headControlField_drawing";
00263     case send_teamBallLocatorField_drawing: return "send_teamBallLocatorField_drawing";
00264       //    case send_obstaclesLocatorField_drawing: return "send_obstaclesLocatorField_drawing";
00265     case send_behavior_CBBVector_drawing: return "send_behavior_CBBVector_drawing";
00266     case send_behavior_CBBWay_drawing: return "send_behavior_CBBWay_drawing";
00267     case send_behavior_kickAngles_drawing: return "send_behavior_kickAngles_drawing";
00268     case send_behavior_aStarSearch_drawing: return "send_behavior_aStarSearch_drawing";
00269     case send_dribbleBall_drawing: return "send_dribbleBall_drawing";
00270       
00271       // radar drawings 
00272     case send_models_corridorsRadar_drawing: return "send_models_corridorsRadar";
00273     case send_behavior_kickAnglesRadar_drawing: return "send_behavior_kickAnglesRadar_drawing";
00274       
00275       // debug images
00276     case send_segmentedImage1_image: return "send_segmentedImage1_image";
00277     case send_segmentedImage2_image: return "send_segmentedImage2_image";
00278     case send_segmentedImage3_image: return "send_segmentedImage3_image";
00279     case send_classificationY_image: return "send_classificationY_image";
00280     case send_classificationU_image: return "send_classificationU_image";
00281     case send_classificationV_image: return "send_classificationV_image";
00282     case send_colorFrequency_image: return "send_colorFrequency_image";
00283     case send_imageProcessorGeneral_image: return "send_imageProcessorGeneral_image";
00284     case send_imageProcessorScanLines_image: return "send_imageProcessorScanLines_image";
00285     case send_imageProcessorBall_image: return "send_imageProcessorBall_image";
00286     case send_imageProcessorGoals_image: return "send_imageProcessorGoals_image";
00287     case send_imageProcessorFlags_image: return "send_imageProcessorFlags_image";
00288     case send_imageProcessorPlayers_image: return "send_imageProcessorPlayers_image";
00289     case send_imageProcessorGradients_image: return "send_imageProcessorGradients_image";
00290   case send_imageMotionRecognition_image: return "send_imageMotionRecognition_image";
00291         
00292       // times
00293     case sendImageProcessorTime: return "sendImageProcessorTime";
00294     case sendSensorDataProcessorTime: return "sendSensorDataProcessorTime";
00295     case sendBallLocatorTime: return "sendBallLocatorTime";
00296     case sendTeamBallLocatorTime: return "sendTeamBallLocatorTime";
00297     case sendSelfLocatorTime: return "sendSelfLocatorTime";
00298     case sendPlayersLocatorTime: return "sendPlayersLocatorTime";
00299     case sendObstaclesLocatorTime: return "sendObstaclesLocatorTime";
00300     case sendBehaviorControlTime: return "sendBehaviorControlTime";
00301     case sendMotionControlTime: return "sendMotionControlTime";
00302     case sendSoundControlTime: return "sendSoundControlTime";
00303     case sendSpecialVisionTime: return "sendSpecialVisionTime";
00304     case sendPerceptBehaviorControlTime: return "sendPerceptBehaviorControlTime";
00305     case sendSensorBehaviorControlTime: return "sendSensorBehaviorControlTime";
00306     case sendHeadControlTime: return "sendHeadControlTime";
00307     case sendCollisionDetectorTime: return "sendCollisionDetectorTime";
00308     case sendRobotStateDetectorTime: return "sendRobotStateDetectorTime";
00309 
00310       //option ratings
00311     case sendOptionRatings: return "sendOptionRatings";
00312       
00313     default: return "please edit DebugKeyTable::getDebugKeyName!";
00314     }
00315   }
00316   
00317 protected:  
00318 /**
00319 * The Debug Key Table
00320   */
00321   DebugKey debugKeys[numOfDebugKeys];
00322   
00323 public:
00324   /** Constructor, resets the table */
00325   DebugKeyTable();
00326   
00327   /** sets a debug key */
00328   void set(debugKeyID id, DebugKey::modes mode=DebugKey::always, int n=0);
00329   
00330   /** sets only the mode of a debug key */
00331   void setMode(debugKeyID id, DebugKey::modes mode);
00332   
00333   /** sets only the parameter n of a debug key */
00334   void setN(debugKeyID id, unsigned int n);
00335   
00336   /** returns the mode of a debug key */
00337   DebugKey::modes getMode(debugKeyID id) const;
00338   
00339   /** returns the parameter n of a debug key */
00340   unsigned int getN(debugKeyID id) const;
00341   
00342   /** returns whether an debug Key is active in the current frame */
00343   bool isActive (debugKeyID id) const;
00344   
00345   /** resets all debug keys to disabled */
00346   void reset();
00347   
00348   /** Determines for all keys if they are active in the current frame */
00349   void activate();
00350   
00351   /** the == operator */
00352   bool operator == (const DebugKeyTable& other);
00353   
00354   /** the != operator */
00355   bool operator != (const DebugKeyTable& other) 
00356   { return ! (*this == other); }
00357 };
00358 
00359 /**
00360 * Streaming operator that reads a DebugKeyTable from a stream.
00361 * @param stream The stream from which is read.
00362 * @param debugKeyTable The DebugKeyTable object.
00363 * @return The stream.
00364 */ 
00365 In& operator>>(In& stream,DebugKeyTable& debugKeyTable);
00366 
00367 /**
00368 * Streaming operator that writes a DebugKeyTable to a stream.
00369 * @param stream The stream to write on.
00370 * @param debugKeyTable The DebugKeyTable object.
00371 * @return The stream.
00372 */ 
00373 Out& operator<<(Out& stream, DebugKeyTable& debugKeyTable);
00374 
00375 
00376 #endif //__DEBUGKEYTABLE_H__
00377 
00378 /*
00379 * Change log :
00380 * 
00381 * $Log: DebugKeyTable.h,v $
00382 * Revision 1.7  2004/06/27 14:53:51  altmeyer
00383 * new GoaliePositionBenjamin and new debug key send_goaliePositionField
00384 *
00385 * Revision 1.6  2004/06/20 15:22:36  risler
00386 * increased kick editor usability:
00387 * KickLogger now sends kick record via debug key instead of writing to file
00388 * KickEditor automatically displays sent kick records
00389 * KickCase moved to KickSelectionTable
00390 *
00391 * Revision 1.5  2004/06/17 14:15:27  spranger
00392 * replaced executedMotionRequest-debugKeys and Messages with motionInfo from Motion
00393 *
00394 * Revision 1.4  2004/06/15 10:58:28  thomas
00395 * added edge-specialist, edges-percept, debug-drawings etc. (not yet called from image-processor)
00396 *
00397 * Revision 1.3  2004/06/14 20:12:10  jhoffman
00398 * - numerous changes and additions to headcontrol
00399 * - cameraInfo default constructor now creates ERS7 info
00400 * - debug drawing "headcontrolfield" added
00401 *
00402 * Revision 1.2  2004/05/26 17:12:01  juengel
00403 * Added sendBodyPosture.
00404 *
00405 * Revision 1.1.1.1  2004/05/22 17:36:05  cvsadm
00406 * created new repository GT2004_WM
00407 *
00408 * Revision 1.19  2004/05/17 18:35:23  loetzsch
00409 * continued support for multiple Xabsl engines in different modules
00410 *
00411 * Revision 1.18  2004/04/08 15:33:08  wachter
00412 * GT04 checkin of Microsoft-Hellounds
00413 *
00414 * Revision 1.18  2004/04/01 14:45:29  kindler
00415 * - added debug keys for walking- and kick-engine
00416 *
00417 * Revision 1.17  2004/03/26 11:42:21  pg_arce
00418 * improved catch and turn with ball
00419 *
00420 * Revision 1.16  2004/02/12 14:29:44  juengel
00421 * Added drawing ball4.
00422 *
00423 * Revision 1.15  2004/02/03 23:16:46  loetzsch
00424 * added debug key sendShootRecords
00425 *
00426 * Revision 1.14  2004/01/28 15:40:48  schumann
00427 * added transmission of ball locator debugging
00428 *
00429 * Revision 1.13  2004/01/24 18:35:03  wachter
00430 * Reactivated debug-drawings in SensorFusionTeamBallLocator
00431 *
00432 * Revision 1.12  2004/01/21 17:33:09  wachter
00433 * UDP Team-communication now working with packets<1400 bytes.
00434 * Not activated at the moment.
00435 *
00436 * Revision 1.11  2004/01/20 15:46:17  tim
00437 * Added drawing for potential field A* search
00438 *
00439 * Revision 1.10  2004/01/03 23:07:49  ordyniak
00440 * new debugimage imageMotionRecognition
00441 *
00442 * Revision 1.9  2003/12/29 15:48:54  roefer
00443 * Bremen Byters evo walking added
00444 *
00445 * Revision 1.8  2003/12/28 19:03:29  kerdels
00446 * option rating dialog added
00447 *
00448 * Revision 1.7  2003/12/01 16:24:18  juengel
00449 * Added drawing ball3.
00450 *
00451 * Revision 1.6  2003/11/05 16:43:59  juengel
00452 * Added drawing imageProcessor_ball2
00453 *
00454 * Revision 1.5  2003/10/29 13:34:22  juengel
00455 * added drawing imageProcessor_coloredSegments
00456 * an image colorFrequencyImage
00457 *
00458 * Revision 1.4  2003/10/23 07:21:20  juengel
00459 * Renamed ColorTableAuto to ColorTableReferenceColor.
00460 *
00461 * Revision 1.3  2003/10/12 20:25:29  juengel
00462 * Added keys for debug images.
00463 *
00464 * Revision 1.2  2003/10/12 11:50:30  juengel
00465 * Added DebugKey sendColorTable64.
00466 *
00467 * Revision 1.1  2003/10/07 10:13:22  cvsadm
00468 * Created GT2004 (M.J.)
00469 *
00470 * Revision 1.10  2003/09/26 15:28:10  juengel
00471 * Renamed DataTypes to representations.
00472 *
00473 * Revision 1.9  2003/09/25 11:21:59  juengel
00474 * Removed BlobCollection.
00475 *
00476 * Revision 1.8  2003/09/01 16:18:58  juengel
00477 * Not all DebugKeys are displayed in DebugKeysToolBar.
00478 *
00479 * Revision 1.7  2003/09/01 15:09:37  juengel
00480 * Removed playersPerceptor
00481 *
00482 * Revision 1.6  2003/09/01 10:23:14  juengel
00483 * DebugDrawings clean-up 2
00484 * DebugImages clean-up
00485 * MessageIDs clean-up
00486 * Stopwatch clean-up
00487 *
00488 * Revision 1.5  2003/08/30 10:16:41  juengel
00489 * DebugDrawings clean-up 1
00490 *
00491 * Revision 1.4  2003/08/25 17:23:01  juengel
00492 * Added Histograms
00493 *
00494 * Revision 1.3  2003/08/18 11:51:34  juengel
00495 * Added sendColorTableAuto
00496 *
00497 * Revision 1.2  2003/07/03 10:50:17  juengel
00498 * Added Drawing kickAnglesRadar.
00499 *
00500 * Revision 1.1.1.1  2003/07/02 09:40:28  cvsadm
00501 * created new repository for the competitions in Padova from the 
00502 * tamara CVS (Tuesday 2:00 pm)
00503 *
00504 * removed unused solutions
00505 *
00506 * Revision 1.61  2003/06/21 12:46:56  juengel
00507 * Added sendRobotStateDetectorTime.
00508 *
00509 * Revision 1.60  2003/06/19 18:35:30  juengel
00510 * Added drawing kickAngles.
00511 *
00512 * Revision 1.59  2003/06/05 08:15:10  juengel
00513 * Added "corridors" drawing.
00514 *
00515 * Revision 1.58  2003/05/26 20:35:24  goehring
00516 * collisionDetectorTime added
00517 *
00518 * Revision 1.57  2003/05/09 16:21:58  engel
00519 * DebugKey changed for the GaussBellTeamBallLocator
00520 *
00521 * Revision 1.56  2003/05/08 13:20:22  loetzsch
00522 * added the execution of the team ball locator to the Cognition process
00523 *
00524 * Revision 1.55  2003/05/05 12:26:35  juengel
00525 * Removed sendGridImageProcessor2ColorCubes
00526 *
00527 * Revision 1.54  2003/04/30 09:17:08  kallnik
00528 * renamed some DebugKeys and defines
00529 *
00530 * Revision 1.53  2003/04/28 11:01:02  kallnik
00531 * new ContinuousBasicBehavior version (NORules is taken from number of lines in Rules-section
00532 * and some bugfixes
00533 *
00534 * Revision 1.52  2003/04/25 12:57:14  kallnik
00535 * new version of ContinuousBasicBehavior released
00536 *
00537 * Revision 1.51  2003/04/16 14:14:38  loetzsch
00538 * removed Xabsl 1 from GT2003
00539 *
00540 * Revision 1.50  2003/04/16 07:00:17  roefer
00541 * Bremen GO checkin
00542 *
00543 * Revision 1.49  2003/04/15 15:52:07  risler
00544 * DDD GO 2003 code integrated
00545 *
00546 * Revision 1.48  2003/04/10 13:53:43  max
00547 * send_playerSpecialistDrawing added
00548 *
00549 * Revision 1.47  2003/04/09 15:51:56  kallnik
00550 * ContinuousBasicBehavior Debug Drawing   for   ContinuousBasicBehaviorTester
00551 *
00552 * Revision 1.48  2003/03/29 20:01:05  loetzsch
00553 * added missing key "printAdviseOutput"
00554 *
00555 * Revision 1.47  2003/03/29 13:10:57  thiel
00556 * added HexAreaPotentialfieldOutput messages
00557 * added DroneOutput messages
00558 * added VisionaryOutput messages
00559 *
00560 * Revision 1.46  2003/03/28 14:13:58  loetzsch
00561 * added debug drawing areaOfResponsibility
00562 *
00563 * Revision 1.45  2003/03/27 13:12:09  schumann
00564 * added strategicalDatabaseOutput messages
00565 *
00566 * Revision 1.44  2003/03/25 10:54:56  juengel
00567 * Added some descriptions.
00568 *
00569 * Revision 1.43  2003/03/25 08:47:11  dasmuli
00570 * Added simple segmentation and the 180/360 memory. Dialog was changed in order to display segemented data.
00571 *
00572 * Revision 1.42  2003/03/24 09:56:50  schumann
00573 * added profiling for strategical database
00574 *
00575 * Revision 1.41  2003/03/21 12:22:21  thiel
00576 * added hexAreaPotentialfieldDrawing
00577 *
00578 * Revision 1.40  2003/03/19 20:16:19  schumann
00579 * added strategical database drawing
00580 *
00581 * Revision 1.39  2003/03/19 15:39:08  jhoffman
00582 * changed drawing name
00583 *
00584 * Revision 1.38  2003/03/19 09:37:46  dueffert
00585 * merge warning removed
00586 *
00587 * Revision 1.37  2003/03/19 09:34:00  dueffert
00588 * merge bug fixed
00589 *
00590 * Revision 1.36  2003/03/19 09:09:55  dueffert
00591 * no message
00592 *
00593 * Revision 1.35  2003/03/15 13:25:49  juengel
00594 * Added descriptions for several debug drawings and debug keys.
00595 *
00596 * Revision 1.34  2003/03/12 13:46:04  dasmuli
00597 * PlayersPerceptor added to cognition, modules.cfg, DebugKey-table etc.
00598 *
00599 * Revision 1.33  2003/03/10 14:06:35  juengel
00600 * Added ObstaclesLocator
00601 *
00602 * Revision 1.32  2003/03/07 19:05:13  juengel
00603 * Added sendExecutedMotionRequest
00604 *
00605 * Revision 1.31  2003/03/07 15:35:59  wachter
00606 * Added debug-drawings for SensorFusionBall and PlayerLocator.
00607 *
00608 * Revision 1.30  2003/03/05 14:07:10  roefer
00609 * LinesPerceptor2 is now LinesImageProcessor
00610 *
00611 * Revision 1.29  2003/03/05 10:35:35  jhoffman
00612 * added debugdrawing
00613 *
00614 * Revision 1.28  2003/03/04 14:52:33  juengel
00615 * Added sendParametersFromGridImageProcessor2
00616 *
00617 * Revision 1.27  2003/02/27 12:56:35  juengel
00618 * Added some drawings.
00619 *
00620 * Revision 1.26  2003/02/19 15:01:23  roefer
00621 * LinesPerceptor2 added
00622 *
00623 * Revision 1.25  2003/02/18 13:24:37  wachter
00624 * added new TeamMessageCollection and TeamMessage
00625 *
00626 * Revision 1.24  2003/02/16 08:29:40  roefer
00627 * sendOdometryData added
00628 *
00629 * Revision 1.23  2003/02/11 23:12:50  roefer
00630 * useConstantBodyPose debug key added
00631 *
00632 * Revision 1.22  2003/02/08 18:40:06  juengel
00633 * added imageProcessorDrawing
00634 *
00635 * Revision 1.21  2003/02/06 17:04:43  goehring
00636 * Added BarcodeReaderTest Key
00637 *
00638 * Revision 1.20  2003/01/15 13:47:29  roefer
00639 * Progress in LinesSelfLocator, new debug drawing
00640 *
00641 * Revision 1.19  2003/01/13 18:26:04  juengel
00642 * Added LineFollowerField drawing
00643 *
00644 * Revision 1.18  2003/01/08 18:46:52  loetzsch
00645 * added key sendXabsl2Messages
00646 *
00647 * Revision 1.17  2002/11/28 20:42:47  risler
00648 * added walking drawing
00649 *
00650 * Revision 1.16  2002/11/26 19:22:18  juengel
00651 * added stopwatchID for SensorBehaviorControl
00652 *
00653 * Revision 1.15  2002/11/20 15:46:27  juengel
00654 * PathPlanner added.
00655 *
00656 * Revision 1.14  2002/11/19 17:12:39  juengel
00657 * Line Follower added.
00658 *
00659 * Revision 1.13  2002/11/19 15:43:03  dueffert
00660 * doxygen comments corrected
00661 *
00662 * Revision 1.12  2002/11/18 19:24:16  juengel
00663 * Line Follower added.
00664 *
00665 * Revision 1.11  2002/11/18 17:30:31  loetzsch
00666 * Sound requests generated from BehaviorControl are now automatically sent
00667 * to RobotControl and played there.
00668 *
00669 * Revision 1.10  2002/11/18 10:33:30  juengel
00670 * renamed drawing keys
00671 *
00672 * Revision 1.9  2002/10/11 13:54:44  roefer
00673 * JPEGImage added
00674 *
00675 * Revision 1.8  2002/10/10 13:30:14  jhoffman
00676 * added ISL related stuff
00677 *
00678 * Revision 1.7  2002/10/10 13:09:50  loetzsch
00679 * First experiments with the PSD Sensor
00680 * - SensorDataProcessor now calculates PSDPercept
00681 * - Added the PerceptBehaviorControl solution PSDTest
00682 * - Added the RadarViewer3D to RobotControl, which can display the Points3D structure
00683 *
00684 * Revision 1.6  2002/10/02 15:50:55  loetzsch
00685 * added the debug key sendPerceptBehaviorControlTime
00686 *
00687 * Revision 1.5  2002/10/01 11:14:34  loetzsch
00688 * Redesigned DebugKey and DebugKeyTable
00689 *
00690 * Revision 1.4  2002/09/29 18:03:29  loetzsch
00691 * renamed calculate... to activateDebugKeys
00692 *
00693 * Revision 1.3  2002/09/29 12:32:37  juengel
00694 * Changed semantics of "debug key is active".
00695 * If a debug key is active changes only before the execution of a process.
00696 *
00697 * Revision 1.2  2002/09/18 16:35:13  loetzsch
00698 * made GT2003 compilable,
00699 * rechanged message ids
00700 *
00701 * Revision 1.1  2002/09/10 15:53:58  cvsadm
00702 * Created new project GT2003 (M.L.)
00703 * - Cleaned up the /Src/DataTypes directory
00704 * - Removed challenge related source code
00705 * - Removed processing of incoming audio data
00706 * - Renamed AcousticMessage to SoundRequest
00707 *
00708 * Revision 1.16  2002/09/07 13:36:57  loetzsch
00709 * unified the vision modules into one module "ImageProcessor"
00710 * - FloodFillRLEImageProcessor, BallPerceptor, LandmarksPerceptor
00711 *   and PlayersPerceptor were are combined to the new solution
00712 *   "BlobImageProcessor"
00713 * - The GridImageProcessor and the SubPixelGradientCalculator became
00714 *   a solution of "ImageProcessor"
00715 *
00716 * Revision 1.15  2002/08/21 11:50:44  cesarz
00717 * GT2001PlayersPerceptor, BerlinSelfLocator, GT2001WalkingEngine,
00718 * DoWalkingEngine, FuzzyBehaviorControl, BremenGOBehaviorControl,
00719 * FuzzyBehaviortesterdlgbar and Behaviortesterdlgbar removed.
00720 *
00721 * Revision 1.14  2002/08/04 19:42:10  roefer
00722 * SimGT2002 receives player config
00723 *
00724 * Revision 1.13  2002/07/23 13:48:28  loetzsch
00725 * - new streaming classes
00726 * - removed many #include statements
00727 * - exchanged StaticQueue by MessageQueue
00728 * - new debug message handling
00729 * - general clean up
00730 *
00731 * Revision 1.12  2002/06/12 17:57:20  juengel
00732 * sendImageFromPatternPerceptor added.
00733 *
00734 * Revision 1.11  2002/06/08 11:44:00  mkunz
00735 * Special Percept on Field
00736 *
00737 * Revision 1.10  2002/06/04 00:11:52  loetzsch
00738 * added == and != operator
00739 *
00740 * Revision 1.9  2002/06/01 10:12:20  juengel
00741 * DebugKey sendCrosshairsDrawing added.
00742 *
00743 * Revision 1.8  2002/05/24 23:01:04  mkunz
00744 * "sendBarDrawing"-Key corected
00745 *
00746 * Revision 1.7  2002/05/17 11:59:03  brunn
00747 * fixed merge error
00748 *
00749 * Revision 1.6  2002/05/17 11:51:48  brunn
00750 * first experimental version of the barPerceptor
00751 *
00752 * Revision 1.5  2002/05/17 11:44:50  dueffert
00753 * missing enum added
00754 *
00755 * Revision 1.4  2002/05/16 08:33:59  juengel
00756 * Added DebugDrawing "pattern"
00757 *
00758 * Revision 1.3  2002/05/14 21:01:08  hebbel
00759 * added id for SoundInProcessor
00760 *
00761 * Revision 1.2  2002/05/10 17:30:03  juengel
00762 * Added SpecialVision and SpecialPercept.
00763 *
00764 * Revision 1.27  2002/05/05 22:17:06  loetzsch
00765 * GameControlData can now be sent from the Game toolbar to BehaviorControl
00766 *
00767 * Revision 1.26  2002/05/05 22:12:42  loetzsch
00768 * GameControlData can now be sent from the Game toolbar to BehaviorControl
00769 *
00770 * Revision 1.25  2002/05/03 17:15:17  giese
00771 * StopTimeOnRequest for SoundOutControl added
00772 *
00773 * Revision 1.24  2002/04/23 14:16:47  jhoffman
00774 * added gradient image processor
00775 *
00776 * Revision 1.1.1.1  2002/04/10 11:03:22  juengel
00777 * no message
00778 *
00779 * Revision 1.23  2002/04/08 19:53:14  juengel
00780 * Drawing of percept collections in images added.
00781 *
00782 * Revision 1.22  2002/04/08 15:58:51  fischer
00783 * Added functionality to Fuzzy Behavior Control Tester
00784 *
00785 * Revision 1.21  2002/04/04 18:43:59  juengel
00786 * FlagSpecialist improved.
00787 *
00788 * Revision 1.20  2002/04/02 15:05:39  loetzsch
00789 * XabslDlgBar can now test skills
00790 *
00791 * Revision 1.19  2002/04/02 10:30:34  juengel
00792 * GridImageProcessor enhanced.
00793 *
00794 * Revision 1.18  2002/03/24 18:15:01  loetzsch
00795 * continued change to blocking sensor data receivers
00796 *
00797 * Revision 1.17  2002/03/24 17:47:02  juengel
00798 * LinesPercept defined and LinesPerceptor added.
00799 *
00800 * Revision 1.16  2002/02/25 15:07:45  loetzsch
00801 * neue keys
00802 *
00803 * Revision 1.15  2002/02/24 10:02:21  juengel
00804 * TimeDiagramDlgBar completed.
00805 *
00806 * Revision 1.14  2002/02/22 17:17:33  loetzsch
00807 * DebugKey "SendAllStopWatches" removed
00808 *
00809 * Revision 1.13  2002/02/21 14:21:50  loetzsch
00810 * Debug Keys for stop watch added
00811 *
00812 * Revision 1.12  2002/02/18 15:36:16  loetzsch
00813 * added a debug key for monte carlo drawings
00814 *
00815 * Revision 1.11  2002/02/05 03:39:23  loetzsch
00816 * added ids for sending world states and percept collections
00817 *
00818 * Revision 1.10  2002/01/28 14:01:56  loetzsch
00819 * useless DebugKeys removed
00820 *
00821 * Revision 1.9  2002/01/23 12:36:16  juengel
00822 * DebugDrawing Makros eingefügt.
00823 *
00824 * Revision 1.8  2002/01/23 07:50:03  loetzsch
00825 * removed workaround in the >> streaming operator
00826 *
00827 * Revision 1.7  2002/01/22 14:55:15  juengel
00828 * ImageToPerceptCollection eingeführt
00829 *
00830 * Revision 1.6  2002/01/20 23:34:27  loetzsch
00831 * Sending images and sensor data to processes running in RobotControl now possible
00832 *
00833 * Revision 1.5  2002/01/19 08:07:29  juengel
00834 * stopwatch weiterentwickelt
00835 *
00836 * Revision 1.4  2001/12/20 17:13:42  loetzsch
00837 * streaming operators implemented,  simplified
00838 *
00839 * Revision 1.3  2001/12/13 15:03:02  loetzsch
00840 * DebugKeyToolBar fertig
00841 *
00842 * Revision 1.2  2001/12/12 18:55:23  loetzsch
00843 * Representations/DebugKeyTable.h entfernt
00844 *
00845 * Revision 1.1  2001/12/12 15:21:09  juengel
00846 * CDebugKeyToolBar in eigenes .cpp und .h File verlagert.
00847 *
00848 * Revision 1.5  2001/12/10 17:47:05  risler
00849 * change log added
00850 *
00851 */

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