<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>dual_quaternion.h</name>
    <path>/tmp/ws/src/trac_ik/trac_ik_lib/include/trac_ik/</path>
    <filename>dual__quaternion_8h.html</filename>
    <includes id="math3d_8h" name="math3d.h" local="yes" imported="no">math3d.h</includes>
    <class kind="struct">dual_quaternion</class>
    <member kind="function">
      <type>double</type>
      <name>dot</name>
      <anchorfile>dual__quaternion_8h.html</anchorfile>
      <anchor>a96bb2bef9c83b3728eb71fcc13036f10</anchor>
      <arglist>(const dual_quaternion &amp;a, const dual_quaternion &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>dual_quaternion</type>
      <name>exp</name>
      <anchorfile>dual__quaternion_8h.html</anchorfile>
      <anchor>a009dae60ba591f268b63605907bb04c8</anchor>
      <arglist>(dual_quaternion a)</arglist>
    </member>
    <member kind="function">
      <type>dual_quaternion</type>
      <name>log</name>
      <anchorfile>dual__quaternion_8h.html</anchorfile>
      <anchor>a1d5f8768ffa9cf58933952bf3a31f330</anchor>
      <arglist>(dual_quaternion a)</arglist>
    </member>
    <member kind="function">
      <type>dual_quaternion</type>
      <name>operator!</name>
      <anchorfile>dual__quaternion_8h.html</anchorfile>
      <anchor>aeefdcb1ede5f76c8907e7b649d01043c</anchor>
      <arglist>(const dual_quaternion &amp;a)</arglist>
    </member>
    <member kind="function">
      <type>dual_quaternion</type>
      <name>operator*</name>
      <anchorfile>dual__quaternion_8h.html</anchorfile>
      <anchor>a1ef585b5174cf9d7541fb042ee4d8476</anchor>
      <arglist>(const dual_quaternion &amp;a, const dual_quaternion &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>dual__quaternion_8h.html</anchorfile>
      <anchor>a641d392e8a26d15fdda082e06ce0330d</anchor>
      <arglist>(std::ostream &amp;out, const dual_quaternion &amp;dq)</arglist>
    </member>
    <member kind="function">
      <type>dual_quaternion</type>
      <name>operator~</name>
      <anchorfile>dual__quaternion_8h.html</anchorfile>
      <anchor>aaff8a942c5ee18a007e1ef5d220acea5</anchor>
      <arglist>(const dual_quaternion &amp;a)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>set_dual_quaternion_matrix</name>
      <anchorfile>dual__quaternion_8h.html</anchorfile>
      <anchor>a76a6d253a4599c3159727f7e080bce36</anchor>
      <arglist>(matrix&lt; double &gt; &amp;M, const dual_quaternion &amp;dq, int i=0, int j=0, double w=1.0)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>set_quaternion_matrix</name>
      <anchorfile>dual__quaternion_8h.html</anchorfile>
      <anchor>a8cd104f55138900f037b0fa398406ebf</anchor>
      <arglist>(matrix&lt; double &gt; &amp;M, const quaternion&lt; double &gt; &amp;q, int i=0, int j=0, double w=1.0)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>sign</name>
      <anchorfile>dual__quaternion_8h.html</anchorfile>
      <anchor>a213b31aea44a61fd7773dd1ff8665fc4</anchor>
      <arglist>(T v)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>kdl_tl.cpp</name>
    <path>/tmp/ws/src/trac_ik/trac_ik_lib/src/</path>
    <filename>kdl__tl_8cpp.html</filename>
    <includes id="kdl__tl_8hpp" name="kdl_tl.hpp" local="no" imported="no">trac_ik/kdl_tl.hpp</includes>
    <namespace>KDL</namespace>
  </compound>
  <compound kind="file">
    <name>kdl_tl.hpp</name>
    <path>/tmp/ws/src/trac_ik/trac_ik_lib/include/trac_ik/</path>
    <filename>kdl__tl_8hpp.html</filename>
    <class kind="class">KDL::ChainIkSolverPos_TL</class>
    <namespace>KDL</namespace>
    <namespace>TRAC_IK</namespace>
    <member kind="enumeration">
      <type></type>
      <name>BasicJointType</name>
      <anchorfile>namespaceKDL.html</anchorfile>
      <anchor>ae1962cb9cb6cad0627e1827071e3ff20</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>RotJoint</name>
      <anchorfile>namespaceKDL.html</anchorfile>
      <anchor>ae1962cb9cb6cad0627e1827071e3ff20af6f97a1a275e5a5cdb83c760c5aab940</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>TransJoint</name>
      <anchorfile>namespaceKDL.html</anchorfile>
      <anchor>ae1962cb9cb6cad0627e1827071e3ff20a276798ee46116c2852de51c17e0ec168</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>Continuous</name>
      <anchorfile>namespaceKDL.html</anchorfile>
      <anchor>ae1962cb9cb6cad0627e1827071e3ff20a76c70fc07fc202b9595c67c737a51b58</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>IMETHOD Twist</type>
      <name>diffRelative</name>
      <anchorfile>namespaceKDL.html</anchorfile>
      <anchor>a909c50341bd06b4a13fd9c91f618b44b</anchor>
      <arglist>(const Frame &amp;F_a_b1, const Frame &amp;F_a_b2, double dt=1)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>math3d.h</name>
    <path>/tmp/ws/src/trac_ik/trac_ik_lib/include/trac_ik/</path>
    <filename>math3d_8h.html</filename>
    <class kind="struct">math3d::color_rgb24</class>
    <class kind="class">math3d::invalid_vector</class>
    <class kind="class">math3d::matrix</class>
    <class kind="struct">math3d::matrix3x3</class>
    <class kind="class">math3d::oriented_point3d</class>
    <class kind="struct">math3d::quaternion</class>
    <class kind="struct">math3d::triangle</class>
    <class kind="struct">math3d::vec3d</class>
    <namespace>math3d</namespace>
    <member kind="define">
      <type>#define</type>
      <name>M_PI</name>
      <anchorfile>math3d_8h.html</anchorfile>
      <anchor>ae71449b1cc6e6250b91f539153a7a0d3</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>vec3d&lt; double &gt;</type>
      <name>normal3d</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a3f6f3986347e93c0d2431d5812ded814</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>vec3d&lt; double &gt;</type>
      <name>point3d</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>ac16b44a3f36c0f61a54c5f97a7c98c86</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::pair&lt; matrix3x3&lt; double &gt;, point3d &gt;</type>
      <name>rigid_motion_t</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a2a1ca474e454713bbffebd378dd4e86a</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>unsigned int</type>
      <name>uint32_t</name>
      <anchorfile>math3d_8h.html</anchorfile>
      <anchor>a435d1572bf3f880d55459d9805097f62</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>unsigned char</type>
      <name>uint8_t</name>
      <anchorfile>math3d_8h.html</anchorfile>
      <anchor>aba7bc1797add20fe3efdf37ced1182c5</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>almost_zero</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a6044b1be5a6dc8596fb09d80353119f8</anchor>
      <arglist>(T a, double e)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>conjugate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a0bcb3156a3df0ac31a405c62a142c161</anchor>
      <arglist>(quaternion&lt; T &gt; &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>cross_product</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>af819434f5430e6cdb7274aba561726a8</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;v1, const vec3d&lt; T &gt; &amp;v2)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>dist</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a34156307d61c636ea500c51cdd6678f2</anchor>
      <arglist>(const T &amp;p1, const T &amp;p2)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>dot</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a977e5fd6f0f340a95bd70d300fe41201</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;a, const quaternion&lt; T &gt; &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>dot_product</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a639981f8728f401b5bbceb39bf372a12</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;p, const quaternion&lt; T &gt; &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>dot_product</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>ac349d8ff1091579210f0869fa92ee783</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;v1, const vec3d&lt; S &gt; &amp;v2)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>dot_product</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>abc6e60b3c52ef34e426d2035ba133765</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;v1, const vec3d&lt; T &gt; &amp;v2)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>get_normalize</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a9bcc8340bc2b3e0c6943756846a88f9b</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>get_rotate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>aafd75d6a9deabf0d59c5b9a3a88d95db</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p, const matrix3x3&lt; T &gt; &amp;rot)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>get_rotate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a97329e36b3f1795b39464cddfb649972</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;v, const quaternion&lt; T &gt; &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>get_rotate_translate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a8a7e66fa0958c3eb02c6fa3db9575ea6</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p, const matrix3x3&lt; T &gt; &amp;rot, const point3d &amp;t)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>get_rotate_translate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>af768a196f9e52a080af4ead00a49eb71</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p, const matrix&lt; T &gt; &amp;rot, const point3d &amp;t)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>get_rotate_translate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>aff6eee3d95165f30bc9fe71ab7c8e734</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p, const T *rot, const T *t)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>get_rotate_translate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a1c6a35ac1e0007a6412eea5c1e69c10d</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;v, const quaternion&lt; T &gt; &amp;rot, const point3d &amp;t)</arglist>
    </member>
    <member kind="function">
      <type>matrix3x3&lt; T &gt;</type>
      <name>get_transpose</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a7c969af14b05c0b77f2810124054b979</anchor>
      <arglist>(const matrix3x3&lt; T &gt; &amp;m)</arglist>
    </member>
    <member kind="function">
      <type>matrix3x3&lt; T &gt;</type>
      <name>identity3x3</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>ab33464abf2c62055e191055df961ba3c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>invert</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a4b73a8c08dcbb3cc875996a815cef551</anchor>
      <arglist>(R &amp;r, T &amp;t)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>magnitude</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a6149f30261c16dab99f52c8496718f44</anchor>
      <arglist>(const T &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>median</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a7a6d413c3fd8a41c1af00cdd9a710ae7</anchor>
      <arglist>(Iterator start, Iterator end)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mult_matrix</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a5cdd916e948d33f0e7970c6230738d1e</anchor>
      <arglist>(const matrix3x3&lt; T &gt; &amp;m1, const matrix3x3&lt; T &gt; &amp;m2, matrix3x3&lt; T &gt; &amp;r)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mult_matrix</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>adc320801a7f208ff64f68ebbcdfa07fe</anchor>
      <arglist>(const Rot1 &amp;m1, const Rot2 &amp;m2, Rot3 &amp;r)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mult_matrix_inplace</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a389a9726ee3b4a8aa669b27532486cd9</anchor>
      <arglist>(const matrix3x3&lt; T &gt; &amp;m1, const matrix3x3&lt; T &gt; &amp;m2, matrix3x3&lt; T &gt; &amp;r)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mult_quaternion</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>ad630187b9430df515e76dd9f5af2902e</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;a, const quaternion&lt; T &gt; &amp;b, quaternion&lt; T &gt; &amp;r)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>norm</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a4bec8e5bb1312b5a2f12ac50541c4e5e</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;a)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>norm2</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a954432307872ae46e637a30dbcf4c014</anchor>
      <arglist>(const T &amp;v)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>normalize</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a5114f59f0561f3d80c4542fb0c3b8d69</anchor>
      <arglist>(quaternion&lt; T &gt; &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>normalize</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a7a93e24bcac87fe99f526bf0c77d1739</anchor>
      <arglist>(vec3d&lt; T &gt; &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>quaternion&lt; T &gt;</type>
      <name>operator*</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a95813fdac8a5367ad196e4cfda97624a</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;a, const quaternion&lt; T &gt; &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>quaternion&lt; T &gt;</type>
      <name>operator+</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a135f3dc74626c2d58d1d56fac5b23ed1</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;a, const quaternion&lt; T &gt; &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>quaternion&lt; T &gt;</type>
      <name>operator~</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>ac344a97ce3e073d7babc2e49959bbe61</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;a)</arglist>
    </member>
    <member kind="function">
      <type>matrix3x3&lt; T &gt;</type>
      <name>quaternion_to_rot_matrix</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>af12cd151bb50be9ce88ef6469bc5bfb5</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>relative_motion</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>af12acf9586f48881698ac63e0fb08454</anchor>
      <arglist>(const matrix3x3&lt; T &gt; &amp;Ri, const point3d &amp;Ti, const matrix3x3&lt; T &gt; &amp;Rj, const point3d &amp;Tj, matrix3x3&lt; T &gt; &amp;Rij, point3d &amp;Tij)</arglist>
    </member>
    <member kind="function">
      <type>quaternion&lt; T &gt;</type>
      <name>rot_matrix_to_quaternion</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a001df62974d8314b513a46f591df8445</anchor>
      <arglist>(const matrix3x3&lt; T &gt; &amp;m)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a136e40d9439d02fe5766d386deb94859</anchor>
      <arglist>(vec3d&lt; T &gt; &amp;p, const matrix3x3&lt; S &gt; &amp;rot)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a8061261dfbe6807e91bf0f0b83c73761</anchor>
      <arglist>(vec3d&lt; T &gt; &amp;p, const matrix3x3&lt; T &gt; &amp;rot)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a7912e450c77cd86925aeb895966eacb7</anchor>
      <arglist>(vec3d&lt; T &gt; &amp;p, const matrix&lt; S &gt; &amp;rot)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a3e8782ea8742c05bea04b1d10848bdbc</anchor>
      <arglist>(vec3d&lt; T &gt; &amp;p, const matrix&lt; T &gt; &amp;rot)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>aed1589940ab8397bb56e4de9a011c834</anchor>
      <arglist>(vec3d&lt; T &gt; &amp;p, const quaternion&lt; T &gt; &amp;rot)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotate_translate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a2e273ced84ce3ab79fb316717b00c0e2</anchor>
      <arglist>(vec3d&lt; T &gt; &amp;v, const RotationType &amp;rot, const point3d &amp;trans)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>set_identity</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a3cde300ae9781a9eb3557393ab055dee</anchor>
      <arglist>(matrix3x3&lt; T &gt; &amp;m, T val=1)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>set_identity</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a05cbbe32c06121ef98ab195de35ee98b</anchor>
      <arglist>(matrix&lt; T &gt; &amp;m, T val=1)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>set_identity</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a1a43556607165955ee62c9786e6c822d</anchor>
      <arglist>(quaternion&lt; T &gt; &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>squared_dist</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>af4fa74d780ab9d8c387044159944c8d5</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p1, const vec3d&lt; T &gt; &amp;p2)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transpose</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a6cf66edb00aa93d337f8b77a0b81f397</anchor>
      <arglist>(const matrix3x3&lt; T &gt; &amp;src, matrix3x3&lt; T &gt; &amp;dest)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transpose</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a50d87711392ff38821bb1867f8459d29</anchor>
      <arglist>(const matrix&lt; T &gt; &amp;src, matrix&lt; T &gt; &amp;dest)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transpose</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a3d4b472c1eeda86f4a1e6c23ac67afae</anchor>
      <arglist>(matrix3x3&lt; T &gt; &amp;m)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transpose</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a13aafc19fac89ac73b5ce1a1d63ed613</anchor>
      <arglist>(matrix&lt; T &gt; &amp;m)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>deg_on_rad</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a8f3db0db20a3556fa2ec98ef8a775ab6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>pi</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>ae87c968fca69098c3f611f4819924fe8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>rad_on_deg</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a57a228035796970447a54f94759aeaec</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>nlopt_ik.cpp</name>
    <path>/tmp/ws/src/trac_ik/trac_ik_lib/src/</path>
    <filename>nlopt__ik_8cpp.html</filename>
    <includes id="nlopt__ik_8hpp" name="nlopt_ik.hpp" local="no" imported="no">trac_ik/nlopt_ik.hpp</includes>
    <includes id="dual__quaternion_8h" name="dual_quaternion.h" local="no" imported="no">trac_ik/dual_quaternion.h</includes>
    <namespace>NLOPT_IK</namespace>
    <member kind="function">
      <type>void</type>
      <name>constrainfuncm</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a48c1a6da9465a095574d5f56d97f9ea9</anchor>
      <arglist>(uint m, double *result, uint n, const double *x, double *grad, void *data)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>minfunc</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a8ae7fcc8897fd4b2c2df8f0a28981adb</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;x, std::vector&lt; double &gt; &amp;grad, void *data)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>minfuncDQ</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a0b7f0d20bbce67ad832d89edda3f6600</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;x, std::vector&lt; double &gt; &amp;grad, void *data)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>minfuncL2</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>ad06855e1d11df63fa17566c2c8a8349d</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;x, std::vector&lt; double &gt; &amp;grad, void *data)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>minfuncSumSquared</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a13785f6e1ca2aedaa6c31596a1eebd5b</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;x, std::vector&lt; double &gt; &amp;grad, void *data)</arglist>
    </member>
    <member kind="variable">
      <type>dual_quaternion</type>
      <name>targetDQ</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a7a47e862bf31c8935280e2ed21d2d740</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>nlopt_ik.hpp</name>
    <path>/tmp/ws/src/trac_ik/trac_ik_lib/include/trac_ik/</path>
    <filename>nlopt__ik_8hpp.html</filename>
    <includes id="kdl__tl_8hpp" name="kdl_tl.hpp" local="no" imported="no">trac_ik/kdl_tl.hpp</includes>
    <class kind="class">NLOPT_IK::NLOPT_IK</class>
    <namespace>NLOPT_IK</namespace>
    <member kind="enumeration">
      <type></type>
      <name>OptType</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a188014d03229b2e33ba303dc7902b38a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>Joint</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a188014d03229b2e33ba303dc7902b38aa80e4314dedf79ab11f959c4384b99a0f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DualQuat</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a188014d03229b2e33ba303dc7902b38aadecb9959999c6059fa6d1e888c451a09</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>SumSq</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a188014d03229b2e33ba303dc7902b38aa25fb880607b8fb66d9aef7f18187f19f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>L2</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a188014d03229b2e33ba303dc7902b38aa15ad82463f8076d5959ed714e5f36317</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>trac_ik.cpp</name>
    <path>/tmp/ws/src/trac_ik/trac_ik_lib/src/</path>
    <filename>trac__ik_8cpp.html</filename>
    <includes id="trac__ik_8hpp" name="trac_ik.hpp" local="no" imported="no">trac_ik/trac_ik.hpp</includes>
    <namespace>TRAC_IK</namespace>
    <member kind="function">
      <type>void</type>
      <name>normalizeAngle</name>
      <anchorfile>namespaceTRAC__IK.html</anchorfile>
      <anchor>a63957187d69471f9b0922ab6f6e481b4</anchor>
      <arglist>(double &amp;val, const double &amp;min, const double &amp;max)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>normalizeAngle</name>
      <anchorfile>namespaceTRAC__IK.html</anchorfile>
      <anchor>aaa556cea26caee6ea1cb4f27ff0bcdd5</anchor>
      <arglist>(double &amp;val, const double &amp;target)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>trac_ik.hpp</name>
    <path>/tmp/ws/src/trac_ik/trac_ik_lib/include/trac_ik/</path>
    <filename>trac__ik_8hpp.html</filename>
    <includes id="nlopt__ik_8hpp" name="nlopt_ik.hpp" local="no" imported="no">trac_ik/nlopt_ik.hpp</includes>
    <class kind="class">TRAC_IK::TRAC_IK</class>
    <namespace>TRAC_IK</namespace>
    <member kind="enumeration">
      <type></type>
      <name>SolveType</name>
      <anchorfile>namespaceTRAC__IK.html</anchorfile>
      <anchor>af718f8dd8173681cb3d85876fb5d2f91</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>Speed</name>
      <anchorfile>namespaceTRAC__IK.html</anchorfile>
      <anchor>af718f8dd8173681cb3d85876fb5d2f91a23fe834c5869bd2c3491272418638b99</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>Distance</name>
      <anchorfile>namespaceTRAC__IK.html</anchorfile>
      <anchor>af718f8dd8173681cb3d85876fb5d2f91aaaac012235eb2eb6637072b36b7c99e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>Manip1</name>
      <anchorfile>namespaceTRAC__IK.html</anchorfile>
      <anchor>af718f8dd8173681cb3d85876fb5d2f91a5cbfabe019d09b1af51bb33be915fae6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>Manip2</name>
      <anchorfile>namespaceTRAC__IK.html</anchorfile>
      <anchor>af718f8dd8173681cb3d85876fb5d2f91a41e2a60888b4c53ac140a9278185f58b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>KDL::ChainIkSolverPos_TL</name>
    <filename>classKDL_1_1ChainIkSolverPos__TL.html</filename>
    <member kind="function">
      <type>int</type>
      <name>CartToJnt</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>acb915f9097e22bd033f76de41d39426c</anchor>
      <arglist>(const KDL::JntArray &amp;q_init, const KDL::Frame &amp;p_in, KDL::JntArray &amp;q_out, const KDL::Twist bounds=KDL::Twist::Zero())</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ChainIkSolverPos_TL</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a53a69d064e9b0e07662a343b5e9f80dd</anchor>
      <arglist>(const Chain &amp;chain, const JntArray &amp;q_min, const JntArray &amp;q_max, double maxtime=0.005, double eps=1e-3, bool random_restart=false, bool try_jl_wrap=false)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setMaxtime</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a5b6c07e49a5fa0261c29a1805b8d6f63</anchor>
      <arglist>(double t)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~ChainIkSolverPos_TL</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a1af237585ffc739b7c6fee700c3ac261</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>abort</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a7b12c2ee452e2fcc91e61b4d818cc9c0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>aee8bd1a1ea9a8e5b9caae1e68a533373</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static double</type>
      <name>fRand</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a92420f0bf65f5a84a80ab359b91e86be</anchor>
      <arglist>(double min, double max)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>aborted</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a6ae461021fa3d2f7a263cd485e8676af</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::Twist</type>
      <name>bounds</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a1eb21592a320349dda71250e8cffe7b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const Chain</type>
      <name>chain</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a8be62d14a53eb95fed86e9d4655e2a3c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>JntArray</type>
      <name>delta_q</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a490de643cbc984a49a8be7cc6fd7bb69</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Twist</type>
      <name>delta_twist</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>ab2d1f73a6578f46100ac32fcf65305c1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>eps</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a936d244d119424651f3ff15121dd7760</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Frame</type>
      <name>f</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a2986b59c4a51a7575ebbe7fa15a73aa0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::ChainFkSolverPos_recursive</type>
      <name>fksolver</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>af0733255b211af2e56574d24ec5a8b6f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>maxtime</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>ad374b83f7087c9b9ba95b5f3581582c5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>JntArray</type>
      <name>q_max</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>ae626dfb26ea3db5fd2cb5461267442e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>JntArray</type>
      <name>q_min</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a3e947ddac03c5eef02f5a2baa54dda7a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>rr</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>aa7501a5904aa301082c18c18fab9b00a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; KDL::BasicJointType &gt;</type>
      <name>types</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a4749bd624f13a48420434170fed10061</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::ChainIkSolverVel_pinv</type>
      <name>vik_solver</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a7f137f3f09a507e886e4c11569143f61</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>wrap</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a87cb474977804ea6216fcf80890cb7f8</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend class</type>
      <name>TRAC_IK::TRAC_IK</name>
      <anchorfile>classKDL_1_1ChainIkSolverPos__TL.html</anchorfile>
      <anchor>a81945572f6a8b9dd1864f6433549689c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>math3d::color_rgb24</name>
    <filename>structmath3d_1_1color__rgb24.html</filename>
    <member kind="function">
      <type></type>
      <name>color_rgb24</name>
      <anchorfile>structmath3d_1_1color__rgb24.html</anchorfile>
      <anchor>a98c61e71b0e296759d62b009cfe46649</anchor>
      <arglist>(uint8_t R, uint8_t G, uint8_t B)</arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>b</name>
      <anchorfile>structmath3d_1_1color__rgb24.html</anchorfile>
      <anchor>a4f4865aadcd647fd6799c61817e8d865</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>g</name>
      <anchorfile>structmath3d_1_1color__rgb24.html</anchorfile>
      <anchor>a1ccc0a7eb966af426106962f44a46591</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>r</name>
      <anchorfile>structmath3d_1_1color__rgb24.html</anchorfile>
      <anchor>adf9c15dc5dfe4e70c37aa1ecc9e1d41a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>dual_quaternion</name>
    <filename>structdual__quaternion.html</filename>
    <member kind="function">
      <type></type>
      <name>dual_quaternion</name>
      <anchorfile>structdual__quaternion.html</anchorfile>
      <anchor>ac62c1be24e57fa9eaf9242edea0371f2</anchor>
      <arglist>(double v=1.0)</arglist>
    </member>
    <member kind="function">
      <type>dual_quaternion &amp;</type>
      <name>exp</name>
      <anchorfile>structdual__quaternion.html</anchorfile>
      <anchor>a83780cfafc1150b5d30fa67b089a156f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>point3d</type>
      <name>get_translation</name>
      <anchorfile>structdual__quaternion.html</anchorfile>
      <anchor>ace1f35fd21a5b4b557edf729bd984c4f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>dual_quaternion &amp;</type>
      <name>log</name>
      <anchorfile>structdual__quaternion.html</anchorfile>
      <anchor>a482799a3bd78cb3b073563bcbac0d670</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>dual_quaternion &amp;</type>
      <name>normalize</name>
      <anchorfile>structdual__quaternion.html</anchorfile>
      <anchor>a768afa2d1144c79a3a7bcf17b8cbc859</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>dual_quaternion &amp;</type>
      <name>operator*=</name>
      <anchorfile>structdual__quaternion.html</anchorfile>
      <anchor>a607d62d4c6f9baa87d3d851c5378b70d</anchor>
      <arglist>(double a)</arglist>
    </member>
    <member kind="function">
      <type>dual_quaternion &amp;</type>
      <name>operator+=</name>
      <anchorfile>structdual__quaternion.html</anchorfile>
      <anchor>a549dc195cf2516efe1b68ab5384eb027</anchor>
      <arglist>(const dual_quaternion &amp;a)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>to_vector</name>
      <anchorfile>structdual__quaternion.html</anchorfile>
      <anchor>a5cae9b20969ab83acabed710320076f4</anchor>
      <arglist>(double *p)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static dual_quaternion</type>
      <name>convert</name>
      <anchorfile>structdual__quaternion.html</anchorfile>
      <anchor>aa12a1862743d459a08864924972a4139</anchor>
      <arglist>(const double *p)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static dual_quaternion</type>
      <name>rigid_transformation</name>
      <anchorfile>structdual__quaternion.html</anchorfile>
      <anchor>a5fba0f36b01709546950a47749d40eb6</anchor>
      <arglist>(const quaternion&lt; double &gt; &amp;r, const point3d &amp;t)</arglist>
    </member>
    <member kind="variable">
      <type>quaternion&lt; double &gt;</type>
      <name>R</name>
      <anchorfile>structdual__quaternion.html</anchorfile>
      <anchor>ad1d98ac3a9cdf7f4185195b164de6660</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>quaternion&lt; double &gt;</type>
      <name>tR_2</name>
      <anchorfile>structdual__quaternion.html</anchorfile>
      <anchor>a2a67ab7931cf6f02759e530198686ca9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>dq_epsilon</name>
      <anchorfile>structdual__quaternion.html</anchorfile>
      <anchor>ae41ad8c90f3663ca2d119e6c42060a3d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>math3d::invalid_vector</name>
    <filename>classmath3d_1_1invalid__vector.html</filename>
    <member kind="function">
      <type></type>
      <name>invalid_vector</name>
      <anchorfile>classmath3d_1_1invalid__vector.html</anchorfile>
      <anchor>a9bf9a0cf4b8100f225f2ee11d6abc02a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>invalid_vector</name>
      <anchorfile>classmath3d_1_1invalid__vector.html</anchorfile>
      <anchor>aa3d7e208a0831f31fe34173a9200c51c</anchor>
      <arglist>(const std::string &amp;msg)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>math3d::matrix</name>
    <filename>classmath3d_1_1matrix.html</filename>
    <templarg></templarg>
    <member kind="typedef">
      <type>super::const_iterator</type>
      <name>const_iterator</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a7c01844815b6f9155f80ef80e8c1e122</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>super::iterator</type>
      <name>iterator</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a35a6c10b4922047e7965413bbe8f5dfb</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>super::reference</type>
      <name>at</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a645364baf04f21c563b895fbcfee1434</anchor>
      <arglist>(const size_t r, const size_t c)</arglist>
    </member>
    <member kind="function">
      <type>super::const_reference</type>
      <name>at</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a19946e5e6248d0d81d1a9a963726b89b</anchor>
      <arglist>(size_t r, size_t c) const</arglist>
    </member>
    <member kind="function">
      <type>iterator</type>
      <name>begin</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a77723a38cb4d3d3c72b17408baa9b47a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>const_iterator</type>
      <name>begin</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a5a09216ce98926ca11a5ad12a15bf470</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>iterator</type>
      <name>end</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>aabb29aaccf4c0b16e908f305b209b6f0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>const_iterator</type>
      <name>end</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>aeda4c3ab97ef70a379e4e6b2fbde25e2</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>matrix</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a397551d5db05035aa340af6e785dd5e6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>matrix</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>af21315b87d22fd38a97754fec9930804</anchor>
      <arglist>(const matrix&lt; T &gt; &amp;m)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>matrix</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a485a360ddac670925cf35f59607aceec</anchor>
      <arglist>(int w, int h)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>matrix</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a76c18cee63a4be66605d325885b98d0c</anchor>
      <arglist>(int w, int h, const T &amp;v)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator!=</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>af06c325b74a58be86e85bcc3aa8383b2</anchor>
      <arglist>(const matrix&lt; T &gt; &amp;m) const</arglist>
    </member>
    <member kind="function">
      <type>super::reference</type>
      <name>operator()</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a9dcb53e06bf4744013c6bebd33bbbd25</anchor>
      <arglist>(size_t r, size_t c)</arglist>
    </member>
    <member kind="function">
      <type>super::const_reference</type>
      <name>operator()</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a9196b8a9d7e39e15e4e67904894a90e8</anchor>
      <arglist>(size_t r, size_t c) const</arglist>
    </member>
    <member kind="function">
      <type>matrix&lt; T &gt; &amp;</type>
      <name>operator*=</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a2df8ab5516ca15f6959bb570a7bd3403</anchor>
      <arglist>(const S &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>matrix&lt; T &gt; &amp;</type>
      <name>operator/=</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>ad1e98ba8c12cf50a4dad71d7894a8e99</anchor>
      <arglist>(const S &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>matrix &amp;</type>
      <name>operator=</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a8c7152a3e197c84727fa165ba27133c4</anchor>
      <arglist>(const matrix&lt; T &gt; &amp;m)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a17deba6a7567a4b6788ad7096ffb33a2</anchor>
      <arglist>(const matrix&lt; T &gt; &amp;m) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resize</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>ad96d503391e553b25fd16af6b2d42b69</anchor>
      <arglist>(int w, int h)</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>size</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a4087bbea83f955ef0b8ccd6e239b1de9</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>T *</type>
      <name>to_ptr</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>abb550aad56b9509edb88193f3e4cb07c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>const T *</type>
      <name>to_ptr</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a31e1a029da60741732062b0ea7842575</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="variable">
      <type>const int &amp;</type>
      <name>height</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a4fb52bc202653062c85f81f80ec8d390</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int &amp;</type>
      <name>width</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a643b9be5bd5f1edb02a552e2c3bf072e</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>std::vector&lt; T &gt;</type>
      <name>super</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>acd85263742e39cf77a7757810f400cba</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>height_</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a1b866043a8ecae4227510f8f329bdbea</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>width_</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a14b591143209b17fde2bb9cd41089891</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>classmath3d_1_1matrix.html</anchorfile>
      <anchor>a9970d6bd4e9147f83a89f77c35fd8fc6</anchor>
      <arglist>(std::ostream &amp;s, const matrix&lt; T &gt; &amp;m)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>math3d::matrix3x3</name>
    <filename>structmath3d_1_1matrix3x3.html</filename>
    <templarg></templarg>
    <member kind="function">
      <type></type>
      <name>matrix3x3</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>ac1080faf4e6446189f410dab2893b800</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>matrix3x3</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>ac1fb0ad557c9832b9030a750e9f4f1c2</anchor>
      <arglist>(const S *v)</arglist>
    </member>
    <member kind="function">
      <type>T &amp;</type>
      <name>operator()</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>a69c918004fa5ad6d2638864b52afc4e4</anchor>
      <arglist>(size_t row, size_t col)</arglist>
    </member>
    <member kind="function">
      <type>const T &amp;</type>
      <name>operator()</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>afdbf01e9fe23f24a2d17a522c2103ae5</anchor>
      <arglist>(size_t row, size_t col) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>set_column</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>a643494c19abf98c49ac97a6724861ae6</anchor>
      <arglist>(size_t c, const vec3d&lt; T &gt; &amp;v)</arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>height</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>a061b6cd8e64cdfbe2da53109c5a2228d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>r00</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>a7f280d0c2ad39574fd6dd13506461d66</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>r01</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>a7be507c7a931c050ae2164d591521300</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>r02</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>a95e154a7d96cf9629678a451d82ed6d4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>r10</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>a7ba15351bd82371afeb04c1d8e34754d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>r11</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>ad4d1aa86fc2ffe9fd4eb59b77d1ecb68</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>r12</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>ae4cba9e2e7b6767249dd72d15f417ab6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>r20</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>ad553441f0ae9a30d0adf759b9520adad</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>r21</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>afb756a89e378ea25cbd7d7fabac97c70</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>r22</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>ab91dd1376465a017aa7d650bacac6c02</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>width</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>a6bd4dab33ee0c9a3522ba8e0c335ef73</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>structmath3d_1_1matrix3x3.html</anchorfile>
      <anchor>a89cd5fbbe4fceb5214e79228bcd864f9</anchor>
      <arglist>(std::ostream &amp;s, const matrix3x3&lt; T &gt; &amp;m)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>NLOPT_IK::NLOPT_IK</name>
    <filename>classNLOPT__IK_1_1NLOPT__IK.html</filename>
    <member kind="function">
      <type>void</type>
      <name>cartDQError</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>aa5fae7e22eceef1a2334f152d796c6ab</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;x, double error[])</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>cartL2NormError</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a73b6b8160ebbd9edaaf62af7eda1aced</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;x, double error[])</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>cartSumSquaredError</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a2fe48c6b6658b80a4b4d0af5c60e975e</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;x, double error[])</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>CartToJnt</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a2179617f946254ab5005567b80a01296</anchor>
      <arglist>(const KDL::JntArray &amp;q_init, const KDL::Frame &amp;p_in, KDL::JntArray &amp;q_out, const KDL::Twist bounds=KDL::Twist::Zero(), const KDL::JntArray &amp;q_desired=KDL::JntArray())</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>minJoints</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a1c691fe035e434982d7572e7a63b5bde</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;x, std::vector&lt; double &gt; &amp;grad)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NLOPT_IK</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>ac085096093f877e3aa6e48a051c901b4</anchor>
      <arglist>(const KDL::Chain &amp;chain, const KDL::JntArray &amp;q_min, const KDL::JntArray &amp;q_max, double maxtime=0.005, double eps=1e-3, OptType type=SumSq)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setMaxtime</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a7937363d4d3a0215725cb75915ffcdaf</anchor>
      <arglist>(double t)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~NLOPT_IK</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a901d896feb3f10fb927ca9ed3c8036f7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>abort</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>ad628f7dc7461c0b68b1a7b2e7b25fc08</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a99f6079273541e0a549dacd9aba5e024</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static double</type>
      <name>fRand</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>abd91d4161fe56962841feaab7ad6d386</anchor>
      <arglist>(double min, double max)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>aborted</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a12b6ac0d2a2680dc3e4044cfcf977620</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>best_x</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>adbbe67c5a7e11a6b326fe5cb8753f506</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::Twist</type>
      <name>bounds</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a2e69733b948589f425ce5fa632a27145</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const KDL::Chain</type>
      <name>chain</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a16988a8fe9e3cf2fba39e457ed6ce935</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::Frame</type>
      <name>currentPose</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>abfa48523cce742507f6a4b7812cab47a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>des</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a3c6ed891dc5e207604b88c807de5ea23</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>eps</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a1a50ce7e010ce2ee0c53e06d900ea5f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::ChainFkSolverPos_recursive</type>
      <name>fksolver</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a4fd4abb9eb2c17a7de4ad12adb2f1343</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>iter_counter</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>ac51822242bc76611678a02d69956fcb5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>lb</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a6361827b705b1189b8c88866a364d4e8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>maxtime</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a55792a7167e51cd523a0a7506bf1da32</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>nlopt::opt</type>
      <name>opt</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>ace9525e69a40fa0a8c2a05498471bc44</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>progress</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>aa11d0afbc9bf667cd89dafbbe66c5fb0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::Frame</type>
      <name>targetPose</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>ac0e7e68e5629686616c72510e83db5fa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>OptType</type>
      <name>TYPE</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>aab42527969385a826427b546ffeec62b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; KDL::BasicJointType &gt;</type>
      <name>types</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a983a26b6171c7f3d1032917e787f299a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>ub</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a293dcc7ed0913cbecc443279cee5a9c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::Frame</type>
      <name>x_out</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a6fa149ac41b7c63b8a5afbfbf29f9e24</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::Frame</type>
      <name>x_target</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a596db3ae8971bc812618a27516ee763b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::Frame</type>
      <name>y_out</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>ac21d9f8e38fea29231d5dac157aa6a76</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::Frame</type>
      <name>y_target</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a73807af7dd144151114d6707d17495cb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::Frame</type>
      <name>z_target</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>ac38179a467fe0e8361ceb8d8e9a19639</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::Frame</type>
      <name>z_up</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>aa895ec01ba7fc4ba93745d49f64b0e06</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend class</type>
      <name>TRAC_IK::TRAC_IK</name>
      <anchorfile>classNLOPT__IK_1_1NLOPT__IK.html</anchorfile>
      <anchor>a81945572f6a8b9dd1864f6433549689c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>math3d::oriented_point3d</name>
    <filename>classmath3d_1_1oriented__point3d.html</filename>
    <base>math3d::vec3d</base>
    <member kind="function">
      <type></type>
      <name>oriented_point3d</name>
      <anchorfile>classmath3d_1_1oriented__point3d.html</anchorfile>
      <anchor>a7aea86af7de03d0beb95e5ee4ff7c77e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>oriented_point3d</name>
      <anchorfile>classmath3d_1_1oriented__point3d.html</anchorfile>
      <anchor>a0803a56f410adfc86d8842f152996fa6</anchor>
      <arglist>(const oriented_point3d &amp;p)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>oriented_point3d</name>
      <anchorfile>classmath3d_1_1oriented__point3d.html</anchorfile>
      <anchor>ae3ca857974c220976755485aa1ad3072</anchor>
      <arglist>(const point3d &amp;p)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>oriented_point3d</name>
      <anchorfile>classmath3d_1_1oriented__point3d.html</anchorfile>
      <anchor>abe2d1a1236e363834a8e8b63b752e865</anchor>
      <arglist>(const point3d &amp;p, const normal3d &amp;nn)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>oriented_point3d</name>
      <anchorfile>classmath3d_1_1oriented__point3d.html</anchorfile>
      <anchor>a529201e252c911f55eb6353f1979617b</anchor>
      <arglist>(double xx, double yy, double zz)</arglist>
    </member>
    <member kind="variable">
      <type>normal3d</type>
      <name>n</name>
      <anchorfile>classmath3d_1_1oriented__point3d.html</anchorfile>
      <anchor>ace4f95d6b6bca8a96063a22b006ec48f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>math3d::quaternion</name>
    <filename>structmath3d_1_1quaternion.html</filename>
    <templarg></templarg>
    <member kind="function">
      <type>quaternion&lt; T &gt; &amp;</type>
      <name>operator*=</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>ac14a0fc109dea3e9fedab60a61ec5520</anchor>
      <arglist>(T a)</arglist>
    </member>
    <member kind="function">
      <type>quaternion&lt; T &gt; &amp;</type>
      <name>operator+=</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a50529e56a0b88bbc9d8951e1e1728c17</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;a)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>quaternion</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a6211f03d73932fab3ed0921d0368e8ec</anchor>
      <arglist>(T v=0)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>quaternion</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>aef247ee044dfb341179cfd0dae37ac81</anchor>
      <arglist>(T ww, T ii, T jj, T kk)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>to_vector</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>accec8857fe0d682df1209627882c5e86</anchor>
      <arglist>(T *p) const</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static quaternion&lt; T &gt;</type>
      <name>convert</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a2568d5443d6f5362e6252710d12cb006</anchor>
      <arglist>(const T *p)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static quaternion&lt; T &gt;</type>
      <name>convert</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a1d5de4882a0033e79444465d886b4c1e</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p)</arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>i</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a232b6f5a82ffd2cdc779731b86e7cb28</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>j</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>ab2d084766b9edfc2cd179370027ebf9f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>k</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>ad645abbe05d6aaba9b32d983d93a467b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>w</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a6a055ac4743a21b1e79918ab13d252cd</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a9bc3b039311e5571b40ffbdd339bdf22</anchor>
      <arglist>(std::ostream &amp;os, const quaternion&lt; T &gt; &amp;q)</arglist>
    </member>
    <member kind="friend">
      <type>friend std::istream &amp;</type>
      <name>operator&gt;&gt;</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a950b7d40654282e902fe113d9e4932ac</anchor>
      <arglist>(std::istream &amp;is, quaternion&lt; T &gt; &amp;q)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>quaternion&lt; double &gt;</name>
    <filename>structmath3d_1_1quaternion.html</filename>
    <member kind="function">
      <type>quaternion&lt; double &gt; &amp;</type>
      <name>operator*=</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>ac14a0fc109dea3e9fedab60a61ec5520</anchor>
      <arglist>(double a)</arglist>
    </member>
    <member kind="function">
      <type>quaternion&lt; double &gt; &amp;</type>
      <name>operator+=</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a50529e56a0b88bbc9d8951e1e1728c17</anchor>
      <arglist>(const quaternion&lt; double &gt; &amp;a)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>quaternion</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a6211f03d73932fab3ed0921d0368e8ec</anchor>
      <arglist>(double v=0)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>quaternion</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>aef247ee044dfb341179cfd0dae37ac81</anchor>
      <arglist>(double ww, double ii, double jj, double kk)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>to_vector</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>accec8857fe0d682df1209627882c5e86</anchor>
      <arglist>(double *p) const</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static quaternion&lt; double &gt;</type>
      <name>convert</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a2568d5443d6f5362e6252710d12cb006</anchor>
      <arglist>(const double *p)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static quaternion&lt; double &gt;</type>
      <name>convert</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a1d5de4882a0033e79444465d886b4c1e</anchor>
      <arglist>(const vec3d&lt; double &gt; &amp;p)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>i</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a232b6f5a82ffd2cdc779731b86e7cb28</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>j</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>ab2d084766b9edfc2cd179370027ebf9f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>k</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>ad645abbe05d6aaba9b32d983d93a467b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>w</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a6a055ac4743a21b1e79918ab13d252cd</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a9bc3b039311e5571b40ffbdd339bdf22</anchor>
      <arglist>(std::ostream &amp;os, const quaternion&lt; double &gt; &amp;q)</arglist>
    </member>
    <member kind="friend">
      <type>friend std::istream &amp;</type>
      <name>operator&gt;&gt;</name>
      <anchorfile>structmath3d_1_1quaternion.html</anchorfile>
      <anchor>a950b7d40654282e902fe113d9e4932ac</anchor>
      <arglist>(std::istream &amp;is, quaternion&lt; double &gt; &amp;q)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>TRAC_IK::TRAC_IK</name>
    <filename>classTRAC__IK_1_1TRAC__IK.html</filename>
    <member kind="function">
      <type>int</type>
      <name>CartToJnt</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>af093d155f2d79105c6ec62c02cf47e1a</anchor>
      <arglist>(const KDL::JntArray &amp;q_init, const KDL::Frame &amp;p_in, KDL::JntArray &amp;q_out, const KDL::Twist &amp;bounds=KDL::Twist::Zero())</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getKDLChain</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>acf36ae6b9773eed5992648f6d5912599</anchor>
      <arglist>(KDL::Chain &amp;chain_)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getKDLLimits</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>afc911c3ec0270fa2420c208cb5aee2b5</anchor>
      <arglist>(KDL::JntArray &amp;lb_, KDL::JntArray &amp;ub_)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getSolutions</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>aab8afe8d42e3dfbcf7632cd9e28e75e0</anchor>
      <arglist>(std::vector&lt; KDL::JntArray &gt; &amp;solutions_)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getSolutions</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>afdfad6e949566a8ada113dd8bb3efc13</anchor>
      <arglist>(std::vector&lt; KDL::JntArray &gt; &amp;solutions_, std::vector&lt; std::pair&lt; double, uint &gt; &gt; &amp;errors_)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>setKDLLimits</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a6256c70ae947482ea594a0bd76249cd5</anchor>
      <arglist>(KDL::JntArray &amp;lb_, KDL::JntArray &amp;ub_)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>SetSolveType</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a32120c7560aadc3171dc290a640737fa</anchor>
      <arglist>(SolveType _type)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TRAC_IK</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a65aa7452b9056ef45cdc1b4180620823</anchor>
      <arglist>(const KDL::Chain &amp;_chain, const KDL::JntArray &amp;_q_min, const KDL::JntArray &amp;_q_max, double _maxtime=0.005, double _eps=1e-5, SolveType _type=Speed)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TRAC_IK</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a18ca0ea66603bc72118cbef14969cca1</anchor>
      <arglist>(const std::string &amp;base_link, const std::string &amp;tip_link, const std::string &amp;URDF_param=&quot;/robot_description&quot;, double _maxtime=0.005, double _eps=1e-5, SolveType _type=Speed)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~TRAC_IK</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a31e642b69a1d44550f8d1d994be57ea8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>JointErr</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a13c5d0206917db768becab25c33f44af</anchor>
      <arglist>(const KDL::JntArray &amp;arr1, const KDL::JntArray &amp;arr2)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>initialize</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>ab72d2d56d2ff4e63c3b5f105043bb302</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>manipPenalty</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>abe2d44c14074c55fa14720a588ce4576</anchor>
      <arglist>(const KDL::JntArray &amp;)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>ManipValue1</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a34db35355efb42b86fc147f48aa9f7ab</anchor>
      <arglist>(const KDL::JntArray &amp;)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>ManipValue2</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a5a4e7f37158a3c8e030683f514172766</anchor>
      <arglist>(const KDL::JntArray &amp;)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>myEqual</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a6eb6bb1aef3980630679c8c2d8523201</anchor>
      <arglist>(const KDL::JntArray &amp;a, const KDL::JntArray &amp;b)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>normalize_limits</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a28f151c846797c72625d6d7c3fec72b1</anchor>
      <arglist>(const KDL::JntArray &amp;seed, KDL::JntArray &amp;solution)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>normalize_seed</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a80eb8bf32c2cdbe581669ff8fff272ed</anchor>
      <arglist>(const KDL::JntArray &amp;seed, KDL::JntArray &amp;solution)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>runKDL</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>ae03a3b4ecd0d0632c95132770ef82fe3</anchor>
      <arglist>(const KDL::JntArray &amp;q_init, const KDL::Frame &amp;p_in)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>runNLOPT</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>ab65051bb1f90a87692cfa14dab4ffa4d</anchor>
      <arglist>(const KDL::JntArray &amp;q_init, const KDL::Frame &amp;p_in)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>runSolver</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a2a254329bfe00c6864aefcd328b9dd35</anchor>
      <arglist>(T1 &amp;solver, T2 &amp;other_solver, const KDL::JntArray &amp;q_init, const KDL::Frame &amp;p_in)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>unique_solution</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a9ca8475c2d48c37acedd8a7a5e6a7da7</anchor>
      <arglist>(const KDL::JntArray &amp;sol)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static double</type>
      <name>fRand</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a9a1337377a4db4667b394534fa4562a0</anchor>
      <arglist>(double min, double max)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::Twist</type>
      <name>bounds</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>af99e9de674cd2e2fe60598ba91fac539</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::Chain</type>
      <name>chain</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a09dfa6ee0c733e7356406d2450c804e8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>eps</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>afc17ca9a1dbd386d2a3cd349056be843</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; std::pair&lt; double, uint &gt; &gt;</type>
      <name>errors</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a80a88d1b321a5d960242bd607dcfb7d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; KDL::ChainIkSolverPos_TL &gt;</type>
      <name>iksolver</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>ae1b38a9beaeb4d1ecfaf7e0f580030a0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>initialized</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a540fbe827d1173f33c0efe8542c158e1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; KDL::ChainJntToJacSolver &gt;</type>
      <name>jacsolver</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a9cfdb82a3b161a1e7287310dbf395f73</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::JntArray</type>
      <name>lb</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>afd8e538233cabde078268e6d63203a22</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>maxtime</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a7fb309b121b1573766faceabb580209f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>mtx_</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>ad62f958dc5067066ec1d93af601abe98</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; NLOPT_IK::NLOPT_IK &gt;</type>
      <name>nl_solver</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a55c6726d308f83f884c74b11ac260b13</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; KDL::JntArray &gt;</type>
      <name>solutions</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a9b7e6ab187bfd5d5864fab253f9a8a6b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>SolveType</type>
      <name>solvetype</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a0ece917580656c1470359a48237e0bc6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::posix_time::ptime</type>
      <name>start_time</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>a971c58a8a772bd106962960163ac0996</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::thread</type>
      <name>task1</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>aea819b3cffd8237dcfdafa082f35a72f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::thread</type>
      <name>task2</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>aa70dc0f23a6c9bdd3ff4697d04b0b373</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; KDL::BasicJointType &gt;</type>
      <name>types</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>ac371778ab75d862aa5a84c8b382b68a5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KDL::JntArray</type>
      <name>ub</name>
      <anchorfile>classTRAC__IK_1_1TRAC__IK.html</anchorfile>
      <anchor>aa768035c49c0e984d9fb0ae2c3243530</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>math3d::triangle</name>
    <filename>structmath3d_1_1triangle.html</filename>
    <member kind="function">
      <type></type>
      <name>triangle</name>
      <anchorfile>structmath3d_1_1triangle.html</anchorfile>
      <anchor>a8a2744455f063e3bf54c94c58c0919ff</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>triangle</name>
      <anchorfile>structmath3d_1_1triangle.html</anchorfile>
      <anchor>a6f2c03ec1dbd09e70ccafe63d02c33de</anchor>
      <arglist>(const oriented_point3d &amp;p0_, const oriented_point3d &amp;p1_, const oriented_point3d &amp;p2_, const normal3d &amp;n_)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>triangle</name>
      <anchorfile>structmath3d_1_1triangle.html</anchorfile>
      <anchor>a1281b8ee33e6b4fb4bb3a835a64de861</anchor>
      <arglist>(const oriented_point3d &amp;p0_, const oriented_point3d &amp;p1_, const oriented_point3d &amp;p2_, const normal3d &amp;n_, int id0_, int id1_, int id2_)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>triangle</name>
      <anchorfile>structmath3d_1_1triangle.html</anchorfile>
      <anchor>a8bbb629ffe457e22ed0655637cbd70eb</anchor>
      <arglist>(const point3d &amp;p0_, const point3d &amp;p1_, const point3d &amp;p2_, const normal3d &amp;n_)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>triangle</name>
      <anchorfile>structmath3d_1_1triangle.html</anchorfile>
      <anchor>acede05b13468e85ae1156f1fd64f7af5</anchor>
      <arglist>(int id0, int id1, int id2)</arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>id0</name>
      <anchorfile>structmath3d_1_1triangle.html</anchorfile>
      <anchor>ac8004ed1ded5950c4eef8261d6915e22</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>id1</name>
      <anchorfile>structmath3d_1_1triangle.html</anchorfile>
      <anchor>ad3505d4dddc0942841f430b88c039dfd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>id2</name>
      <anchorfile>structmath3d_1_1triangle.html</anchorfile>
      <anchor>abc04a393acb00fb0a7116397533521df</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>normal3d</type>
      <name>n</name>
      <anchorfile>structmath3d_1_1triangle.html</anchorfile>
      <anchor>a8db3846876bcbf4d19ee9637a19288e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>oriented_point3d</type>
      <name>p0</name>
      <anchorfile>structmath3d_1_1triangle.html</anchorfile>
      <anchor>ac28fa405b122973e492add98a512d13a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>oriented_point3d</type>
      <name>p1</name>
      <anchorfile>structmath3d_1_1triangle.html</anchorfile>
      <anchor>a0ea69e8e6c83002db432b1c7ad2cdff1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>oriented_point3d</type>
      <name>p2</name>
      <anchorfile>structmath3d_1_1triangle.html</anchorfile>
      <anchor>aaa2244afbb836c5bd624049f8e541776</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>structmath3d_1_1triangle.html</anchorfile>
      <anchor>a7086a8d2df1a322dd8213e5c59de805a</anchor>
      <arglist>(std::ostream &amp;o, const triangle &amp;t)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>math3d::vec3d</name>
    <filename>structmath3d_1_1vec3d.html</filename>
    <templarg></templarg>
    <member kind="function">
      <type>bool</type>
      <name>operator!=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a91c5096d8e13a0d4b24f9de03e48418a</anchor>
      <arglist>(const vec3d &amp;o) const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator!=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a2a0a981c8b69b53e1c650c44fda3c67e</anchor>
      <arglist>(const vec3d&lt; S &gt; &amp;o) const</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt; &amp;</type>
      <name>operator*=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a8ffd24431fd760005b86441785b7e185</anchor>
      <arglist>(const Scalar &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>operator+</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>ac91cfdcebb5312a68bc1cd25e092f1bb</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p) const</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt; &amp;</type>
      <name>operator+=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a07ec0bcbb17af08c89969789448c4b1a</anchor>
      <arglist>(const vec3d&lt; S &gt; &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt; &amp;</type>
      <name>operator+=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>aa2eaa811441797b45201c693d784ee5a</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>operator-</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a0edaefcf100380f31eec3601a9d910f7</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>operator-</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a0d0a4b8e8e077a2618d4b03ceec9e6e9</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p) const</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt; &amp;</type>
      <name>operator-=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a33456a8c2d6aaac5f5a87e20b1defcb4</anchor>
      <arglist>(const vec3d&lt; S &gt; &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt; &amp;</type>
      <name>operator-=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a46ad32e1f627711c2a5b41e8b422f478</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt; &amp;</type>
      <name>operator/=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>aa926acf0369aec45764ccafb9bd558f2</anchor>
      <arglist>(const Scalar &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a099cb1b45a33fea8c5b2359e62092dea</anchor>
      <arglist>(const vec3d &amp;o) const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a207d66e9eb4e8a39085e1afc74f3ca94</anchor>
      <arglist>(const vec3d&lt; S &gt; &amp;o) const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>vec3d</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a9d7b1f79b7a7882a251aad9e79e4a27f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>vec3d</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a76d9267dcd3be29de7d2c239f1fc012f</anchor>
      <arglist>(const S *s)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>vec3d</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a9e9785b3bbc5014e9bc39a430fc3e44f</anchor>
      <arglist>(const vec3d&lt; S &gt; &amp;s)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>vec3d</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a54f1c54162b7a8c1430145a4d71cbfbc</anchor>
      <arglist>(T x_, T y_, T z_)</arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>x</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a1065770533920946d1bf3a8f831da3fe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>y</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>abe4b25501b8a64362041ae1430f78437</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>T</type>
      <name>z</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>aaccba4853c63f6cc8e9978eb537c347f</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend vec3d&lt; T &gt;</type>
      <name>operator*</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a494bc797b53db59c392dd32a04177176</anchor>
      <arglist>(const Scalar &amp;s, const vec3d&lt; T &gt; &amp;p)</arglist>
    </member>
    <member kind="friend">
      <type>friend vec3d&lt; T &gt;</type>
      <name>operator*</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a90f5d14e018ba0af49b8e42ac05f0332</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p, const Scalar &amp;s)</arglist>
    </member>
    <member kind="friend">
      <type>friend vec3d&lt; T &gt;</type>
      <name>operator/</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a4291c2d36d9af1d5aa56f163947282fe</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p, const Scalar &amp;s)</arglist>
    </member>
    <member kind="friend">
      <type>friend std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>ae0eafe2f2679d5a343477e68096f1439</anchor>
      <arglist>(std::ostream &amp;os, const vec3d&lt; T &gt; &amp;p)</arglist>
    </member>
    <member kind="friend">
      <type>friend std::istream &amp;</type>
      <name>operator&gt;&gt;</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>aed4695fbef265668a232a8981b11f184</anchor>
      <arglist>(std::istream &amp;is, vec3d&lt; T &gt; &amp;p)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>vec3d&lt; double &gt;</name>
    <filename>structmath3d_1_1vec3d.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>operator!=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a91c5096d8e13a0d4b24f9de03e48418a</anchor>
      <arglist>(const vec3d &amp;o) const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator!=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a2a0a981c8b69b53e1c650c44fda3c67e</anchor>
      <arglist>(const vec3d&lt; S &gt; &amp;o) const</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; double &gt; &amp;</type>
      <name>operator*=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a8ffd24431fd760005b86441785b7e185</anchor>
      <arglist>(const Scalar &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; double &gt;</type>
      <name>operator+</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>ac91cfdcebb5312a68bc1cd25e092f1bb</anchor>
      <arglist>(const vec3d&lt; double &gt; &amp;p) const</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; double &gt; &amp;</type>
      <name>operator+=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>aa2eaa811441797b45201c693d784ee5a</anchor>
      <arglist>(const vec3d&lt; double &gt; &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; double &gt; &amp;</type>
      <name>operator+=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a07ec0bcbb17af08c89969789448c4b1a</anchor>
      <arglist>(const vec3d&lt; S &gt; &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; double &gt;</type>
      <name>operator-</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a0edaefcf100380f31eec3601a9d910f7</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; double &gt;</type>
      <name>operator-</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a0d0a4b8e8e077a2618d4b03ceec9e6e9</anchor>
      <arglist>(const vec3d&lt; double &gt; &amp;p) const</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; double &gt; &amp;</type>
      <name>operator-=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a46ad32e1f627711c2a5b41e8b422f478</anchor>
      <arglist>(const vec3d&lt; double &gt; &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; double &gt; &amp;</type>
      <name>operator-=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a33456a8c2d6aaac5f5a87e20b1defcb4</anchor>
      <arglist>(const vec3d&lt; S &gt; &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; double &gt; &amp;</type>
      <name>operator/=</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>aa926acf0369aec45764ccafb9bd558f2</anchor>
      <arglist>(const Scalar &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a099cb1b45a33fea8c5b2359e62092dea</anchor>
      <arglist>(const vec3d &amp;o) const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a207d66e9eb4e8a39085e1afc74f3ca94</anchor>
      <arglist>(const vec3d&lt; S &gt; &amp;o) const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>vec3d</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a9d7b1f79b7a7882a251aad9e79e4a27f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>vec3d</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a76d9267dcd3be29de7d2c239f1fc012f</anchor>
      <arglist>(const S *s)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>vec3d</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a9e9785b3bbc5014e9bc39a430fc3e44f</anchor>
      <arglist>(const vec3d&lt; S &gt; &amp;s)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>vec3d</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a54f1c54162b7a8c1430145a4d71cbfbc</anchor>
      <arglist>(double x_, double y_, double z_)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>x</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a1065770533920946d1bf3a8f831da3fe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>y</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>abe4b25501b8a64362041ae1430f78437</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>z</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>aaccba4853c63f6cc8e9978eb537c347f</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend vec3d&lt; double &gt;</type>
      <name>operator*</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a494bc797b53db59c392dd32a04177176</anchor>
      <arglist>(const Scalar &amp;s, const vec3d&lt; double &gt; &amp;p)</arglist>
    </member>
    <member kind="friend">
      <type>friend vec3d&lt; double &gt;</type>
      <name>operator*</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a90f5d14e018ba0af49b8e42ac05f0332</anchor>
      <arglist>(const vec3d&lt; double &gt; &amp;p, const Scalar &amp;s)</arglist>
    </member>
    <member kind="friend">
      <type>friend vec3d&lt; double &gt;</type>
      <name>operator/</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>a4291c2d36d9af1d5aa56f163947282fe</anchor>
      <arglist>(const vec3d&lt; double &gt; &amp;p, const Scalar &amp;s)</arglist>
    </member>
    <member kind="friend">
      <type>friend std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>ae0eafe2f2679d5a343477e68096f1439</anchor>
      <arglist>(std::ostream &amp;os, const vec3d&lt; double &gt; &amp;p)</arglist>
    </member>
    <member kind="friend">
      <type>friend std::istream &amp;</type>
      <name>operator&gt;&gt;</name>
      <anchorfile>structmath3d_1_1vec3d.html</anchorfile>
      <anchor>aed4695fbef265668a232a8981b11f184</anchor>
      <arglist>(std::istream &amp;is, vec3d&lt; double &gt; &amp;p)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>KDL</name>
    <filename>namespaceKDL.html</filename>
    <class kind="class">KDL::ChainIkSolverPos_TL</class>
    <member kind="enumeration">
      <type></type>
      <name>BasicJointType</name>
      <anchorfile>namespaceKDL.html</anchorfile>
      <anchor>ae1962cb9cb6cad0627e1827071e3ff20</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>RotJoint</name>
      <anchorfile>namespaceKDL.html</anchorfile>
      <anchor>ae1962cb9cb6cad0627e1827071e3ff20af6f97a1a275e5a5cdb83c760c5aab940</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>TransJoint</name>
      <anchorfile>namespaceKDL.html</anchorfile>
      <anchor>ae1962cb9cb6cad0627e1827071e3ff20a276798ee46116c2852de51c17e0ec168</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>Continuous</name>
      <anchorfile>namespaceKDL.html</anchorfile>
      <anchor>ae1962cb9cb6cad0627e1827071e3ff20a76c70fc07fc202b9595c67c737a51b58</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>IMETHOD Twist</type>
      <name>diffRelative</name>
      <anchorfile>namespaceKDL.html</anchorfile>
      <anchor>a909c50341bd06b4a13fd9c91f618b44b</anchor>
      <arglist>(const Frame &amp;F_a_b1, const Frame &amp;F_a_b2, double dt=1)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>math3d</name>
    <filename>namespacemath3d.html</filename>
    <class kind="struct">math3d::color_rgb24</class>
    <class kind="class">math3d::invalid_vector</class>
    <class kind="class">math3d::matrix</class>
    <class kind="struct">math3d::matrix3x3</class>
    <class kind="class">math3d::oriented_point3d</class>
    <class kind="struct">math3d::quaternion</class>
    <class kind="struct">math3d::triangle</class>
    <class kind="struct">math3d::vec3d</class>
    <member kind="typedef">
      <type>vec3d&lt; double &gt;</type>
      <name>normal3d</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a3f6f3986347e93c0d2431d5812ded814</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>vec3d&lt; double &gt;</type>
      <name>point3d</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>ac16b44a3f36c0f61a54c5f97a7c98c86</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::pair&lt; matrix3x3&lt; double &gt;, point3d &gt;</type>
      <name>rigid_motion_t</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a2a1ca474e454713bbffebd378dd4e86a</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>almost_zero</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a6044b1be5a6dc8596fb09d80353119f8</anchor>
      <arglist>(T a, double e)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>conjugate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a0bcb3156a3df0ac31a405c62a142c161</anchor>
      <arglist>(quaternion&lt; T &gt; &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>cross_product</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>af819434f5430e6cdb7274aba561726a8</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;v1, const vec3d&lt; T &gt; &amp;v2)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>dist</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a34156307d61c636ea500c51cdd6678f2</anchor>
      <arglist>(const T &amp;p1, const T &amp;p2)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>dot</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a977e5fd6f0f340a95bd70d300fe41201</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;a, const quaternion&lt; T &gt; &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>dot_product</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a639981f8728f401b5bbceb39bf372a12</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;p, const quaternion&lt; T &gt; &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>dot_product</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>ac349d8ff1091579210f0869fa92ee783</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;v1, const vec3d&lt; S &gt; &amp;v2)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>dot_product</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>abc6e60b3c52ef34e426d2035ba133765</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;v1, const vec3d&lt; T &gt; &amp;v2)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>get_normalize</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a9bcc8340bc2b3e0c6943756846a88f9b</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>get_rotate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>aafd75d6a9deabf0d59c5b9a3a88d95db</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p, const matrix3x3&lt; T &gt; &amp;rot)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>get_rotate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a97329e36b3f1795b39464cddfb649972</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;v, const quaternion&lt; T &gt; &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>get_rotate_translate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a8a7e66fa0958c3eb02c6fa3db9575ea6</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p, const matrix3x3&lt; T &gt; &amp;rot, const point3d &amp;t)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>get_rotate_translate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>af768a196f9e52a080af4ead00a49eb71</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p, const matrix&lt; T &gt; &amp;rot, const point3d &amp;t)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>get_rotate_translate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>aff6eee3d95165f30bc9fe71ab7c8e734</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p, const T *rot, const T *t)</arglist>
    </member>
    <member kind="function">
      <type>vec3d&lt; T &gt;</type>
      <name>get_rotate_translate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a1c6a35ac1e0007a6412eea5c1e69c10d</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;v, const quaternion&lt; T &gt; &amp;rot, const point3d &amp;t)</arglist>
    </member>
    <member kind="function">
      <type>matrix3x3&lt; T &gt;</type>
      <name>get_transpose</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a7c969af14b05c0b77f2810124054b979</anchor>
      <arglist>(const matrix3x3&lt; T &gt; &amp;m)</arglist>
    </member>
    <member kind="function">
      <type>matrix3x3&lt; T &gt;</type>
      <name>identity3x3</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>ab33464abf2c62055e191055df961ba3c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>invert</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a4b73a8c08dcbb3cc875996a815cef551</anchor>
      <arglist>(R &amp;r, T &amp;t)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>magnitude</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a6149f30261c16dab99f52c8496718f44</anchor>
      <arglist>(const T &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>median</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a7a6d413c3fd8a41c1af00cdd9a710ae7</anchor>
      <arglist>(Iterator start, Iterator end)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mult_matrix</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a5cdd916e948d33f0e7970c6230738d1e</anchor>
      <arglist>(const matrix3x3&lt; T &gt; &amp;m1, const matrix3x3&lt; T &gt; &amp;m2, matrix3x3&lt; T &gt; &amp;r)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mult_matrix</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>adc320801a7f208ff64f68ebbcdfa07fe</anchor>
      <arglist>(const Rot1 &amp;m1, const Rot2 &amp;m2, Rot3 &amp;r)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mult_matrix_inplace</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a389a9726ee3b4a8aa669b27532486cd9</anchor>
      <arglist>(const matrix3x3&lt; T &gt; &amp;m1, const matrix3x3&lt; T &gt; &amp;m2, matrix3x3&lt; T &gt; &amp;r)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mult_quaternion</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>ad630187b9430df515e76dd9f5af2902e</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;a, const quaternion&lt; T &gt; &amp;b, quaternion&lt; T &gt; &amp;r)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>norm</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a4bec8e5bb1312b5a2f12ac50541c4e5e</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;a)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>norm2</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a954432307872ae46e637a30dbcf4c014</anchor>
      <arglist>(const T &amp;v)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>normalize</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a5114f59f0561f3d80c4542fb0c3b8d69</anchor>
      <arglist>(quaternion&lt; T &gt; &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>normalize</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a7a93e24bcac87fe99f526bf0c77d1739</anchor>
      <arglist>(vec3d&lt; T &gt; &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>quaternion&lt; T &gt;</type>
      <name>operator*</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a95813fdac8a5367ad196e4cfda97624a</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;a, const quaternion&lt; T &gt; &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>quaternion&lt; T &gt;</type>
      <name>operator+</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a135f3dc74626c2d58d1d56fac5b23ed1</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;a, const quaternion&lt; T &gt; &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>quaternion&lt; T &gt;</type>
      <name>operator~</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>ac344a97ce3e073d7babc2e49959bbe61</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;a)</arglist>
    </member>
    <member kind="function">
      <type>matrix3x3&lt; T &gt;</type>
      <name>quaternion_to_rot_matrix</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>af12cd151bb50be9ce88ef6469bc5bfb5</anchor>
      <arglist>(const quaternion&lt; T &gt; &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>relative_motion</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>af12acf9586f48881698ac63e0fb08454</anchor>
      <arglist>(const matrix3x3&lt; T &gt; &amp;Ri, const point3d &amp;Ti, const matrix3x3&lt; T &gt; &amp;Rj, const point3d &amp;Tj, matrix3x3&lt; T &gt; &amp;Rij, point3d &amp;Tij)</arglist>
    </member>
    <member kind="function">
      <type>quaternion&lt; T &gt;</type>
      <name>rot_matrix_to_quaternion</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a001df62974d8314b513a46f591df8445</anchor>
      <arglist>(const matrix3x3&lt; T &gt; &amp;m)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a136e40d9439d02fe5766d386deb94859</anchor>
      <arglist>(vec3d&lt; T &gt; &amp;p, const matrix3x3&lt; S &gt; &amp;rot)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a8061261dfbe6807e91bf0f0b83c73761</anchor>
      <arglist>(vec3d&lt; T &gt; &amp;p, const matrix3x3&lt; T &gt; &amp;rot)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a7912e450c77cd86925aeb895966eacb7</anchor>
      <arglist>(vec3d&lt; T &gt; &amp;p, const matrix&lt; S &gt; &amp;rot)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a3e8782ea8742c05bea04b1d10848bdbc</anchor>
      <arglist>(vec3d&lt; T &gt; &amp;p, const matrix&lt; T &gt; &amp;rot)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>aed1589940ab8397bb56e4de9a011c834</anchor>
      <arglist>(vec3d&lt; T &gt; &amp;p, const quaternion&lt; T &gt; &amp;rot)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotate_translate</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a2e273ced84ce3ab79fb316717b00c0e2</anchor>
      <arglist>(vec3d&lt; T &gt; &amp;v, const RotationType &amp;rot, const point3d &amp;trans)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>set_identity</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a3cde300ae9781a9eb3557393ab055dee</anchor>
      <arglist>(matrix3x3&lt; T &gt; &amp;m, T val=1)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>set_identity</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a05cbbe32c06121ef98ab195de35ee98b</anchor>
      <arglist>(matrix&lt; T &gt; &amp;m, T val=1)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>set_identity</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a1a43556607165955ee62c9786e6c822d</anchor>
      <arglist>(quaternion&lt; T &gt; &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>squared_dist</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>af4fa74d780ab9d8c387044159944c8d5</anchor>
      <arglist>(const vec3d&lt; T &gt; &amp;p1, const vec3d&lt; T &gt; &amp;p2)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transpose</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a6cf66edb00aa93d337f8b77a0b81f397</anchor>
      <arglist>(const matrix3x3&lt; T &gt; &amp;src, matrix3x3&lt; T &gt; &amp;dest)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transpose</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a50d87711392ff38821bb1867f8459d29</anchor>
      <arglist>(const matrix&lt; T &gt; &amp;src, matrix&lt; T &gt; &amp;dest)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transpose</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a3d4b472c1eeda86f4a1e6c23ac67afae</anchor>
      <arglist>(matrix3x3&lt; T &gt; &amp;m)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transpose</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a13aafc19fac89ac73b5ce1a1d63ed613</anchor>
      <arglist>(matrix&lt; T &gt; &amp;m)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>deg_on_rad</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a8f3db0db20a3556fa2ec98ef8a775ab6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>pi</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>ae87c968fca69098c3f611f4819924fe8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>rad_on_deg</name>
      <anchorfile>namespacemath3d.html</anchorfile>
      <anchor>a57a228035796970447a54f94759aeaec</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>NLOPT_IK</name>
    <filename>namespaceNLOPT__IK.html</filename>
    <class kind="class">NLOPT_IK::NLOPT_IK</class>
    <member kind="enumeration">
      <type></type>
      <name>OptType</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a188014d03229b2e33ba303dc7902b38a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>Joint</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a188014d03229b2e33ba303dc7902b38aa80e4314dedf79ab11f959c4384b99a0f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DualQuat</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a188014d03229b2e33ba303dc7902b38aadecb9959999c6059fa6d1e888c451a09</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>SumSq</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a188014d03229b2e33ba303dc7902b38aa25fb880607b8fb66d9aef7f18187f19f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>L2</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a188014d03229b2e33ba303dc7902b38aa15ad82463f8076d5959ed714e5f36317</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>constrainfuncm</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a48c1a6da9465a095574d5f56d97f9ea9</anchor>
      <arglist>(uint m, double *result, uint n, const double *x, double *grad, void *data)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>minfunc</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a8ae7fcc8897fd4b2c2df8f0a28981adb</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;x, std::vector&lt; double &gt; &amp;grad, void *data)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>minfuncDQ</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a0b7f0d20bbce67ad832d89edda3f6600</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;x, std::vector&lt; double &gt; &amp;grad, void *data)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>minfuncL2</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>ad06855e1d11df63fa17566c2c8a8349d</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;x, std::vector&lt; double &gt; &amp;grad, void *data)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>minfuncSumSquared</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a13785f6e1ca2aedaa6c31596a1eebd5b</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;x, std::vector&lt; double &gt; &amp;grad, void *data)</arglist>
    </member>
    <member kind="variable">
      <type>dual_quaternion</type>
      <name>targetDQ</name>
      <anchorfile>namespaceNLOPT__IK.html</anchorfile>
      <anchor>a7a47e862bf31c8935280e2ed21d2d740</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>TRAC_IK</name>
    <filename>namespaceTRAC__IK.html</filename>
    <class kind="class">TRAC_IK::TRAC_IK</class>
    <member kind="enumeration">
      <type></type>
      <name>SolveType</name>
      <anchorfile>namespaceTRAC__IK.html</anchorfile>
      <anchor>af718f8dd8173681cb3d85876fb5d2f91</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>Speed</name>
      <anchorfile>namespaceTRAC__IK.html</anchorfile>
      <anchor>af718f8dd8173681cb3d85876fb5d2f91a23fe834c5869bd2c3491272418638b99</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>Distance</name>
      <anchorfile>namespaceTRAC__IK.html</anchorfile>
      <anchor>af718f8dd8173681cb3d85876fb5d2f91aaaac012235eb2eb6637072b36b7c99e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>Manip1</name>
      <anchorfile>namespaceTRAC__IK.html</anchorfile>
      <anchor>af718f8dd8173681cb3d85876fb5d2f91a5cbfabe019d09b1af51bb33be915fae6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>Manip2</name>
      <anchorfile>namespaceTRAC__IK.html</anchorfile>
      <anchor>af718f8dd8173681cb3d85876fb5d2f91a41e2a60888b4c53ac140a9278185f58b</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>normalizeAngle</name>
      <anchorfile>namespaceTRAC__IK.html</anchorfile>
      <anchor>a63957187d69471f9b0922ab6f6e481b4</anchor>
      <arglist>(double &amp;val, const double &amp;min, const double &amp;max)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>normalizeAngle</name>
      <anchorfile>namespaceTRAC__IK.html</anchorfile>
      <anchor>aaa556cea26caee6ea1cb4f27ff0bcdd5</anchor>
      <arglist>(double &amp;val, const double &amp;target)</arglist>
    </member>
  </compound>
</tagfile>
