Go to the documentation of this file.00001
00002 #ifndef OPENRAVEROS_SERVICE_ENV_CHECKCOLLISION_H
00003 #define OPENRAVEROS_SERVICE_ENV_CHECKCOLLISION_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 "openraveros/Contact.h"
00022
00023 namespace openraveros
00024 {
00025 template <class ContainerAllocator>
00026 struct env_checkcollisionRequest_ {
00027 typedef env_checkcollisionRequest_<ContainerAllocator> Type;
00028
00029 env_checkcollisionRequest_()
00030 : bodyid(0)
00031 , linkid(0)
00032 , excludedbodyids()
00033 , tolerance(0.0)
00034 , checkselfcollision(0)
00035 , options(0)
00036 {
00037 }
00038
00039 env_checkcollisionRequest_(const ContainerAllocator& _alloc)
00040 : bodyid(0)
00041 , linkid(0)
00042 , excludedbodyids(_alloc)
00043 , tolerance(0.0)
00044 , checkselfcollision(0)
00045 , options(0)
00046 {
00047 }
00048
00049 typedef int32_t _bodyid_type;
00050 int32_t bodyid;
00051
00052 typedef int8_t _linkid_type;
00053 int8_t linkid;
00054
00055 typedef std::vector<int32_t, typename ContainerAllocator::template rebind<int32_t>::other > _excludedbodyids_type;
00056 std::vector<int32_t, typename ContainerAllocator::template rebind<int32_t>::other > excludedbodyids;
00057
00058 typedef float _tolerance_type;
00059 float tolerance;
00060
00061 typedef uint8_t _checkselfcollision_type;
00062 uint8_t checkselfcollision;
00063
00064 typedef uint8_t _options_type;
00065 uint8_t options;
00066
00067 enum { CO_Distance = 1 };
00068 enum { CO_UseTolerance = 2 };
00069 enum { CO_Contacts = 4 };
00070 enum { CO_RayAnyHit = 8 };
00071
00072 typedef boost::shared_ptr< ::openraveros::env_checkcollisionRequest_<ContainerAllocator> > Ptr;
00073 typedef boost::shared_ptr< ::openraveros::env_checkcollisionRequest_<ContainerAllocator> const> ConstPtr;
00074 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00075 };
00076 typedef ::openraveros::env_checkcollisionRequest_<std::allocator<void> > env_checkcollisionRequest;
00077
00078 typedef boost::shared_ptr< ::openraveros::env_checkcollisionRequest> env_checkcollisionRequestPtr;
00079 typedef boost::shared_ptr< ::openraveros::env_checkcollisionRequest const> env_checkcollisionRequestConstPtr;
00080
00081
00082 template <class ContainerAllocator>
00083 struct env_checkcollisionResponse_ {
00084 typedef env_checkcollisionResponse_<ContainerAllocator> Type;
00085
00086 env_checkcollisionResponse_()
00087 : collision(0)
00088 , collidingbodyid(0)
00089 , collidinglink(0)
00090 , contacts()
00091 , mindist(0.0)
00092 {
00093 }
00094
00095 env_checkcollisionResponse_(const ContainerAllocator& _alloc)
00096 : collision(0)
00097 , collidingbodyid(0)
00098 , collidinglink(0)
00099 , contacts(_alloc)
00100 , mindist(0.0)
00101 {
00102 }
00103
00104 typedef uint8_t _collision_type;
00105 uint8_t collision;
00106
00107 typedef int32_t _collidingbodyid_type;
00108 int32_t collidingbodyid;
00109
00110 typedef uint8_t _collidinglink_type;
00111 uint8_t collidinglink;
00112
00113 typedef std::vector< ::openraveros::Contact_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::openraveros::Contact_<ContainerAllocator> >::other > _contacts_type;
00114 std::vector< ::openraveros::Contact_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::openraveros::Contact_<ContainerAllocator> >::other > contacts;
00115
00116 typedef float _mindist_type;
00117 float mindist;
00118
00119
00120 typedef boost::shared_ptr< ::openraveros::env_checkcollisionResponse_<ContainerAllocator> > Ptr;
00121 typedef boost::shared_ptr< ::openraveros::env_checkcollisionResponse_<ContainerAllocator> const> ConstPtr;
00122 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00123 };
00124 typedef ::openraveros::env_checkcollisionResponse_<std::allocator<void> > env_checkcollisionResponse;
00125
00126 typedef boost::shared_ptr< ::openraveros::env_checkcollisionResponse> env_checkcollisionResponsePtr;
00127 typedef boost::shared_ptr< ::openraveros::env_checkcollisionResponse const> env_checkcollisionResponseConstPtr;
00128
00129 struct env_checkcollision
00130 {
00131
00132 typedef env_checkcollisionRequest Request;
00133 typedef env_checkcollisionResponse Response;
00134 Request request;
00135 Response response;
00136
00137 typedef Request RequestType;
00138 typedef Response ResponseType;
00139 };
00140 }
00141
00142 namespace ros
00143 {
00144 namespace message_traits
00145 {
00146 template<class ContainerAllocator> struct IsMessage< ::openraveros::env_checkcollisionRequest_<ContainerAllocator> > : public TrueType {};
00147 template<class ContainerAllocator> struct IsMessage< ::openraveros::env_checkcollisionRequest_<ContainerAllocator> const> : public TrueType {};
00148 template<class ContainerAllocator>
00149 struct MD5Sum< ::openraveros::env_checkcollisionRequest_<ContainerAllocator> > {
00150 static const char* value()
00151 {
00152 return "0522d5e0914fec17872837ada6628b4e";
00153 }
00154
00155 static const char* value(const ::openraveros::env_checkcollisionRequest_<ContainerAllocator> &) { return value(); }
00156 static const uint64_t static_value1 = 0x0522d5e0914fec17ULL;
00157 static const uint64_t static_value2 = 0x872837ada6628b4eULL;
00158 };
00159
00160 template<class ContainerAllocator>
00161 struct DataType< ::openraveros::env_checkcollisionRequest_<ContainerAllocator> > {
00162 static const char* value()
00163 {
00164 return "openraveros/env_checkcollisionRequest";
00165 }
00166
00167 static const char* value(const ::openraveros::env_checkcollisionRequest_<ContainerAllocator> &) { return value(); }
00168 };
00169
00170 template<class ContainerAllocator>
00171 struct Definition< ::openraveros::env_checkcollisionRequest_<ContainerAllocator> > {
00172 static const char* value()
00173 {
00174 return "\n\
00175 int32 bodyid\n\
00176 \n\
00177 \n\
00178 int8 linkid\n\
00179 \n\
00180 int32[] excludedbodyids\n\
00181 \n\
00182 \n\
00183 float32 tolerance\n\
00184 \n\
00185 \n\
00186 uint8 checkselfcollision\n\
00187 \n\
00188 \n\
00189 uint8 options\n\
00190 \n\
00191 uint8 CO_Distance=1\n\
00192 uint8 CO_UseTolerance=2\n\
00193 uint8 CO_Contacts=4\n\
00194 uint8 CO_RayAnyHit=8\n\
00195 \n\
00196 \n\
00197 ";
00198 }
00199
00200 static const char* value(const ::openraveros::env_checkcollisionRequest_<ContainerAllocator> &) { return value(); }
00201 };
00202
00203 }
00204 }
00205
00206
00207 namespace ros
00208 {
00209 namespace message_traits
00210 {
00211 template<class ContainerAllocator> struct IsMessage< ::openraveros::env_checkcollisionResponse_<ContainerAllocator> > : public TrueType {};
00212 template<class ContainerAllocator> struct IsMessage< ::openraveros::env_checkcollisionResponse_<ContainerAllocator> const> : public TrueType {};
00213 template<class ContainerAllocator>
00214 struct MD5Sum< ::openraveros::env_checkcollisionResponse_<ContainerAllocator> > {
00215 static const char* value()
00216 {
00217 return "b7594e25483e9adcacf4c2ea17ad87f4";
00218 }
00219
00220 static const char* value(const ::openraveros::env_checkcollisionResponse_<ContainerAllocator> &) { return value(); }
00221 static const uint64_t static_value1 = 0xb7594e25483e9adcULL;
00222 static const uint64_t static_value2 = 0xacf4c2ea17ad87f4ULL;
00223 };
00224
00225 template<class ContainerAllocator>
00226 struct DataType< ::openraveros::env_checkcollisionResponse_<ContainerAllocator> > {
00227 static const char* value()
00228 {
00229 return "openraveros/env_checkcollisionResponse";
00230 }
00231
00232 static const char* value(const ::openraveros::env_checkcollisionResponse_<ContainerAllocator> &) { return value(); }
00233 };
00234
00235 template<class ContainerAllocator>
00236 struct Definition< ::openraveros::env_checkcollisionResponse_<ContainerAllocator> > {
00237 static const char* value()
00238 {
00239 return "uint8 collision\n\
00240 int32 collidingbodyid\n\
00241 \n\
00242 \n\
00243 uint8 collidinglink\n\
00244 \n\
00245 \n\
00246 Contact[] contacts\n\
00247 \n\
00248 \n\
00249 float32 mindist\n\
00250 \n\
00251 \n\
00252 ================================================================================\n\
00253 MSG: openraveros/Contact\n\
00254 float32[3] position\n\
00255 float32[3] normal\n\
00256 \n\
00257 ";
00258 }
00259
00260 static const char* value(const ::openraveros::env_checkcollisionResponse_<ContainerAllocator> &) { return value(); }
00261 };
00262
00263 }
00264 }
00265
00266 namespace ros
00267 {
00268 namespace serialization
00269 {
00270
00271 template<class ContainerAllocator> struct Serializer< ::openraveros::env_checkcollisionRequest_<ContainerAllocator> >
00272 {
00273 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00274 {
00275 stream.next(m.bodyid);
00276 stream.next(m.linkid);
00277 stream.next(m.excludedbodyids);
00278 stream.next(m.tolerance);
00279 stream.next(m.checkselfcollision);
00280 stream.next(m.options);
00281 }
00282
00283 ROS_DECLARE_ALLINONE_SERIALIZER;
00284 };
00285 }
00286 }
00287
00288
00289 namespace ros
00290 {
00291 namespace serialization
00292 {
00293
00294 template<class ContainerAllocator> struct Serializer< ::openraveros::env_checkcollisionResponse_<ContainerAllocator> >
00295 {
00296 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00297 {
00298 stream.next(m.collision);
00299 stream.next(m.collidingbodyid);
00300 stream.next(m.collidinglink);
00301 stream.next(m.contacts);
00302 stream.next(m.mindist);
00303 }
00304
00305 ROS_DECLARE_ALLINONE_SERIALIZER;
00306 };
00307 }
00308 }
00309
00310 namespace ros
00311 {
00312 namespace service_traits
00313 {
00314 template<>
00315 struct MD5Sum<openraveros::env_checkcollision> {
00316 static const char* value()
00317 {
00318 return "c31338a70538724710a041530ce615b4";
00319 }
00320
00321 static const char* value(const openraveros::env_checkcollision&) { return value(); }
00322 };
00323
00324 template<>
00325 struct DataType<openraveros::env_checkcollision> {
00326 static const char* value()
00327 {
00328 return "openraveros/env_checkcollision";
00329 }
00330
00331 static const char* value(const openraveros::env_checkcollision&) { return value(); }
00332 };
00333
00334 template<class ContainerAllocator>
00335 struct MD5Sum<openraveros::env_checkcollisionRequest_<ContainerAllocator> > {
00336 static const char* value()
00337 {
00338 return "c31338a70538724710a041530ce615b4";
00339 }
00340
00341 static const char* value(const openraveros::env_checkcollisionRequest_<ContainerAllocator> &) { return value(); }
00342 };
00343
00344 template<class ContainerAllocator>
00345 struct DataType<openraveros::env_checkcollisionRequest_<ContainerAllocator> > {
00346 static const char* value()
00347 {
00348 return "openraveros/env_checkcollision";
00349 }
00350
00351 static const char* value(const openraveros::env_checkcollisionRequest_<ContainerAllocator> &) { return value(); }
00352 };
00353
00354 template<class ContainerAllocator>
00355 struct MD5Sum<openraveros::env_checkcollisionResponse_<ContainerAllocator> > {
00356 static const char* value()
00357 {
00358 return "c31338a70538724710a041530ce615b4";
00359 }
00360
00361 static const char* value(const openraveros::env_checkcollisionResponse_<ContainerAllocator> &) { return value(); }
00362 };
00363
00364 template<class ContainerAllocator>
00365 struct DataType<openraveros::env_checkcollisionResponse_<ContainerAllocator> > {
00366 static const char* value()
00367 {
00368 return "openraveros/env_checkcollision";
00369 }
00370
00371 static const char* value(const openraveros::env_checkcollisionResponse_<ContainerAllocator> &) { return value(); }
00372 };
00373
00374 }
00375 }
00376
00377 #endif // OPENRAVEROS_SERVICE_ENV_CHECKCOLLISION_H
00378