$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-arm_navigation/doc_stacks/2013-03-01_14-05-03.553953/arm_navigation/arm_navigation_msgs/srv/GetCollisionObjects.srv */ 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 }; // struct GetCollisionObjectsRequest 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 }; // struct GetCollisionObjectsResponse 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 }; // struct GetCollisionObjects 00404 } // namespace arm_navigation_msgs 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 } // namespace message_traits 00451 } // namespace ros 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 } // namespace message_traits 00677 } // namespace ros 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 }; // struct GetCollisionObjectsRequest_ 00693 } // namespace serialization 00694 } // namespace ros 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 }; // struct GetCollisionObjectsResponse_ 00713 } // namespace serialization 00714 } // namespace ros 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 } // namespace service_traits 00781 } // namespace ros 00782 00783 #endif // ARM_NAVIGATION_MSGS_SERVICE_GETCOLLISIONOBJECTS_H 00784