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