00001
00002 #ifndef PR2_INTERACTIVE_SEGMENTATION_SERVICE_DEPTHIMAGE_H
00003 #define PR2_INTERACTIVE_SEGMENTATION_SERVICE_DEPTHIMAGE_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
00020
00021 #include "sensor_msgs/Image.h"
00022
00023 namespace pr2_interactive_segmentation
00024 {
00025 template <class ContainerAllocator>
00026 struct depthImageRequest_ {
00027 typedef depthImageRequest_<ContainerAllocator> Type;
00028
00029 depthImageRequest_()
00030 {
00031 }
00032
00033 depthImageRequest_(const ContainerAllocator& _alloc)
00034 {
00035 }
00036
00037
00038 private:
00039 static const char* __s_getDataType_() { return "pr2_interactive_segmentation/depthImageRequest"; }
00040 public:
00041 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00042
00043 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00044
00045 private:
00046 static const char* __s_getMD5Sum_() { return "d41d8cd98f00b204e9800998ecf8427e"; }
00047 public:
00048 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00049
00050 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00051
00052 private:
00053 static const char* __s_getServerMD5Sum_() { return "b2c36e91badbc08644feff566a2abdfe"; }
00054 public:
00055 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00056
00057 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00058
00059 private:
00060 static const char* __s_getMessageDefinition_() { return "\n\
00061 "; }
00062 public:
00063 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00064
00065 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00066
00067 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00068 {
00069 ros::serialization::OStream stream(write_ptr, 1000000000);
00070 return stream.getData();
00071 }
00072
00073 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00074 {
00075 ros::serialization::IStream stream(read_ptr, 1000000000);
00076 return stream.getData();
00077 }
00078
00079 ROS_DEPRECATED virtual uint32_t serializationLength() const
00080 {
00081 uint32_t size = 0;
00082 return size;
00083 }
00084
00085 typedef boost::shared_ptr< ::pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> > Ptr;
00086 typedef boost::shared_ptr< ::pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> const> ConstPtr;
00087 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00088 };
00089 typedef ::pr2_interactive_segmentation::depthImageRequest_<std::allocator<void> > depthImageRequest;
00090
00091 typedef boost::shared_ptr< ::pr2_interactive_segmentation::depthImageRequest> depthImageRequestPtr;
00092 typedef boost::shared_ptr< ::pr2_interactive_segmentation::depthImageRequest const> depthImageRequestConstPtr;
00093
00094
00095 template <class ContainerAllocator>
00096 struct depthImageResponse_ {
00097 typedef depthImageResponse_<ContainerAllocator> Type;
00098
00099 depthImageResponse_()
00100 : depth_image()
00101 {
00102 }
00103
00104 depthImageResponse_(const ContainerAllocator& _alloc)
00105 : depth_image(_alloc)
00106 {
00107 }
00108
00109 typedef ::sensor_msgs::Image_<ContainerAllocator> _depth_image_type;
00110 ::sensor_msgs::Image_<ContainerAllocator> depth_image;
00111
00112
00113 private:
00114 static const char* __s_getDataType_() { return "pr2_interactive_segmentation/depthImageResponse"; }
00115 public:
00116 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00117
00118 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00119
00120 private:
00121 static const char* __s_getMD5Sum_() { return "b2c36e91badbc08644feff566a2abdfe"; }
00122 public:
00123 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00124
00125 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00126
00127 private:
00128 static const char* __s_getServerMD5Sum_() { return "b2c36e91badbc08644feff566a2abdfe"; }
00129 public:
00130 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00131
00132 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00133
00134 private:
00135 static const char* __s_getMessageDefinition_() { return "sensor_msgs/Image depth_image\n\
00136 \n\
00137 ================================================================================\n\
00138 MSG: sensor_msgs/Image\n\
00139 # This message contains an uncompressed image\n\
00140 # (0, 0) is at top-left corner of image\n\
00141 #\n\
00142 \n\
00143 Header header # Header timestamp should be acquisition time of image\n\
00144 # Header frame_id should be optical frame of camera\n\
00145 # origin of frame should be optical center of cameara\n\
00146 # +x should point to the right in the image\n\
00147 # +y should point down in the image\n\
00148 # +z should point into to plane of the image\n\
00149 # If the frame_id here and the frame_id of the CameraInfo\n\
00150 # message associated with the image conflict\n\
00151 # the behavior is undefined\n\
00152 \n\
00153 uint32 height # image height, that is, number of rows\n\
00154 uint32 width # image width, that is, number of columns\n\
00155 \n\
00156 # The legal values for encoding are in file src/image_encodings.cpp\n\
00157 # If you want to standardize a new string format, join\n\
00158 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.\n\
00159 \n\
00160 string encoding # Encoding of pixels -- channel meaning, ordering, size\n\
00161 # taken from the list of strings in src/image_encodings.cpp\n\
00162 \n\
00163 uint8 is_bigendian # is this data bigendian?\n\
00164 uint32 step # Full row length in bytes\n\
00165 uint8[] data # actual matrix data, size is (step * rows)\n\
00166 \n\
00167 ================================================================================\n\
00168 MSG: std_msgs/Header\n\
00169 # Standard metadata for higher-level stamped data types.\n\
00170 # This is generally used to communicate timestamped data \n\
00171 # in a particular coordinate frame.\n\
00172 # \n\
00173 # sequence ID: consecutively increasing ID \n\
00174 uint32 seq\n\
00175 #Two-integer timestamp that is expressed as:\n\
00176 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00177 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00178 # time-handling sugar is provided by the client library\n\
00179 time stamp\n\
00180 #Frame this data is associated with\n\
00181 # 0: no frame\n\
00182 # 1: global frame\n\
00183 string frame_id\n\
00184 \n\
00185 "; }
00186 public:
00187 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00188
00189 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00190
00191 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00192 {
00193 ros::serialization::OStream stream(write_ptr, 1000000000);
00194 ros::serialization::serialize(stream, depth_image);
00195 return stream.getData();
00196 }
00197
00198 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00199 {
00200 ros::serialization::IStream stream(read_ptr, 1000000000);
00201 ros::serialization::deserialize(stream, depth_image);
00202 return stream.getData();
00203 }
00204
00205 ROS_DEPRECATED virtual uint32_t serializationLength() const
00206 {
00207 uint32_t size = 0;
00208 size += ros::serialization::serializationLength(depth_image);
00209 return size;
00210 }
00211
00212 typedef boost::shared_ptr< ::pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> > Ptr;
00213 typedef boost::shared_ptr< ::pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> const> ConstPtr;
00214 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00215 };
00216 typedef ::pr2_interactive_segmentation::depthImageResponse_<std::allocator<void> > depthImageResponse;
00217
00218 typedef boost::shared_ptr< ::pr2_interactive_segmentation::depthImageResponse> depthImageResponsePtr;
00219 typedef boost::shared_ptr< ::pr2_interactive_segmentation::depthImageResponse const> depthImageResponseConstPtr;
00220
00221 struct depthImage
00222 {
00223
00224 typedef depthImageRequest Request;
00225 typedef depthImageResponse Response;
00226 Request request;
00227 Response response;
00228
00229 typedef Request RequestType;
00230 typedef Response ResponseType;
00231 };
00232 }
00233
00234 namespace ros
00235 {
00236 namespace message_traits
00237 {
00238 template<class ContainerAllocator> struct IsMessage< ::pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> > : public TrueType {};
00239 template<class ContainerAllocator> struct IsMessage< ::pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> const> : public TrueType {};
00240 template<class ContainerAllocator>
00241 struct MD5Sum< ::pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> > {
00242 static const char* value()
00243 {
00244 return "d41d8cd98f00b204e9800998ecf8427e";
00245 }
00246
00247 static const char* value(const ::pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> &) { return value(); }
00248 static const uint64_t static_value1 = 0xd41d8cd98f00b204ULL;
00249 static const uint64_t static_value2 = 0xe9800998ecf8427eULL;
00250 };
00251
00252 template<class ContainerAllocator>
00253 struct DataType< ::pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> > {
00254 static const char* value()
00255 {
00256 return "pr2_interactive_segmentation/depthImageRequest";
00257 }
00258
00259 static const char* value(const ::pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> &) { return value(); }
00260 };
00261
00262 template<class ContainerAllocator>
00263 struct Definition< ::pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> > {
00264 static const char* value()
00265 {
00266 return "\n\
00267 ";
00268 }
00269
00270 static const char* value(const ::pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> &) { return value(); }
00271 };
00272
00273 template<class ContainerAllocator> struct IsFixedSize< ::pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> > : public TrueType {};
00274 }
00275 }
00276
00277
00278 namespace ros
00279 {
00280 namespace message_traits
00281 {
00282 template<class ContainerAllocator> struct IsMessage< ::pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> > : public TrueType {};
00283 template<class ContainerAllocator> struct IsMessage< ::pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> const> : public TrueType {};
00284 template<class ContainerAllocator>
00285 struct MD5Sum< ::pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> > {
00286 static const char* value()
00287 {
00288 return "b2c36e91badbc08644feff566a2abdfe";
00289 }
00290
00291 static const char* value(const ::pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> &) { return value(); }
00292 static const uint64_t static_value1 = 0xb2c36e91badbc086ULL;
00293 static const uint64_t static_value2 = 0x44feff566a2abdfeULL;
00294 };
00295
00296 template<class ContainerAllocator>
00297 struct DataType< ::pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> > {
00298 static const char* value()
00299 {
00300 return "pr2_interactive_segmentation/depthImageResponse";
00301 }
00302
00303 static const char* value(const ::pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> &) { return value(); }
00304 };
00305
00306 template<class ContainerAllocator>
00307 struct Definition< ::pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> > {
00308 static const char* value()
00309 {
00310 return "sensor_msgs/Image depth_image\n\
00311 \n\
00312 ================================================================================\n\
00313 MSG: sensor_msgs/Image\n\
00314 # This message contains an uncompressed image\n\
00315 # (0, 0) is at top-left corner of image\n\
00316 #\n\
00317 \n\
00318 Header header # Header timestamp should be acquisition time of image\n\
00319 # Header frame_id should be optical frame of camera\n\
00320 # origin of frame should be optical center of cameara\n\
00321 # +x should point to the right in the image\n\
00322 # +y should point down in the image\n\
00323 # +z should point into to plane of the image\n\
00324 # If the frame_id here and the frame_id of the CameraInfo\n\
00325 # message associated with the image conflict\n\
00326 # the behavior is undefined\n\
00327 \n\
00328 uint32 height # image height, that is, number of rows\n\
00329 uint32 width # image width, that is, number of columns\n\
00330 \n\
00331 # The legal values for encoding are in file src/image_encodings.cpp\n\
00332 # If you want to standardize a new string format, join\n\
00333 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.\n\
00334 \n\
00335 string encoding # Encoding of pixels -- channel meaning, ordering, size\n\
00336 # taken from the list of strings in src/image_encodings.cpp\n\
00337 \n\
00338 uint8 is_bigendian # is this data bigendian?\n\
00339 uint32 step # Full row length in bytes\n\
00340 uint8[] data # actual matrix data, size is (step * rows)\n\
00341 \n\
00342 ================================================================================\n\
00343 MSG: std_msgs/Header\n\
00344 # Standard metadata for higher-level stamped data types.\n\
00345 # This is generally used to communicate timestamped data \n\
00346 # in a particular coordinate frame.\n\
00347 # \n\
00348 # sequence ID: consecutively increasing ID \n\
00349 uint32 seq\n\
00350 #Two-integer timestamp that is expressed as:\n\
00351 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00352 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00353 # time-handling sugar is provided by the client library\n\
00354 time stamp\n\
00355 #Frame this data is associated with\n\
00356 # 0: no frame\n\
00357 # 1: global frame\n\
00358 string frame_id\n\
00359 \n\
00360 ";
00361 }
00362
00363 static const char* value(const ::pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> &) { return value(); }
00364 };
00365
00366 }
00367 }
00368
00369 namespace ros
00370 {
00371 namespace serialization
00372 {
00373
00374 template<class ContainerAllocator> struct Serializer< ::pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> >
00375 {
00376 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00377 {
00378 }
00379
00380 ROS_DECLARE_ALLINONE_SERIALIZER;
00381 };
00382 }
00383 }
00384
00385
00386 namespace ros
00387 {
00388 namespace serialization
00389 {
00390
00391 template<class ContainerAllocator> struct Serializer< ::pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> >
00392 {
00393 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00394 {
00395 stream.next(m.depth_image);
00396 }
00397
00398 ROS_DECLARE_ALLINONE_SERIALIZER;
00399 };
00400 }
00401 }
00402
00403 namespace ros
00404 {
00405 namespace service_traits
00406 {
00407 template<>
00408 struct MD5Sum<pr2_interactive_segmentation::depthImage> {
00409 static const char* value()
00410 {
00411 return "b2c36e91badbc08644feff566a2abdfe";
00412 }
00413
00414 static const char* value(const pr2_interactive_segmentation::depthImage&) { return value(); }
00415 };
00416
00417 template<>
00418 struct DataType<pr2_interactive_segmentation::depthImage> {
00419 static const char* value()
00420 {
00421 return "pr2_interactive_segmentation/depthImage";
00422 }
00423
00424 static const char* value(const pr2_interactive_segmentation::depthImage&) { return value(); }
00425 };
00426
00427 template<class ContainerAllocator>
00428 struct MD5Sum<pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> > {
00429 static const char* value()
00430 {
00431 return "b2c36e91badbc08644feff566a2abdfe";
00432 }
00433
00434 static const char* value(const pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> &) { return value(); }
00435 };
00436
00437 template<class ContainerAllocator>
00438 struct DataType<pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> > {
00439 static const char* value()
00440 {
00441 return "pr2_interactive_segmentation/depthImage";
00442 }
00443
00444 static const char* value(const pr2_interactive_segmentation::depthImageRequest_<ContainerAllocator> &) { return value(); }
00445 };
00446
00447 template<class ContainerAllocator>
00448 struct MD5Sum<pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> > {
00449 static const char* value()
00450 {
00451 return "b2c36e91badbc08644feff566a2abdfe";
00452 }
00453
00454 static const char* value(const pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> &) { return value(); }
00455 };
00456
00457 template<class ContainerAllocator>
00458 struct DataType<pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> > {
00459 static const char* value()
00460 {
00461 return "pr2_interactive_segmentation/depthImage";
00462 }
00463
00464 static const char* value(const pr2_interactive_segmentation::depthImageResponse_<ContainerAllocator> &) { return value(); }
00465 };
00466
00467 }
00468 }
00469
00470 #endif // PR2_INTERACTIVE_SEGMENTATION_SERVICE_DEPTHIMAGE_H
00471