00001
00002 #ifndef PR2_LASER_SNAPSHOTTER_SERVICE_BUILDCLOUDANGLE_H
00003 #define PR2_LASER_SNAPSHOTTER_SERVICE_BUILDCLOUDANGLE_H
00004 #include <string>
00005 #include <vector>
00006 #include <ostream>
00007 #include "ros/serialization.h"
00008 #include "ros/builtin_message_traits.h"
00009 #include "ros/message_operations.h"
00010 #include "ros/message.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/service_traits.h"
00014
00015
00016
00017 #include "sensor_msgs/PointCloud.h"
00018
00019 namespace pr2_laser_snapshotter
00020 {
00021 template <class ContainerAllocator>
00022 struct BuildCloudAngleRequest_ : public ros::Message
00023 {
00024 typedef BuildCloudAngleRequest_<ContainerAllocator> Type;
00025
00026 BuildCloudAngleRequest_()
00027 : angle_begin(0.0)
00028 , angle_end(0.0)
00029 , duration(0.0)
00030 {
00031 }
00032
00033 BuildCloudAngleRequest_(const ContainerAllocator& _alloc)
00034 : angle_begin(0.0)
00035 , angle_end(0.0)
00036 , duration(0.0)
00037 {
00038 }
00039
00040 typedef double _angle_begin_type;
00041 double angle_begin;
00042
00043 typedef double _angle_end_type;
00044 double angle_end;
00045
00046 typedef double _duration_type;
00047 double duration;
00048
00049
00050 private:
00051 static const char* __s_getDataType_() { return "pr2_laser_snapshotter/BuildCloudAngleRequest"; }
00052 public:
00053 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00054
00055 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00056
00057 private:
00058 static const char* __s_getMD5Sum_() { return "f30b95de7b6756e5f67b5d49f4f7affd"; }
00059 public:
00060 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00061
00062 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00063
00064 private:
00065 static const char* __s_getServerMD5Sum_() { return "7469d22e99d2e7f342cec297b7bb49d3"; }
00066 public:
00067 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00068
00069 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00070
00071 private:
00072 static const char* __s_getMessageDefinition_() { return "float64 angle_begin\n\
00073 float64 angle_end\n\
00074 float64 duration\n\
00075 \n\
00076 "; }
00077 public:
00078 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00079
00080 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00081
00082 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00083 {
00084 ros::serialization::OStream stream(write_ptr, 1000000000);
00085 ros::serialization::serialize(stream, angle_begin);
00086 ros::serialization::serialize(stream, angle_end);
00087 ros::serialization::serialize(stream, duration);
00088 return stream.getData();
00089 }
00090
00091 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00092 {
00093 ros::serialization::IStream stream(read_ptr, 1000000000);
00094 ros::serialization::deserialize(stream, angle_begin);
00095 ros::serialization::deserialize(stream, angle_end);
00096 ros::serialization::deserialize(stream, duration);
00097 return stream.getData();
00098 }
00099
00100 ROS_DEPRECATED virtual uint32_t serializationLength() const
00101 {
00102 uint32_t size = 0;
00103 size += ros::serialization::serializationLength(angle_begin);
00104 size += ros::serialization::serializationLength(angle_end);
00105 size += ros::serialization::serializationLength(duration);
00106 return size;
00107 }
00108
00109 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > Ptr;
00110 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> const> ConstPtr;
00111 };
00112 typedef ::pr2_laser_snapshotter::BuildCloudAngleRequest_<std::allocator<void> > BuildCloudAngleRequest;
00113
00114 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleRequest> BuildCloudAngleRequestPtr;
00115 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleRequest const> BuildCloudAngleRequestConstPtr;
00116
00117
00118 template <class ContainerAllocator>
00119 struct BuildCloudAngleResponse_ : public ros::Message
00120 {
00121 typedef BuildCloudAngleResponse_<ContainerAllocator> Type;
00122
00123 BuildCloudAngleResponse_()
00124 : cloud()
00125 {
00126 }
00127
00128 BuildCloudAngleResponse_(const ContainerAllocator& _alloc)
00129 : cloud(_alloc)
00130 {
00131 }
00132
00133 typedef ::sensor_msgs::PointCloud_<ContainerAllocator> _cloud_type;
00134 ::sensor_msgs::PointCloud_<ContainerAllocator> cloud;
00135
00136
00137 private:
00138 static const char* __s_getDataType_() { return "pr2_laser_snapshotter/BuildCloudAngleResponse"; }
00139 public:
00140 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00141
00142 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00143
00144 private:
00145 static const char* __s_getMD5Sum_() { return "4217b28a903e4ad7869a83b3653110ff"; }
00146 public:
00147 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00148
00149 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00150
00151 private:
00152 static const char* __s_getServerMD5Sum_() { return "7469d22e99d2e7f342cec297b7bb49d3"; }
00153 public:
00154 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00155
00156 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00157
00158 private:
00159 static const char* __s_getMessageDefinition_() { return "sensor_msgs/PointCloud cloud\n\
00160 \n\
00161 \n\
00162 ================================================================================\n\
00163 MSG: sensor_msgs/PointCloud\n\
00164 # This message holds a collection of 3d points, plus optional additional\n\
00165 # information about each point.\n\
00166 \n\
00167 # Time of sensor data acquisition, coordinate frame ID.\n\
00168 Header header\n\
00169 \n\
00170 # Array of 3d points. Each Point32 should be interpreted as a 3d point\n\
00171 # in the frame given in the header.\n\
00172 geometry_msgs/Point32[] points\n\
00173 \n\
00174 # Each channel should have the same number of elements as points array,\n\
00175 # and the data in each channel should correspond 1:1 with each point.\n\
00176 # Channel names in common practice are listed in ChannelFloat32.msg.\n\
00177 ChannelFloat32[] channels\n\
00178 \n\
00179 ================================================================================\n\
00180 MSG: std_msgs/Header\n\
00181 # Standard metadata for higher-level stamped data types.\n\
00182 # This is generally used to communicate timestamped data \n\
00183 # in a particular coordinate frame.\n\
00184 # \n\
00185 # sequence ID: consecutively increasing ID \n\
00186 uint32 seq\n\
00187 #Two-integer timestamp that is expressed as:\n\
00188 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00189 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00190 # time-handling sugar is provided by the client library\n\
00191 time stamp\n\
00192 #Frame this data is associated with\n\
00193 # 0: no frame\n\
00194 # 1: global frame\n\
00195 string frame_id\n\
00196 \n\
00197 ================================================================================\n\
00198 MSG: geometry_msgs/Point32\n\
00199 # This contains the position of a point in free space(with 32 bits of precision).\n\
00200 # It is recommeded to use Point wherever possible instead of Point32. \n\
00201 # \n\
00202 # This recommendation is to promote interoperability. \n\
00203 #\n\
00204 # This message is designed to take up less space when sending\n\
00205 # lots of points at once, as in the case of a PointCloud. \n\
00206 \n\
00207 float32 x\n\
00208 float32 y\n\
00209 float32 z\n\
00210 ================================================================================\n\
00211 MSG: sensor_msgs/ChannelFloat32\n\
00212 # This message is used by the PointCloud message to hold optional data\n\
00213 # associated with each point in the cloud. The length of the values\n\
00214 # array should be the same as the length of the points array in the\n\
00215 # PointCloud, and each value should be associated with the corresponding\n\
00216 # point.\n\
00217 \n\
00218 # Channel names in existing practice include:\n\
00219 # \"u\", \"v\" - row and column (respectively) in the left stereo image.\n\
00220 # This is opposite to usual conventions but remains for\n\
00221 # historical reasons. The newer PointCloud2 message has no\n\
00222 # such problem.\n\
00223 # \"rgb\" - For point clouds produced by color stereo cameras. uint8\n\
00224 # (R,G,B) values packed into the least significant 24 bits,\n\
00225 # in order.\n\
00226 # \"intensity\" - laser or pixel intensity.\n\
00227 # \"distance\"\n\
00228 \n\
00229 # The channel name should give semantics of the channel (e.g.\n\
00230 # \"intensity\" instead of \"value\").\n\
00231 string name\n\
00232 \n\
00233 # The values array should be 1-1 with the elements of the associated\n\
00234 # PointCloud.\n\
00235 float32[] values\n\
00236 \n\
00237 "; }
00238 public:
00239 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00240
00241 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00242
00243 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00244 {
00245 ros::serialization::OStream stream(write_ptr, 1000000000);
00246 ros::serialization::serialize(stream, cloud);
00247 return stream.getData();
00248 }
00249
00250 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00251 {
00252 ros::serialization::IStream stream(read_ptr, 1000000000);
00253 ros::serialization::deserialize(stream, cloud);
00254 return stream.getData();
00255 }
00256
00257 ROS_DEPRECATED virtual uint32_t serializationLength() const
00258 {
00259 uint32_t size = 0;
00260 size += ros::serialization::serializationLength(cloud);
00261 return size;
00262 }
00263
00264 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> > Ptr;
00265 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> const> ConstPtr;
00266 };
00267 typedef ::pr2_laser_snapshotter::BuildCloudAngleResponse_<std::allocator<void> > BuildCloudAngleResponse;
00268
00269 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleResponse> BuildCloudAngleResponsePtr;
00270 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleResponse const> BuildCloudAngleResponseConstPtr;
00271
00272 struct BuildCloudAngle
00273 {
00274
00275 typedef BuildCloudAngleRequest Request;
00276 typedef BuildCloudAngleResponse Response;
00277 Request request;
00278 Response response;
00279
00280 typedef Request RequestType;
00281 typedef Response ResponseType;
00282 };
00283 }
00284
00285 namespace ros
00286 {
00287 namespace message_traits
00288 {
00289 template<class ContainerAllocator>
00290 struct MD5Sum< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > {
00291 static const char* value()
00292 {
00293 return "f30b95de7b6756e5f67b5d49f4f7affd";
00294 }
00295
00296 static const char* value(const ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> &) { return value(); }
00297 static const uint64_t static_value1 = 0xf30b95de7b6756e5ULL;
00298 static const uint64_t static_value2 = 0xf67b5d49f4f7affdULL;
00299 };
00300
00301 template<class ContainerAllocator>
00302 struct DataType< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > {
00303 static const char* value()
00304 {
00305 return "pr2_laser_snapshotter/BuildCloudAngleRequest";
00306 }
00307
00308 static const char* value(const ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> &) { return value(); }
00309 };
00310
00311 template<class ContainerAllocator>
00312 struct Definition< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > {
00313 static const char* value()
00314 {
00315 return "float64 angle_begin\n\
00316 float64 angle_end\n\
00317 float64 duration\n\
00318 \n\
00319 ";
00320 }
00321
00322 static const char* value(const ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> &) { return value(); }
00323 };
00324
00325 template<class ContainerAllocator> struct IsFixedSize< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > : public TrueType {};
00326 }
00327 }
00328
00329
00330 namespace ros
00331 {
00332 namespace message_traits
00333 {
00334 template<class ContainerAllocator>
00335 struct MD5Sum< ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> > {
00336 static const char* value()
00337 {
00338 return "4217b28a903e4ad7869a83b3653110ff";
00339 }
00340
00341 static const char* value(const ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> &) { return value(); }
00342 static const uint64_t static_value1 = 0x4217b28a903e4ad7ULL;
00343 static const uint64_t static_value2 = 0x869a83b3653110ffULL;
00344 };
00345
00346 template<class ContainerAllocator>
00347 struct DataType< ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> > {
00348 static const char* value()
00349 {
00350 return "pr2_laser_snapshotter/BuildCloudAngleResponse";
00351 }
00352
00353 static const char* value(const ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> &) { return value(); }
00354 };
00355
00356 template<class ContainerAllocator>
00357 struct Definition< ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> > {
00358 static const char* value()
00359 {
00360 return "sensor_msgs/PointCloud cloud\n\
00361 \n\
00362 \n\
00363 ================================================================================\n\
00364 MSG: sensor_msgs/PointCloud\n\
00365 # This message holds a collection of 3d points, plus optional additional\n\
00366 # information about each point.\n\
00367 \n\
00368 # Time of sensor data acquisition, coordinate frame ID.\n\
00369 Header header\n\
00370 \n\
00371 # Array of 3d points. Each Point32 should be interpreted as a 3d point\n\
00372 # in the frame given in the header.\n\
00373 geometry_msgs/Point32[] points\n\
00374 \n\
00375 # Each channel should have the same number of elements as points array,\n\
00376 # and the data in each channel should correspond 1:1 with each point.\n\
00377 # Channel names in common practice are listed in ChannelFloat32.msg.\n\
00378 ChannelFloat32[] channels\n\
00379 \n\
00380 ================================================================================\n\
00381 MSG: std_msgs/Header\n\
00382 # Standard metadata for higher-level stamped data types.\n\
00383 # This is generally used to communicate timestamped data \n\
00384 # in a particular coordinate frame.\n\
00385 # \n\
00386 # sequence ID: consecutively increasing ID \n\
00387 uint32 seq\n\
00388 #Two-integer timestamp that is expressed as:\n\
00389 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00390 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00391 # time-handling sugar is provided by the client library\n\
00392 time stamp\n\
00393 #Frame this data is associated with\n\
00394 # 0: no frame\n\
00395 # 1: global frame\n\
00396 string frame_id\n\
00397 \n\
00398 ================================================================================\n\
00399 MSG: geometry_msgs/Point32\n\
00400 # This contains the position of a point in free space(with 32 bits of precision).\n\
00401 # It is recommeded to use Point wherever possible instead of Point32. \n\
00402 # \n\
00403 # This recommendation is to promote interoperability. \n\
00404 #\n\
00405 # This message is designed to take up less space when sending\n\
00406 # lots of points at once, as in the case of a PointCloud. \n\
00407 \n\
00408 float32 x\n\
00409 float32 y\n\
00410 float32 z\n\
00411 ================================================================================\n\
00412 MSG: sensor_msgs/ChannelFloat32\n\
00413 # This message is used by the PointCloud message to hold optional data\n\
00414 # associated with each point in the cloud. The length of the values\n\
00415 # array should be the same as the length of the points array in the\n\
00416 # PointCloud, and each value should be associated with the corresponding\n\
00417 # point.\n\
00418 \n\
00419 # Channel names in existing practice include:\n\
00420 # \"u\", \"v\" - row and column (respectively) in the left stereo image.\n\
00421 # This is opposite to usual conventions but remains for\n\
00422 # historical reasons. The newer PointCloud2 message has no\n\
00423 # such problem.\n\
00424 # \"rgb\" - For point clouds produced by color stereo cameras. uint8\n\
00425 # (R,G,B) values packed into the least significant 24 bits,\n\
00426 # in order.\n\
00427 # \"intensity\" - laser or pixel intensity.\n\
00428 # \"distance\"\n\
00429 \n\
00430 # The channel name should give semantics of the channel (e.g.\n\
00431 # \"intensity\" instead of \"value\").\n\
00432 string name\n\
00433 \n\
00434 # The values array should be 1-1 with the elements of the associated\n\
00435 # PointCloud.\n\
00436 float32[] values\n\
00437 \n\
00438 ";
00439 }
00440
00441 static const char* value(const ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> &) { return value(); }
00442 };
00443
00444 }
00445 }
00446
00447 namespace ros
00448 {
00449 namespace serialization
00450 {
00451
00452 template<class ContainerAllocator> struct Serializer< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> >
00453 {
00454 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00455 {
00456 stream.next(m.angle_begin);
00457 stream.next(m.angle_end);
00458 stream.next(m.duration);
00459 }
00460
00461 ROS_DECLARE_ALLINONE_SERIALIZER;
00462 };
00463 }
00464 }
00465
00466
00467 namespace ros
00468 {
00469 namespace serialization
00470 {
00471
00472 template<class ContainerAllocator> struct Serializer< ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> >
00473 {
00474 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00475 {
00476 stream.next(m.cloud);
00477 }
00478
00479 ROS_DECLARE_ALLINONE_SERIALIZER;
00480 };
00481 }
00482 }
00483
00484 namespace ros
00485 {
00486 namespace service_traits
00487 {
00488 template<>
00489 struct MD5Sum<pr2_laser_snapshotter::BuildCloudAngle> {
00490 static const char* value()
00491 {
00492 return "7469d22e99d2e7f342cec297b7bb49d3";
00493 }
00494
00495 static const char* value(const pr2_laser_snapshotter::BuildCloudAngle&) { return value(); }
00496 };
00497
00498 template<>
00499 struct DataType<pr2_laser_snapshotter::BuildCloudAngle> {
00500 static const char* value()
00501 {
00502 return "pr2_laser_snapshotter/BuildCloudAngle";
00503 }
00504
00505 static const char* value(const pr2_laser_snapshotter::BuildCloudAngle&) { return value(); }
00506 };
00507
00508 template<class ContainerAllocator>
00509 struct MD5Sum<pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > {
00510 static const char* value()
00511 {
00512 return "7469d22e99d2e7f342cec297b7bb49d3";
00513 }
00514
00515 static const char* value(const pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> &) { return value(); }
00516 };
00517
00518 template<class ContainerAllocator>
00519 struct DataType<pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > {
00520 static const char* value()
00521 {
00522 return "pr2_laser_snapshotter/BuildCloudAngle";
00523 }
00524
00525 static const char* value(const pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> &) { return value(); }
00526 };
00527
00528 template<class ContainerAllocator>
00529 struct MD5Sum<pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> > {
00530 static const char* value()
00531 {
00532 return "7469d22e99d2e7f342cec297b7bb49d3";
00533 }
00534
00535 static const char* value(const pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> &) { return value(); }
00536 };
00537
00538 template<class ContainerAllocator>
00539 struct DataType<pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> > {
00540 static const char* value()
00541 {
00542 return "pr2_laser_snapshotter/BuildCloudAngle";
00543 }
00544
00545 static const char* value(const pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> &) { return value(); }
00546 };
00547
00548 }
00549 }
00550
00551 #endif // PR2_LASER_SNAPSHOTTER_SERVICE_BUILDCLOUDANGLE_H
00552