Go to the documentation of this file.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 <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/PointCloud.h"
00022
00023 namespace pr2_laser_snapshotter
00024 {
00025 template <class ContainerAllocator>
00026 struct BuildCloudAngleRequest_ {
00027 typedef BuildCloudAngleRequest_<ContainerAllocator> Type;
00028
00029 BuildCloudAngleRequest_()
00030 : angle_begin(0.0)
00031 , angle_end(0.0)
00032 , duration(0.0)
00033 {
00034 }
00035
00036 BuildCloudAngleRequest_(const ContainerAllocator& _alloc)
00037 : angle_begin(0.0)
00038 , angle_end(0.0)
00039 , duration(0.0)
00040 {
00041 }
00042
00043 typedef double _angle_begin_type;
00044 double angle_begin;
00045
00046 typedef double _angle_end_type;
00047 double angle_end;
00048
00049 typedef double _duration_type;
00050 double duration;
00051
00052
00053 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > Ptr;
00054 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> const> ConstPtr;
00055 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00056 };
00057 typedef ::pr2_laser_snapshotter::BuildCloudAngleRequest_<std::allocator<void> > BuildCloudAngleRequest;
00058
00059 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleRequest> BuildCloudAngleRequestPtr;
00060 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleRequest const> BuildCloudAngleRequestConstPtr;
00061
00062
00063 template <class ContainerAllocator>
00064 struct BuildCloudAngleResponse_ {
00065 typedef BuildCloudAngleResponse_<ContainerAllocator> Type;
00066
00067 BuildCloudAngleResponse_()
00068 : cloud()
00069 {
00070 }
00071
00072 BuildCloudAngleResponse_(const ContainerAllocator& _alloc)
00073 : cloud(_alloc)
00074 {
00075 }
00076
00077 typedef ::sensor_msgs::PointCloud_<ContainerAllocator> _cloud_type;
00078 ::sensor_msgs::PointCloud_<ContainerAllocator> cloud;
00079
00080
00081 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> > Ptr;
00082 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> const> ConstPtr;
00083 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00084 };
00085 typedef ::pr2_laser_snapshotter::BuildCloudAngleResponse_<std::allocator<void> > BuildCloudAngleResponse;
00086
00087 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleResponse> BuildCloudAngleResponsePtr;
00088 typedef boost::shared_ptr< ::pr2_laser_snapshotter::BuildCloudAngleResponse const> BuildCloudAngleResponseConstPtr;
00089
00090 struct BuildCloudAngle
00091 {
00092
00093 typedef BuildCloudAngleRequest Request;
00094 typedef BuildCloudAngleResponse Response;
00095 Request request;
00096 Response response;
00097
00098 typedef Request RequestType;
00099 typedef Response ResponseType;
00100 };
00101 }
00102
00103 namespace ros
00104 {
00105 namespace message_traits
00106 {
00107 template<class ContainerAllocator> struct IsMessage< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > : public TrueType {};
00108 template<class ContainerAllocator> struct IsMessage< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> const> : public TrueType {};
00109 template<class ContainerAllocator>
00110 struct MD5Sum< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > {
00111 static const char* value()
00112 {
00113 return "f30b95de7b6756e5f67b5d49f4f7affd";
00114 }
00115
00116 static const char* value(const ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> &) { return value(); }
00117 static const uint64_t static_value1 = 0xf30b95de7b6756e5ULL;
00118 static const uint64_t static_value2 = 0xf67b5d49f4f7affdULL;
00119 };
00120
00121 template<class ContainerAllocator>
00122 struct DataType< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > {
00123 static const char* value()
00124 {
00125 return "pr2_laser_snapshotter/BuildCloudAngleRequest";
00126 }
00127
00128 static const char* value(const ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> &) { return value(); }
00129 };
00130
00131 template<class ContainerAllocator>
00132 struct Definition< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > {
00133 static const char* value()
00134 {
00135 return "float64 angle_begin\n\
00136 float64 angle_end\n\
00137 float64 duration\n\
00138 \n\
00139 ";
00140 }
00141
00142 static const char* value(const ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> &) { return value(); }
00143 };
00144
00145 template<class ContainerAllocator> struct IsFixedSize< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > : public TrueType {};
00146 }
00147 }
00148
00149
00150 namespace ros
00151 {
00152 namespace message_traits
00153 {
00154 template<class ContainerAllocator> struct IsMessage< ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> > : public TrueType {};
00155 template<class ContainerAllocator> struct IsMessage< ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> const> : public TrueType {};
00156 template<class ContainerAllocator>
00157 struct MD5Sum< ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> > {
00158 static const char* value()
00159 {
00160 return "4217b28a903e4ad7869a83b3653110ff";
00161 }
00162
00163 static const char* value(const ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> &) { return value(); }
00164 static const uint64_t static_value1 = 0x4217b28a903e4ad7ULL;
00165 static const uint64_t static_value2 = 0x869a83b3653110ffULL;
00166 };
00167
00168 template<class ContainerAllocator>
00169 struct DataType< ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> > {
00170 static const char* value()
00171 {
00172 return "pr2_laser_snapshotter/BuildCloudAngleResponse";
00173 }
00174
00175 static const char* value(const ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> &) { return value(); }
00176 };
00177
00178 template<class ContainerAllocator>
00179 struct Definition< ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> > {
00180 static const char* value()
00181 {
00182 return "sensor_msgs/PointCloud cloud\n\
00183 \n\
00184 \n\
00185 ================================================================================\n\
00186 MSG: sensor_msgs/PointCloud\n\
00187 # This message holds a collection of 3d points, plus optional additional\n\
00188 # information about each point.\n\
00189 \n\
00190 # Time of sensor data acquisition, coordinate frame ID.\n\
00191 Header header\n\
00192 \n\
00193 # Array of 3d points. Each Point32 should be interpreted as a 3d point\n\
00194 # in the frame given in the header.\n\
00195 geometry_msgs/Point32[] points\n\
00196 \n\
00197 # Each channel should have the same number of elements as points array,\n\
00198 # and the data in each channel should correspond 1:1 with each point.\n\
00199 # Channel names in common practice are listed in ChannelFloat32.msg.\n\
00200 ChannelFloat32[] channels\n\
00201 \n\
00202 ================================================================================\n\
00203 MSG: std_msgs/Header\n\
00204 # Standard metadata for higher-level stamped data types.\n\
00205 # This is generally used to communicate timestamped data \n\
00206 # in a particular coordinate frame.\n\
00207 # \n\
00208 # sequence ID: consecutively increasing ID \n\
00209 uint32 seq\n\
00210 #Two-integer timestamp that is expressed as:\n\
00211 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00212 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00213 # time-handling sugar is provided by the client library\n\
00214 time stamp\n\
00215 #Frame this data is associated with\n\
00216 # 0: no frame\n\
00217 # 1: global frame\n\
00218 string frame_id\n\
00219 \n\
00220 ================================================================================\n\
00221 MSG: geometry_msgs/Point32\n\
00222 # This contains the position of a point in free space(with 32 bits of precision).\n\
00223 # It is recommeded to use Point wherever possible instead of Point32. \n\
00224 # \n\
00225 # This recommendation is to promote interoperability. \n\
00226 #\n\
00227 # This message is designed to take up less space when sending\n\
00228 # lots of points at once, as in the case of a PointCloud. \n\
00229 \n\
00230 float32 x\n\
00231 float32 y\n\
00232 float32 z\n\
00233 ================================================================================\n\
00234 MSG: sensor_msgs/ChannelFloat32\n\
00235 # This message is used by the PointCloud message to hold optional data\n\
00236 # associated with each point in the cloud. The length of the values\n\
00237 # array should be the same as the length of the points array in the\n\
00238 # PointCloud, and each value should be associated with the corresponding\n\
00239 # point.\n\
00240 \n\
00241 # Channel names in existing practice include:\n\
00242 # \"u\", \"v\" - row and column (respectively) in the left stereo image.\n\
00243 # This is opposite to usual conventions but remains for\n\
00244 # historical reasons. The newer PointCloud2 message has no\n\
00245 # such problem.\n\
00246 # \"rgb\" - For point clouds produced by color stereo cameras. uint8\n\
00247 # (R,G,B) values packed into the least significant 24 bits,\n\
00248 # in order.\n\
00249 # \"intensity\" - laser or pixel intensity.\n\
00250 # \"distance\"\n\
00251 \n\
00252 # The channel name should give semantics of the channel (e.g.\n\
00253 # \"intensity\" instead of \"value\").\n\
00254 string name\n\
00255 \n\
00256 # The values array should be 1-1 with the elements of the associated\n\
00257 # PointCloud.\n\
00258 float32[] values\n\
00259 \n\
00260 ";
00261 }
00262
00263 static const char* value(const ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> &) { return value(); }
00264 };
00265
00266 }
00267 }
00268
00269 namespace ros
00270 {
00271 namespace serialization
00272 {
00273
00274 template<class ContainerAllocator> struct Serializer< ::pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> >
00275 {
00276 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00277 {
00278 stream.next(m.angle_begin);
00279 stream.next(m.angle_end);
00280 stream.next(m.duration);
00281 }
00282
00283 ROS_DECLARE_ALLINONE_SERIALIZER;
00284 };
00285 }
00286 }
00287
00288
00289 namespace ros
00290 {
00291 namespace serialization
00292 {
00293
00294 template<class ContainerAllocator> struct Serializer< ::pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> >
00295 {
00296 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00297 {
00298 stream.next(m.cloud);
00299 }
00300
00301 ROS_DECLARE_ALLINONE_SERIALIZER;
00302 };
00303 }
00304 }
00305
00306 namespace ros
00307 {
00308 namespace service_traits
00309 {
00310 template<>
00311 struct MD5Sum<pr2_laser_snapshotter::BuildCloudAngle> {
00312 static const char* value()
00313 {
00314 return "7469d22e99d2e7f342cec297b7bb49d3";
00315 }
00316
00317 static const char* value(const pr2_laser_snapshotter::BuildCloudAngle&) { return value(); }
00318 };
00319
00320 template<>
00321 struct DataType<pr2_laser_snapshotter::BuildCloudAngle> {
00322 static const char* value()
00323 {
00324 return "pr2_laser_snapshotter/BuildCloudAngle";
00325 }
00326
00327 static const char* value(const pr2_laser_snapshotter::BuildCloudAngle&) { return value(); }
00328 };
00329
00330 template<class ContainerAllocator>
00331 struct MD5Sum<pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > {
00332 static const char* value()
00333 {
00334 return "7469d22e99d2e7f342cec297b7bb49d3";
00335 }
00336
00337 static const char* value(const pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> &) { return value(); }
00338 };
00339
00340 template<class ContainerAllocator>
00341 struct DataType<pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> > {
00342 static const char* value()
00343 {
00344 return "pr2_laser_snapshotter/BuildCloudAngle";
00345 }
00346
00347 static const char* value(const pr2_laser_snapshotter::BuildCloudAngleRequest_<ContainerAllocator> &) { return value(); }
00348 };
00349
00350 template<class ContainerAllocator>
00351 struct MD5Sum<pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> > {
00352 static const char* value()
00353 {
00354 return "7469d22e99d2e7f342cec297b7bb49d3";
00355 }
00356
00357 static const char* value(const pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> &) { return value(); }
00358 };
00359
00360 template<class ContainerAllocator>
00361 struct DataType<pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> > {
00362 static const char* value()
00363 {
00364 return "pr2_laser_snapshotter/BuildCloudAngle";
00365 }
00366
00367 static const char* value(const pr2_laser_snapshotter::BuildCloudAngleResponse_<ContainerAllocator> &) { return value(); }
00368 };
00369
00370 }
00371 }
00372
00373 #endif // PR2_LASER_SNAPSHOTTER_SERVICE_BUILDCLOUDANGLE_H
00374