Go to the documentation of this file.00001
00002 #ifndef RE_VISION_SERVICE_SEARCHFOR_H
00003 #define RE_VISION_SERVICE_SEARCHFOR_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 "std_msgs/Header.h"
00020 #include "sensor_msgs/Image.h"
00021
00022
00023 #include "re_msgs/DetectedObject.h"
00024
00025 namespace re_vision
00026 {
00027 template <class ContainerAllocator>
00028 struct SearchForRequest_ {
00029 typedef SearchForRequest_<ContainerAllocator> Type;
00030
00031 SearchForRequest_()
00032 : header()
00033 , Image()
00034 , Objects()
00035 , MaxPointsPerObject(0)
00036 {
00037 }
00038
00039 SearchForRequest_(const ContainerAllocator& _alloc)
00040 : header(_alloc)
00041 , Image(_alloc)
00042 , Objects(_alloc)
00043 , MaxPointsPerObject(0)
00044 {
00045 }
00046
00047 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00048 ::std_msgs::Header_<ContainerAllocator> header;
00049
00050 typedef ::sensor_msgs::Image_<ContainerAllocator> _Image_type;
00051 ::sensor_msgs::Image_<ContainerAllocator> Image;
00052
00053 typedef std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > _Objects_type;
00054 std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > Objects;
00055
00056 typedef int32_t _MaxPointsPerObject_type;
00057 int32_t MaxPointsPerObject;
00058
00059
00060 typedef boost::shared_ptr< ::re_vision::SearchForRequest_<ContainerAllocator> > Ptr;
00061 typedef boost::shared_ptr< ::re_vision::SearchForRequest_<ContainerAllocator> const> ConstPtr;
00062 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00063 };
00064 typedef ::re_vision::SearchForRequest_<std::allocator<void> > SearchForRequest;
00065
00066 typedef boost::shared_ptr< ::re_vision::SearchForRequest> SearchForRequestPtr;
00067 typedef boost::shared_ptr< ::re_vision::SearchForRequest const> SearchForRequestConstPtr;
00068
00069
00070 template <class ContainerAllocator>
00071 struct SearchForResponse_ {
00072 typedef SearchForResponse_<ContainerAllocator> Type;
00073
00074 SearchForResponse_()
00075 : Detections()
00076 {
00077 }
00078
00079 SearchForResponse_(const ContainerAllocator& _alloc)
00080 : Detections(_alloc)
00081 {
00082 }
00083
00084 typedef std::vector< ::re_msgs::DetectedObject_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::re_msgs::DetectedObject_<ContainerAllocator> >::other > _Detections_type;
00085 std::vector< ::re_msgs::DetectedObject_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::re_msgs::DetectedObject_<ContainerAllocator> >::other > Detections;
00086
00087
00088 typedef boost::shared_ptr< ::re_vision::SearchForResponse_<ContainerAllocator> > Ptr;
00089 typedef boost::shared_ptr< ::re_vision::SearchForResponse_<ContainerAllocator> const> ConstPtr;
00090 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00091 };
00092 typedef ::re_vision::SearchForResponse_<std::allocator<void> > SearchForResponse;
00093
00094 typedef boost::shared_ptr< ::re_vision::SearchForResponse> SearchForResponsePtr;
00095 typedef boost::shared_ptr< ::re_vision::SearchForResponse const> SearchForResponseConstPtr;
00096
00097 struct SearchFor
00098 {
00099
00100 typedef SearchForRequest Request;
00101 typedef SearchForResponse Response;
00102 Request request;
00103 Response response;
00104
00105 typedef Request RequestType;
00106 typedef Response ResponseType;
00107 };
00108 }
00109
00110 namespace ros
00111 {
00112 namespace message_traits
00113 {
00114 template<class ContainerAllocator> struct IsMessage< ::re_vision::SearchForRequest_<ContainerAllocator> > : public TrueType {};
00115 template<class ContainerAllocator> struct IsMessage< ::re_vision::SearchForRequest_<ContainerAllocator> const> : public TrueType {};
00116 template<class ContainerAllocator>
00117 struct MD5Sum< ::re_vision::SearchForRequest_<ContainerAllocator> > {
00118 static const char* value()
00119 {
00120 return "d580d8a9a163fc1ccacaa074884f44fa";
00121 }
00122
00123 static const char* value(const ::re_vision::SearchForRequest_<ContainerAllocator> &) { return value(); }
00124 static const uint64_t static_value1 = 0xd580d8a9a163fc1cULL;
00125 static const uint64_t static_value2 = 0xcacaa074884f44faULL;
00126 };
00127
00128 template<class ContainerAllocator>
00129 struct DataType< ::re_vision::SearchForRequest_<ContainerAllocator> > {
00130 static const char* value()
00131 {
00132 return "re_vision/SearchForRequest";
00133 }
00134
00135 static const char* value(const ::re_vision::SearchForRequest_<ContainerAllocator> &) { return value(); }
00136 };
00137
00138 template<class ContainerAllocator>
00139 struct Definition< ::re_vision::SearchForRequest_<ContainerAllocator> > {
00140 static const char* value()
00141 {
00142 return "Header header\n\
00143 sensor_msgs/Image Image\n\
00144 string[] Objects\n\
00145 int32 MaxPointsPerObject\n\
00146 \n\
00147 ================================================================================\n\
00148 MSG: std_msgs/Header\n\
00149 # Standard metadata for higher-level stamped data types.\n\
00150 # This is generally used to communicate timestamped data \n\
00151 # in a particular coordinate frame.\n\
00152 # \n\
00153 # sequence ID: consecutively increasing ID \n\
00154 uint32 seq\n\
00155 #Two-integer timestamp that is expressed as:\n\
00156 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00157 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00158 # time-handling sugar is provided by the client library\n\
00159 time stamp\n\
00160 #Frame this data is associated with\n\
00161 # 0: no frame\n\
00162 # 1: global frame\n\
00163 string frame_id\n\
00164 \n\
00165 ================================================================================\n\
00166 MSG: sensor_msgs/Image\n\
00167 # This message contains an uncompressed image\n\
00168 # (0, 0) is at top-left corner of image\n\
00169 #\n\
00170 \n\
00171 Header header # Header timestamp should be acquisition time of image\n\
00172 # Header frame_id should be optical frame of camera\n\
00173 # origin of frame should be optical center of cameara\n\
00174 # +x should point to the right in the image\n\
00175 # +y should point down in the image\n\
00176 # +z should point into to plane of the image\n\
00177 # If the frame_id here and the frame_id of the CameraInfo\n\
00178 # message associated with the image conflict\n\
00179 # the behavior is undefined\n\
00180 \n\
00181 uint32 height # image height, that is, number of rows\n\
00182 uint32 width # image width, that is, number of columns\n\
00183 \n\
00184 # The legal values for encoding are in file src/image_encodings.cpp\n\
00185 # If you want to standardize a new string format, join\n\
00186 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.\n\
00187 \n\
00188 string encoding # Encoding of pixels -- channel meaning, ordering, size\n\
00189 # taken from the list of strings in src/image_encodings.cpp\n\
00190 \n\
00191 uint8 is_bigendian # is this data bigendian?\n\
00192 uint32 step # Full row length in bytes\n\
00193 uint8[] data # actual matrix data, size is (step * rows)\n\
00194 \n\
00195 ";
00196 }
00197
00198 static const char* value(const ::re_vision::SearchForRequest_<ContainerAllocator> &) { return value(); }
00199 };
00200
00201 template<class ContainerAllocator> struct HasHeader< ::re_vision::SearchForRequest_<ContainerAllocator> > : public TrueType {};
00202 template<class ContainerAllocator> struct HasHeader< const ::re_vision::SearchForRequest_<ContainerAllocator> > : public TrueType {};
00203 }
00204 }
00205
00206
00207 namespace ros
00208 {
00209 namespace message_traits
00210 {
00211 template<class ContainerAllocator> struct IsMessage< ::re_vision::SearchForResponse_<ContainerAllocator> > : public TrueType {};
00212 template<class ContainerAllocator> struct IsMessage< ::re_vision::SearchForResponse_<ContainerAllocator> const> : public TrueType {};
00213 template<class ContainerAllocator>
00214 struct MD5Sum< ::re_vision::SearchForResponse_<ContainerAllocator> > {
00215 static const char* value()
00216 {
00217 return "aeec124a9861d0de2b52c994f7e655a9";
00218 }
00219
00220 static const char* value(const ::re_vision::SearchForResponse_<ContainerAllocator> &) { return value(); }
00221 static const uint64_t static_value1 = 0xaeec124a9861d0deULL;
00222 static const uint64_t static_value2 = 0x2b52c994f7e655a9ULL;
00223 };
00224
00225 template<class ContainerAllocator>
00226 struct DataType< ::re_vision::SearchForResponse_<ContainerAllocator> > {
00227 static const char* value()
00228 {
00229 return "re_vision/SearchForResponse";
00230 }
00231
00232 static const char* value(const ::re_vision::SearchForResponse_<ContainerAllocator> &) { return value(); }
00233 };
00234
00235 template<class ContainerAllocator>
00236 struct Definition< ::re_vision::SearchForResponse_<ContainerAllocator> > {
00237 static const char* value()
00238 {
00239 return "re_msgs/DetectedObject[] Detections\n\
00240 \n\
00241 \n\
00242 \n\
00243 ================================================================================\n\
00244 MSG: re_msgs/DetectedObject\n\
00245 # Information of object detected in an image by re_vision\n\
00246 #\n\
00247 \n\
00248 # detected points in the image\n\
00249 Pixel[] points2d\n\
00250 # detected 3d points in the camera reference\n\
00251 geometry_msgs/Point[] points3d\n\
00252 # pose of the object in the camera reference\n\
00253 geometry_msgs/Pose pose\n\
00254 # detected 3d points in the model reference\n\
00255 geometry_msgs/Point[] points3d_model\n\
00256 # detected 3d points octave\n\
00257 int32[] octave\n\
00258 \n\
00259 ================================================================================\n\
00260 MSG: re_msgs/Pixel\n\
00261 # top-left corner: (0,0)\n\
00262 \n\
00263 int32 x\n\
00264 int32 y\n\
00265 ================================================================================\n\
00266 MSG: geometry_msgs/Point\n\
00267 # This contains the position of a point in free space\n\
00268 float64 x\n\
00269 float64 y\n\
00270 float64 z\n\
00271 \n\
00272 ================================================================================\n\
00273 MSG: geometry_msgs/Pose\n\
00274 # A representation of pose in free space, composed of postion and orientation. \n\
00275 Point position\n\
00276 Quaternion orientation\n\
00277 \n\
00278 ================================================================================\n\
00279 MSG: geometry_msgs/Quaternion\n\
00280 # This represents an orientation in free space in quaternion form.\n\
00281 \n\
00282 float64 x\n\
00283 float64 y\n\
00284 float64 z\n\
00285 float64 w\n\
00286 \n\
00287 ";
00288 }
00289
00290 static const char* value(const ::re_vision::SearchForResponse_<ContainerAllocator> &) { return value(); }
00291 };
00292
00293 }
00294 }
00295
00296 namespace ros
00297 {
00298 namespace serialization
00299 {
00300
00301 template<class ContainerAllocator> struct Serializer< ::re_vision::SearchForRequest_<ContainerAllocator> >
00302 {
00303 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00304 {
00305 stream.next(m.header);
00306 stream.next(m.Image);
00307 stream.next(m.Objects);
00308 stream.next(m.MaxPointsPerObject);
00309 }
00310
00311 ROS_DECLARE_ALLINONE_SERIALIZER;
00312 };
00313 }
00314 }
00315
00316
00317 namespace ros
00318 {
00319 namespace serialization
00320 {
00321
00322 template<class ContainerAllocator> struct Serializer< ::re_vision::SearchForResponse_<ContainerAllocator> >
00323 {
00324 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00325 {
00326 stream.next(m.Detections);
00327 }
00328
00329 ROS_DECLARE_ALLINONE_SERIALIZER;
00330 };
00331 }
00332 }
00333
00334 namespace ros
00335 {
00336 namespace service_traits
00337 {
00338 template<>
00339 struct MD5Sum<re_vision::SearchFor> {
00340 static const char* value()
00341 {
00342 return "1750b3eb6ab327ff73f77a82f3fd6f57";
00343 }
00344
00345 static const char* value(const re_vision::SearchFor&) { return value(); }
00346 };
00347
00348 template<>
00349 struct DataType<re_vision::SearchFor> {
00350 static const char* value()
00351 {
00352 return "re_vision/SearchFor";
00353 }
00354
00355 static const char* value(const re_vision::SearchFor&) { return value(); }
00356 };
00357
00358 template<class ContainerAllocator>
00359 struct MD5Sum<re_vision::SearchForRequest_<ContainerAllocator> > {
00360 static const char* value()
00361 {
00362 return "1750b3eb6ab327ff73f77a82f3fd6f57";
00363 }
00364
00365 static const char* value(const re_vision::SearchForRequest_<ContainerAllocator> &) { return value(); }
00366 };
00367
00368 template<class ContainerAllocator>
00369 struct DataType<re_vision::SearchForRequest_<ContainerAllocator> > {
00370 static const char* value()
00371 {
00372 return "re_vision/SearchFor";
00373 }
00374
00375 static const char* value(const re_vision::SearchForRequest_<ContainerAllocator> &) { return value(); }
00376 };
00377
00378 template<class ContainerAllocator>
00379 struct MD5Sum<re_vision::SearchForResponse_<ContainerAllocator> > {
00380 static const char* value()
00381 {
00382 return "1750b3eb6ab327ff73f77a82f3fd6f57";
00383 }
00384
00385 static const char* value(const re_vision::SearchForResponse_<ContainerAllocator> &) { return value(); }
00386 };
00387
00388 template<class ContainerAllocator>
00389 struct DataType<re_vision::SearchForResponse_<ContainerAllocator> > {
00390 static const char* value()
00391 {
00392 return "re_vision/SearchFor";
00393 }
00394
00395 static const char* value(const re_vision::SearchForResponse_<ContainerAllocator> &) { return value(); }
00396 };
00397
00398 }
00399 }
00400
00401 #endif // RE_VISION_SERVICE_SEARCHFOR_H
00402