00001
00002 #ifndef VISION_SRVS_SERVICE_CLIP_POLYGON_H
00003 #define VISION_SRVS_SERVICE_CLIP_POLYGON_H
00004 #include <string>
00005 #include <vector>
00006 #include <ostream>
00007 #include "ros/serialization.h"
00008 #include "ros/builtin_message_traits.h"
00009 #include "ros/message_operations.h"
00010 #include "ros/message.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/service_traits.h"
00014
00015 #include "geometry_msgs/Polygon.h"
00016 #include "geometry_msgs/Polygon.h"
00017
00018
00019 #include "geometry_msgs/Polygon.h"
00020
00021 namespace vision_srvs
00022 {
00023 template <class ContainerAllocator>
00024 struct clip_polygonRequest_ : public ros::Message
00025 {
00026 typedef clip_polygonRequest_<ContainerAllocator> Type;
00027
00028 clip_polygonRequest_()
00029 : operation(0)
00030 , poly1()
00031 , poly2()
00032 {
00033 }
00034
00035 clip_polygonRequest_(const ContainerAllocator& _alloc)
00036 : operation(0)
00037 , poly1(_alloc)
00038 , poly2(_alloc)
00039 {
00040 }
00041
00042 typedef uint32_t _operation_type;
00043 uint32_t operation;
00044
00045 typedef ::geometry_msgs::Polygon_<ContainerAllocator> _poly1_type;
00046 ::geometry_msgs::Polygon_<ContainerAllocator> poly1;
00047
00048 typedef ::geometry_msgs::Polygon_<ContainerAllocator> _poly2_type;
00049 ::geometry_msgs::Polygon_<ContainerAllocator> poly2;
00050
00051 enum { UNION = 0 };
00052 enum { INTERSECTION = 1 };
00053
00054 private:
00055 static const char* __s_getDataType_() { return "vision_srvs/clip_polygonRequest"; }
00056 public:
00057 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00058
00059 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00060
00061 private:
00062 static const char* __s_getMD5Sum_() { return "90ec19340207537b530d3a37f5d3aaff"; }
00063 public:
00064 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00065
00066 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00067
00068 private:
00069 static const char* __s_getServerMD5Sum_() { return "833de208811dbf84e2b0e6af79d60331"; }
00070 public:
00071 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00072
00073 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00074
00075 private:
00076 static const char* __s_getMessageDefinition_() { return "uint32 UNION = 0\n\
00077 uint32 INTERSECTION = 1\n\
00078 uint32 operation\n\
00079 geometry_msgs/Polygon poly1\n\
00080 geometry_msgs/Polygon poly2\n\
00081 \n\
00082 ================================================================================\n\
00083 MSG: geometry_msgs/Polygon\n\
00084 #A specification of a polygon where the first and last points are assumed to be connected\n\
00085 geometry_msgs/Point32[] points\n\
00086 \n\
00087 ================================================================================\n\
00088 MSG: geometry_msgs/Point32\n\
00089 # This contains the position of a point in free space(with 32 bits of precision).\n\
00090 # It is recommeded to use Point wherever possible instead of Point32. \n\
00091 # \n\
00092 # This recommendation is to promote interoperability. \n\
00093 #\n\
00094 # This message is designed to take up less space when sending\n\
00095 # lots of points at once, as in the case of a PointCloud. \n\
00096 \n\
00097 float32 x\n\
00098 float32 y\n\
00099 float32 z\n\
00100 "; }
00101 public:
00102 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00103
00104 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00105
00106 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00107 {
00108 ros::serialization::OStream stream(write_ptr, 1000000000);
00109 ros::serialization::serialize(stream, operation);
00110 ros::serialization::serialize(stream, poly1);
00111 ros::serialization::serialize(stream, poly2);
00112 return stream.getData();
00113 }
00114
00115 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00116 {
00117 ros::serialization::IStream stream(read_ptr, 1000000000);
00118 ros::serialization::deserialize(stream, operation);
00119 ros::serialization::deserialize(stream, poly1);
00120 ros::serialization::deserialize(stream, poly2);
00121 return stream.getData();
00122 }
00123
00124 ROS_DEPRECATED virtual uint32_t serializationLength() const
00125 {
00126 uint32_t size = 0;
00127 size += ros::serialization::serializationLength(operation);
00128 size += ros::serialization::serializationLength(poly1);
00129 size += ros::serialization::serializationLength(poly2);
00130 return size;
00131 }
00132
00133 typedef boost::shared_ptr< ::vision_srvs::clip_polygonRequest_<ContainerAllocator> > Ptr;
00134 typedef boost::shared_ptr< ::vision_srvs::clip_polygonRequest_<ContainerAllocator> const> ConstPtr;
00135 };
00136 typedef ::vision_srvs::clip_polygonRequest_<std::allocator<void> > clip_polygonRequest;
00137
00138 typedef boost::shared_ptr< ::vision_srvs::clip_polygonRequest> clip_polygonRequestPtr;
00139 typedef boost::shared_ptr< ::vision_srvs::clip_polygonRequest const> clip_polygonRequestConstPtr;
00140
00141
00142 template <class ContainerAllocator>
00143 struct clip_polygonResponse_ : public ros::Message
00144 {
00145 typedef clip_polygonResponse_<ContainerAllocator> Type;
00146
00147 clip_polygonResponse_()
00148 : poly_clip()
00149 {
00150 }
00151
00152 clip_polygonResponse_(const ContainerAllocator& _alloc)
00153 : poly_clip(_alloc)
00154 {
00155 }
00156
00157 typedef ::geometry_msgs::Polygon_<ContainerAllocator> _poly_clip_type;
00158 ::geometry_msgs::Polygon_<ContainerAllocator> poly_clip;
00159
00160
00161 private:
00162 static const char* __s_getDataType_() { return "vision_srvs/clip_polygonResponse"; }
00163 public:
00164 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00165
00166 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00167
00168 private:
00169 static const char* __s_getMD5Sum_() { return "8ac99714bd719c813589b0f74ded28d5"; }
00170 public:
00171 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00172
00173 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00174
00175 private:
00176 static const char* __s_getServerMD5Sum_() { return "833de208811dbf84e2b0e6af79d60331"; }
00177 public:
00178 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00179
00180 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00181
00182 private:
00183 static const char* __s_getMessageDefinition_() { return "geometry_msgs/Polygon poly_clip\n\
00184 \n\
00185 \n\
00186 ================================================================================\n\
00187 MSG: geometry_msgs/Polygon\n\
00188 #A specification of a polygon where the first and last points are assumed to be connected\n\
00189 geometry_msgs/Point32[] points\n\
00190 \n\
00191 ================================================================================\n\
00192 MSG: geometry_msgs/Point32\n\
00193 # This contains the position of a point in free space(with 32 bits of precision).\n\
00194 # It is recommeded to use Point wherever possible instead of Point32. \n\
00195 # \n\
00196 # This recommendation is to promote interoperability. \n\
00197 #\n\
00198 # This message is designed to take up less space when sending\n\
00199 # lots of points at once, as in the case of a PointCloud. \n\
00200 \n\
00201 float32 x\n\
00202 float32 y\n\
00203 float32 z\n\
00204 "; }
00205 public:
00206 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00207
00208 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00209
00210 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00211 {
00212 ros::serialization::OStream stream(write_ptr, 1000000000);
00213 ros::serialization::serialize(stream, poly_clip);
00214 return stream.getData();
00215 }
00216
00217 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00218 {
00219 ros::serialization::IStream stream(read_ptr, 1000000000);
00220 ros::serialization::deserialize(stream, poly_clip);
00221 return stream.getData();
00222 }
00223
00224 ROS_DEPRECATED virtual uint32_t serializationLength() const
00225 {
00226 uint32_t size = 0;
00227 size += ros::serialization::serializationLength(poly_clip);
00228 return size;
00229 }
00230
00231 typedef boost::shared_ptr< ::vision_srvs::clip_polygonResponse_<ContainerAllocator> > Ptr;
00232 typedef boost::shared_ptr< ::vision_srvs::clip_polygonResponse_<ContainerAllocator> const> ConstPtr;
00233 };
00234 typedef ::vision_srvs::clip_polygonResponse_<std::allocator<void> > clip_polygonResponse;
00235
00236 typedef boost::shared_ptr< ::vision_srvs::clip_polygonResponse> clip_polygonResponsePtr;
00237 typedef boost::shared_ptr< ::vision_srvs::clip_polygonResponse const> clip_polygonResponseConstPtr;
00238
00239 struct clip_polygon
00240 {
00241
00242 typedef clip_polygonRequest Request;
00243 typedef clip_polygonResponse Response;
00244 Request request;
00245 Response response;
00246
00247 typedef Request RequestType;
00248 typedef Response ResponseType;
00249 };
00250 }
00251
00252 namespace ros
00253 {
00254 namespace message_traits
00255 {
00256 template<class ContainerAllocator>
00257 struct MD5Sum< ::vision_srvs::clip_polygonRequest_<ContainerAllocator> > {
00258 static const char* value()
00259 {
00260 return "90ec19340207537b530d3a37f5d3aaff";
00261 }
00262
00263 static const char* value(const ::vision_srvs::clip_polygonRequest_<ContainerAllocator> &) { return value(); }
00264 static const uint64_t static_value1 = 0x90ec19340207537bULL;
00265 static const uint64_t static_value2 = 0x530d3a37f5d3aaffULL;
00266 };
00267
00268 template<class ContainerAllocator>
00269 struct DataType< ::vision_srvs::clip_polygonRequest_<ContainerAllocator> > {
00270 static const char* value()
00271 {
00272 return "vision_srvs/clip_polygonRequest";
00273 }
00274
00275 static const char* value(const ::vision_srvs::clip_polygonRequest_<ContainerAllocator> &) { return value(); }
00276 };
00277
00278 template<class ContainerAllocator>
00279 struct Definition< ::vision_srvs::clip_polygonRequest_<ContainerAllocator> > {
00280 static const char* value()
00281 {
00282 return "uint32 UNION = 0\n\
00283 uint32 INTERSECTION = 1\n\
00284 uint32 operation\n\
00285 geometry_msgs/Polygon poly1\n\
00286 geometry_msgs/Polygon poly2\n\
00287 \n\
00288 ================================================================================\n\
00289 MSG: geometry_msgs/Polygon\n\
00290 #A specification of a polygon where the first and last points are assumed to be connected\n\
00291 geometry_msgs/Point32[] points\n\
00292 \n\
00293 ================================================================================\n\
00294 MSG: geometry_msgs/Point32\n\
00295 # This contains the position of a point in free space(with 32 bits of precision).\n\
00296 # It is recommeded to use Point wherever possible instead of Point32. \n\
00297 # \n\
00298 # This recommendation is to promote interoperability. \n\
00299 #\n\
00300 # This message is designed to take up less space when sending\n\
00301 # lots of points at once, as in the case of a PointCloud. \n\
00302 \n\
00303 float32 x\n\
00304 float32 y\n\
00305 float32 z\n\
00306 ";
00307 }
00308
00309 static const char* value(const ::vision_srvs::clip_polygonRequest_<ContainerAllocator> &) { return value(); }
00310 };
00311
00312 }
00313 }
00314
00315
00316 namespace ros
00317 {
00318 namespace message_traits
00319 {
00320 template<class ContainerAllocator>
00321 struct MD5Sum< ::vision_srvs::clip_polygonResponse_<ContainerAllocator> > {
00322 static const char* value()
00323 {
00324 return "8ac99714bd719c813589b0f74ded28d5";
00325 }
00326
00327 static const char* value(const ::vision_srvs::clip_polygonResponse_<ContainerAllocator> &) { return value(); }
00328 static const uint64_t static_value1 = 0x8ac99714bd719c81ULL;
00329 static const uint64_t static_value2 = 0x3589b0f74ded28d5ULL;
00330 };
00331
00332 template<class ContainerAllocator>
00333 struct DataType< ::vision_srvs::clip_polygonResponse_<ContainerAllocator> > {
00334 static const char* value()
00335 {
00336 return "vision_srvs/clip_polygonResponse";
00337 }
00338
00339 static const char* value(const ::vision_srvs::clip_polygonResponse_<ContainerAllocator> &) { return value(); }
00340 };
00341
00342 template<class ContainerAllocator>
00343 struct Definition< ::vision_srvs::clip_polygonResponse_<ContainerAllocator> > {
00344 static const char* value()
00345 {
00346 return "geometry_msgs/Polygon poly_clip\n\
00347 \n\
00348 \n\
00349 ================================================================================\n\
00350 MSG: geometry_msgs/Polygon\n\
00351 #A specification of a polygon where the first and last points are assumed to be connected\n\
00352 geometry_msgs/Point32[] points\n\
00353 \n\
00354 ================================================================================\n\
00355 MSG: geometry_msgs/Point32\n\
00356 # This contains the position of a point in free space(with 32 bits of precision).\n\
00357 # It is recommeded to use Point wherever possible instead of Point32. \n\
00358 # \n\
00359 # This recommendation is to promote interoperability. \n\
00360 #\n\
00361 # This message is designed to take up less space when sending\n\
00362 # lots of points at once, as in the case of a PointCloud. \n\
00363 \n\
00364 float32 x\n\
00365 float32 y\n\
00366 float32 z\n\
00367 ";
00368 }
00369
00370 static const char* value(const ::vision_srvs::clip_polygonResponse_<ContainerAllocator> &) { return value(); }
00371 };
00372
00373 }
00374 }
00375
00376 namespace ros
00377 {
00378 namespace serialization
00379 {
00380
00381 template<class ContainerAllocator> struct Serializer< ::vision_srvs::clip_polygonRequest_<ContainerAllocator> >
00382 {
00383 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00384 {
00385 stream.next(m.operation);
00386 stream.next(m.poly1);
00387 stream.next(m.poly2);
00388 }
00389
00390 ROS_DECLARE_ALLINONE_SERIALIZER;
00391 };
00392 }
00393 }
00394
00395
00396 namespace ros
00397 {
00398 namespace serialization
00399 {
00400
00401 template<class ContainerAllocator> struct Serializer< ::vision_srvs::clip_polygonResponse_<ContainerAllocator> >
00402 {
00403 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00404 {
00405 stream.next(m.poly_clip);
00406 }
00407
00408 ROS_DECLARE_ALLINONE_SERIALIZER;
00409 };
00410 }
00411 }
00412
00413 namespace ros
00414 {
00415 namespace service_traits
00416 {
00417 template<>
00418 struct MD5Sum<vision_srvs::clip_polygon> {
00419 static const char* value()
00420 {
00421 return "833de208811dbf84e2b0e6af79d60331";
00422 }
00423
00424 static const char* value(const vision_srvs::clip_polygon&) { return value(); }
00425 };
00426
00427 template<>
00428 struct DataType<vision_srvs::clip_polygon> {
00429 static const char* value()
00430 {
00431 return "vision_srvs/clip_polygon";
00432 }
00433
00434 static const char* value(const vision_srvs::clip_polygon&) { return value(); }
00435 };
00436
00437 template<class ContainerAllocator>
00438 struct MD5Sum<vision_srvs::clip_polygonRequest_<ContainerAllocator> > {
00439 static const char* value()
00440 {
00441 return "833de208811dbf84e2b0e6af79d60331";
00442 }
00443
00444 static const char* value(const vision_srvs::clip_polygonRequest_<ContainerAllocator> &) { return value(); }
00445 };
00446
00447 template<class ContainerAllocator>
00448 struct DataType<vision_srvs::clip_polygonRequest_<ContainerAllocator> > {
00449 static const char* value()
00450 {
00451 return "vision_srvs/clip_polygon";
00452 }
00453
00454 static const char* value(const vision_srvs::clip_polygonRequest_<ContainerAllocator> &) { return value(); }
00455 };
00456
00457 template<class ContainerAllocator>
00458 struct MD5Sum<vision_srvs::clip_polygonResponse_<ContainerAllocator> > {
00459 static const char* value()
00460 {
00461 return "833de208811dbf84e2b0e6af79d60331";
00462 }
00463
00464 static const char* value(const vision_srvs::clip_polygonResponse_<ContainerAllocator> &) { return value(); }
00465 };
00466
00467 template<class ContainerAllocator>
00468 struct DataType<vision_srvs::clip_polygonResponse_<ContainerAllocator> > {
00469 static const char* value()
00470 {
00471 return "vision_srvs/clip_polygon";
00472 }
00473
00474 static const char* value(const vision_srvs::clip_polygonResponse_<ContainerAllocator> &) { return value(); }
00475 };
00476
00477 }
00478 }
00479
00480 #endif // VISION_SRVS_SERVICE_CLIP_POLYGON_H
00481