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