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