00001
00002 #ifndef VISION_SRVS_SERVICE_COP_ADD_COLLISION_H
00003 #define VISION_SRVS_SERVICE_COP_ADD_COLLISION_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
00016
00017 #include "mapping_msgs/CollisionObject.h"
00018
00019 namespace vision_srvs
00020 {
00021 template <class ContainerAllocator>
00022 struct cop_add_collisionRequest_ : public ros::Message
00023 {
00024 typedef cop_add_collisionRequest_<ContainerAllocator> Type;
00025
00026 cop_add_collisionRequest_()
00027 : object_id(0)
00028 {
00029 }
00030
00031 cop_add_collisionRequest_(const ContainerAllocator& _alloc)
00032 : object_id(0)
00033 {
00034 }
00035
00036 typedef uint64_t _object_id_type;
00037 uint64_t object_id;
00038
00039
00040 private:
00041 static const char* __s_getDataType_() { return "vision_srvs/cop_add_collisionRequest"; }
00042 public:
00043 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00044
00045 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00046
00047 private:
00048 static const char* __s_getMD5Sum_() { return "039cdc2e4e021929b349f87d86d0ea70"; }
00049 public:
00050 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00051
00052 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00053
00054 private:
00055 static const char* __s_getServerMD5Sum_() { return "ffb9ed9439ec9d331dee846d8b567988"; }
00056 public:
00057 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00058
00059 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00060
00061 private:
00062 static const char* __s_getMessageDefinition_() { return "\n\
00063 \n\
00064 uint64 object_id\n\
00065 \n\
00066 "; }
00067 public:
00068 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00069
00070 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00071
00072 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00073 {
00074 ros::serialization::OStream stream(write_ptr, 1000000000);
00075 ros::serialization::serialize(stream, object_id);
00076 return stream.getData();
00077 }
00078
00079 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00080 {
00081 ros::serialization::IStream stream(read_ptr, 1000000000);
00082 ros::serialization::deserialize(stream, object_id);
00083 return stream.getData();
00084 }
00085
00086 ROS_DEPRECATED virtual uint32_t serializationLength() const
00087 {
00088 uint32_t size = 0;
00089 size += ros::serialization::serializationLength(object_id);
00090 return size;
00091 }
00092
00093 typedef boost::shared_ptr< ::vision_srvs::cop_add_collisionRequest_<ContainerAllocator> > Ptr;
00094 typedef boost::shared_ptr< ::vision_srvs::cop_add_collisionRequest_<ContainerAllocator> const> ConstPtr;
00095 };
00096 typedef ::vision_srvs::cop_add_collisionRequest_<std::allocator<void> > cop_add_collisionRequest;
00097
00098 typedef boost::shared_ptr< ::vision_srvs::cop_add_collisionRequest> cop_add_collisionRequestPtr;
00099 typedef boost::shared_ptr< ::vision_srvs::cop_add_collisionRequest const> cop_add_collisionRequestConstPtr;
00100
00101
00102 template <class ContainerAllocator>
00103 struct cop_add_collisionResponse_ : public ros::Message
00104 {
00105 typedef cop_add_collisionResponse_<ContainerAllocator> Type;
00106
00107 cop_add_collisionResponse_()
00108 : collisionname()
00109 , added_object()
00110 {
00111 }
00112
00113 cop_add_collisionResponse_(const ContainerAllocator& _alloc)
00114 : collisionname(_alloc)
00115 , added_object(_alloc)
00116 {
00117 }
00118
00119 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _collisionname_type;
00120 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > collisionname;
00121
00122 typedef ::mapping_msgs::CollisionObject_<ContainerAllocator> _added_object_type;
00123 ::mapping_msgs::CollisionObject_<ContainerAllocator> added_object;
00124
00125
00126 private:
00127 static const char* __s_getDataType_() { return "vision_srvs/cop_add_collisionResponse"; }
00128 public:
00129 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00130
00131 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00132
00133 private:
00134 static const char* __s_getMD5Sum_() { return "02ea35f62dccc09056adcce9e25afa4d"; }
00135 public:
00136 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00137
00138 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00139
00140 private:
00141 static const char* __s_getServerMD5Sum_() { return "ffb9ed9439ec9d331dee846d8b567988"; }
00142 public:
00143 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00144
00145 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00146
00147 private:
00148 static const char* __s_getMessageDefinition_() { return "string collisionname\n\
00149 mapping_msgs/CollisionObject added_object\n\
00150 \n\
00151 \n\
00152 ================================================================================\n\
00153 MSG: mapping_msgs/CollisionObject\n\
00154 # a header, used for interpreting the poses\n\
00155 Header header\n\
00156 \n\
00157 # the id of the object\n\
00158 string id\n\
00159 \n\
00160 #This contains what is to be done with the object\n\
00161 CollisionObjectOperation operation\n\
00162 \n\
00163 #the shapes associated with the object\n\
00164 geometric_shapes_msgs/Shape[] shapes\n\
00165 \n\
00166 #the poses associated with the shapes - will be transformed using the header\n\
00167 geometry_msgs/Pose[] poses\n\
00168 \n\
00169 ================================================================================\n\
00170 MSG: std_msgs/Header\n\
00171 # Standard metadata for higher-level stamped data types.\n\
00172 # This is generally used to communicate timestamped data \n\
00173 # in a particular coordinate frame.\n\
00174 # \n\
00175 # sequence ID: consecutively increasing ID \n\
00176 uint32 seq\n\
00177 #Two-integer timestamp that is expressed as:\n\
00178 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00179 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00180 # time-handling sugar is provided by the client library\n\
00181 time stamp\n\
00182 #Frame this data is associated with\n\
00183 # 0: no frame\n\
00184 # 1: global frame\n\
00185 string frame_id\n\
00186 \n\
00187 ================================================================================\n\
00188 MSG: mapping_msgs/CollisionObjectOperation\n\
00189 #Puts the object into the environment\n\
00190 #or updates the object if already added\n\
00191 byte ADD=0\n\
00192 \n\
00193 #Removes the object from the environment entirely\n\
00194 byte REMOVE=1\n\
00195 \n\
00196 #Only valid within the context of a CollisionAttachedObject message\n\
00197 #Will be ignored if sent with an CollisionObject message\n\
00198 #Takes an attached object, detaches from the attached link\n\
00199 #But adds back in as regular object\n\
00200 byte DETACH_AND_ADD_AS_OBJECT=2\n\
00201 \n\
00202 #Only valid within the context of a CollisionAttachedObject message\n\
00203 #Will be ignored if sent with an CollisionObject message\n\
00204 #Takes current object in the environment and removes it as\n\
00205 #a regular object\n\
00206 byte ATTACH_AND_REMOVE_AS_OBJECT=3\n\
00207 \n\
00208 # Byte code for operation\n\
00209 byte operation\n\
00210 \n\
00211 ================================================================================\n\
00212 MSG: geometric_shapes_msgs/Shape\n\
00213 byte SPHERE=0\n\
00214 byte BOX=1\n\
00215 byte CYLINDER=2\n\
00216 byte MESH=3\n\
00217 \n\
00218 byte type\n\
00219 \n\
00220 \n\
00221 #### define sphere, box, cylinder ####\n\
00222 # the origin of each shape is considered at the shape's center\n\
00223 \n\
00224 # for sphere\n\
00225 # radius := dimensions[0]\n\
00226 \n\
00227 # for cylinder\n\
00228 # radius := dimensions[0]\n\
00229 # length := dimensions[1]\n\
00230 # the length is along the Z axis\n\
00231 \n\
00232 # for box\n\
00233 # size_x := dimensions[0]\n\
00234 # size_y := dimensions[1]\n\
00235 # size_z := dimensions[2]\n\
00236 float64[] dimensions\n\
00237 \n\
00238 \n\
00239 #### define mesh ####\n\
00240 \n\
00241 # list of triangles; triangle k is defined by tre vertices located\n\
00242 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
00243 int32[] triangles\n\
00244 geometry_msgs/Point[] vertices\n\
00245 \n\
00246 ================================================================================\n\
00247 MSG: geometry_msgs/Point\n\
00248 # This contains the position of a point in free space\n\
00249 float64 x\n\
00250 float64 y\n\
00251 float64 z\n\
00252 \n\
00253 ================================================================================\n\
00254 MSG: geometry_msgs/Pose\n\
00255 # A representation of pose in free space, composed of postion and orientation. \n\
00256 Point position\n\
00257 Quaternion orientation\n\
00258 \n\
00259 ================================================================================\n\
00260 MSG: geometry_msgs/Quaternion\n\
00261 # This represents an orientation in free space in quaternion form.\n\
00262 \n\
00263 float64 x\n\
00264 float64 y\n\
00265 float64 z\n\
00266 float64 w\n\
00267 \n\
00268 "; }
00269 public:
00270 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00271
00272 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00273
00274 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00275 {
00276 ros::serialization::OStream stream(write_ptr, 1000000000);
00277 ros::serialization::serialize(stream, collisionname);
00278 ros::serialization::serialize(stream, added_object);
00279 return stream.getData();
00280 }
00281
00282 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00283 {
00284 ros::serialization::IStream stream(read_ptr, 1000000000);
00285 ros::serialization::deserialize(stream, collisionname);
00286 ros::serialization::deserialize(stream, added_object);
00287 return stream.getData();
00288 }
00289
00290 ROS_DEPRECATED virtual uint32_t serializationLength() const
00291 {
00292 uint32_t size = 0;
00293 size += ros::serialization::serializationLength(collisionname);
00294 size += ros::serialization::serializationLength(added_object);
00295 return size;
00296 }
00297
00298 typedef boost::shared_ptr< ::vision_srvs::cop_add_collisionResponse_<ContainerAllocator> > Ptr;
00299 typedef boost::shared_ptr< ::vision_srvs::cop_add_collisionResponse_<ContainerAllocator> const> ConstPtr;
00300 };
00301 typedef ::vision_srvs::cop_add_collisionResponse_<std::allocator<void> > cop_add_collisionResponse;
00302
00303 typedef boost::shared_ptr< ::vision_srvs::cop_add_collisionResponse> cop_add_collisionResponsePtr;
00304 typedef boost::shared_ptr< ::vision_srvs::cop_add_collisionResponse const> cop_add_collisionResponseConstPtr;
00305
00306 struct cop_add_collision
00307 {
00308
00309 typedef cop_add_collisionRequest Request;
00310 typedef cop_add_collisionResponse Response;
00311 Request request;
00312 Response response;
00313
00314 typedef Request RequestType;
00315 typedef Response ResponseType;
00316 };
00317 }
00318
00319 namespace ros
00320 {
00321 namespace message_traits
00322 {
00323 template<class ContainerAllocator>
00324 struct MD5Sum< ::vision_srvs::cop_add_collisionRequest_<ContainerAllocator> > {
00325 static const char* value()
00326 {
00327 return "039cdc2e4e021929b349f87d86d0ea70";
00328 }
00329
00330 static const char* value(const ::vision_srvs::cop_add_collisionRequest_<ContainerAllocator> &) { return value(); }
00331 static const uint64_t static_value1 = 0x039cdc2e4e021929ULL;
00332 static const uint64_t static_value2 = 0xb349f87d86d0ea70ULL;
00333 };
00334
00335 template<class ContainerAllocator>
00336 struct DataType< ::vision_srvs::cop_add_collisionRequest_<ContainerAllocator> > {
00337 static const char* value()
00338 {
00339 return "vision_srvs/cop_add_collisionRequest";
00340 }
00341
00342 static const char* value(const ::vision_srvs::cop_add_collisionRequest_<ContainerAllocator> &) { return value(); }
00343 };
00344
00345 template<class ContainerAllocator>
00346 struct Definition< ::vision_srvs::cop_add_collisionRequest_<ContainerAllocator> > {
00347 static const char* value()
00348 {
00349 return "\n\
00350 \n\
00351 uint64 object_id\n\
00352 \n\
00353 ";
00354 }
00355
00356 static const char* value(const ::vision_srvs::cop_add_collisionRequest_<ContainerAllocator> &) { return value(); }
00357 };
00358
00359 template<class ContainerAllocator> struct IsFixedSize< ::vision_srvs::cop_add_collisionRequest_<ContainerAllocator> > : public TrueType {};
00360 }
00361 }
00362
00363
00364 namespace ros
00365 {
00366 namespace message_traits
00367 {
00368 template<class ContainerAllocator>
00369 struct MD5Sum< ::vision_srvs::cop_add_collisionResponse_<ContainerAllocator> > {
00370 static const char* value()
00371 {
00372 return "02ea35f62dccc09056adcce9e25afa4d";
00373 }
00374
00375 static const char* value(const ::vision_srvs::cop_add_collisionResponse_<ContainerAllocator> &) { return value(); }
00376 static const uint64_t static_value1 = 0x02ea35f62dccc090ULL;
00377 static const uint64_t static_value2 = 0x56adcce9e25afa4dULL;
00378 };
00379
00380 template<class ContainerAllocator>
00381 struct DataType< ::vision_srvs::cop_add_collisionResponse_<ContainerAllocator> > {
00382 static const char* value()
00383 {
00384 return "vision_srvs/cop_add_collisionResponse";
00385 }
00386
00387 static const char* value(const ::vision_srvs::cop_add_collisionResponse_<ContainerAllocator> &) { return value(); }
00388 };
00389
00390 template<class ContainerAllocator>
00391 struct Definition< ::vision_srvs::cop_add_collisionResponse_<ContainerAllocator> > {
00392 static const char* value()
00393 {
00394 return "string collisionname\n\
00395 mapping_msgs/CollisionObject added_object\n\
00396 \n\
00397 \n\
00398 ================================================================================\n\
00399 MSG: mapping_msgs/CollisionObject\n\
00400 # a header, used for interpreting the poses\n\
00401 Header header\n\
00402 \n\
00403 # the id of the object\n\
00404 string id\n\
00405 \n\
00406 #This contains what is to be done with the object\n\
00407 CollisionObjectOperation operation\n\
00408 \n\
00409 #the shapes associated with the object\n\
00410 geometric_shapes_msgs/Shape[] shapes\n\
00411 \n\
00412 #the poses associated with the shapes - will be transformed using the header\n\
00413 geometry_msgs/Pose[] poses\n\
00414 \n\
00415 ================================================================================\n\
00416 MSG: std_msgs/Header\n\
00417 # Standard metadata for higher-level stamped data types.\n\
00418 # This is generally used to communicate timestamped data \n\
00419 # in a particular coordinate frame.\n\
00420 # \n\
00421 # sequence ID: consecutively increasing ID \n\
00422 uint32 seq\n\
00423 #Two-integer timestamp that is expressed as:\n\
00424 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00425 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00426 # time-handling sugar is provided by the client library\n\
00427 time stamp\n\
00428 #Frame this data is associated with\n\
00429 # 0: no frame\n\
00430 # 1: global frame\n\
00431 string frame_id\n\
00432 \n\
00433 ================================================================================\n\
00434 MSG: mapping_msgs/CollisionObjectOperation\n\
00435 #Puts the object into the environment\n\
00436 #or updates the object if already added\n\
00437 byte ADD=0\n\
00438 \n\
00439 #Removes the object from the environment entirely\n\
00440 byte REMOVE=1\n\
00441 \n\
00442 #Only valid within the context of a CollisionAttachedObject message\n\
00443 #Will be ignored if sent with an CollisionObject message\n\
00444 #Takes an attached object, detaches from the attached link\n\
00445 #But adds back in as regular object\n\
00446 byte DETACH_AND_ADD_AS_OBJECT=2\n\
00447 \n\
00448 #Only valid within the context of a CollisionAttachedObject message\n\
00449 #Will be ignored if sent with an CollisionObject message\n\
00450 #Takes current object in the environment and removes it as\n\
00451 #a regular object\n\
00452 byte ATTACH_AND_REMOVE_AS_OBJECT=3\n\
00453 \n\
00454 # Byte code for operation\n\
00455 byte operation\n\
00456 \n\
00457 ================================================================================\n\
00458 MSG: geometric_shapes_msgs/Shape\n\
00459 byte SPHERE=0\n\
00460 byte BOX=1\n\
00461 byte CYLINDER=2\n\
00462 byte MESH=3\n\
00463 \n\
00464 byte type\n\
00465 \n\
00466 \n\
00467 #### define sphere, box, cylinder ####\n\
00468 # the origin of each shape is considered at the shape's center\n\
00469 \n\
00470 # for sphere\n\
00471 # radius := dimensions[0]\n\
00472 \n\
00473 # for cylinder\n\
00474 # radius := dimensions[0]\n\
00475 # length := dimensions[1]\n\
00476 # the length is along the Z axis\n\
00477 \n\
00478 # for box\n\
00479 # size_x := dimensions[0]\n\
00480 # size_y := dimensions[1]\n\
00481 # size_z := dimensions[2]\n\
00482 float64[] dimensions\n\
00483 \n\
00484 \n\
00485 #### define mesh ####\n\
00486 \n\
00487 # list of triangles; triangle k is defined by tre vertices located\n\
00488 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
00489 int32[] triangles\n\
00490 geometry_msgs/Point[] vertices\n\
00491 \n\
00492 ================================================================================\n\
00493 MSG: geometry_msgs/Point\n\
00494 # This contains the position of a point in free space\n\
00495 float64 x\n\
00496 float64 y\n\
00497 float64 z\n\
00498 \n\
00499 ================================================================================\n\
00500 MSG: geometry_msgs/Pose\n\
00501 # A representation of pose in free space, composed of postion and orientation. \n\
00502 Point position\n\
00503 Quaternion orientation\n\
00504 \n\
00505 ================================================================================\n\
00506 MSG: geometry_msgs/Quaternion\n\
00507 # This represents an orientation in free space in quaternion form.\n\
00508 \n\
00509 float64 x\n\
00510 float64 y\n\
00511 float64 z\n\
00512 float64 w\n\
00513 \n\
00514 ";
00515 }
00516
00517 static const char* value(const ::vision_srvs::cop_add_collisionResponse_<ContainerAllocator> &) { return value(); }
00518 };
00519
00520 }
00521 }
00522
00523 namespace ros
00524 {
00525 namespace serialization
00526 {
00527
00528 template<class ContainerAllocator> struct Serializer< ::vision_srvs::cop_add_collisionRequest_<ContainerAllocator> >
00529 {
00530 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00531 {
00532 stream.next(m.object_id);
00533 }
00534
00535 ROS_DECLARE_ALLINONE_SERIALIZER;
00536 };
00537 }
00538 }
00539
00540
00541 namespace ros
00542 {
00543 namespace serialization
00544 {
00545
00546 template<class ContainerAllocator> struct Serializer< ::vision_srvs::cop_add_collisionResponse_<ContainerAllocator> >
00547 {
00548 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00549 {
00550 stream.next(m.collisionname);
00551 stream.next(m.added_object);
00552 }
00553
00554 ROS_DECLARE_ALLINONE_SERIALIZER;
00555 };
00556 }
00557 }
00558
00559 namespace ros
00560 {
00561 namespace service_traits
00562 {
00563 template<>
00564 struct MD5Sum<vision_srvs::cop_add_collision> {
00565 static const char* value()
00566 {
00567 return "ffb9ed9439ec9d331dee846d8b567988";
00568 }
00569
00570 static const char* value(const vision_srvs::cop_add_collision&) { return value(); }
00571 };
00572
00573 template<>
00574 struct DataType<vision_srvs::cop_add_collision> {
00575 static const char* value()
00576 {
00577 return "vision_srvs/cop_add_collision";
00578 }
00579
00580 static const char* value(const vision_srvs::cop_add_collision&) { return value(); }
00581 };
00582
00583 template<class ContainerAllocator>
00584 struct MD5Sum<vision_srvs::cop_add_collisionRequest_<ContainerAllocator> > {
00585 static const char* value()
00586 {
00587 return "ffb9ed9439ec9d331dee846d8b567988";
00588 }
00589
00590 static const char* value(const vision_srvs::cop_add_collisionRequest_<ContainerAllocator> &) { return value(); }
00591 };
00592
00593 template<class ContainerAllocator>
00594 struct DataType<vision_srvs::cop_add_collisionRequest_<ContainerAllocator> > {
00595 static const char* value()
00596 {
00597 return "vision_srvs/cop_add_collision";
00598 }
00599
00600 static const char* value(const vision_srvs::cop_add_collisionRequest_<ContainerAllocator> &) { return value(); }
00601 };
00602
00603 template<class ContainerAllocator>
00604 struct MD5Sum<vision_srvs::cop_add_collisionResponse_<ContainerAllocator> > {
00605 static const char* value()
00606 {
00607 return "ffb9ed9439ec9d331dee846d8b567988";
00608 }
00609
00610 static const char* value(const vision_srvs::cop_add_collisionResponse_<ContainerAllocator> &) { return value(); }
00611 };
00612
00613 template<class ContainerAllocator>
00614 struct DataType<vision_srvs::cop_add_collisionResponse_<ContainerAllocator> > {
00615 static const char* value()
00616 {
00617 return "vision_srvs/cop_add_collision";
00618 }
00619
00620 static const char* value(const vision_srvs::cop_add_collisionResponse_<ContainerAllocator> &) { return value(); }
00621 };
00622
00623 }
00624 }
00625
00626 #endif // VISION_SRVS_SERVICE_COP_ADD_COLLISION_H
00627