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