Go to the documentation of this file.00001
00002 #ifndef HECTOR_WORLDMODEL_MSGS_SERVICE_VERIFYPERCEPT_H
00003 #define HECTOR_WORLDMODEL_MSGS_SERVICE_VERIFYPERCEPT_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017 #include "ros/service_traits.h"
00018
00019 #include "hector_worldmodel_msgs/PosePercept.h"
00020
00021
00022
00023 namespace hector_worldmodel_msgs
00024 {
00025 template <class ContainerAllocator>
00026 struct VerifyPerceptRequest_ {
00027 typedef VerifyPerceptRequest_<ContainerAllocator> Type;
00028
00029 VerifyPerceptRequest_()
00030 : percept()
00031 {
00032 }
00033
00034 VerifyPerceptRequest_(const ContainerAllocator& _alloc)
00035 : percept(_alloc)
00036 {
00037 }
00038
00039 typedef ::hector_worldmodel_msgs::PosePercept_<ContainerAllocator> _percept_type;
00040 ::hector_worldmodel_msgs::PosePercept_<ContainerAllocator> percept;
00041
00042
00043 typedef boost::shared_ptr< ::hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> > Ptr;
00044 typedef boost::shared_ptr< ::hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> const> ConstPtr;
00045 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00046 };
00047 typedef ::hector_worldmodel_msgs::VerifyPerceptRequest_<std::allocator<void> > VerifyPerceptRequest;
00048
00049 typedef boost::shared_ptr< ::hector_worldmodel_msgs::VerifyPerceptRequest> VerifyPerceptRequestPtr;
00050 typedef boost::shared_ptr< ::hector_worldmodel_msgs::VerifyPerceptRequest const> VerifyPerceptRequestConstPtr;
00051
00052
00053
00054 template <class ContainerAllocator>
00055 struct VerifyPerceptResponse_ {
00056 typedef VerifyPerceptResponse_<ContainerAllocator> Type;
00057
00058 VerifyPerceptResponse_()
00059 : response(0)
00060 {
00061 }
00062
00063 VerifyPerceptResponse_(const ContainerAllocator& _alloc)
00064 : response(0)
00065 {
00066 }
00067
00068 typedef uint8_t _response_type;
00069 uint8_t response;
00070
00071 enum { UNKNOWN = 0 };
00072 enum { DISCARD = 1 };
00073 enum { CONFIRM = 2 };
00074
00075 typedef boost::shared_ptr< ::hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> > Ptr;
00076 typedef boost::shared_ptr< ::hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> const> ConstPtr;
00077 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00078 };
00079 typedef ::hector_worldmodel_msgs::VerifyPerceptResponse_<std::allocator<void> > VerifyPerceptResponse;
00080
00081 typedef boost::shared_ptr< ::hector_worldmodel_msgs::VerifyPerceptResponse> VerifyPerceptResponsePtr;
00082 typedef boost::shared_ptr< ::hector_worldmodel_msgs::VerifyPerceptResponse const> VerifyPerceptResponseConstPtr;
00083
00084
00085 struct VerifyPercept
00086 {
00087
00088 typedef VerifyPerceptRequest Request;
00089 typedef VerifyPerceptResponse Response;
00090 Request request;
00091 Response response;
00092
00093 typedef Request RequestType;
00094 typedef Response ResponseType;
00095 };
00096 }
00097
00098 namespace ros
00099 {
00100 namespace message_traits
00101 {
00102 template<class ContainerAllocator> struct IsMessage< ::hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> > : public TrueType {};
00103 template<class ContainerAllocator> struct IsMessage< ::hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> const> : public TrueType {};
00104 template<class ContainerAllocator>
00105 struct MD5Sum< ::hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> > {
00106 static const char* value()
00107 {
00108 return "9bd63c0c584500367d789d059094e625";
00109 }
00110
00111 static const char* value(const ::hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> &) { return value(); }
00112 static const uint64_t static_value1 = 0x9bd63c0c58450036ULL;
00113 static const uint64_t static_value2 = 0x7d789d059094e625ULL;
00114 };
00115
00116 template<class ContainerAllocator>
00117 struct DataType< ::hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> > {
00118 static const char* value()
00119 {
00120 return "hector_worldmodel_msgs/VerifyPerceptRequest";
00121 }
00122
00123 static const char* value(const ::hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> &) { return value(); }
00124 };
00125
00126 template<class ContainerAllocator>
00127 struct Definition< ::hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> > {
00128 static const char* value()
00129 {
00130 return "\n\
00131 \n\
00132 \n\
00133 PosePercept percept\n\
00134 \n\
00135 ================================================================================\n\
00136 MSG: hector_worldmodel_msgs/PosePercept\n\
00137 # hector_worldmodel_msgs/PosePercept\n\
00138 # This message represents an observation of an object in a single image.\n\
00139 \n\
00140 # The header should equal the header of the corresponding image.\n\
00141 Header header\n\
00142 \n\
00143 # The estimated pose of the object with its covariance\n\
00144 geometry_msgs/PoseWithCovariance pose\n\
00145 \n\
00146 # Additional information about the percept\n\
00147 PerceptInfo info\n\
00148 \n\
00149 ================================================================================\n\
00150 MSG: std_msgs/Header\n\
00151 # Standard metadata for higher-level stamped data types.\n\
00152 # This is generally used to communicate timestamped data \n\
00153 # in a particular coordinate frame.\n\
00154 # \n\
00155 # sequence ID: consecutively increasing ID \n\
00156 uint32 seq\n\
00157 #Two-integer timestamp that is expressed as:\n\
00158 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00159 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00160 # time-handling sugar is provided by the client library\n\
00161 time stamp\n\
00162 #Frame this data is associated with\n\
00163 # 0: no frame\n\
00164 # 1: global frame\n\
00165 string frame_id\n\
00166 \n\
00167 ================================================================================\n\
00168 MSG: geometry_msgs/PoseWithCovariance\n\
00169 # This represents a pose in free space with uncertainty.\n\
00170 \n\
00171 Pose pose\n\
00172 \n\
00173 # Row-major representation of the 6x6 covariance matrix\n\
00174 # The orientation parameters use a fixed-axis representation.\n\
00175 # In order, the parameters are:\n\
00176 # (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis)\n\
00177 float64[36] covariance\n\
00178 \n\
00179 ================================================================================\n\
00180 MSG: geometry_msgs/Pose\n\
00181 # A representation of pose in free space, composed of postion and orientation. \n\
00182 Point position\n\
00183 Quaternion orientation\n\
00184 \n\
00185 ================================================================================\n\
00186 MSG: geometry_msgs/Point\n\
00187 # This contains the position of a point in free space\n\
00188 float64 x\n\
00189 float64 y\n\
00190 float64 z\n\
00191 \n\
00192 ================================================================================\n\
00193 MSG: geometry_msgs/Quaternion\n\
00194 # This represents an orientation in free space in quaternion form.\n\
00195 \n\
00196 float64 x\n\
00197 float64 y\n\
00198 float64 z\n\
00199 float64 w\n\
00200 \n\
00201 ================================================================================\n\
00202 MSG: hector_worldmodel_msgs/PerceptInfo\n\
00203 # hector_worldmodel_msgs/PerceptInfo\n\
00204 # This message contains information about the estimated class and object identity \n\
00205 \n\
00206 # A string identifying the object's class (all objects of a class look the same)\n\
00207 string class_id\n\
00208 \n\
00209 # The class association support of the observation\n\
00210 # The support is the log odd likelihood ratio given by log(p(y/observation y belongs to object of class class_id) / p(y/observation y is a false positive))\n\
00211 float32 class_support\n\
00212 \n\
00213 # A string identifying a specific object\n\
00214 string object_id\n\
00215 \n\
00216 # The object association support of the observation\n\
00217 # The support is the log odd likelihood ratio given by log(p(observation belongs to object object_id) / p(observation is false positive or belongs to another object))\n\
00218 float32 object_support\n\
00219 \n\
00220 # A string that contains the name or a description of the specific object\n\
00221 string name\n\
00222 \n\
00223 ";
00224 }
00225
00226 static const char* value(const ::hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> &) { return value(); }
00227 };
00228
00229 }
00230 }
00231
00232
00233 namespace ros
00234 {
00235 namespace message_traits
00236 {
00237 template<class ContainerAllocator> struct IsMessage< ::hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> > : public TrueType {};
00238 template<class ContainerAllocator> struct IsMessage< ::hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> const> : public TrueType {};
00239 template<class ContainerAllocator>
00240 struct MD5Sum< ::hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> > {
00241 static const char* value()
00242 {
00243 return "a4e2509e523147799a63deb6a40a0721";
00244 }
00245
00246 static const char* value(const ::hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> &) { return value(); }
00247 static const uint64_t static_value1 = 0xa4e2509e52314779ULL;
00248 static const uint64_t static_value2 = 0x9a63deb6a40a0721ULL;
00249 };
00250
00251 template<class ContainerAllocator>
00252 struct DataType< ::hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> > {
00253 static const char* value()
00254 {
00255 return "hector_worldmodel_msgs/VerifyPerceptResponse";
00256 }
00257
00258 static const char* value(const ::hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> &) { return value(); }
00259 };
00260
00261 template<class ContainerAllocator>
00262 struct Definition< ::hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> > {
00263 static const char* value()
00264 {
00265 return "\n\
00266 uint8 response\n\
00267 uint8 UNKNOWN = 0\n\
00268 uint8 DISCARD = 1\n\
00269 uint8 CONFIRM = 2\n\
00270 \n\
00271 \n\
00272 ";
00273 }
00274
00275 static const char* value(const ::hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> &) { return value(); }
00276 };
00277
00278 template<class ContainerAllocator> struct IsFixedSize< ::hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> > : public TrueType {};
00279 }
00280 }
00281
00282 namespace ros
00283 {
00284 namespace serialization
00285 {
00286
00287 template<class ContainerAllocator> struct Serializer< ::hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> >
00288 {
00289 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00290 {
00291 stream.next(m.percept);
00292 }
00293
00294 ROS_DECLARE_ALLINONE_SERIALIZER;
00295 };
00296 }
00297 }
00298
00299
00300 namespace ros
00301 {
00302 namespace serialization
00303 {
00304
00305 template<class ContainerAllocator> struct Serializer< ::hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> >
00306 {
00307 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00308 {
00309 stream.next(m.response);
00310 }
00311
00312 ROS_DECLARE_ALLINONE_SERIALIZER;
00313 };
00314 }
00315 }
00316
00317 namespace ros
00318 {
00319 namespace service_traits
00320 {
00321 template<>
00322 struct MD5Sum<hector_worldmodel_msgs::VerifyPercept> {
00323 static const char* value()
00324 {
00325 return "4274b9c0812a5a8c107aa29835bb1b45";
00326 }
00327
00328 static const char* value(const hector_worldmodel_msgs::VerifyPercept&) { return value(); }
00329 };
00330
00331 template<>
00332 struct DataType<hector_worldmodel_msgs::VerifyPercept> {
00333 static const char* value()
00334 {
00335 return "hector_worldmodel_msgs/VerifyPercept";
00336 }
00337
00338 static const char* value(const hector_worldmodel_msgs::VerifyPercept&) { return value(); }
00339 };
00340
00341 template<class ContainerAllocator>
00342 struct MD5Sum<hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> > {
00343 static const char* value()
00344 {
00345 return "4274b9c0812a5a8c107aa29835bb1b45";
00346 }
00347
00348 static const char* value(const hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> &) { return value(); }
00349 };
00350
00351 template<class ContainerAllocator>
00352 struct DataType<hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> > {
00353 static const char* value()
00354 {
00355 return "hector_worldmodel_msgs/VerifyPercept";
00356 }
00357
00358 static const char* value(const hector_worldmodel_msgs::VerifyPerceptRequest_<ContainerAllocator> &) { return value(); }
00359 };
00360
00361 template<class ContainerAllocator>
00362 struct MD5Sum<hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> > {
00363 static const char* value()
00364 {
00365 return "4274b9c0812a5a8c107aa29835bb1b45";
00366 }
00367
00368 static const char* value(const hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> &) { return value(); }
00369 };
00370
00371 template<class ContainerAllocator>
00372 struct DataType<hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> > {
00373 static const char* value()
00374 {
00375 return "hector_worldmodel_msgs/VerifyPercept";
00376 }
00377
00378 static const char* value(const hector_worldmodel_msgs::VerifyPerceptResponse_<ContainerAllocator> &) { return value(); }
00379 };
00380
00381 }
00382 }
00383
00384 #endif // HECTOR_WORLDMODEL_MSGS_SERVICE_VERIFYPERCEPT_H
00385