Go to the documentation of this file.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 <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 #include "geometry_msgs/Polygon.h"
00020 #include "geometry_msgs/Polygon.h"
00021
00022
00023 #include "geometry_msgs/Polygon.h"
00024
00025 namespace vision_srvs
00026 {
00027 template <class ContainerAllocator>
00028 struct clip_polygonRequest_ {
00029 typedef clip_polygonRequest_<ContainerAllocator> Type;
00030
00031 clip_polygonRequest_()
00032 : operation(0)
00033 , poly1()
00034 , poly2()
00035 {
00036 }
00037
00038 clip_polygonRequest_(const ContainerAllocator& _alloc)
00039 : operation(0)
00040 , poly1(_alloc)
00041 , poly2(_alloc)
00042 {
00043 }
00044
00045 typedef uint32_t _operation_type;
00046 uint32_t operation;
00047
00048 typedef ::geometry_msgs::Polygon_<ContainerAllocator> _poly1_type;
00049 ::geometry_msgs::Polygon_<ContainerAllocator> poly1;
00050
00051 typedef ::geometry_msgs::Polygon_<ContainerAllocator> _poly2_type;
00052 ::geometry_msgs::Polygon_<ContainerAllocator> poly2;
00053
00054 enum { UNION = 0 };
00055 enum { INTERSECTION = 1 };
00056
00057 typedef boost::shared_ptr< ::vision_srvs::clip_polygonRequest_<ContainerAllocator> > Ptr;
00058 typedef boost::shared_ptr< ::vision_srvs::clip_polygonRequest_<ContainerAllocator> const> ConstPtr;
00059 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00060 };
00061 typedef ::vision_srvs::clip_polygonRequest_<std::allocator<void> > clip_polygonRequest;
00062
00063 typedef boost::shared_ptr< ::vision_srvs::clip_polygonRequest> clip_polygonRequestPtr;
00064 typedef boost::shared_ptr< ::vision_srvs::clip_polygonRequest const> clip_polygonRequestConstPtr;
00065
00066
00067 template <class ContainerAllocator>
00068 struct clip_polygonResponse_ {
00069 typedef clip_polygonResponse_<ContainerAllocator> Type;
00070
00071 clip_polygonResponse_()
00072 : poly_clip()
00073 {
00074 }
00075
00076 clip_polygonResponse_(const ContainerAllocator& _alloc)
00077 : poly_clip(_alloc)
00078 {
00079 }
00080
00081 typedef ::geometry_msgs::Polygon_<ContainerAllocator> _poly_clip_type;
00082 ::geometry_msgs::Polygon_<ContainerAllocator> poly_clip;
00083
00084
00085 typedef boost::shared_ptr< ::vision_srvs::clip_polygonResponse_<ContainerAllocator> > Ptr;
00086 typedef boost::shared_ptr< ::vision_srvs::clip_polygonResponse_<ContainerAllocator> const> ConstPtr;
00087 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00088 };
00089 typedef ::vision_srvs::clip_polygonResponse_<std::allocator<void> > clip_polygonResponse;
00090
00091 typedef boost::shared_ptr< ::vision_srvs::clip_polygonResponse> clip_polygonResponsePtr;
00092 typedef boost::shared_ptr< ::vision_srvs::clip_polygonResponse const> clip_polygonResponseConstPtr;
00093
00094 struct clip_polygon
00095 {
00096
00097 typedef clip_polygonRequest Request;
00098 typedef clip_polygonResponse Response;
00099 Request request;
00100 Response response;
00101
00102 typedef Request RequestType;
00103 typedef Response ResponseType;
00104 };
00105 }
00106
00107 namespace ros
00108 {
00109 namespace message_traits
00110 {
00111 template<class ContainerAllocator> struct IsMessage< ::vision_srvs::clip_polygonRequest_<ContainerAllocator> > : public TrueType {};
00112 template<class ContainerAllocator> struct IsMessage< ::vision_srvs::clip_polygonRequest_<ContainerAllocator> const> : public TrueType {};
00113 template<class ContainerAllocator>
00114 struct MD5Sum< ::vision_srvs::clip_polygonRequest_<ContainerAllocator> > {
00115 static const char* value()
00116 {
00117 return "90ec19340207537b530d3a37f5d3aaff";
00118 }
00119
00120 static const char* value(const ::vision_srvs::clip_polygonRequest_<ContainerAllocator> &) { return value(); }
00121 static const uint64_t static_value1 = 0x90ec19340207537bULL;
00122 static const uint64_t static_value2 = 0x530d3a37f5d3aaffULL;
00123 };
00124
00125 template<class ContainerAllocator>
00126 struct DataType< ::vision_srvs::clip_polygonRequest_<ContainerAllocator> > {
00127 static const char* value()
00128 {
00129 return "vision_srvs/clip_polygonRequest";
00130 }
00131
00132 static const char* value(const ::vision_srvs::clip_polygonRequest_<ContainerAllocator> &) { return value(); }
00133 };
00134
00135 template<class ContainerAllocator>
00136 struct Definition< ::vision_srvs::clip_polygonRequest_<ContainerAllocator> > {
00137 static const char* value()
00138 {
00139 return "uint32 UNION = 0\n\
00140 uint32 INTERSECTION = 1\n\
00141 uint32 operation\n\
00142 geometry_msgs/Polygon poly1\n\
00143 geometry_msgs/Polygon poly2\n\
00144 \n\
00145 ================================================================================\n\
00146 MSG: geometry_msgs/Polygon\n\
00147 #A specification of a polygon where the first and last points are assumed to be connected\n\
00148 Point32[] points\n\
00149 \n\
00150 ================================================================================\n\
00151 MSG: geometry_msgs/Point32\n\
00152 # This contains the position of a point in free space(with 32 bits of precision).\n\
00153 # It is recommeded to use Point wherever possible instead of Point32. \n\
00154 # \n\
00155 # This recommendation is to promote interoperability. \n\
00156 #\n\
00157 # This message is designed to take up less space when sending\n\
00158 # lots of points at once, as in the case of a PointCloud. \n\
00159 \n\
00160 float32 x\n\
00161 float32 y\n\
00162 float32 z\n\
00163 ";
00164 }
00165
00166 static const char* value(const ::vision_srvs::clip_polygonRequest_<ContainerAllocator> &) { return value(); }
00167 };
00168
00169 }
00170 }
00171
00172
00173 namespace ros
00174 {
00175 namespace message_traits
00176 {
00177 template<class ContainerAllocator> struct IsMessage< ::vision_srvs::clip_polygonResponse_<ContainerAllocator> > : public TrueType {};
00178 template<class ContainerAllocator> struct IsMessage< ::vision_srvs::clip_polygonResponse_<ContainerAllocator> const> : public TrueType {};
00179 template<class ContainerAllocator>
00180 struct MD5Sum< ::vision_srvs::clip_polygonResponse_<ContainerAllocator> > {
00181 static const char* value()
00182 {
00183 return "8ac99714bd719c813589b0f74ded28d5";
00184 }
00185
00186 static const char* value(const ::vision_srvs::clip_polygonResponse_<ContainerAllocator> &) { return value(); }
00187 static const uint64_t static_value1 = 0x8ac99714bd719c81ULL;
00188 static const uint64_t static_value2 = 0x3589b0f74ded28d5ULL;
00189 };
00190
00191 template<class ContainerAllocator>
00192 struct DataType< ::vision_srvs::clip_polygonResponse_<ContainerAllocator> > {
00193 static const char* value()
00194 {
00195 return "vision_srvs/clip_polygonResponse";
00196 }
00197
00198 static const char* value(const ::vision_srvs::clip_polygonResponse_<ContainerAllocator> &) { return value(); }
00199 };
00200
00201 template<class ContainerAllocator>
00202 struct Definition< ::vision_srvs::clip_polygonResponse_<ContainerAllocator> > {
00203 static const char* value()
00204 {
00205 return "geometry_msgs/Polygon poly_clip\n\
00206 \n\
00207 \n\
00208 ================================================================================\n\
00209 MSG: geometry_msgs/Polygon\n\
00210 #A specification of a polygon where the first and last points are assumed to be connected\n\
00211 Point32[] points\n\
00212 \n\
00213 ================================================================================\n\
00214 MSG: geometry_msgs/Point32\n\
00215 # This contains the position of a point in free space(with 32 bits of precision).\n\
00216 # It is recommeded to use Point wherever possible instead of Point32. \n\
00217 # \n\
00218 # This recommendation is to promote interoperability. \n\
00219 #\n\
00220 # This message is designed to take up less space when sending\n\
00221 # lots of points at once, as in the case of a PointCloud. \n\
00222 \n\
00223 float32 x\n\
00224 float32 y\n\
00225 float32 z\n\
00226 ";
00227 }
00228
00229 static const char* value(const ::vision_srvs::clip_polygonResponse_<ContainerAllocator> &) { return value(); }
00230 };
00231
00232 }
00233 }
00234
00235 namespace ros
00236 {
00237 namespace serialization
00238 {
00239
00240 template<class ContainerAllocator> struct Serializer< ::vision_srvs::clip_polygonRequest_<ContainerAllocator> >
00241 {
00242 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00243 {
00244 stream.next(m.operation);
00245 stream.next(m.poly1);
00246 stream.next(m.poly2);
00247 }
00248
00249 ROS_DECLARE_ALLINONE_SERIALIZER;
00250 };
00251 }
00252 }
00253
00254
00255 namespace ros
00256 {
00257 namespace serialization
00258 {
00259
00260 template<class ContainerAllocator> struct Serializer< ::vision_srvs::clip_polygonResponse_<ContainerAllocator> >
00261 {
00262 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00263 {
00264 stream.next(m.poly_clip);
00265 }
00266
00267 ROS_DECLARE_ALLINONE_SERIALIZER;
00268 };
00269 }
00270 }
00271
00272 namespace ros
00273 {
00274 namespace service_traits
00275 {
00276 template<>
00277 struct MD5Sum<vision_srvs::clip_polygon> {
00278 static const char* value()
00279 {
00280 return "833de208811dbf84e2b0e6af79d60331";
00281 }
00282
00283 static const char* value(const vision_srvs::clip_polygon&) { return value(); }
00284 };
00285
00286 template<>
00287 struct DataType<vision_srvs::clip_polygon> {
00288 static const char* value()
00289 {
00290 return "vision_srvs/clip_polygon";
00291 }
00292
00293 static const char* value(const vision_srvs::clip_polygon&) { return value(); }
00294 };
00295
00296 template<class ContainerAllocator>
00297 struct MD5Sum<vision_srvs::clip_polygonRequest_<ContainerAllocator> > {
00298 static const char* value()
00299 {
00300 return "833de208811dbf84e2b0e6af79d60331";
00301 }
00302
00303 static const char* value(const vision_srvs::clip_polygonRequest_<ContainerAllocator> &) { return value(); }
00304 };
00305
00306 template<class ContainerAllocator>
00307 struct DataType<vision_srvs::clip_polygonRequest_<ContainerAllocator> > {
00308 static const char* value()
00309 {
00310 return "vision_srvs/clip_polygon";
00311 }
00312
00313 static const char* value(const vision_srvs::clip_polygonRequest_<ContainerAllocator> &) { return value(); }
00314 };
00315
00316 template<class ContainerAllocator>
00317 struct MD5Sum<vision_srvs::clip_polygonResponse_<ContainerAllocator> > {
00318 static const char* value()
00319 {
00320 return "833de208811dbf84e2b0e6af79d60331";
00321 }
00322
00323 static const char* value(const vision_srvs::clip_polygonResponse_<ContainerAllocator> &) { return value(); }
00324 };
00325
00326 template<class ContainerAllocator>
00327 struct DataType<vision_srvs::clip_polygonResponse_<ContainerAllocator> > {
00328 static const char* value()
00329 {
00330 return "vision_srvs/clip_polygon";
00331 }
00332
00333 static const char* value(const vision_srvs::clip_polygonResponse_<ContainerAllocator> &) { return value(); }
00334 };
00335
00336 }
00337 }
00338
00339 #endif // VISION_SRVS_SERVICE_CLIP_POLYGON_H
00340