$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/msg/Constraints.msg */ 00002 #ifndef ARM_NAVIGATION_MSGS_MESSAGE_CONSTRAINTS_H 00003 #define ARM_NAVIGATION_MSGS_MESSAGE_CONSTRAINTS_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 "arm_navigation_msgs/JointConstraint.h" 00018 #include "arm_navigation_msgs/PositionConstraint.h" 00019 #include "arm_navigation_msgs/OrientationConstraint.h" 00020 #include "arm_navigation_msgs/VisibilityConstraint.h" 00021 00022 namespace arm_navigation_msgs 00023 { 00024 template <class ContainerAllocator> 00025 struct Constraints_ { 00026 typedef Constraints_<ContainerAllocator> Type; 00027 00028 Constraints_() 00029 : joint_constraints() 00030 , position_constraints() 00031 , orientation_constraints() 00032 , visibility_constraints() 00033 { 00034 } 00035 00036 Constraints_(const ContainerAllocator& _alloc) 00037 : joint_constraints(_alloc) 00038 , position_constraints(_alloc) 00039 , orientation_constraints(_alloc) 00040 , visibility_constraints(_alloc) 00041 { 00042 } 00043 00044 typedef std::vector< ::arm_navigation_msgs::JointConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::JointConstraint_<ContainerAllocator> >::other > _joint_constraints_type; 00045 std::vector< ::arm_navigation_msgs::JointConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::JointConstraint_<ContainerAllocator> >::other > joint_constraints; 00046 00047 typedef std::vector< ::arm_navigation_msgs::PositionConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::PositionConstraint_<ContainerAllocator> >::other > _position_constraints_type; 00048 std::vector< ::arm_navigation_msgs::PositionConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::PositionConstraint_<ContainerAllocator> >::other > position_constraints; 00049 00050 typedef std::vector< ::arm_navigation_msgs::OrientationConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::OrientationConstraint_<ContainerAllocator> >::other > _orientation_constraints_type; 00051 std::vector< ::arm_navigation_msgs::OrientationConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::OrientationConstraint_<ContainerAllocator> >::other > orientation_constraints; 00052 00053 typedef std::vector< ::arm_navigation_msgs::VisibilityConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::VisibilityConstraint_<ContainerAllocator> >::other > _visibility_constraints_type; 00054 std::vector< ::arm_navigation_msgs::VisibilityConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::VisibilityConstraint_<ContainerAllocator> >::other > visibility_constraints; 00055 00056 00057 ROS_DEPRECATED uint32_t get_joint_constraints_size() const { return (uint32_t)joint_constraints.size(); } 00058 ROS_DEPRECATED void set_joint_constraints_size(uint32_t size) { joint_constraints.resize((size_t)size); } 00059 ROS_DEPRECATED void get_joint_constraints_vec(std::vector< ::arm_navigation_msgs::JointConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::JointConstraint_<ContainerAllocator> >::other > & vec) const { vec = this->joint_constraints; } 00060 ROS_DEPRECATED void set_joint_constraints_vec(const std::vector< ::arm_navigation_msgs::JointConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::JointConstraint_<ContainerAllocator> >::other > & vec) { this->joint_constraints = vec; } 00061 ROS_DEPRECATED uint32_t get_position_constraints_size() const { return (uint32_t)position_constraints.size(); } 00062 ROS_DEPRECATED void set_position_constraints_size(uint32_t size) { position_constraints.resize((size_t)size); } 00063 ROS_DEPRECATED void get_position_constraints_vec(std::vector< ::arm_navigation_msgs::PositionConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::PositionConstraint_<ContainerAllocator> >::other > & vec) const { vec = this->position_constraints; } 00064 ROS_DEPRECATED void set_position_constraints_vec(const std::vector< ::arm_navigation_msgs::PositionConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::PositionConstraint_<ContainerAllocator> >::other > & vec) { this->position_constraints = vec; } 00065 ROS_DEPRECATED uint32_t get_orientation_constraints_size() const { return (uint32_t)orientation_constraints.size(); } 00066 ROS_DEPRECATED void set_orientation_constraints_size(uint32_t size) { orientation_constraints.resize((size_t)size); } 00067 ROS_DEPRECATED void get_orientation_constraints_vec(std::vector< ::arm_navigation_msgs::OrientationConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::OrientationConstraint_<ContainerAllocator> >::other > & vec) const { vec = this->orientation_constraints; } 00068 ROS_DEPRECATED void set_orientation_constraints_vec(const std::vector< ::arm_navigation_msgs::OrientationConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::OrientationConstraint_<ContainerAllocator> >::other > & vec) { this->orientation_constraints = vec; } 00069 ROS_DEPRECATED uint32_t get_visibility_constraints_size() const { return (uint32_t)visibility_constraints.size(); } 00070 ROS_DEPRECATED void set_visibility_constraints_size(uint32_t size) { visibility_constraints.resize((size_t)size); } 00071 ROS_DEPRECATED void get_visibility_constraints_vec(std::vector< ::arm_navigation_msgs::VisibilityConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::VisibilityConstraint_<ContainerAllocator> >::other > & vec) const { vec = this->visibility_constraints; } 00072 ROS_DEPRECATED void set_visibility_constraints_vec(const std::vector< ::arm_navigation_msgs::VisibilityConstraint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::arm_navigation_msgs::VisibilityConstraint_<ContainerAllocator> >::other > & vec) { this->visibility_constraints = vec; } 00073 private: 00074 static const char* __s_getDataType_() { return "arm_navigation_msgs/Constraints"; } 00075 public: 00076 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00077 00078 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00079 00080 private: 00081 static const char* __s_getMD5Sum_() { return "fe6b6f09c687fd46c05a2de4ca18378a"; } 00082 public: 00083 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00084 00085 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00086 00087 private: 00088 static const char* __s_getMessageDefinition_() { return "# This message contains a list of motion planning constraints.\n\ 00089 \n\ 00090 arm_navigation_msgs/JointConstraint[] joint_constraints\n\ 00091 arm_navigation_msgs/PositionConstraint[] position_constraints\n\ 00092 arm_navigation_msgs/OrientationConstraint[] orientation_constraints\n\ 00093 arm_navigation_msgs/VisibilityConstraint[] visibility_constraints\n\ 00094 \n\ 00095 ================================================================================\n\ 00096 MSG: arm_navigation_msgs/JointConstraint\n\ 00097 # Constrain the position of a joint to be within a certain bound\n\ 00098 string joint_name\n\ 00099 \n\ 00100 # the bound to be achieved is [position - tolerance_below, position + tolerance_above]\n\ 00101 float64 position\n\ 00102 float64 tolerance_above\n\ 00103 float64 tolerance_below\n\ 00104 \n\ 00105 # A weighting factor for this constraint\n\ 00106 float64 weight\n\ 00107 ================================================================================\n\ 00108 MSG: arm_navigation_msgs/PositionConstraint\n\ 00109 # This message contains the definition of a position constraint.\n\ 00110 Header header\n\ 00111 \n\ 00112 # The robot link this constraint refers to\n\ 00113 string link_name\n\ 00114 \n\ 00115 # The offset (in the link frame) for the target point on the link we are planning for\n\ 00116 geometry_msgs/Point target_point_offset\n\ 00117 \n\ 00118 # The nominal/target position for the point we are planning for\n\ 00119 geometry_msgs/Point position\n\ 00120 \n\ 00121 # The shape of the bounded region that constrains the position of the end-effector\n\ 00122 # This region is always centered at the position defined above\n\ 00123 arm_navigation_msgs/Shape constraint_region_shape\n\ 00124 \n\ 00125 # The orientation of the bounded region that constrains the position of the end-effector. \n\ 00126 # This allows the specification of non-axis aligned constraints\n\ 00127 geometry_msgs/Quaternion constraint_region_orientation\n\ 00128 \n\ 00129 # Constraint weighting factor - a weight for this constraint\n\ 00130 float64 weight\n\ 00131 \n\ 00132 ================================================================================\n\ 00133 MSG: std_msgs/Header\n\ 00134 # Standard metadata for higher-level stamped data types.\n\ 00135 # This is generally used to communicate timestamped data \n\ 00136 # in a particular coordinate frame.\n\ 00137 # \n\ 00138 # sequence ID: consecutively increasing ID \n\ 00139 uint32 seq\n\ 00140 #Two-integer timestamp that is expressed as:\n\ 00141 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00142 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00143 # time-handling sugar is provided by the client library\n\ 00144 time stamp\n\ 00145 #Frame this data is associated with\n\ 00146 # 0: no frame\n\ 00147 # 1: global frame\n\ 00148 string frame_id\n\ 00149 \n\ 00150 ================================================================================\n\ 00151 MSG: geometry_msgs/Point\n\ 00152 # This contains the position of a point in free space\n\ 00153 float64 x\n\ 00154 float64 y\n\ 00155 float64 z\n\ 00156 \n\ 00157 ================================================================================\n\ 00158 MSG: arm_navigation_msgs/Shape\n\ 00159 byte SPHERE=0\n\ 00160 byte BOX=1\n\ 00161 byte CYLINDER=2\n\ 00162 byte MESH=3\n\ 00163 \n\ 00164 byte type\n\ 00165 \n\ 00166 \n\ 00167 #### define sphere, box, cylinder ####\n\ 00168 # the origin of each shape is considered at the shape's center\n\ 00169 \n\ 00170 # for sphere\n\ 00171 # radius := dimensions[0]\n\ 00172 \n\ 00173 # for cylinder\n\ 00174 # radius := dimensions[0]\n\ 00175 # length := dimensions[1]\n\ 00176 # the length is along the Z axis\n\ 00177 \n\ 00178 # for box\n\ 00179 # size_x := dimensions[0]\n\ 00180 # size_y := dimensions[1]\n\ 00181 # size_z := dimensions[2]\n\ 00182 float64[] dimensions\n\ 00183 \n\ 00184 \n\ 00185 #### define mesh ####\n\ 00186 \n\ 00187 # list of triangles; triangle k is defined by tre vertices located\n\ 00188 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\ 00189 int32[] triangles\n\ 00190 geometry_msgs/Point[] vertices\n\ 00191 \n\ 00192 ================================================================================\n\ 00193 MSG: geometry_msgs/Quaternion\n\ 00194 # This represents an orientation in free space in quaternion form.\n\ 00195 \n\ 00196 float64 x\n\ 00197 float64 y\n\ 00198 float64 z\n\ 00199 float64 w\n\ 00200 \n\ 00201 ================================================================================\n\ 00202 MSG: arm_navigation_msgs/OrientationConstraint\n\ 00203 # This message contains the definition of an orientation constraint.\n\ 00204 Header header\n\ 00205 \n\ 00206 # The robot link this constraint refers to\n\ 00207 string link_name\n\ 00208 \n\ 00209 # The type of the constraint\n\ 00210 int32 type\n\ 00211 int32 LINK_FRAME=0\n\ 00212 int32 HEADER_FRAME=1\n\ 00213 \n\ 00214 # The desired orientation of the robot link specified as a quaternion\n\ 00215 geometry_msgs/Quaternion orientation\n\ 00216 \n\ 00217 # optional RPY error tolerances specified if \n\ 00218 float64 absolute_roll_tolerance\n\ 00219 float64 absolute_pitch_tolerance\n\ 00220 float64 absolute_yaw_tolerance\n\ 00221 \n\ 00222 # Constraint weighting factor - a weight for this constraint\n\ 00223 float64 weight\n\ 00224 \n\ 00225 ================================================================================\n\ 00226 MSG: arm_navigation_msgs/VisibilityConstraint\n\ 00227 # This message contains the definition of a visibility constraint.\n\ 00228 Header header\n\ 00229 \n\ 00230 # The point stamped target that needs to be kept within view of the sensor\n\ 00231 geometry_msgs/PointStamped target\n\ 00232 \n\ 00233 # The local pose of the frame in which visibility is to be maintained\n\ 00234 # The frame id should represent the robot link to which the sensor is attached\n\ 00235 # The visual axis of the sensor is assumed to be along the X axis of this frame\n\ 00236 geometry_msgs/PoseStamped sensor_pose\n\ 00237 \n\ 00238 # The deviation (in radians) that will be tolerated\n\ 00239 # Constraint error will be measured as the solid angle between the \n\ 00240 # X axis of the frame defined above and the vector between the origin \n\ 00241 # of the frame defined above and the target location\n\ 00242 float64 absolute_tolerance\n\ 00243 \n\ 00244 \n\ 00245 ================================================================================\n\ 00246 MSG: geometry_msgs/PointStamped\n\ 00247 # This represents a Point with reference coordinate frame and timestamp\n\ 00248 Header header\n\ 00249 Point point\n\ 00250 \n\ 00251 ================================================================================\n\ 00252 MSG: geometry_msgs/PoseStamped\n\ 00253 # A Pose with reference coordinate frame and timestamp\n\ 00254 Header header\n\ 00255 Pose pose\n\ 00256 \n\ 00257 ================================================================================\n\ 00258 MSG: geometry_msgs/Pose\n\ 00259 # A representation of pose in free space, composed of postion and orientation. \n\ 00260 Point position\n\ 00261 Quaternion orientation\n\ 00262 \n\ 00263 "; } 00264 public: 00265 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00266 00267 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00268 00269 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00270 { 00271 ros::serialization::OStream stream(write_ptr, 1000000000); 00272 ros::serialization::serialize(stream, joint_constraints); 00273 ros::serialization::serialize(stream, position_constraints); 00274 ros::serialization::serialize(stream, orientation_constraints); 00275 ros::serialization::serialize(stream, visibility_constraints); 00276 return stream.getData(); 00277 } 00278 00279 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00280 { 00281 ros::serialization::IStream stream(read_ptr, 1000000000); 00282 ros::serialization::deserialize(stream, joint_constraints); 00283 ros::serialization::deserialize(stream, position_constraints); 00284 ros::serialization::deserialize(stream, orientation_constraints); 00285 ros::serialization::deserialize(stream, visibility_constraints); 00286 return stream.getData(); 00287 } 00288 00289 ROS_DEPRECATED virtual uint32_t serializationLength() const 00290 { 00291 uint32_t size = 0; 00292 size += ros::serialization::serializationLength(joint_constraints); 00293 size += ros::serialization::serializationLength(position_constraints); 00294 size += ros::serialization::serializationLength(orientation_constraints); 00295 size += ros::serialization::serializationLength(visibility_constraints); 00296 return size; 00297 } 00298 00299 typedef boost::shared_ptr< ::arm_navigation_msgs::Constraints_<ContainerAllocator> > Ptr; 00300 typedef boost::shared_ptr< ::arm_navigation_msgs::Constraints_<ContainerAllocator> const> ConstPtr; 00301 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00302 }; // struct Constraints 00303 typedef ::arm_navigation_msgs::Constraints_<std::allocator<void> > Constraints; 00304 00305 typedef boost::shared_ptr< ::arm_navigation_msgs::Constraints> ConstraintsPtr; 00306 typedef boost::shared_ptr< ::arm_navigation_msgs::Constraints const> ConstraintsConstPtr; 00307 00308 00309 template<typename ContainerAllocator> 00310 std::ostream& operator<<(std::ostream& s, const ::arm_navigation_msgs::Constraints_<ContainerAllocator> & v) 00311 { 00312 ros::message_operations::Printer< ::arm_navigation_msgs::Constraints_<ContainerAllocator> >::stream(s, "", v); 00313 return s;} 00314 00315 } // namespace arm_navigation_msgs 00316 00317 namespace ros 00318 { 00319 namespace message_traits 00320 { 00321 template<class ContainerAllocator> struct IsMessage< ::arm_navigation_msgs::Constraints_<ContainerAllocator> > : public TrueType {}; 00322 template<class ContainerAllocator> struct IsMessage< ::arm_navigation_msgs::Constraints_<ContainerAllocator> const> : public TrueType {}; 00323 template<class ContainerAllocator> 00324 struct MD5Sum< ::arm_navigation_msgs::Constraints_<ContainerAllocator> > { 00325 static const char* value() 00326 { 00327 return "fe6b6f09c687fd46c05a2de4ca18378a"; 00328 } 00329 00330 static const char* value(const ::arm_navigation_msgs::Constraints_<ContainerAllocator> &) { return value(); } 00331 static const uint64_t static_value1 = 0xfe6b6f09c687fd46ULL; 00332 static const uint64_t static_value2 = 0xc05a2de4ca18378aULL; 00333 }; 00334 00335 template<class ContainerAllocator> 00336 struct DataType< ::arm_navigation_msgs::Constraints_<ContainerAllocator> > { 00337 static const char* value() 00338 { 00339 return "arm_navigation_msgs/Constraints"; 00340 } 00341 00342 static const char* value(const ::arm_navigation_msgs::Constraints_<ContainerAllocator> &) { return value(); } 00343 }; 00344 00345 template<class ContainerAllocator> 00346 struct Definition< ::arm_navigation_msgs::Constraints_<ContainerAllocator> > { 00347 static const char* value() 00348 { 00349 return "# This message contains a list of motion planning constraints.\n\ 00350 \n\ 00351 arm_navigation_msgs/JointConstraint[] joint_constraints\n\ 00352 arm_navigation_msgs/PositionConstraint[] position_constraints\n\ 00353 arm_navigation_msgs/OrientationConstraint[] orientation_constraints\n\ 00354 arm_navigation_msgs/VisibilityConstraint[] visibility_constraints\n\ 00355 \n\ 00356 ================================================================================\n\ 00357 MSG: arm_navigation_msgs/JointConstraint\n\ 00358 # Constrain the position of a joint to be within a certain bound\n\ 00359 string joint_name\n\ 00360 \n\ 00361 # the bound to be achieved is [position - tolerance_below, position + tolerance_above]\n\ 00362 float64 position\n\ 00363 float64 tolerance_above\n\ 00364 float64 tolerance_below\n\ 00365 \n\ 00366 # A weighting factor for this constraint\n\ 00367 float64 weight\n\ 00368 ================================================================================\n\ 00369 MSG: arm_navigation_msgs/PositionConstraint\n\ 00370 # This message contains the definition of a position constraint.\n\ 00371 Header header\n\ 00372 \n\ 00373 # The robot link this constraint refers to\n\ 00374 string link_name\n\ 00375 \n\ 00376 # The offset (in the link frame) for the target point on the link we are planning for\n\ 00377 geometry_msgs/Point target_point_offset\n\ 00378 \n\ 00379 # The nominal/target position for the point we are planning for\n\ 00380 geometry_msgs/Point position\n\ 00381 \n\ 00382 # The shape of the bounded region that constrains the position of the end-effector\n\ 00383 # This region is always centered at the position defined above\n\ 00384 arm_navigation_msgs/Shape constraint_region_shape\n\ 00385 \n\ 00386 # The orientation of the bounded region that constrains the position of the end-effector. \n\ 00387 # This allows the specification of non-axis aligned constraints\n\ 00388 geometry_msgs/Quaternion constraint_region_orientation\n\ 00389 \n\ 00390 # Constraint weighting factor - a weight for this constraint\n\ 00391 float64 weight\n\ 00392 \n\ 00393 ================================================================================\n\ 00394 MSG: std_msgs/Header\n\ 00395 # Standard metadata for higher-level stamped data types.\n\ 00396 # This is generally used to communicate timestamped data \n\ 00397 # in a particular coordinate frame.\n\ 00398 # \n\ 00399 # sequence ID: consecutively increasing ID \n\ 00400 uint32 seq\n\ 00401 #Two-integer timestamp that is expressed as:\n\ 00402 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00403 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00404 # time-handling sugar is provided by the client library\n\ 00405 time stamp\n\ 00406 #Frame this data is associated with\n\ 00407 # 0: no frame\n\ 00408 # 1: global frame\n\ 00409 string frame_id\n\ 00410 \n\ 00411 ================================================================================\n\ 00412 MSG: geometry_msgs/Point\n\ 00413 # This contains the position of a point in free space\n\ 00414 float64 x\n\ 00415 float64 y\n\ 00416 float64 z\n\ 00417 \n\ 00418 ================================================================================\n\ 00419 MSG: arm_navigation_msgs/Shape\n\ 00420 byte SPHERE=0\n\ 00421 byte BOX=1\n\ 00422 byte CYLINDER=2\n\ 00423 byte MESH=3\n\ 00424 \n\ 00425 byte type\n\ 00426 \n\ 00427 \n\ 00428 #### define sphere, box, cylinder ####\n\ 00429 # the origin of each shape is considered at the shape's center\n\ 00430 \n\ 00431 # for sphere\n\ 00432 # radius := dimensions[0]\n\ 00433 \n\ 00434 # for cylinder\n\ 00435 # radius := dimensions[0]\n\ 00436 # length := dimensions[1]\n\ 00437 # the length is along the Z axis\n\ 00438 \n\ 00439 # for box\n\ 00440 # size_x := dimensions[0]\n\ 00441 # size_y := dimensions[1]\n\ 00442 # size_z := dimensions[2]\n\ 00443 float64[] dimensions\n\ 00444 \n\ 00445 \n\ 00446 #### define mesh ####\n\ 00447 \n\ 00448 # list of triangles; triangle k is defined by tre vertices located\n\ 00449 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\ 00450 int32[] triangles\n\ 00451 geometry_msgs/Point[] vertices\n\ 00452 \n\ 00453 ================================================================================\n\ 00454 MSG: geometry_msgs/Quaternion\n\ 00455 # This represents an orientation in free space in quaternion form.\n\ 00456 \n\ 00457 float64 x\n\ 00458 float64 y\n\ 00459 float64 z\n\ 00460 float64 w\n\ 00461 \n\ 00462 ================================================================================\n\ 00463 MSG: arm_navigation_msgs/OrientationConstraint\n\ 00464 # This message contains the definition of an orientation constraint.\n\ 00465 Header header\n\ 00466 \n\ 00467 # The robot link this constraint refers to\n\ 00468 string link_name\n\ 00469 \n\ 00470 # The type of the constraint\n\ 00471 int32 type\n\ 00472 int32 LINK_FRAME=0\n\ 00473 int32 HEADER_FRAME=1\n\ 00474 \n\ 00475 # The desired orientation of the robot link specified as a quaternion\n\ 00476 geometry_msgs/Quaternion orientation\n\ 00477 \n\ 00478 # optional RPY error tolerances specified if \n\ 00479 float64 absolute_roll_tolerance\n\ 00480 float64 absolute_pitch_tolerance\n\ 00481 float64 absolute_yaw_tolerance\n\ 00482 \n\ 00483 # Constraint weighting factor - a weight for this constraint\n\ 00484 float64 weight\n\ 00485 \n\ 00486 ================================================================================\n\ 00487 MSG: arm_navigation_msgs/VisibilityConstraint\n\ 00488 # This message contains the definition of a visibility constraint.\n\ 00489 Header header\n\ 00490 \n\ 00491 # The point stamped target that needs to be kept within view of the sensor\n\ 00492 geometry_msgs/PointStamped target\n\ 00493 \n\ 00494 # The local pose of the frame in which visibility is to be maintained\n\ 00495 # The frame id should represent the robot link to which the sensor is attached\n\ 00496 # The visual axis of the sensor is assumed to be along the X axis of this frame\n\ 00497 geometry_msgs/PoseStamped sensor_pose\n\ 00498 \n\ 00499 # The deviation (in radians) that will be tolerated\n\ 00500 # Constraint error will be measured as the solid angle between the \n\ 00501 # X axis of the frame defined above and the vector between the origin \n\ 00502 # of the frame defined above and the target location\n\ 00503 float64 absolute_tolerance\n\ 00504 \n\ 00505 \n\ 00506 ================================================================================\n\ 00507 MSG: geometry_msgs/PointStamped\n\ 00508 # This represents a Point with reference coordinate frame and timestamp\n\ 00509 Header header\n\ 00510 Point point\n\ 00511 \n\ 00512 ================================================================================\n\ 00513 MSG: geometry_msgs/PoseStamped\n\ 00514 # A Pose with reference coordinate frame and timestamp\n\ 00515 Header header\n\ 00516 Pose pose\n\ 00517 \n\ 00518 ================================================================================\n\ 00519 MSG: geometry_msgs/Pose\n\ 00520 # A representation of pose in free space, composed of postion and orientation. \n\ 00521 Point position\n\ 00522 Quaternion orientation\n\ 00523 \n\ 00524 "; 00525 } 00526 00527 static const char* value(const ::arm_navigation_msgs::Constraints_<ContainerAllocator> &) { return value(); } 00528 }; 00529 00530 } // namespace message_traits 00531 } // namespace ros 00532 00533 namespace ros 00534 { 00535 namespace serialization 00536 { 00537 00538 template<class ContainerAllocator> struct Serializer< ::arm_navigation_msgs::Constraints_<ContainerAllocator> > 00539 { 00540 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00541 { 00542 stream.next(m.joint_constraints); 00543 stream.next(m.position_constraints); 00544 stream.next(m.orientation_constraints); 00545 stream.next(m.visibility_constraints); 00546 } 00547 00548 ROS_DECLARE_ALLINONE_SERIALIZER; 00549 }; // struct Constraints_ 00550 } // namespace serialization 00551 } // namespace ros 00552 00553 namespace ros 00554 { 00555 namespace message_operations 00556 { 00557 00558 template<class ContainerAllocator> 00559 struct Printer< ::arm_navigation_msgs::Constraints_<ContainerAllocator> > 00560 { 00561 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::arm_navigation_msgs::Constraints_<ContainerAllocator> & v) 00562 { 00563 s << indent << "joint_constraints[]" << std::endl; 00564 for (size_t i = 0; i < v.joint_constraints.size(); ++i) 00565 { 00566 s << indent << " joint_constraints[" << i << "]: "; 00567 s << std::endl; 00568 s << indent; 00569 Printer< ::arm_navigation_msgs::JointConstraint_<ContainerAllocator> >::stream(s, indent + " ", v.joint_constraints[i]); 00570 } 00571 s << indent << "position_constraints[]" << std::endl; 00572 for (size_t i = 0; i < v.position_constraints.size(); ++i) 00573 { 00574 s << indent << " position_constraints[" << i << "]: "; 00575 s << std::endl; 00576 s << indent; 00577 Printer< ::arm_navigation_msgs::PositionConstraint_<ContainerAllocator> >::stream(s, indent + " ", v.position_constraints[i]); 00578 } 00579 s << indent << "orientation_constraints[]" << std::endl; 00580 for (size_t i = 0; i < v.orientation_constraints.size(); ++i) 00581 { 00582 s << indent << " orientation_constraints[" << i << "]: "; 00583 s << std::endl; 00584 s << indent; 00585 Printer< ::arm_navigation_msgs::OrientationConstraint_<ContainerAllocator> >::stream(s, indent + " ", v.orientation_constraints[i]); 00586 } 00587 s << indent << "visibility_constraints[]" << std::endl; 00588 for (size_t i = 0; i < v.visibility_constraints.size(); ++i) 00589 { 00590 s << indent << " visibility_constraints[" << i << "]: "; 00591 s << std::endl; 00592 s << indent; 00593 Printer< ::arm_navigation_msgs::VisibilityConstraint_<ContainerAllocator> >::stream(s, indent + " ", v.visibility_constraints[i]); 00594 } 00595 } 00596 }; 00597 00598 00599 } // namespace message_operations 00600 } // namespace ros 00601 00602 #endif // ARM_NAVIGATION_MSGS_MESSAGE_CONSTRAINTS_H 00603