Go to the documentation of this file.00001
00002 #ifndef OPENRAVEROS_SERVICE_ENV_RAYCOLLISION_H
00003 #define OPENRAVEROS_SERVICE_ENV_RAYCOLLISION_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 "openraveros/Ray.h"
00020
00021
00022 #include "openraveros/Contact.h"
00023
00024 namespace openraveros
00025 {
00026 template <class ContainerAllocator>
00027 struct env_raycollisionRequest_ {
00028 typedef env_raycollisionRequest_<ContainerAllocator> Type;
00029
00030 env_raycollisionRequest_()
00031 : rays()
00032 , bodyid(0)
00033 , request_contacts(0)
00034 , request_bodies(0)
00035 {
00036 }
00037
00038 env_raycollisionRequest_(const ContainerAllocator& _alloc)
00039 : rays(_alloc)
00040 , bodyid(0)
00041 , request_contacts(0)
00042 , request_bodies(0)
00043 {
00044 }
00045
00046 typedef std::vector< ::openraveros::Ray_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::openraveros::Ray_<ContainerAllocator> >::other > _rays_type;
00047 std::vector< ::openraveros::Ray_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::openraveros::Ray_<ContainerAllocator> >::other > rays;
00048
00049 typedef int32_t _bodyid_type;
00050 int32_t bodyid;
00051
00052 typedef uint8_t _request_contacts_type;
00053 uint8_t request_contacts;
00054
00055 typedef uint8_t _request_bodies_type;
00056 uint8_t request_bodies;
00057
00058
00059 typedef boost::shared_ptr< ::openraveros::env_raycollisionRequest_<ContainerAllocator> > Ptr;
00060 typedef boost::shared_ptr< ::openraveros::env_raycollisionRequest_<ContainerAllocator> const> ConstPtr;
00061 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00062 };
00063 typedef ::openraveros::env_raycollisionRequest_<std::allocator<void> > env_raycollisionRequest;
00064
00065 typedef boost::shared_ptr< ::openraveros::env_raycollisionRequest> env_raycollisionRequestPtr;
00066 typedef boost::shared_ptr< ::openraveros::env_raycollisionRequest const> env_raycollisionRequestConstPtr;
00067
00068
00069 template <class ContainerAllocator>
00070 struct env_raycollisionResponse_ {
00071 typedef env_raycollisionResponse_<ContainerAllocator> Type;
00072
00073 env_raycollisionResponse_()
00074 : collision()
00075 , contacts()
00076 , hitbodies()
00077 {
00078 }
00079
00080 env_raycollisionResponse_(const ContainerAllocator& _alloc)
00081 : collision(_alloc)
00082 , contacts(_alloc)
00083 , hitbodies(_alloc)
00084 {
00085 }
00086
00087 typedef std::vector<uint8_t, typename ContainerAllocator::template rebind<uint8_t>::other > _collision_type;
00088 std::vector<uint8_t, typename ContainerAllocator::template rebind<uint8_t>::other > collision;
00089
00090 typedef std::vector< ::openraveros::Contact_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::openraveros::Contact_<ContainerAllocator> >::other > _contacts_type;
00091 std::vector< ::openraveros::Contact_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::openraveros::Contact_<ContainerAllocator> >::other > contacts;
00092
00093 typedef std::vector<int32_t, typename ContainerAllocator::template rebind<int32_t>::other > _hitbodies_type;
00094 std::vector<int32_t, typename ContainerAllocator::template rebind<int32_t>::other > hitbodies;
00095
00096
00097 typedef boost::shared_ptr< ::openraveros::env_raycollisionResponse_<ContainerAllocator> > Ptr;
00098 typedef boost::shared_ptr< ::openraveros::env_raycollisionResponse_<ContainerAllocator> const> ConstPtr;
00099 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00100 };
00101 typedef ::openraveros::env_raycollisionResponse_<std::allocator<void> > env_raycollisionResponse;
00102
00103 typedef boost::shared_ptr< ::openraveros::env_raycollisionResponse> env_raycollisionResponsePtr;
00104 typedef boost::shared_ptr< ::openraveros::env_raycollisionResponse const> env_raycollisionResponseConstPtr;
00105
00106 struct env_raycollision
00107 {
00108
00109 typedef env_raycollisionRequest Request;
00110 typedef env_raycollisionResponse Response;
00111 Request request;
00112 Response response;
00113
00114 typedef Request RequestType;
00115 typedef Response ResponseType;
00116 };
00117 }
00118
00119 namespace ros
00120 {
00121 namespace message_traits
00122 {
00123 template<class ContainerAllocator> struct IsMessage< ::openraveros::env_raycollisionRequest_<ContainerAllocator> > : public TrueType {};
00124 template<class ContainerAllocator> struct IsMessage< ::openraveros::env_raycollisionRequest_<ContainerAllocator> const> : public TrueType {};
00125 template<class ContainerAllocator>
00126 struct MD5Sum< ::openraveros::env_raycollisionRequest_<ContainerAllocator> > {
00127 static const char* value()
00128 {
00129 return "5186c8b2846045a7cb6bd96a87ccb435";
00130 }
00131
00132 static const char* value(const ::openraveros::env_raycollisionRequest_<ContainerAllocator> &) { return value(); }
00133 static const uint64_t static_value1 = 0x5186c8b2846045a7ULL;
00134 static const uint64_t static_value2 = 0xcb6bd96a87ccb435ULL;
00135 };
00136
00137 template<class ContainerAllocator>
00138 struct DataType< ::openraveros::env_raycollisionRequest_<ContainerAllocator> > {
00139 static const char* value()
00140 {
00141 return "openraveros/env_raycollisionRequest";
00142 }
00143
00144 static const char* value(const ::openraveros::env_raycollisionRequest_<ContainerAllocator> &) { return value(); }
00145 };
00146
00147 template<class ContainerAllocator>
00148 struct Definition< ::openraveros::env_raycollisionRequest_<ContainerAllocator> > {
00149 static const char* value()
00150 {
00151 return "\n\
00152 \n\
00153 Ray[] rays\n\
00154 \n\
00155 \n\
00156 int32 bodyid\n\
00157 \n\
00158 \n\
00159 uint8 request_contacts\n\
00160 \n\
00161 \n\
00162 uint8 request_bodies\n\
00163 \n\
00164 \n\
00165 ================================================================================\n\
00166 MSG: openraveros/Ray\n\
00167 # defines a ray starting at position and going along direction\n\
00168 float32[3] position\n\
00169 float32[3] direction\n\
00170 \n\
00171 ";
00172 }
00173
00174 static const char* value(const ::openraveros::env_raycollisionRequest_<ContainerAllocator> &) { return value(); }
00175 };
00176
00177 }
00178 }
00179
00180
00181 namespace ros
00182 {
00183 namespace message_traits
00184 {
00185 template<class ContainerAllocator> struct IsMessage< ::openraveros::env_raycollisionResponse_<ContainerAllocator> > : public TrueType {};
00186 template<class ContainerAllocator> struct IsMessage< ::openraveros::env_raycollisionResponse_<ContainerAllocator> const> : public TrueType {};
00187 template<class ContainerAllocator>
00188 struct MD5Sum< ::openraveros::env_raycollisionResponse_<ContainerAllocator> > {
00189 static const char* value()
00190 {
00191 return "fa24012519fc56ca2e98ba82ef8c795b";
00192 }
00193
00194 static const char* value(const ::openraveros::env_raycollisionResponse_<ContainerAllocator> &) { return value(); }
00195 static const uint64_t static_value1 = 0xfa24012519fc56caULL;
00196 static const uint64_t static_value2 = 0x2e98ba82ef8c795bULL;
00197 };
00198
00199 template<class ContainerAllocator>
00200 struct DataType< ::openraveros::env_raycollisionResponse_<ContainerAllocator> > {
00201 static const char* value()
00202 {
00203 return "openraveros/env_raycollisionResponse";
00204 }
00205
00206 static const char* value(const ::openraveros::env_raycollisionResponse_<ContainerAllocator> &) { return value(); }
00207 };
00208
00209 template<class ContainerAllocator>
00210 struct Definition< ::openraveros::env_raycollisionResponse_<ContainerAllocator> > {
00211 static const char* value()
00212 {
00213 return "\n\
00214 uint8[] collision\n\
00215 Contact[] contacts\n\
00216 int32[] hitbodies\n\
00217 \n\
00218 \n\
00219 ================================================================================\n\
00220 MSG: openraveros/Contact\n\
00221 float32[3] position\n\
00222 float32[3] normal\n\
00223 \n\
00224 ";
00225 }
00226
00227 static const char* value(const ::openraveros::env_raycollisionResponse_<ContainerAllocator> &) { return value(); }
00228 };
00229
00230 }
00231 }
00232
00233 namespace ros
00234 {
00235 namespace serialization
00236 {
00237
00238 template<class ContainerAllocator> struct Serializer< ::openraveros::env_raycollisionRequest_<ContainerAllocator> >
00239 {
00240 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00241 {
00242 stream.next(m.rays);
00243 stream.next(m.bodyid);
00244 stream.next(m.request_contacts);
00245 stream.next(m.request_bodies);
00246 }
00247
00248 ROS_DECLARE_ALLINONE_SERIALIZER;
00249 };
00250 }
00251 }
00252
00253
00254 namespace ros
00255 {
00256 namespace serialization
00257 {
00258
00259 template<class ContainerAllocator> struct Serializer< ::openraveros::env_raycollisionResponse_<ContainerAllocator> >
00260 {
00261 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00262 {
00263 stream.next(m.collision);
00264 stream.next(m.contacts);
00265 stream.next(m.hitbodies);
00266 }
00267
00268 ROS_DECLARE_ALLINONE_SERIALIZER;
00269 };
00270 }
00271 }
00272
00273 namespace ros
00274 {
00275 namespace service_traits
00276 {
00277 template<>
00278 struct MD5Sum<openraveros::env_raycollision> {
00279 static const char* value()
00280 {
00281 return "a7be61e01b06aa574f96aa2460b67c47";
00282 }
00283
00284 static const char* value(const openraveros::env_raycollision&) { return value(); }
00285 };
00286
00287 template<>
00288 struct DataType<openraveros::env_raycollision> {
00289 static const char* value()
00290 {
00291 return "openraveros/env_raycollision";
00292 }
00293
00294 static const char* value(const openraveros::env_raycollision&) { return value(); }
00295 };
00296
00297 template<class ContainerAllocator>
00298 struct MD5Sum<openraveros::env_raycollisionRequest_<ContainerAllocator> > {
00299 static const char* value()
00300 {
00301 return "a7be61e01b06aa574f96aa2460b67c47";
00302 }
00303
00304 static const char* value(const openraveros::env_raycollisionRequest_<ContainerAllocator> &) { return value(); }
00305 };
00306
00307 template<class ContainerAllocator>
00308 struct DataType<openraveros::env_raycollisionRequest_<ContainerAllocator> > {
00309 static const char* value()
00310 {
00311 return "openraveros/env_raycollision";
00312 }
00313
00314 static const char* value(const openraveros::env_raycollisionRequest_<ContainerAllocator> &) { return value(); }
00315 };
00316
00317 template<class ContainerAllocator>
00318 struct MD5Sum<openraveros::env_raycollisionResponse_<ContainerAllocator> > {
00319 static const char* value()
00320 {
00321 return "a7be61e01b06aa574f96aa2460b67c47";
00322 }
00323
00324 static const char* value(const openraveros::env_raycollisionResponse_<ContainerAllocator> &) { return value(); }
00325 };
00326
00327 template<class ContainerAllocator>
00328 struct DataType<openraveros::env_raycollisionResponse_<ContainerAllocator> > {
00329 static const char* value()
00330 {
00331 return "openraveros/env_raycollision";
00332 }
00333
00334 static const char* value(const openraveros::env_raycollisionResponse_<ContainerAllocator> &) { return value(); }
00335 };
00336
00337 }
00338 }
00339
00340 #endif // OPENRAVEROS_SERVICE_ENV_RAYCOLLISION_H
00341