<?xml version='1.0' encoding='ISO-8859-1' standalone='yes' ?>
<tagfile>
  <compound kind="page">
    <name>index</name>
    <title></title>
    <filename>index</filename>
    <docanchor file="index">codeapi</docanchor>
  </compound>
  <compound kind="file">
    <name>__init__.py</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/src/pr2_arm_ik/</path>
    <filename>____init_____8py</filename>
    <namespace>pr2_arm_ik</namespace>
  </compound>
  <compound kind="file">
    <name>main.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/src/</path>
    <filename>main_8cpp</filename>
    <includes id="pr2__arm__kinematics_8h" name="pr2_arm_kinematics.h" local="no" imported="no">pr2_arm_kinematics/pr2_arm_kinematics.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>main_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>mainpage.dox</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/</path>
    <filename>mainpage_8dox</filename>
  </compound>
  <compound kind="file">
    <name>pr2_arm_ik.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/src/</path>
    <filename>pr2__arm__ik_8cpp</filename>
    <includes id="pr2__arm__ik_8h" name="pr2_arm_ik.h" local="no" imported="no">pr2_arm_kinematics/pr2_arm_ik.h</includes>
  </compound>
  <compound kind="file">
    <name>pr2_arm_ik.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/include/pr2_arm_kinematics/</path>
    <filename>pr2__arm__ik_8h</filename>
    <includes id="pr2__arm__kinematics__utils_8h" name="pr2_arm_kinematics_utils.h" local="no" imported="no">pr2_arm_kinematics/pr2_arm_kinematics_utils.h</includes>
    <includes id="pr2__arm__kinematics__constants_8h" name="pr2_arm_kinematics_constants.h" local="no" imported="no">pr2_arm_kinematics/pr2_arm_kinematics_constants.h</includes>
    <class kind="class">pr2_arm_kinematics::PR2ArmIK</class>
    <namespace>pr2_arm_kinematics</namespace>
  </compound>
  <compound kind="file">
    <name>pr2_arm_ik_solver.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/src/</path>
    <filename>pr2__arm__ik__solver_8cpp</filename>
    <includes id="pr2__arm__ik__solver_8h" name="pr2_arm_ik_solver.h" local="no" imported="no">pr2_arm_kinematics/pr2_arm_ik_solver.h</includes>
  </compound>
  <compound kind="file">
    <name>pr2_arm_ik_solver.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/include/pr2_arm_kinematics/</path>
    <filename>pr2__arm__ik__solver_8h</filename>
    <includes id="pr2__arm__ik_8h" name="pr2_arm_ik.h" local="no" imported="no">pr2_arm_kinematics/pr2_arm_ik.h</includes>
    <includes id="pr2__arm__kinematics__utils_8h" name="pr2_arm_kinematics_utils.h" local="no" imported="no">pr2_arm_kinematics/pr2_arm_kinematics_utils.h</includes>
    <class kind="class">pr2_arm_kinematics::PR2ArmIKSolver</class>
    <namespace>pr2_arm_kinematics</namespace>
    <member kind="variable" static="yes">
      <type>static const int</type>
      <name>NO_IK_SOLUTION</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>ae8b821620ec119e950524b084b97545d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const int</type>
      <name>TIMED_OUT</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a244bc5bbfbb9d1a10247215245eb3f36</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pr2_arm_kinematics.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/src/</path>
    <filename>pr2__arm__kinematics_8cpp</filename>
    <includes id="pr2__arm__kinematics_8h" name="pr2_arm_kinematics.h" local="no" imported="no">pr2_arm_kinematics/pr2_arm_kinematics.h</includes>
    <namespace>pr2_arm_kinematics</namespace>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>FK_INFO_SERVICE</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>af4140c4bfca8d604d2a4b59722e9fd4e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>FK_SERVICE</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>adc80cfd50d6cccd2561f9c0d4d2403c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>IK_INFO_SERVICE</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a22a91ca286cfa69ea7afc03e117b525d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>IK_SERVICE</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>afb002be164be9d21208a328a9eac053a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pr2_arm_kinematics.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/include/pr2_arm_kinematics/</path>
    <filename>pr2__arm__kinematics_8h</filename>
    <includes id="pr2__arm__ik__solver_8h" name="pr2_arm_ik_solver.h" local="no" imported="no">pr2_arm_kinematics/pr2_arm_ik_solver.h</includes>
    <class kind="class">pr2_arm_kinematics::PR2ArmKinematics</class>
    <namespace>pr2_arm_kinematics</namespace>
  </compound>
  <compound kind="file">
    <name>pr2_arm_kinematics_constants.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/include/pr2_arm_kinematics/</path>
    <filename>pr2__arm__kinematics__constants_8h</filename>
    <namespace>pr2_arm_kinematics</namespace>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>IK_EPS</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>ac6a291b8c671719448644572f9b7aa35</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const int</type>
      <name>NUM_JOINTS_ARM7DOF</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a816d8c9a19c2e2967b4243a2585bba79</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pr2_arm_kinematics_plugin.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/src/</path>
    <filename>pr2__arm__kinematics__plugin_8cpp</filename>
    <includes id="pr2__arm__kinematics__plugin_8h" name="pr2_arm_kinematics_plugin.h" local="no" imported="no">pr2_arm_kinematics/pr2_arm_kinematics_plugin.h</includes>
    <namespace>pr2_arm_kinematics</namespace>
  </compound>
  <compound kind="file">
    <name>pr2_arm_kinematics_plugin.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/include/pr2_arm_kinematics/</path>
    <filename>pr2__arm__kinematics__plugin_8h</filename>
    <includes id="pr2__arm__ik__solver_8h" name="pr2_arm_ik_solver.h" local="no" imported="no">pr2_arm_kinematics/pr2_arm_ik_solver.h</includes>
    <class kind="class">pr2_arm_kinematics::PR2ArmKinematicsPlugin</class>
    <namespace>pr2_arm_kinematics</namespace>
  </compound>
  <compound kind="file">
    <name>pr2_arm_kinematics_utils.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/src/</path>
    <filename>pr2__arm__kinematics__utils_8cpp</filename>
    <includes id="pr2__arm__kinematics__utils_8h" name="pr2_arm_kinematics_utils.h" local="no" imported="no">pr2_arm_kinematics/pr2_arm_kinematics_utils.h</includes>
    <includes id="pr2__arm__kinematics__constants_8h" name="pr2_arm_kinematics_constants.h" local="no" imported="no">pr2_arm_kinematics/pr2_arm_kinematics_constants.h</includes>
    <namespace>pr2_arm_kinematics</namespace>
    <member kind="function">
      <type>bool</type>
      <name>checkConstraintAwareIKService</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>aa95406d3b82d87aedda26b78648a5c6a</anchor>
      <arglist>(kinematics_msgs::GetConstraintAwarePositionIK::Request &amp;request, kinematics_msgs::GetConstraintAwarePositionIK::Response &amp;response, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkFKService</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>accd6ab0ae738f14cca2871da36e7300c</anchor>
      <arglist>(kinematics_msgs::GetPositionFK::Request &amp;request, kinematics_msgs::GetPositionFK::Response &amp;response, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkIKService</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>ab9bfe40e07476ca3af835a25f9c0af9f</anchor>
      <arglist>(kinematics_msgs::GetPositionIK::Request &amp;request, kinematics_msgs::GetPositionIK::Response &amp;response, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkJointNames</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a2d0c86a3714f771c2b4362dbd025df7d</anchor>
      <arglist>(const std::vector&lt; std::string &gt; &amp;joint_names, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkLinkName</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a3042fdda155bfc80ce5ebb9d9f9e9276</anchor>
      <arglist>(const std::string &amp;link_name, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkLinkNames</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a744ce2c29347fd87a54f83a13d58558b</anchor>
      <arglist>(const std::vector&lt; std::string &gt; &amp;link_names, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkRobotState</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a69670d3db62cdf12388ed0c92083b270</anchor>
      <arglist>(arm_navigation_msgs::RobotState &amp;robot_state, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>computeEuclideanDistance</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a31e48e861fab1c1a426bda845bf56303</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;array_1, const KDL::JntArray &amp;array_2)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>convertPoseToRootFrame</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a699d7d1e89d7758ce3dc6b990cbabea7</anchor>
      <arglist>(const geometry_msgs::PoseStamped &amp;pose_msg, geometry_msgs::PoseStamped &amp;pose_msg_out, const std::string &amp;root_frame, tf::TransformListener &amp;tf)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>convertPoseToRootFrame</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a78a02b4623966b0cc3a4b46b188348f7</anchor>
      <arglist>(const geometry_msgs::PoseStamped &amp;pose_msg, KDL::Frame &amp;pose_kdl, const std::string &amp;root_frame, tf::TransformListener &amp;tf)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>distance</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a24f684af4bcce4a6d0c945aa27d04550</anchor>
      <arglist>(const urdf::Pose &amp;transform)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getJointIndex</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a3e48f25967ad2646536c2c87cbb6f662</anchor>
      <arglist>(const std::string &amp;name, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getKDLChain</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>af0523bf32fd5b8325a12c12497b62a04</anchor>
      <arglist>(const std::string &amp;xml_string, const std::string &amp;root_name, const std::string &amp;tip_name, KDL::Chain &amp;kdl_chain)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getKDLChainInfo</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a9ea8e7358f3ece79b1531dfe3a4e8f52</anchor>
      <arglist>(const KDL::Chain &amp;chain, kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getKDLSegmentIndex</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a3397abd63c2b5232fb14a26c7d7a3853</anchor>
      <arglist>(const KDL::Chain &amp;chain, const std::string &amp;name)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getKDLTree</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>ae5237df4d00a7dbdb07a080ba0565ea4</anchor>
      <arglist>(const std::string &amp;xml_string, const std::string &amp;root_name, const std::string &amp;tip_name, KDL::Tree &amp;kdl_chain)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Matrix4f</type>
      <name>KDLToEigenMatrix</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a88fb121d84b3b989a84aa21a14cf8567</anchor>
      <arglist>(const KDL::Frame &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>loadRobotModel</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a41e2e35214db51e7269e49442ebeb76d</anchor>
      <arglist>(ros::NodeHandle node_handle, urdf::Model &amp;robot_model, std::string &amp;root_name, std::string &amp;tip_name, std::string &amp;xml_string)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Matrix4f</type>
      <name>matrixInverse</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a9020143d0e191764fe66cbbf006ad359</anchor>
      <arglist>(const Eigen::Matrix4f &amp;g)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>solveCosineEqn</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a6db7f60734519de9986512012be6bb5d</anchor>
      <arglist>(const double &amp;a, const double &amp;b, const double &amp;c, double &amp;soln1, double &amp;soln2)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>solveQuadratic</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>ae40d1d4a9b03d56f302c53f3a0a84173</anchor>
      <arglist>(const double &amp;a, const double &amp;b, const double &amp;c, double *x1, double *x2)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>IK_DEFAULT_TIMEOUT</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>afcd619c8a6533aafd35527d366f5d1eb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pr2_arm_kinematics_utils.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/include/pr2_arm_kinematics/</path>
    <filename>pr2__arm__kinematics__utils_8h</filename>
    <namespace>pr2_arm_kinematics</namespace>
    <member kind="function">
      <type>bool</type>
      <name>checkConstraintAwareIKService</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>aa95406d3b82d87aedda26b78648a5c6a</anchor>
      <arglist>(kinematics_msgs::GetConstraintAwarePositionIK::Request &amp;request, kinematics_msgs::GetConstraintAwarePositionIK::Response &amp;response, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkFKService</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>accd6ab0ae738f14cca2871da36e7300c</anchor>
      <arglist>(kinematics_msgs::GetPositionFK::Request &amp;request, kinematics_msgs::GetPositionFK::Response &amp;response, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkIKService</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>ab9bfe40e07476ca3af835a25f9c0af9f</anchor>
      <arglist>(kinematics_msgs::GetPositionIK::Request &amp;request, kinematics_msgs::GetPositionIK::Response &amp;response, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkJointNames</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a2d0c86a3714f771c2b4362dbd025df7d</anchor>
      <arglist>(const std::vector&lt; std::string &gt; &amp;joint_names, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkLinkName</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a3042fdda155bfc80ce5ebb9d9f9e9276</anchor>
      <arglist>(const std::string &amp;link_name, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkLinkNames</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a744ce2c29347fd87a54f83a13d58558b</anchor>
      <arglist>(const std::vector&lt; std::string &gt; &amp;link_names, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkRobotState</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a69670d3db62cdf12388ed0c92083b270</anchor>
      <arglist>(arm_navigation_msgs::RobotState &amp;robot_state, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>computeEuclideanDistance</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a31e48e861fab1c1a426bda845bf56303</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;array_1, const KDL::JntArray &amp;array_2)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>convertPoseToRootFrame</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a699d7d1e89d7758ce3dc6b990cbabea7</anchor>
      <arglist>(const geometry_msgs::PoseStamped &amp;pose_msg, geometry_msgs::PoseStamped &amp;pose_msg_out, const std::string &amp;root_frame, tf::TransformListener &amp;tf)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>convertPoseToRootFrame</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a78a02b4623966b0cc3a4b46b188348f7</anchor>
      <arglist>(const geometry_msgs::PoseStamped &amp;pose_msg, KDL::Frame &amp;pose_kdl, const std::string &amp;root_frame, tf::TransformListener &amp;tf)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>distance</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a24f684af4bcce4a6d0c945aa27d04550</anchor>
      <arglist>(const urdf::Pose &amp;transform)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getJointIndex</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a3e48f25967ad2646536c2c87cbb6f662</anchor>
      <arglist>(const std::string &amp;name, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getKDLChain</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>af0523bf32fd5b8325a12c12497b62a04</anchor>
      <arglist>(const std::string &amp;xml_string, const std::string &amp;root_name, const std::string &amp;tip_name, KDL::Chain &amp;kdl_chain)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getKDLChainInfo</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a9ea8e7358f3ece79b1531dfe3a4e8f52</anchor>
      <arglist>(const KDL::Chain &amp;chain, kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getKDLSegmentIndex</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a3397abd63c2b5232fb14a26c7d7a3853</anchor>
      <arglist>(const KDL::Chain &amp;chain, const std::string &amp;name)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getKDLTree</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>ae5237df4d00a7dbdb07a080ba0565ea4</anchor>
      <arglist>(const std::string &amp;xml_string, const std::string &amp;root_name, const std::string &amp;tip_name, KDL::Tree &amp;kdl_chain)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Matrix4f</type>
      <name>KDLToEigenMatrix</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a88fb121d84b3b989a84aa21a14cf8567</anchor>
      <arglist>(const KDL::Frame &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>loadRobotModel</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a41e2e35214db51e7269e49442ebeb76d</anchor>
      <arglist>(ros::NodeHandle node_handle, urdf::Model &amp;robot_model, std::string &amp;root_name, std::string &amp;tip_name, std::string &amp;xml_string)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Matrix4f</type>
      <name>matrixInverse</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a9020143d0e191764fe66cbbf006ad359</anchor>
      <arglist>(const Eigen::Matrix4f &amp;g)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>solveCosineEqn</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a6db7f60734519de9986512012be6bb5d</anchor>
      <arglist>(const double &amp;a, const double &amp;b, const double &amp;c, double &amp;soln1, double &amp;soln2)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>solveQuadratic</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>ae40d1d4a9b03d56f302c53f3a0a84173</anchor>
      <arglist>(const double &amp;a, const double &amp;b, const double &amp;c, double *x1, double *x2)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_ik_with_cost.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-electric-pr2_kinematics/doc_stacks/2013-03-01_16-56-02.440883/pr2_kinematics/pr2_arm_kinematics/test/</path>
    <filename>test__ik__with__cost_8cpp</filename>
    <member kind="define">
      <type>#define</type>
      <name>IK_NEAR</name>
      <anchorfile>test__ik__with__cost_8cpp.html</anchorfile>
      <anchor>a5f62aaa1dd63cf3367df0836b46b1b5c</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>IK_NEAR_TRANSLATE</name>
      <anchorfile>test__ik__with__cost_8cpp.html</anchorfile>
      <anchor>ae3a06c23d1d34a7a1d6a24aea7f88a61</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>gen_rand</name>
      <anchorfile>test__ik__with__cost_8cpp.html</anchorfile>
      <anchor>a02aaa6d62c5197778030630d281f5fff</anchor>
      <arglist>(double min, double max)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__ik__with__cost_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>NOT_NEAR</name>
      <anchorfile>test__ik__with__cost_8cpp.html</anchorfile>
      <anchor>a111f8d9f66230da205f0c59142d96de7</anchor>
      <arglist>(const double &amp;v1, const double &amp;v2, const double &amp;NEAR)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>test</name>
      <anchorfile>test__ik__with__cost_8cpp.html</anchorfile>
      <anchor>ae1a3968e7947464bee7714f6d43b7002</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>ARM_FK_NAME</name>
      <anchorfile>test__ik__with__cost_8cpp.html</anchorfile>
      <anchor>a756856004748f2a494256073bf59fc31</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>ARM_IK_NAME</name>
      <anchorfile>test__ik__with__cost_8cpp.html</anchorfile>
      <anchor>a182474a931033f7c610b270ec6741372</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>ARM_QUERY_NAME</name>
      <anchorfile>test__ik__with__cost_8cpp.html</anchorfile>
      <anchor>a6d6f337bf66827a2e551aeba5b4c72ea</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const int</type>
      <name>NUM_TESTS</name>
      <anchorfile>test__ik__with__cost_8cpp.html</anchorfile>
      <anchor>a51ceacd2eee1ffa83fe1004e33a6a96f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>EIGEN_MAKE_ALIGNED_OPERATOR_NEW</name>
    <filename>classEIGEN__MAKE__ALIGNED__OPERATOR__NEW.html</filename>
  </compound>
  <compound kind="namespace">
    <name>pr2_arm_ik</name>
    <filename>namespacepr2__arm__ik.html</filename>
  </compound>
  <compound kind="namespace">
    <name>pr2_arm_kinematics</name>
    <filename>namespacepr2__arm__kinematics.html</filename>
    <class kind="class">pr2_arm_kinematics::PR2ArmIK</class>
    <class kind="class">pr2_arm_kinematics::PR2ArmIKSolver</class>
    <class kind="class">pr2_arm_kinematics::PR2ArmKinematics</class>
    <class kind="class">pr2_arm_kinematics::PR2ArmKinematicsPlugin</class>
    <member kind="function">
      <type>bool</type>
      <name>checkConstraintAwareIKService</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>aa95406d3b82d87aedda26b78648a5c6a</anchor>
      <arglist>(kinematics_msgs::GetConstraintAwarePositionIK::Request &amp;request, kinematics_msgs::GetConstraintAwarePositionIK::Response &amp;response, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkFKService</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>accd6ab0ae738f14cca2871da36e7300c</anchor>
      <arglist>(kinematics_msgs::GetPositionFK::Request &amp;request, kinematics_msgs::GetPositionFK::Response &amp;response, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkIKService</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>ab9bfe40e07476ca3af835a25f9c0af9f</anchor>
      <arglist>(kinematics_msgs::GetPositionIK::Request &amp;request, kinematics_msgs::GetPositionIK::Response &amp;response, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkJointNames</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a2d0c86a3714f771c2b4362dbd025df7d</anchor>
      <arglist>(const std::vector&lt; std::string &gt; &amp;joint_names, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkLinkName</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a3042fdda155bfc80ce5ebb9d9f9e9276</anchor>
      <arglist>(const std::string &amp;link_name, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkLinkNames</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a744ce2c29347fd87a54f83a13d58558b</anchor>
      <arglist>(const std::vector&lt; std::string &gt; &amp;link_names, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkRobotState</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a69670d3db62cdf12388ed0c92083b270</anchor>
      <arglist>(arm_navigation_msgs::RobotState &amp;robot_state, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>computeEuclideanDistance</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a31e48e861fab1c1a426bda845bf56303</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;array_1, const KDL::JntArray &amp;array_2)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>convertPoseToRootFrame</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a699d7d1e89d7758ce3dc6b990cbabea7</anchor>
      <arglist>(const geometry_msgs::PoseStamped &amp;pose_msg, geometry_msgs::PoseStamped &amp;pose_msg_out, const std::string &amp;root_frame, tf::TransformListener &amp;tf)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>convertPoseToRootFrame</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a78a02b4623966b0cc3a4b46b188348f7</anchor>
      <arglist>(const geometry_msgs::PoseStamped &amp;pose_msg, KDL::Frame &amp;pose_kdl, const std::string &amp;root_frame, tf::TransformListener &amp;tf)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>distance</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a24f684af4bcce4a6d0c945aa27d04550</anchor>
      <arglist>(const urdf::Pose &amp;transform)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getJointIndex</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a3e48f25967ad2646536c2c87cbb6f662</anchor>
      <arglist>(const std::string &amp;name, const kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getKDLChain</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>af0523bf32fd5b8325a12c12497b62a04</anchor>
      <arglist>(const std::string &amp;xml_string, const std::string &amp;root_name, const std::string &amp;tip_name, KDL::Chain &amp;kdl_chain)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getKDLChainInfo</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a9ea8e7358f3ece79b1531dfe3a4e8f52</anchor>
      <arglist>(const KDL::Chain &amp;chain, kinematics_msgs::KinematicSolverInfo &amp;chain_info)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getKDLSegmentIndex</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a3397abd63c2b5232fb14a26c7d7a3853</anchor>
      <arglist>(const KDL::Chain &amp;chain, const std::string &amp;name)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getKDLTree</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>ae5237df4d00a7dbdb07a080ba0565ea4</anchor>
      <arglist>(const std::string &amp;xml_string, const std::string &amp;root_name, const std::string &amp;tip_name, KDL::Tree &amp;kdl_chain)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Matrix4f</type>
      <name>KDLToEigenMatrix</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a88fb121d84b3b989a84aa21a14cf8567</anchor>
      <arglist>(const KDL::Frame &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>loadRobotModel</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a41e2e35214db51e7269e49442ebeb76d</anchor>
      <arglist>(ros::NodeHandle node_handle, urdf::Model &amp;robot_model, std::string &amp;root_name, std::string &amp;tip_name, std::string &amp;xml_string)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Matrix4f</type>
      <name>matrixInverse</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a9020143d0e191764fe66cbbf006ad359</anchor>
      <arglist>(const Eigen::Matrix4f &amp;g)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>solveCosineEqn</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a6db7f60734519de9986512012be6bb5d</anchor>
      <arglist>(const double &amp;a, const double &amp;b, const double &amp;c, double &amp;soln1, double &amp;soln2)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>solveQuadratic</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>ae40d1d4a9b03d56f302c53f3a0a84173</anchor>
      <arglist>(const double &amp;a, const double &amp;b, const double &amp;c, double *x1, double *x2)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>FK_INFO_SERVICE</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>af4140c4bfca8d604d2a4b59722e9fd4e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>FK_SERVICE</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>adc80cfd50d6cccd2561f9c0d4d2403c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>IK_DEFAULT_TIMEOUT</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>afcd619c8a6533aafd35527d366f5d1eb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>IK_EPS</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>ac6a291b8c671719448644572f9b7aa35</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>IK_INFO_SERVICE</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a22a91ca286cfa69ea7afc03e117b525d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>IK_SERVICE</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>afb002be164be9d21208a328a9eac053a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const int</type>
      <name>NO_IK_SOLUTION</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>ae8b821620ec119e950524b084b97545d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const int</type>
      <name>NUM_JOINTS_ARM7DOF</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a816d8c9a19c2e2967b4243a2585bba79</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const int</type>
      <name>TIMED_OUT</name>
      <anchorfile>namespacepr2__arm__kinematics.html</anchorfile>
      <anchor>a244bc5bbfbb9d1a10247215245eb3f36</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pr2_arm_kinematics::PR2ArmIK</name>
    <filename>classpr2__arm__kinematics_1_1PR2ArmIK.html</filename>
    <member kind="function">
      <type>void</type>
      <name>computeIKShoulderPan</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a2a24f375af3cdbba52d6004344cfbf0d</anchor>
      <arglist>(const Eigen::Matrix4f &amp;g_in, const double &amp;shoulder_pan_initial_guess, std::vector&lt; std::vector&lt; double &gt; &gt; &amp;solution)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeIKShoulderRoll</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a9c33f38a89f7afebeb62c3b479f53365</anchor>
      <arglist>(const Eigen::Matrix4f &amp;g_in, const double &amp;shoulder_roll_initial_guess, std::vector&lt; std::vector&lt; double &gt; &gt; &amp;solution)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getSolverInfo</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a0a64fdacb2fe93314b71ec8941dd8d71</anchor>
      <arglist>(kinematics_msgs::KinematicSolverInfo &amp;info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>init</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a0d2cd820b0dfdb28d556aaebc45f2dae</anchor>
      <arglist>(const urdf::Model &amp;robot_model, const std::string &amp;root_name, const std::string &amp;tip_name)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PR2ArmIK</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a4165a2bd1b23551c79a0a10c66abf42f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~PR2ArmIK</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a3f8c3095ae2f16b318109f83df4dc0f8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>kinematics_msgs::KinematicSolverInfo</type>
      <name>solver_info_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>afa06af725aa4b3fc4ee9b7d76a215db6</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>addJointToChainInfo</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a7d6793dfe29958fe1949b7d82166eb3c</anchor>
      <arglist>(boost::shared_ptr&lt; const urdf::Joint &gt; joint, kinematics_msgs::KinematicSolverInfo &amp;info)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>checkJointLimits</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a7abfd5f8eaad9adc780c7568e60eebbc</anchor>
      <arglist>(const double &amp;joint_value, const int &amp;joint_num)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>checkJointLimits</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a5a3bb2d943a7b0ed0e45504cb2973220</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;joint_values)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>angle_multipliers_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>ab20e5db3457d2a6b6536dec5f57a2677</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; bool &gt;</type>
      <name>continuous_joint_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a19a2c7e6002bc0e61ee129e3e9b7cfe0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>elbow_wrist_offset_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a3da015c301d6db1752c5e4f3bb21ac89</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Matrix4f</type>
      <name>gf_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a1311d7e01733b8c52f569541ca9f4af6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Matrix4f</type>
      <name>grhs_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a93c45c4ed747e602cb5c40f1cfa8a178</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Matrix4f</type>
      <name>home_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a792c9c276344f8fb1ac0e267e8d955f1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Matrix4f</type>
      <name>home_inv_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>aa1cac9782348ddb09039a70410d55ae7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>max_angles_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a20530c2e234c2d148a1862e78d9d2da8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>min_angles_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>ace611194c86de76712dcccd8209abffc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>shoulder_elbow_offset_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a524c43fcb7b15cb0b1abd62d6add888e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>shoulder_upperarm_offset_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>afed1d0f6f89633b53ff8d3c8ff5a45bc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>shoulder_wrist_offset_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a68ba77e64dafc0d24ed2dea5b61bf58f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>solution_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>ae350c7f3a46daad8a9237fbb80ec6c53</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>torso_shoulder_offset_x_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a45a450e2ee5fb29221ff468badb8edef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>torso_shoulder_offset_y_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>ac84736fa149bba9f85de4318fb1f5df0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>torso_shoulder_offset_z_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a3213c1ebd6d3d186efd7a271f0f59c67</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>upperarm_elbow_offset_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIK.html</anchorfile>
      <anchor>a69e16f7f9062b61e28047a5245a5de94</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pr2_arm_kinematics::PR2ArmIKSolver</name>
    <filename>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</filename>
    <base>KDL::ChainIkSolverPos</base>
    <member kind="function">
      <type>int</type>
      <name>CartToJnt</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>a1e55f3978c3f8f5e2b0be3954d6b262a</anchor>
      <arglist>(const KDL::JntArray &amp;q_init, const KDL::Frame &amp;p_in, std::vector&lt; KDL::JntArray &gt; &amp;q_out)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>CartToJnt</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>adbda0706affed7a3e5be893cad218293</anchor>
      <arglist>(const KDL::JntArray &amp;q_init, const KDL::Frame &amp;p_in, KDL::JntArray &amp;q_out)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>CartToJntSearch</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>a1611d8a9ec7f8f6eae4276fbb2cae2cf</anchor>
      <arglist>(const KDL::JntArray &amp;q_in, const KDL::Frame &amp;p_in, KDL::JntArray &amp;q_out, const double &amp;timeout, arm_navigation_msgs::ArmNavigationErrorCodes &amp;error_code, const boost::function&lt; void(const KDL::JntArray &amp;, const KDL::Frame &amp;, arm_navigation_msgs::ArmNavigationErrorCodes &amp;)&gt; &amp;desired_pose_callback, const boost::function&lt; void(const KDL::JntArray &amp;, const KDL::Frame &amp;, arm_navigation_msgs::ArmNavigationErrorCodes &amp;)&gt; &amp;solution_callback)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>CartToJntSearch</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>a3d46f7c467a6ba8a8812a66e02dd6bbd</anchor>
      <arglist>(const KDL::JntArray &amp;q_in, const KDL::Frame &amp;p_in, KDL::JntArray &amp;q_out, const double &amp;timeout)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>CartToJntSearch</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>aa33be2d674ec64a4b732fe9eb12aafdd</anchor>
      <arglist>(const KDL::JntArray &amp;q_in, const KDL::Frame &amp;p_in, std::vector&lt; KDL::JntArray &gt; &amp;q_out, const double &amp;timeout)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>getFrameId</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>ad375f2e91bbcf759fc68aceba8a6167c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getSolverInfo</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>adc6a15b9a7b3e9dcadb0e1e80c5ec2e5</anchor>
      <arglist>(kinematics_msgs::KinematicSolverInfo &amp;response)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PR2ArmIKSolver</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>aad1c702f9d5e4bc1bef64993f9c7ef5b</anchor>
      <arglist>(const urdf::Model &amp;robot_model, const std::string &amp;root_frame_name, const std::string &amp;tip_frame_name, const double &amp;search_discretization_angle, const int &amp;free_angle)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~PR2ArmIKSolver</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>aee5167b972db05b006ac33b47363e331</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>active_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>adc38b28a42cdadf1a9499e9d2bc71d30</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>PR2ArmIK</type>
      <name>pr2_arm_ik_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>a7ceb277e735eb15fc031ca90c04eae25</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>getCount</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>af1e3a599e5d8ad7f4f08ff93c00b8f9e</anchor>
      <arglist>(int &amp;count, const int &amp;max_count, const int &amp;min_count)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>free_angle_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>ae9766bbf488f123eae04fc6c3d33b0df</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>root_frame_name_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>ab636345d08207f911ac2b8ee3f458dd8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>search_discretization_angle_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmIKSolver.html</anchorfile>
      <anchor>a3eabdaa0bf1490ae7b7e71c4acc8c096</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pr2_arm_kinematics::PR2ArmKinematics</name>
    <filename>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>getFKSolverInfo</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>ac40f09a920d17c32ab9676a531325781</anchor>
      <arglist>(kinematics_msgs::GetKinematicSolverInfo::Request &amp;request, kinematics_msgs::GetKinematicSolverInfo::Response &amp;response)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getIKSolverInfo</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a426652398859296df84fdb85bead8641</anchor>
      <arglist>(kinematics_msgs::GetKinematicSolverInfo::Request &amp;request, kinematics_msgs::GetKinematicSolverInfo::Response &amp;response)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getPositionFK</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>ad51d9fddd4d6ec57ad042e3d50409655</anchor>
      <arglist>(kinematics_msgs::GetPositionFK::Request &amp;request, kinematics_msgs::GetPositionFK::Response &amp;response)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>getPositionIK</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>acdfbd8161d942eb076f98243a5c42a70</anchor>
      <arglist>(kinematics_msgs::GetPositionIK::Request &amp;request, kinematics_msgs::GetPositionIK::Response &amp;response)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isActive</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>adf4f0686e5a71c80bc079cb64876fd27</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PR2ArmKinematics</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>aae921f6f2c2a9b070f1a06071a9d8323</anchor>
      <arglist>(bool create_transform_listener=true)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~PR2ArmKinematics</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a71f4d7ecf4622c5aaa6112311d435c61</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>getPositionIKHelper</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>aa3c16eac7d097c64d94701f65889009b</anchor>
      <arglist>(kinematics_msgs::GetPositionIK::Request &amp;request, kinematics_msgs::GetPositionIK::Response &amp;response)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual bool</type>
      <name>transformPose</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a4d69c0efe42681066f5857fd58d32301</anchor>
      <arglist>(const std::string &amp;des_frame, const geometry_msgs::PoseStamped &amp;pose_in, geometry_msgs::PoseStamped &amp;pose_out)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>active_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>ab9a4b46263e41a47ccdb9ae3a8ae8230</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>dimension_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a14aea387b4e852278fc64587d9f6ea5a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::ServiceServer</type>
      <name>fk_service_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>aedb089ff931dbb5c0d9532314b4c3826</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>kinematics_msgs::KinematicSolverInfo</type>
      <name>fk_solver_info_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a5d13229f3bb2a9c079040efc8d93a886</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::ServiceServer</type>
      <name>fk_solver_info_service_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>af08794af1b5971baf7c2afb5c8f43c33</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>free_angle_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a0ee300b94bbb5abf5f34b1f57a75bedf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::ServiceServer</type>
      <name>ik_service_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>adec68ecb6827b3f07592f857d9846e06</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>kinematics_msgs::KinematicSolverInfo</type>
      <name>ik_solver_info_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a9daf22387a198b50fba91aa91362bf37</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::ServiceServer</type>
      <name>ik_solver_info_service_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a8f4834d2dbfb5f6992b8ae601ca3ba8b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::shared_ptr&lt; KDL::ChainFkSolverPos_recursive &gt;</type>
      <name>jnt_to_pose_solver_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a9ca84f69b1d9a4c35a10e806c2bcee5c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::Chain</type>
      <name>kdl_chain_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>aa899267b6ef1753bd993dea9babf0709</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>node_handle_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a2ed78dbc71b4ffc4f38c28ff5b218c56</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::shared_ptr&lt; pr2_arm_kinematics::PR2ArmIKSolver &gt;</type>
      <name>pr2_arm_ik_solver_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a60c3fa3303babc616e43d5ded5d7bfb0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>urdf::Model</type>
      <name>robot_model_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a051ff2117d9480d1fb24bca18c7b1b26</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>root_handle_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a4fc7fc898a2cbb63912f910933474d2f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>root_name_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a6782dd6694abf76315cd1d18758ee098</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>search_discretization_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>a291445f7c724da5ffeb513fe298d60e8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>tf::TransformListener *</type>
      <name>tf_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematics.html</anchorfile>
      <anchor>ab1102fcb060ced13ba61065ab2878e19</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pr2_arm_kinematics::PR2ArmKinematicsPlugin</name>
    <filename>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</filename>
    <base>kinematics::KinematicsBase</base>
    <member kind="function">
      <type>std::string</type>
      <name>getBaseFrame</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a9da1e50509e37544e05b05861b547150</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; std::string &gt;</type>
      <name>getJointNames</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>ab8ac60204be6c3b9ff03acbfef86698b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; std::string &gt;</type>
      <name>getLinkNames</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a9a88f3095458579294058ca2113d58ec</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getPositionFK</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a9b22b88ada311756ec77217a79529d4f</anchor>
      <arglist>(const std::vector&lt; std::string &gt; &amp;link_names, const std::vector&lt; double &gt; &amp;joint_angles, std::vector&lt; geometry_msgs::Pose &gt; &amp;poses)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getPositionIK</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>ab8af1d2a3dc34f8af97f0b1c108fc316</anchor>
      <arglist>(const geometry_msgs::Pose &amp;ik_pose, const std::vector&lt; double &gt; &amp;ik_seed_state, std::vector&lt; double &gt; &amp;solution, int &amp;error_code)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>getToolFrame</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>af0194264a6800a1455a09ebbfb7c244a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>initialize</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a326dbb77a36bd6e4be37c61657a1d5e3</anchor>
      <arglist>(std::string name)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isActive</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a0d1e72ffd42c9c4e58d889729139f28f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PR2ArmKinematicsPlugin</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a4dbb7d42b44e96a6b72abca7f7ab6522</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>searchPositionIK</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a57900ae2046b05b428109fc85e1f9542</anchor>
      <arglist>(const geometry_msgs::Pose &amp;ik_pose, const std::vector&lt; double &gt; &amp;ik_seed_state, const double &amp;timeout, std::vector&lt; double &gt; &amp;solution, const boost::function&lt; void(const geometry_msgs::Pose &amp;ik_pose, const std::vector&lt; double &gt; &amp;ik_solution, int &amp;error_code)&gt; &amp;desired_pose_callback, const boost::function&lt; void(const geometry_msgs::Pose &amp;ik_pose, const std::vector&lt; double &gt; &amp;ik_solution, int &amp;error_code)&gt; &amp;solution_callback, int &amp;error_code)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>searchPositionIK</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a1732b32f50f3d7d8bf215f8a5609c939</anchor>
      <arglist>(const geometry_msgs::Pose &amp;ik_pose, const std::vector&lt; double &gt; &amp;ik_seed_state, const double &amp;timeout, std::vector&lt; double &gt; &amp;solution, int &amp;error_code)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>desiredPoseCallback</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>ae28bf67c18178af2e25c2b26c470abcb</anchor>
      <arglist>(const KDL::JntArray &amp;jnt_array, const KDL::Frame &amp;ik_pose, arm_navigation_msgs::ArmNavigationErrorCodes &amp;error_code)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>jointSolutionCallback</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a502146266a087cdb9b25d19d8ece8031</anchor>
      <arglist>(const KDL::JntArray &amp;jnt_array, const KDL::Frame &amp;ik_pose, arm_navigation_msgs::ArmNavigationErrorCodes &amp;error_code)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>active_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>ac081925846586dc305ea0dc7fa28da16</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::function&lt; void(const geometry_msgs::Pose &amp;ik_pose, const std::vector&lt; double &gt; &amp;ik_solution, int &amp;error_code)&gt;</type>
      <name>desiredPoseCallback_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a8dd21d7fc083423408379ab41cd7d640</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>dimension_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>aa054dd5f9443226d1fc62f96a9dd3d49</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::ServiceServer</type>
      <name>fk_service_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>adc5f86f9c07f7bbd7a1b45bbc911c78b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>kinematics_msgs::KinematicSolverInfo</type>
      <name>fk_solver_info_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>ad342de3d9611b7490d33e48c0144b0c7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::ServiceServer</type>
      <name>fk_solver_info_service_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a5a5b3d17c5cbe70494a8b3dbd1d58247</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>free_angle_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a233c9a0ec726ad1edb1a267e93b21a98</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::ServiceServer</type>
      <name>ik_service_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a8626745fb598126bc819e8244611bcbb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>kinematics_msgs::KinematicSolverInfo</type>
      <name>ik_solver_info_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a06499cf868972bbe0ee6316de0f1fbe0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::ServiceServer</type>
      <name>ik_solver_info_service_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>ac9d10903a4f6090a5c68f5e8c1fa1e88</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::shared_ptr&lt; KDL::ChainFkSolverPos_recursive &gt;</type>
      <name>jnt_to_pose_solver_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>ae3f9540ff6ae88f4fd034dec75290a54</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::Chain</type>
      <name>kdl_chain_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a73def7478be064206733e68603f7a0aa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>node_handle_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a063486ea80c79f000ac341b187f91f75</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::shared_ptr&lt; pr2_arm_kinematics::PR2ArmIKSolver &gt;</type>
      <name>pr2_arm_ik_solver_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a31b88dfb6cf83879e71ba9f181c46b8b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>urdf::Model</type>
      <name>robot_model_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a52e1964427a060b9b4e8ed172451630c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>root_handle_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a0b9efd19468a2ef3d06f057f3d8550a2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>root_name_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>aa72063af5aa616cef6229130008006d0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>search_discretization_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>a08b4afef786e223a67deeac48386522b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::function&lt; void(const geometry_msgs::Pose &amp;ik_pose, const std::vector&lt; double &gt; &amp;ik_solution, int &amp;error_code)&gt;</type>
      <name>solutionCallback_</name>
      <anchorfile>classpr2__arm__kinematics_1_1PR2ArmKinematicsPlugin.html</anchorfile>
      <anchor>ae8d23ee92cb8702f53fe2f9b4faf49c8</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
