Go to the documentation of this file.00001
00002 #ifndef LASER_ASSEMBLER_SERVICE_ASSEMBLESCANS2_H
00003 #define LASER_ASSEMBLER_SERVICE_ASSEMBLESCANS2_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/PointCloud2.h"
00022
00023 namespace laser_assembler
00024 {
00025 template <class ContainerAllocator>
00026 struct AssembleScans2Request_ {
00027 typedef AssembleScans2Request_<ContainerAllocator> Type;
00028
00029 AssembleScans2Request_()
00030 : begin()
00031 , end()
00032 {
00033 }
00034
00035 AssembleScans2Request_(const ContainerAllocator& _alloc)
00036 : begin()
00037 , end()
00038 {
00039 }
00040
00041 typedef ros::Time _begin_type;
00042 ros::Time begin;
00043
00044 typedef ros::Time _end_type;
00045 ros::Time end;
00046
00047
00048 typedef boost::shared_ptr< ::laser_assembler::AssembleScans2Request_<ContainerAllocator> > Ptr;
00049 typedef boost::shared_ptr< ::laser_assembler::AssembleScans2Request_<ContainerAllocator> const> ConstPtr;
00050 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00051 };
00052 typedef ::laser_assembler::AssembleScans2Request_<std::allocator<void> > AssembleScans2Request;
00053
00054 typedef boost::shared_ptr< ::laser_assembler::AssembleScans2Request> AssembleScans2RequestPtr;
00055 typedef boost::shared_ptr< ::laser_assembler::AssembleScans2Request const> AssembleScans2RequestConstPtr;
00056
00057
00058
00059 template <class ContainerAllocator>
00060 struct AssembleScans2Response_ {
00061 typedef AssembleScans2Response_<ContainerAllocator> Type;
00062
00063 AssembleScans2Response_()
00064 : cloud()
00065 {
00066 }
00067
00068 AssembleScans2Response_(const ContainerAllocator& _alloc)
00069 : cloud(_alloc)
00070 {
00071 }
00072
00073 typedef ::sensor_msgs::PointCloud2_<ContainerAllocator> _cloud_type;
00074 ::sensor_msgs::PointCloud2_<ContainerAllocator> cloud;
00075
00076
00077 typedef boost::shared_ptr< ::laser_assembler::AssembleScans2Response_<ContainerAllocator> > Ptr;
00078 typedef boost::shared_ptr< ::laser_assembler::AssembleScans2Response_<ContainerAllocator> const> ConstPtr;
00079 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00080 };
00081 typedef ::laser_assembler::AssembleScans2Response_<std::allocator<void> > AssembleScans2Response;
00082
00083 typedef boost::shared_ptr< ::laser_assembler::AssembleScans2Response> AssembleScans2ResponsePtr;
00084 typedef boost::shared_ptr< ::laser_assembler::AssembleScans2Response const> AssembleScans2ResponseConstPtr;
00085
00086
00087 struct AssembleScans2
00088 {
00089
00090 typedef AssembleScans2Request Request;
00091 typedef AssembleScans2Response Response;
00092 Request request;
00093 Response response;
00094
00095 typedef Request RequestType;
00096 typedef Response ResponseType;
00097 };
00098 }
00099
00100 namespace ros
00101 {
00102 namespace message_traits
00103 {
00104 template<class ContainerAllocator> struct IsMessage< ::laser_assembler::AssembleScans2Request_<ContainerAllocator> > : public TrueType {};
00105 template<class ContainerAllocator> struct IsMessage< ::laser_assembler::AssembleScans2Request_<ContainerAllocator> const> : public TrueType {};
00106 template<class ContainerAllocator>
00107 struct MD5Sum< ::laser_assembler::AssembleScans2Request_<ContainerAllocator> > {
00108 static const char* value()
00109 {
00110 return "b341004f74e15bf5e1b2053a9183bdc7";
00111 }
00112
00113 static const char* value(const ::laser_assembler::AssembleScans2Request_<ContainerAllocator> &) { return value(); }
00114 static const uint64_t static_value1 = 0xb341004f74e15bf5ULL;
00115 static const uint64_t static_value2 = 0xe1b2053a9183bdc7ULL;
00116 };
00117
00118 template<class ContainerAllocator>
00119 struct DataType< ::laser_assembler::AssembleScans2Request_<ContainerAllocator> > {
00120 static const char* value()
00121 {
00122 return "laser_assembler/AssembleScans2Request";
00123 }
00124
00125 static const char* value(const ::laser_assembler::AssembleScans2Request_<ContainerAllocator> &) { return value(); }
00126 };
00127
00128 template<class ContainerAllocator>
00129 struct Definition< ::laser_assembler::AssembleScans2Request_<ContainerAllocator> > {
00130 static const char* value()
00131 {
00132 return "\n\
00133 time begin\n\
00134 \n\
00135 time end\n\
00136 \n\
00137 ";
00138 }
00139
00140 static const char* value(const ::laser_assembler::AssembleScans2Request_<ContainerAllocator> &) { return value(); }
00141 };
00142
00143 template<class ContainerAllocator> struct IsFixedSize< ::laser_assembler::AssembleScans2Request_<ContainerAllocator> > : public TrueType {};
00144 }
00145 }
00146
00147
00148 namespace ros
00149 {
00150 namespace message_traits
00151 {
00152 template<class ContainerAllocator> struct IsMessage< ::laser_assembler::AssembleScans2Response_<ContainerAllocator> > : public TrueType {};
00153 template<class ContainerAllocator> struct IsMessage< ::laser_assembler::AssembleScans2Response_<ContainerAllocator> const> : public TrueType {};
00154 template<class ContainerAllocator>
00155 struct MD5Sum< ::laser_assembler::AssembleScans2Response_<ContainerAllocator> > {
00156 static const char* value()
00157 {
00158 return "96cec5374164b3b3d1d7ef5d7628a7ed";
00159 }
00160
00161 static const char* value(const ::laser_assembler::AssembleScans2Response_<ContainerAllocator> &) { return value(); }
00162 static const uint64_t static_value1 = 0x96cec5374164b3b3ULL;
00163 static const uint64_t static_value2 = 0xd1d7ef5d7628a7edULL;
00164 };
00165
00166 template<class ContainerAllocator>
00167 struct DataType< ::laser_assembler::AssembleScans2Response_<ContainerAllocator> > {
00168 static const char* value()
00169 {
00170 return "laser_assembler/AssembleScans2Response";
00171 }
00172
00173 static const char* value(const ::laser_assembler::AssembleScans2Response_<ContainerAllocator> &) { return value(); }
00174 };
00175
00176 template<class ContainerAllocator>
00177 struct Definition< ::laser_assembler::AssembleScans2Response_<ContainerAllocator> > {
00178 static const char* value()
00179 {
00180 return "\n\
00181 \n\
00182 \n\
00183 sensor_msgs/PointCloud2 cloud\n\
00184 \n\
00185 \n\
00186 ================================================================================\n\
00187 MSG: sensor_msgs/PointCloud2\n\
00188 # This message holds a collection of N-dimensional points, which may\n\
00189 # contain additional information such as normals, intensity, etc. The\n\
00190 # point data is stored as a binary blob, its layout described by the\n\
00191 # contents of the \"fields\" array.\n\
00192 \n\
00193 # The point cloud data may be organized 2d (image-like) or 1d\n\
00194 # (unordered). Point clouds organized as 2d images may be produced by\n\
00195 # camera depth sensors such as stereo or time-of-flight.\n\
00196 \n\
00197 # Time of sensor data acquisition, and the coordinate frame ID (for 3d\n\
00198 # points).\n\
00199 Header header\n\
00200 \n\
00201 # 2D structure of the point cloud. If the cloud is unordered, height is\n\
00202 # 1 and width is the length of the point cloud.\n\
00203 uint32 height\n\
00204 uint32 width\n\
00205 \n\
00206 # Describes the channels and their layout in the binary data blob.\n\
00207 PointField[] fields\n\
00208 \n\
00209 bool is_bigendian # Is this data bigendian?\n\
00210 uint32 point_step # Length of a point in bytes\n\
00211 uint32 row_step # Length of a row in bytes\n\
00212 uint8[] data # Actual point data, size is (row_step*height)\n\
00213 \n\
00214 bool is_dense # True if there are no invalid points\n\
00215 \n\
00216 ================================================================================\n\
00217 MSG: std_msgs/Header\n\
00218 # Standard metadata for higher-level stamped data types.\n\
00219 # This is generally used to communicate timestamped data \n\
00220 # in a particular coordinate frame.\n\
00221 # \n\
00222 # sequence ID: consecutively increasing ID \n\
00223 uint32 seq\n\
00224 #Two-integer timestamp that is expressed as:\n\
00225 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00226 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00227 # time-handling sugar is provided by the client library\n\
00228 time stamp\n\
00229 #Frame this data is associated with\n\
00230 # 0: no frame\n\
00231 # 1: global frame\n\
00232 string frame_id\n\
00233 \n\
00234 ================================================================================\n\
00235 MSG: sensor_msgs/PointField\n\
00236 # This message holds the description of one point entry in the\n\
00237 # PointCloud2 message format.\n\
00238 uint8 INT8 = 1\n\
00239 uint8 UINT8 = 2\n\
00240 uint8 INT16 = 3\n\
00241 uint8 UINT16 = 4\n\
00242 uint8 INT32 = 5\n\
00243 uint8 UINT32 = 6\n\
00244 uint8 FLOAT32 = 7\n\
00245 uint8 FLOAT64 = 8\n\
00246 \n\
00247 string name # Name of field\n\
00248 uint32 offset # Offset from start of point struct\n\
00249 uint8 datatype # Datatype enumeration, see above\n\
00250 uint32 count # How many elements in the field\n\
00251 \n\
00252 ";
00253 }
00254
00255 static const char* value(const ::laser_assembler::AssembleScans2Response_<ContainerAllocator> &) { return value(); }
00256 };
00257
00258 }
00259 }
00260
00261 namespace ros
00262 {
00263 namespace serialization
00264 {
00265
00266 template<class ContainerAllocator> struct Serializer< ::laser_assembler::AssembleScans2Request_<ContainerAllocator> >
00267 {
00268 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00269 {
00270 stream.next(m.begin);
00271 stream.next(m.end);
00272 }
00273
00274 ROS_DECLARE_ALLINONE_SERIALIZER;
00275 };
00276 }
00277 }
00278
00279
00280 namespace ros
00281 {
00282 namespace serialization
00283 {
00284
00285 template<class ContainerAllocator> struct Serializer< ::laser_assembler::AssembleScans2Response_<ContainerAllocator> >
00286 {
00287 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00288 {
00289 stream.next(m.cloud);
00290 }
00291
00292 ROS_DECLARE_ALLINONE_SERIALIZER;
00293 };
00294 }
00295 }
00296
00297 namespace ros
00298 {
00299 namespace service_traits
00300 {
00301 template<>
00302 struct MD5Sum<laser_assembler::AssembleScans2> {
00303 static const char* value()
00304 {
00305 return "3070b06ce843fd597804874f2df366a3";
00306 }
00307
00308 static const char* value(const laser_assembler::AssembleScans2&) { return value(); }
00309 };
00310
00311 template<>
00312 struct DataType<laser_assembler::AssembleScans2> {
00313 static const char* value()
00314 {
00315 return "laser_assembler/AssembleScans2";
00316 }
00317
00318 static const char* value(const laser_assembler::AssembleScans2&) { return value(); }
00319 };
00320
00321 template<class ContainerAllocator>
00322 struct MD5Sum<laser_assembler::AssembleScans2Request_<ContainerAllocator> > {
00323 static const char* value()
00324 {
00325 return "3070b06ce843fd597804874f2df366a3";
00326 }
00327
00328 static const char* value(const laser_assembler::AssembleScans2Request_<ContainerAllocator> &) { return value(); }
00329 };
00330
00331 template<class ContainerAllocator>
00332 struct DataType<laser_assembler::AssembleScans2Request_<ContainerAllocator> > {
00333 static const char* value()
00334 {
00335 return "laser_assembler/AssembleScans2";
00336 }
00337
00338 static const char* value(const laser_assembler::AssembleScans2Request_<ContainerAllocator> &) { return value(); }
00339 };
00340
00341 template<class ContainerAllocator>
00342 struct MD5Sum<laser_assembler::AssembleScans2Response_<ContainerAllocator> > {
00343 static const char* value()
00344 {
00345 return "3070b06ce843fd597804874f2df366a3";
00346 }
00347
00348 static const char* value(const laser_assembler::AssembleScans2Response_<ContainerAllocator> &) { return value(); }
00349 };
00350
00351 template<class ContainerAllocator>
00352 struct DataType<laser_assembler::AssembleScans2Response_<ContainerAllocator> > {
00353 static const char* value()
00354 {
00355 return "laser_assembler/AssembleScans2";
00356 }
00357
00358 static const char* value(const laser_assembler::AssembleScans2Response_<ContainerAllocator> &) { return value(); }
00359 };
00360
00361 }
00362 }
00363
00364 #endif // LASER_ASSEMBLER_SERVICE_ASSEMBLESCANS2_H
00365