00001
00002 #ifndef PLANNING_ENVIRONMENT_MSGS_SERVICE_GETCOLLISIONOBJECTS_H
00003 #define PLANNING_ENVIRONMENT_MSGS_SERVICE_GETCOLLISIONOBJECTS_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/CollisionMap.h"
00018 #include "mapping_msgs/CollisionObject.h"
00019 #include "mapping_msgs/AttachedCollisionObject.h"
00020
00021 namespace planning_environment_msgs
00022 {
00023 template <class ContainerAllocator>
00024 struct GetCollisionObjectsRequest_ : public ros::Message
00025 {
00026 typedef GetCollisionObjectsRequest_<ContainerAllocator> Type;
00027
00028 GetCollisionObjectsRequest_()
00029 : include_points(false)
00030 {
00031 }
00032
00033 GetCollisionObjectsRequest_(const ContainerAllocator& _alloc)
00034 : include_points(false)
00035 {
00036 }
00037
00038 typedef uint8_t _include_points_type;
00039 uint8_t include_points;
00040
00041
00042 private:
00043 static const char* __s_getDataType_() { return "planning_environment_msgs/GetCollisionObjectsRequest"; }
00044 public:
00045 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00046
00047 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00048
00049 private:
00050 static const char* __s_getMD5Sum_() { return "3ae7288b23c84452d229e442c1673708"; }
00051 public:
00052 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00053
00054 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00055
00056 private:
00057 static const char* __s_getServerMD5Sum_() { return "52e374308dcfa795e0a319af5ada16c0"; }
00058 public:
00059 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00060
00061 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00062
00063 private:
00064 static const char* __s_getMessageDefinition_() { return "\n\
00065 \n\
00066 \n\
00067 bool include_points\n\
00068 \n\
00069 "; }
00070 public:
00071 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00072
00073 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00074
00075 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00076 {
00077 ros::serialization::OStream stream(write_ptr, 1000000000);
00078 ros::serialization::serialize(stream, include_points);
00079 return stream.getData();
00080 }
00081
00082 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00083 {
00084 ros::serialization::IStream stream(read_ptr, 1000000000);
00085 ros::serialization::deserialize(stream, include_points);
00086 return stream.getData();
00087 }
00088
00089 ROS_DEPRECATED virtual uint32_t serializationLength() const
00090 {
00091 uint32_t size = 0;
00092 size += ros::serialization::serializationLength(include_points);
00093 return size;
00094 }
00095
00096 typedef boost::shared_ptr< ::planning_environment_msgs::GetCollisionObjectsRequest_<ContainerAllocator> > Ptr;
00097 typedef boost::shared_ptr< ::planning_environment_msgs::GetCollisionObjectsRequest_<ContainerAllocator> const> ConstPtr;
00098 };
00099 typedef ::planning_environment_msgs::GetCollisionObjectsRequest_<std::allocator<void> > GetCollisionObjectsRequest;
00100
00101 typedef boost::shared_ptr< ::planning_environment_msgs::GetCollisionObjectsRequest> GetCollisionObjectsRequestPtr;
00102 typedef boost::shared_ptr< ::planning_environment_msgs::GetCollisionObjectsRequest const> GetCollisionObjectsRequestConstPtr;
00103
00104
00105 template <class ContainerAllocator>
00106 struct GetCollisionObjectsResponse_ : public ros::Message
00107 {
00108 typedef GetCollisionObjectsResponse_<ContainerAllocator> Type;
00109
00110 GetCollisionObjectsResponse_()
00111 : points()
00112 , collision_objects()
00113 , attached_collision_objects()
00114 {
00115 }
00116
00117 GetCollisionObjectsResponse_(const ContainerAllocator& _alloc)
00118 : points(_alloc)
00119 , collision_objects(_alloc)
00120 , attached_collision_objects(_alloc)
00121 {
00122 }
00123
00124 typedef ::mapping_msgs::CollisionMap_<ContainerAllocator> _points_type;
00125 ::mapping_msgs::CollisionMap_<ContainerAllocator> points;
00126
00127 typedef std::vector< ::mapping_msgs::CollisionObject_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::mapping_msgs::CollisionObject_<ContainerAllocator> >::other > _collision_objects_type;
00128 std::vector< ::mapping_msgs::CollisionObject_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::mapping_msgs::CollisionObject_<ContainerAllocator> >::other > collision_objects;
00129
00130 typedef std::vector< ::mapping_msgs::AttachedCollisionObject_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::mapping_msgs::AttachedCollisionObject_<ContainerAllocator> >::other > _attached_collision_objects_type;
00131 std::vector< ::mapping_msgs::AttachedCollisionObject_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::mapping_msgs::AttachedCollisionObject_<ContainerAllocator> >::other > attached_collision_objects;
00132
00133
00134 ROS_DEPRECATED uint32_t get_collision_objects_size() const { return (uint32_t)collision_objects.size(); }
00135 ROS_DEPRECATED void set_collision_objects_size(uint32_t size) { collision_objects.resize((size_t)size); }
00136 ROS_DEPRECATED void get_collision_objects_vec(std::vector< ::mapping_msgs::CollisionObject_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::mapping_msgs::CollisionObject_<ContainerAllocator> >::other > & vec) const { vec = this->collision_objects; }
00137 ROS_DEPRECATED void set_collision_objects_vec(const std::vector< ::mapping_msgs::CollisionObject_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::mapping_msgs::CollisionObject_<ContainerAllocator> >::other > & vec) { this->collision_objects = vec; }
00138 ROS_DEPRECATED uint32_t get_attached_collision_objects_size() const { return (uint32_t)attached_collision_objects.size(); }
00139 ROS_DEPRECATED void set_attached_collision_objects_size(uint32_t size) { attached_collision_objects.resize((size_t)size); }
00140 ROS_DEPRECATED void get_attached_collision_objects_vec(std::vector< ::mapping_msgs::AttachedCollisionObject_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::mapping_msgs::AttachedCollisionObject_<ContainerAllocator> >::other > & vec) const { vec = this->attached_collision_objects; }
00141 ROS_DEPRECATED void set_attached_collision_objects_vec(const std::vector< ::mapping_msgs::AttachedCollisionObject_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::mapping_msgs::AttachedCollisionObject_<ContainerAllocator> >::other > & vec) { this->attached_collision_objects = vec; }
00142 private:
00143 static const char* __s_getDataType_() { return "planning_environment_msgs/GetCollisionObjectsResponse"; }
00144 public:
00145 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00146
00147 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00148
00149 private:
00150 static const char* __s_getMD5Sum_() { return "c9101c21d974637e34677dde51cc79e1"; }
00151 public:
00152 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00153
00154 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00155
00156 private:
00157 static const char* __s_getServerMD5Sum_() { return "52e374308dcfa795e0a319af5ada16c0"; }
00158 public:
00159 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00160
00161 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00162
00163 private:
00164 static const char* __s_getMessageDefinition_() { return "\n\
00165 mapping_msgs/CollisionMap points\n\
00166 \n\
00167 mapping_msgs/CollisionObject[] collision_objects\n\
00168 \n\
00169 mapping_msgs/AttachedCollisionObject[] attached_collision_objects\n\
00170 \n\
00171 \n\
00172 ================================================================================\n\
00173 MSG: mapping_msgs/CollisionMap\n\
00174 #header for interpreting box positions\n\
00175 Header header\n\
00176 \n\
00177 #boxes for use in collision testing\n\
00178 OrientedBoundingBox[] boxes\n\
00179 \n\
00180 ================================================================================\n\
00181 MSG: std_msgs/Header\n\
00182 # Standard metadata for higher-level stamped data types.\n\
00183 # This is generally used to communicate timestamped data \n\
00184 # in a particular coordinate frame.\n\
00185 # \n\
00186 # sequence ID: consecutively increasing ID \n\
00187 uint32 seq\n\
00188 #Two-integer timestamp that is expressed as:\n\
00189 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00190 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00191 # time-handling sugar is provided by the client library\n\
00192 time stamp\n\
00193 #Frame this data is associated with\n\
00194 # 0: no frame\n\
00195 # 1: global frame\n\
00196 string frame_id\n\
00197 \n\
00198 ================================================================================\n\
00199 MSG: mapping_msgs/OrientedBoundingBox\n\
00200 #the center of the box\n\
00201 geometry_msgs/Point32 center\n\
00202 \n\
00203 #the extents of the box, assuming the center is at the point\n\
00204 geometry_msgs/Point32 extents\n\
00205 \n\
00206 #the axis of the box\n\
00207 geometry_msgs/Point32 axis\n\
00208 \n\
00209 #the angle of rotation around the axis\n\
00210 float32 angle\n\
00211 \n\
00212 ================================================================================\n\
00213 MSG: geometry_msgs/Point32\n\
00214 # This contains the position of a point in free space(with 32 bits of precision).\n\
00215 # It is recommeded to use Point wherever possible instead of Point32. \n\
00216 # \n\
00217 # This recommendation is to promote interoperability. \n\
00218 #\n\
00219 # This message is designed to take up less space when sending\n\
00220 # lots of points at once, as in the case of a PointCloud. \n\
00221 \n\
00222 float32 x\n\
00223 float32 y\n\
00224 float32 z\n\
00225 ================================================================================\n\
00226 MSG: mapping_msgs/CollisionObject\n\
00227 # a header, used for interpreting the poses\n\
00228 Header header\n\
00229 \n\
00230 # the id of the object\n\
00231 string id\n\
00232 \n\
00233 #This contains what is to be done with the object\n\
00234 CollisionObjectOperation operation\n\
00235 \n\
00236 #the shapes associated with the object\n\
00237 geometric_shapes_msgs/Shape[] shapes\n\
00238 \n\
00239 #the poses associated with the shapes - will be transformed using the header\n\
00240 geometry_msgs/Pose[] poses\n\
00241 \n\
00242 ================================================================================\n\
00243 MSG: mapping_msgs/CollisionObjectOperation\n\
00244 #Puts the object into the environment\n\
00245 #or updates the object if already added\n\
00246 byte ADD=0\n\
00247 \n\
00248 #Removes the object from the environment entirely\n\
00249 byte REMOVE=1\n\
00250 \n\
00251 #Only valid within the context of a CollisionAttachedObject message\n\
00252 #Will be ignored if sent with an CollisionObject message\n\
00253 #Takes an attached object, detaches from the attached link\n\
00254 #But adds back in as regular object\n\
00255 byte DETACH_AND_ADD_AS_OBJECT=2\n\
00256 \n\
00257 #Only valid within the context of a CollisionAttachedObject message\n\
00258 #Will be ignored if sent with an CollisionObject message\n\
00259 #Takes current object in the environment and removes it as\n\
00260 #a regular object\n\
00261 byte ATTACH_AND_REMOVE_AS_OBJECT=3\n\
00262 \n\
00263 # Byte code for operation\n\
00264 byte operation\n\
00265 \n\
00266 ================================================================================\n\
00267 MSG: geometric_shapes_msgs/Shape\n\
00268 byte SPHERE=0\n\
00269 byte BOX=1\n\
00270 byte CYLINDER=2\n\
00271 byte MESH=3\n\
00272 \n\
00273 byte type\n\
00274 \n\
00275 \n\
00276 #### define sphere, box, cylinder ####\n\
00277 # the origin of each shape is considered at the shape's center\n\
00278 \n\
00279 # for sphere\n\
00280 # radius := dimensions[0]\n\
00281 \n\
00282 # for cylinder\n\
00283 # radius := dimensions[0]\n\
00284 # length := dimensions[1]\n\
00285 # the length is along the Z axis\n\
00286 \n\
00287 # for box\n\
00288 # size_x := dimensions[0]\n\
00289 # size_y := dimensions[1]\n\
00290 # size_z := dimensions[2]\n\
00291 float64[] dimensions\n\
00292 \n\
00293 \n\
00294 #### define mesh ####\n\
00295 \n\
00296 # list of triangles; triangle k is defined by tre vertices located\n\
00297 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
00298 int32[] triangles\n\
00299 geometry_msgs/Point[] vertices\n\
00300 \n\
00301 ================================================================================\n\
00302 MSG: geometry_msgs/Point\n\
00303 # This contains the position of a point in free space\n\
00304 float64 x\n\
00305 float64 y\n\
00306 float64 z\n\
00307 \n\
00308 ================================================================================\n\
00309 MSG: geometry_msgs/Pose\n\
00310 # A representation of pose in free space, composed of postion and orientation. \n\
00311 Point position\n\
00312 Quaternion orientation\n\
00313 \n\
00314 ================================================================================\n\
00315 MSG: geometry_msgs/Quaternion\n\
00316 # This represents an orientation in free space in quaternion form.\n\
00317 \n\
00318 float64 x\n\
00319 float64 y\n\
00320 float64 z\n\
00321 float64 w\n\
00322 \n\
00323 ================================================================================\n\
00324 MSG: mapping_msgs/AttachedCollisionObject\n\
00325 # The CollisionObject will be attached with a fixed joint to this link\n\
00326 # If link name is set to REMOVE_ALL_ATTACHED_OBJECTS and object.operation \n\
00327 # is set to REMOVE will remove all attached bodies attached to any object\n\
00328 string link_name\n\
00329 \n\
00330 #Reserved for indicating that all attached objects should be removed\n\
00331 string REMOVE_ALL_ATTACHED_OBJECTS = \"all\"\n\
00332 \n\
00333 #This contains the actual shapes and poses for the CollisionObject\n\
00334 #to be attached to the link\n\
00335 #If action is remove and no object.id is set, all objects\n\
00336 #attached to the link indicated by link_name will be removed\n\
00337 CollisionObject object\n\
00338 \n\
00339 # The set of links that the attached objects are allowed to touch\n\
00340 # by default - the link_name is included by default\n\
00341 string[] touch_links\n\
00342 \n\
00343 "; }
00344 public:
00345 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00346
00347 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00348
00349 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00350 {
00351 ros::serialization::OStream stream(write_ptr, 1000000000);
00352 ros::serialization::serialize(stream, points);
00353 ros::serialization::serialize(stream, collision_objects);
00354 ros::serialization::serialize(stream, attached_collision_objects);
00355 return stream.getData();
00356 }
00357
00358 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00359 {
00360 ros::serialization::IStream stream(read_ptr, 1000000000);
00361 ros::serialization::deserialize(stream, points);
00362 ros::serialization::deserialize(stream, collision_objects);
00363 ros::serialization::deserialize(stream, attached_collision_objects);
00364 return stream.getData();
00365 }
00366
00367 ROS_DEPRECATED virtual uint32_t serializationLength() const
00368 {
00369 uint32_t size = 0;
00370 size += ros::serialization::serializationLength(points);
00371 size += ros::serialization::serializationLength(collision_objects);
00372 size += ros::serialization::serializationLength(attached_collision_objects);
00373 return size;
00374 }
00375
00376 typedef boost::shared_ptr< ::planning_environment_msgs::GetCollisionObjectsResponse_<ContainerAllocator> > Ptr;
00377 typedef boost::shared_ptr< ::planning_environment_msgs::GetCollisionObjectsResponse_<ContainerAllocator> const> ConstPtr;
00378 };
00379 typedef ::planning_environment_msgs::GetCollisionObjectsResponse_<std::allocator<void> > GetCollisionObjectsResponse;
00380
00381 typedef boost::shared_ptr< ::planning_environment_msgs::GetCollisionObjectsResponse> GetCollisionObjectsResponsePtr;
00382 typedef boost::shared_ptr< ::planning_environment_msgs::GetCollisionObjectsResponse const> GetCollisionObjectsResponseConstPtr;
00383
00384 struct GetCollisionObjects
00385 {
00386
00387 typedef GetCollisionObjectsRequest Request;
00388 typedef GetCollisionObjectsResponse Response;
00389 Request request;
00390 Response response;
00391
00392 typedef Request RequestType;
00393 typedef Response ResponseType;
00394 };
00395 }
00396
00397 namespace ros
00398 {
00399 namespace message_traits
00400 {
00401 template<class ContainerAllocator>
00402 struct MD5Sum< ::planning_environment_msgs::GetCollisionObjectsRequest_<ContainerAllocator> > {
00403 static const char* value()
00404 {
00405 return "3ae7288b23c84452d229e442c1673708";
00406 }
00407
00408 static const char* value(const ::planning_environment_msgs::GetCollisionObjectsRequest_<ContainerAllocator> &) { return value(); }
00409 static const uint64_t static_value1 = 0x3ae7288b23c84452ULL;
00410 static const uint64_t static_value2 = 0xd229e442c1673708ULL;
00411 };
00412
00413 template<class ContainerAllocator>
00414 struct DataType< ::planning_environment_msgs::GetCollisionObjectsRequest_<ContainerAllocator> > {
00415 static const char* value()
00416 {
00417 return "planning_environment_msgs/GetCollisionObjectsRequest";
00418 }
00419
00420 static const char* value(const ::planning_environment_msgs::GetCollisionObjectsRequest_<ContainerAllocator> &) { return value(); }
00421 };
00422
00423 template<class ContainerAllocator>
00424 struct Definition< ::planning_environment_msgs::GetCollisionObjectsRequest_<ContainerAllocator> > {
00425 static const char* value()
00426 {
00427 return "\n\
00428 \n\
00429 \n\
00430 bool include_points\n\
00431 \n\
00432 ";
00433 }
00434
00435 static const char* value(const ::planning_environment_msgs::GetCollisionObjectsRequest_<ContainerAllocator> &) { return value(); }
00436 };
00437
00438 template<class ContainerAllocator> struct IsFixedSize< ::planning_environment_msgs::GetCollisionObjectsRequest_<ContainerAllocator> > : public TrueType {};
00439 }
00440 }
00441
00442
00443 namespace ros
00444 {
00445 namespace message_traits
00446 {
00447 template<class ContainerAllocator>
00448 struct MD5Sum< ::planning_environment_msgs::GetCollisionObjectsResponse_<ContainerAllocator> > {
00449 static const char* value()
00450 {
00451 return "c9101c21d974637e34677dde51cc79e1";
00452 }
00453
00454 static const char* value(const ::planning_environment_msgs::GetCollisionObjectsResponse_<ContainerAllocator> &) { return value(); }
00455 static const uint64_t static_value1 = 0xc9101c21d974637eULL;
00456 static const uint64_t static_value2 = 0x34677dde51cc79e1ULL;
00457 };
00458
00459 template<class ContainerAllocator>
00460 struct DataType< ::planning_environment_msgs::GetCollisionObjectsResponse_<ContainerAllocator> > {
00461 static const char* value()
00462 {
00463 return "planning_environment_msgs/GetCollisionObjectsResponse";
00464 }
00465
00466 static const char* value(const ::planning_environment_msgs::GetCollisionObjectsResponse_<ContainerAllocator> &) { return value(); }
00467 };
00468
00469 template<class ContainerAllocator>
00470 struct Definition< ::planning_environment_msgs::GetCollisionObjectsResponse_<ContainerAllocator> > {
00471 static const char* value()
00472 {
00473 return "\n\
00474 mapping_msgs/CollisionMap points\n\
00475 \n\
00476 mapping_msgs/CollisionObject[] collision_objects\n\
00477 \n\
00478 mapping_msgs/AttachedCollisionObject[] attached_collision_objects\n\
00479 \n\
00480 \n\
00481 ================================================================================\n\
00482 MSG: mapping_msgs/CollisionMap\n\
00483 #header for interpreting box positions\n\
00484 Header header\n\
00485 \n\
00486 #boxes for use in collision testing\n\
00487 OrientedBoundingBox[] boxes\n\
00488 \n\
00489 ================================================================================\n\
00490 MSG: std_msgs/Header\n\
00491 # Standard metadata for higher-level stamped data types.\n\
00492 # This is generally used to communicate timestamped data \n\
00493 # in a particular coordinate frame.\n\
00494 # \n\
00495 # sequence ID: consecutively increasing ID \n\
00496 uint32 seq\n\
00497 #Two-integer timestamp that is expressed as:\n\
00498 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00499 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00500 # time-handling sugar is provided by the client library\n\
00501 time stamp\n\
00502 #Frame this data is associated with\n\
00503 # 0: no frame\n\
00504 # 1: global frame\n\
00505 string frame_id\n\
00506 \n\
00507 ================================================================================\n\
00508 MSG: mapping_msgs/OrientedBoundingBox\n\
00509 #the center of the box\n\
00510 geometry_msgs/Point32 center\n\
00511 \n\
00512 #the extents of the box, assuming the center is at the point\n\
00513 geometry_msgs/Point32 extents\n\
00514 \n\
00515 #the axis of the box\n\
00516 geometry_msgs/Point32 axis\n\
00517 \n\
00518 #the angle of rotation around the axis\n\
00519 float32 angle\n\
00520 \n\
00521 ================================================================================\n\
00522 MSG: geometry_msgs/Point32\n\
00523 # This contains the position of a point in free space(with 32 bits of precision).\n\
00524 # It is recommeded to use Point wherever possible instead of Point32. \n\
00525 # \n\
00526 # This recommendation is to promote interoperability. \n\
00527 #\n\
00528 # This message is designed to take up less space when sending\n\
00529 # lots of points at once, as in the case of a PointCloud. \n\
00530 \n\
00531 float32 x\n\
00532 float32 y\n\
00533 float32 z\n\
00534 ================================================================================\n\
00535 MSG: mapping_msgs/CollisionObject\n\
00536 # a header, used for interpreting the poses\n\
00537 Header header\n\
00538 \n\
00539 # the id of the object\n\
00540 string id\n\
00541 \n\
00542 #This contains what is to be done with the object\n\
00543 CollisionObjectOperation operation\n\
00544 \n\
00545 #the shapes associated with the object\n\
00546 geometric_shapes_msgs/Shape[] shapes\n\
00547 \n\
00548 #the poses associated with the shapes - will be transformed using the header\n\
00549 geometry_msgs/Pose[] poses\n\
00550 \n\
00551 ================================================================================\n\
00552 MSG: mapping_msgs/CollisionObjectOperation\n\
00553 #Puts the object into the environment\n\
00554 #or updates the object if already added\n\
00555 byte ADD=0\n\
00556 \n\
00557 #Removes the object from the environment entirely\n\
00558 byte REMOVE=1\n\
00559 \n\
00560 #Only valid within the context of a CollisionAttachedObject message\n\
00561 #Will be ignored if sent with an CollisionObject message\n\
00562 #Takes an attached object, detaches from the attached link\n\
00563 #But adds back in as regular object\n\
00564 byte DETACH_AND_ADD_AS_OBJECT=2\n\
00565 \n\
00566 #Only valid within the context of a CollisionAttachedObject message\n\
00567 #Will be ignored if sent with an CollisionObject message\n\
00568 #Takes current object in the environment and removes it as\n\
00569 #a regular object\n\
00570 byte ATTACH_AND_REMOVE_AS_OBJECT=3\n\
00571 \n\
00572 # Byte code for operation\n\
00573 byte operation\n\
00574 \n\
00575 ================================================================================\n\
00576 MSG: geometric_shapes_msgs/Shape\n\
00577 byte SPHERE=0\n\
00578 byte BOX=1\n\
00579 byte CYLINDER=2\n\
00580 byte MESH=3\n\
00581 \n\
00582 byte type\n\
00583 \n\
00584 \n\
00585 #### define sphere, box, cylinder ####\n\
00586 # the origin of each shape is considered at the shape's center\n\
00587 \n\
00588 # for sphere\n\
00589 # radius := dimensions[0]\n\
00590 \n\
00591 # for cylinder\n\
00592 # radius := dimensions[0]\n\
00593 # length := dimensions[1]\n\
00594 # the length is along the Z axis\n\
00595 \n\
00596 # for box\n\
00597 # size_x := dimensions[0]\n\
00598 # size_y := dimensions[1]\n\
00599 # size_z := dimensions[2]\n\
00600 float64[] dimensions\n\
00601 \n\
00602 \n\
00603 #### define mesh ####\n\
00604 \n\
00605 # list of triangles; triangle k is defined by tre vertices located\n\
00606 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
00607 int32[] triangles\n\
00608 geometry_msgs/Point[] vertices\n\
00609 \n\
00610 ================================================================================\n\
00611 MSG: geometry_msgs/Point\n\
00612 # This contains the position of a point in free space\n\
00613 float64 x\n\
00614 float64 y\n\
00615 float64 z\n\
00616 \n\
00617 ================================================================================\n\
00618 MSG: geometry_msgs/Pose\n\
00619 # A representation of pose in free space, composed of postion and orientation. \n\
00620 Point position\n\
00621 Quaternion orientation\n\
00622 \n\
00623 ================================================================================\n\
00624 MSG: geometry_msgs/Quaternion\n\
00625 # This represents an orientation in free space in quaternion form.\n\
00626 \n\
00627 float64 x\n\
00628 float64 y\n\
00629 float64 z\n\
00630 float64 w\n\
00631 \n\
00632 ================================================================================\n\
00633 MSG: mapping_msgs/AttachedCollisionObject\n\
00634 # The CollisionObject will be attached with a fixed joint to this link\n\
00635 # If link name is set to REMOVE_ALL_ATTACHED_OBJECTS and object.operation \n\
00636 # is set to REMOVE will remove all attached bodies attached to any object\n\
00637 string link_name\n\
00638 \n\
00639 #Reserved for indicating that all attached objects should be removed\n\
00640 string REMOVE_ALL_ATTACHED_OBJECTS = \"all\"\n\
00641 \n\
00642 #This contains the actual shapes and poses for the CollisionObject\n\
00643 #to be attached to the link\n\
00644 #If action is remove and no object.id is set, all objects\n\
00645 #attached to the link indicated by link_name will be removed\n\
00646 CollisionObject object\n\
00647 \n\
00648 # The set of links that the attached objects are allowed to touch\n\
00649 # by default - the link_name is included by default\n\
00650 string[] touch_links\n\
00651 \n\
00652 ";
00653 }
00654
00655 static const char* value(const ::planning_environment_msgs::GetCollisionObjectsResponse_<ContainerAllocator> &) { return value(); }
00656 };
00657
00658 }
00659 }
00660
00661 namespace ros
00662 {
00663 namespace serialization
00664 {
00665
00666 template<class ContainerAllocator> struct Serializer< ::planning_environment_msgs::GetCollisionObjectsRequest_<ContainerAllocator> >
00667 {
00668 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00669 {
00670 stream.next(m.include_points);
00671 }
00672
00673 ROS_DECLARE_ALLINONE_SERIALIZER;
00674 };
00675 }
00676 }
00677
00678
00679 namespace ros
00680 {
00681 namespace serialization
00682 {
00683
00684 template<class ContainerAllocator> struct Serializer< ::planning_environment_msgs::GetCollisionObjectsResponse_<ContainerAllocator> >
00685 {
00686 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00687 {
00688 stream.next(m.points);
00689 stream.next(m.collision_objects);
00690 stream.next(m.attached_collision_objects);
00691 }
00692
00693 ROS_DECLARE_ALLINONE_SERIALIZER;
00694 };
00695 }
00696 }
00697
00698 namespace ros
00699 {
00700 namespace service_traits
00701 {
00702 template<>
00703 struct MD5Sum<planning_environment_msgs::GetCollisionObjects> {
00704 static const char* value()
00705 {
00706 return "52e374308dcfa795e0a319af5ada16c0";
00707 }
00708
00709 static const char* value(const planning_environment_msgs::GetCollisionObjects&) { return value(); }
00710 };
00711
00712 template<>
00713 struct DataType<planning_environment_msgs::GetCollisionObjects> {
00714 static const char* value()
00715 {
00716 return "planning_environment_msgs/GetCollisionObjects";
00717 }
00718
00719 static const char* value(const planning_environment_msgs::GetCollisionObjects&) { return value(); }
00720 };
00721
00722 template<class ContainerAllocator>
00723 struct MD5Sum<planning_environment_msgs::GetCollisionObjectsRequest_<ContainerAllocator> > {
00724 static const char* value()
00725 {
00726 return "52e374308dcfa795e0a319af5ada16c0";
00727 }
00728
00729 static const char* value(const planning_environment_msgs::GetCollisionObjectsRequest_<ContainerAllocator> &) { return value(); }
00730 };
00731
00732 template<class ContainerAllocator>
00733 struct DataType<planning_environment_msgs::GetCollisionObjectsRequest_<ContainerAllocator> > {
00734 static const char* value()
00735 {
00736 return "planning_environment_msgs/GetCollisionObjects";
00737 }
00738
00739 static const char* value(const planning_environment_msgs::GetCollisionObjectsRequest_<ContainerAllocator> &) { return value(); }
00740 };
00741
00742 template<class ContainerAllocator>
00743 struct MD5Sum<planning_environment_msgs::GetCollisionObjectsResponse_<ContainerAllocator> > {
00744 static const char* value()
00745 {
00746 return "52e374308dcfa795e0a319af5ada16c0";
00747 }
00748
00749 static const char* value(const planning_environment_msgs::GetCollisionObjectsResponse_<ContainerAllocator> &) { return value(); }
00750 };
00751
00752 template<class ContainerAllocator>
00753 struct DataType<planning_environment_msgs::GetCollisionObjectsResponse_<ContainerAllocator> > {
00754 static const char* value()
00755 {
00756 return "planning_environment_msgs/GetCollisionObjects";
00757 }
00758
00759 static const char* value(const planning_environment_msgs::GetCollisionObjectsResponse_<ContainerAllocator> &) { return value(); }
00760 };
00761
00762 }
00763 }
00764
00765 #endif // PLANNING_ENVIRONMENT_MSGS_SERVICE_GETCOLLISIONOBJECTS_H
00766