00001 /** 00002 * @file CollisionPercept.h 00003 * 00004 * Declaration of class CollisionPercept 00005 * 00006 * @author <a href="mailto:goehring@informatik.hu-berlin.de">Daniel Goehring</a> 00007 */ 00008 00009 #ifndef __CollisionPercept_h_ 00010 #define __CollisionPercept_h_ 00011 00012 #include "Tools/Streams/InOut.h" 00013 #include "Representations/Motion/JointData.h" 00014 00015 00016 /** 00017 * Contains detected collisions for each joint. 00018 */ 00019 class CollisionPercept 00020 { 00021 public: 00022 /** Constructor */ 00023 CollisionPercept(); 00024 00025 /** Reset all states */ 00026 void reset(); 00027 00028 /** Destructor */ 00029 ~CollisionPercept(); 00030 00031 double state[JointData::numOfJoint]; 00032 00033 /** Did collision occur at front left leg */ 00034 bool getCollisionFrontLeft() const; 00035 00036 /** Did collision occur at front right leg */ 00037 bool getCollisionFrontRight() const; 00038 00039 /** Did collision occur at hind left leg */ 00040 bool getCollisionHindLeft() const; 00041 00042 /** Did collision occur at hind left leg */ 00043 bool getCollisionHindRight() const; 00044 00045 /** Did collision occur at head */ 00046 bool getCollisionHead() const; 00047 00048 /** Did collision occur at any body part */ 00049 bool getCollisionAggregate() const; 00050 00051 /** Quantitative Value for occurred collision */ 00052 double getOdometryDisturbance() const; 00053 00054 /** the last perceived frame */ 00055 unsigned long frameNumber; 00056 00057 /** sets frame number */ 00058 void setFrameNumber(unsigned long frameNumber) {this->frameNumber = frameNumber;} 00059 00060 }; 00061 /** 00062 * Streaming operator that reads a joint state from a stream. 00063 * @param stream The stream from which is read. 00064 * @param CollisionPercept The CollisionPercept. 00065 * @return The stream. 00066 */ 00067 In& operator>>(In& stream, CollisionPercept& CollisionPercept); 00068 00069 /** 00070 * Streaming operator that writes a joint state to a stream. 00071 * @param stream The stream to write on. 00072 * @param CollisionPercept The CollisionPercept object. 00073 * @return The stream. 00074 */ 00075 Out& operator<<(Out& stream, const CollisionPercept& CollisionPercept); 00076 00077 #endif //__CollisionPercept_h_
1.3.6