00001 /** 00002 * @file CollisionDetector.h 00003 * 00004 * This file contains a generic class for collision detection. 00005 * 00006 * @author Daniel Göhring 00007 */ 00008 00009 #ifndef __CollisionDetector_h_ 00010 #define __CollisionDetector_h_ 00011 00012 00013 #include "Tools/Module/Module.h" 00014 00015 #include "Representations/Perception/SensorDataBuffer.h" 00016 #include "Representations/Perception/CollisionPercept.h" 00017 #include "Representations/Motion/MotionInfo.h" 00018 00019 /** 00020 * @class CollisionDetectorInterfaces 00021 * 00022 * The interfaces of the CollisionDetector module. 00023 */ 00024 class CollisionDetectorInterfaces 00025 { 00026 public: 00027 /** Constructor. */ 00028 CollisionDetectorInterfaces( 00029 const SensorDataBuffer& sensorDataBuffer, 00030 const MotionInfo& motionInfo, 00031 CollisionPercept& collisionPercept) 00032 : sensorDataBuffer(sensorDataBuffer), 00033 motionInfo(motionInfo), 00034 collisionPercept(collisionPercept) 00035 { 00036 } 00037 00038 /** The SensorDataBuffer */ 00039 const SensorDataBuffer& sensorDataBuffer; 00040 00041 /** The motions that are executed by the Motion process */ 00042 const MotionInfo& motionInfo; 00043 00044 /** The JointState to be generated */ 00045 CollisionPercept& collisionPercept; 00046 }; 00047 00048 00049 /** 00050 * @class CollisionDetector 00051 * 00052 * The base class for collision detectors 00053 * 00054 * @author Daniel Göhring 00055 */ 00056 class CollisionDetector : public Module, public CollisionDetectorInterfaces 00057 { 00058 public: 00059 /* 00060 * Constructor. 00061 * @param interfaces The paramters of the CollisionDetector module. 00062 */ 00063 CollisionDetector(const CollisionDetectorInterfaces& interfaces) 00064 : CollisionDetectorInterfaces(interfaces) 00065 {} 00066 00067 /** Destructor */ 00068 virtual ~CollisionDetector() {} 00069 }; 00070 00071 #endif // __CollisionDetector_h_ 00072 00073 /* 00074 * Change log : 00075 * 00076 * $Log: CollisionDetector.h,v $ 00077 * Revision 1.2 2004/05/27 09:09:19 loetzsch 00078 * clean up in the interfaces 00079 * 00080 * Revision 1.1.1.1 2004/05/22 17:19:06 cvsadm 00081 * created new repository GT2004_WM 00082 * 00083 * Revision 1.2 2004/03/08 01:38:48 roefer 00084 * Interfaces should be const 00085 * 00086 * Revision 1.1 2003/10/06 14:10:14 cvsadm 00087 * Created GT2004 (M.J.) 00088 * 00089 * Revision 1.3 2003/09/26 21:23:20 loetzsch 00090 * renamed class JointState to CollisionPercept 00091 * 00092 * Revision 1.2 2003/09/26 15:27:49 juengel 00093 * Renamed DataTypes to representations. 00094 * 00095 * Revision 1.1.1.1 2003/07/02 09:40:23 cvsadm 00096 * created new repository for the competitions in Padova from the 00097 * tamara CVS (Tuesday 2:00 pm) 00098 * 00099 * removed unused solutions 00100 * 00101 * Revision 1.5 2003/06/20 20:20:43 goehring 00102 * ExecutedMotionReques instead of MotionRequest implemented 00103 * 00104 * Revision 1.4 2003/05/23 09:31:59 goehring 00105 * CollisionDetector - Interface extended to MotionRequest 00106 * 00107 * Revision 1.3 2003/05/13 12:33:11 goehring 00108 * Revised 00109 * 00110 * Revision 1.2 2003/05/02 18:26:17 risler 00111 * SensorDataBuffer added 00112 * replaced SensorData with SensorDataBuffer 00113 * full SensorData resolution now accessible 00114 * 00115 * Revision 1.1 2003/04/25 19:48:08 goehring 00116 * Added new module CollisionDetector 00117 * 00118 * 00119 */