<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>bpcg.h</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/include/sparse_bundle_adjustment/bpcg/</path>
    <filename>bpcg_8h.html</filename>
    <class kind="class">sba::jacobiBPCG</class>
    <namespace>sba</namespace>
    <member kind="define">
      <type>#define</type>
      <name>EIGEN_USE_NEW_STDVECTOR</name>
      <anchorfile>bpcg_8h.html</anchorfile>
      <anchor>add81a3e8d99fc68c376b2e54acb2412c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>cholmod_timing.cpp</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/src/</path>
    <filename>cholmod__timing_8cpp.html</filename>
    <includes id="sba_8h" name="sba.h" local="yes" imported="no">sparse_bundle_adjustment/sba.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>CPUTIME</name>
      <anchorfile>cholmod__timing_8cpp.html</anchorfile>
      <anchor>a80007ad48a9e910007be70f9447018b1</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>cholmod__timing_8cpp.html</anchorfile>
      <anchor>a840291bc02cba5474a4cb46a9b9566fe</anchor>
      <arglist>(void)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>csparse.cpp</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/src/</path>
    <filename>csparse_8cpp.html</filename>
    <includes id="csparse_8h" name="csparse.h" local="yes" imported="no">sparse_bundle_adjustment/csparse.h</includes>
    <namespace>sba</namespace>
  </compound>
  <compound kind="file">
    <name>csparse.h</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/include/sparse_bundle_adjustment/</path>
    <filename>csparse_8h.html</filename>
    <includes id="bpcg_8h" name="bpcg.h" local="yes" imported="no">sparse_bundle_adjustment/bpcg/bpcg.h</includes>
    <class kind="class">sba::CSparse</class>
    <class kind="class">sba::CSparse2d</class>
    <namespace>sba</namespace>
    <member kind="define">
      <type>#define</type>
      <name>EIGEN_USE_NEW_STDVECTOR</name>
      <anchorfile>csparse_8h.html</anchorfile>
      <anchor>add81a3e8d99fc68c376b2e54acb2412c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>node.cpp</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/src/</path>
    <filename>node_8cpp.html</filename>
    <includes id="node_8h" name="node.h" local="no" imported="no">sparse_bundle_adjustment/node.h</includes>
    <namespace>sba</namespace>
    <member kind="function">
      <type>void</type>
      <name>transformF2W</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ae2c236774847f58bdf1707218b4a9c40</anchor>
      <arglist>(Eigen::Matrix&lt; double, 3, 4 &gt; &amp;m, const Eigen::Matrix&lt; double, 4, 1 &gt; &amp;trans, const Eigen::Quaternion&lt; double &gt; &amp;qrot)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transformN2N</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a30bb08080ca0ec3eff9fb12f3e5d76c0</anchor>
      <arglist>(Eigen::Matrix&lt; double, 4, 1 &gt; &amp;trans, Eigen::Quaternion&lt; double &gt; &amp;qrot, Node &amp;nd0, Node &amp;nd1)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transformW2F</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a79e603b89853fc2c1d574ea380e09ddb</anchor>
      <arglist>(Eigen::Matrix&lt; double, 3, 4 &gt; &amp;m, const Eigen::Matrix&lt; double, 4, 1 &gt; &amp;trans, const Eigen::Quaternion&lt; double &gt; &amp;qrot)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>node.h</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/include/sparse_bundle_adjustment/</path>
    <filename>node_8h.html</filename>
    <class kind="struct">frame_common::CamParams</class>
    <class kind="class">sba::Node</class>
    <namespace>frame_common</namespace>
    <namespace>sba</namespace>
    <member kind="define">
      <type>#define</type>
      <name>_CAMPARAMS_H_</name>
      <anchorfile>node_8h.html</anchorfile>
      <anchor>a354debf1d9a8a5bbdf3c0f64cafdea99</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>Eigen::Vector3d</type>
      <name>Keypoint</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a7e5d3d1fab18b550aef68c6263dc26dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>Eigen::Vector4d</type>
      <name>Point</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a36f823927ef52531f11c6d37c08c116a</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transformF2W</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ae2c236774847f58bdf1707218b4a9c40</anchor>
      <arglist>(Eigen::Matrix&lt; double, 3, 4 &gt; &amp;m, const Eigen::Matrix&lt; double, 4, 1 &gt; &amp;trans, const Eigen::Quaternion&lt; double &gt; &amp;qrot)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transformN2N</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a30bb08080ca0ec3eff9fb12f3e5d76c0</anchor>
      <arglist>(Eigen::Matrix&lt; double, 4, 1 &gt; &amp;trans, Eigen::Quaternion&lt; double &gt; &amp;qrot, Node &amp;nd0, Node &amp;nd1)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transformW2F</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a79e603b89853fc2c1d574ea380e09ddb</anchor>
      <arglist>(Eigen::Matrix&lt; double, 3, 4 &gt; &amp;m, const Eigen::Matrix&lt; double, 4, 1 &gt; &amp;trans, const Eigen::Quaternion&lt; double &gt; &amp;qrot)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>proj.cpp</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/src/</path>
    <filename>proj_8cpp.html</filename>
    <includes id="proj_8h" name="proj.h" local="no" imported="no">sparse_bundle_adjustment/proj.h</includes>
    <namespace>sba</namespace>
  </compound>
  <compound kind="file">
    <name>proj.h</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/include/sparse_bundle_adjustment/</path>
    <filename>proj_8h.html</filename>
    <includes id="node_8h" name="node.h" local="no" imported="no">sparse_bundle_adjustment/node.h</includes>
    <class kind="class">sba::JacobProds</class>
    <class kind="class">sba::Proj</class>
    <class kind="class">sba::Track</class>
    <namespace>sba</namespace>
    <member kind="define">
      <type>#define</type>
      <name>EIGEN_USE_NEW_STDVECTOR</name>
      <anchorfile>proj_8h.html</anchorfile>
      <anchor>add81a3e8d99fc68c376b2e54acb2412c</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::map&lt; const int, Proj, std::less&lt; int &gt;, Eigen::aligned_allocator&lt; Proj &gt; &gt;</type>
      <name>ProjMap</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ad94b1a9a90f12b8fb296b70f54a31d45</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>read_spa.h</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/include/sparse_bundle_adjustment/</path>
    <filename>read__spa_8h.html</filename>
    <class kind="struct">tinfo</class>
    <member kind="define">
      <type>#define</type>
      <name>EIGEN_DEFAULT_IO_FORMAT</name>
      <anchorfile>read__spa_8h.html</anchorfile>
      <anchor>acb1e4e2de56103873d2de3c77c9c9373</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>EIGEN_USE_NEW_STDVECTOR</name>
      <anchorfile>read__spa_8h.html</anchorfile>
      <anchor>add81a3e8d99fc68c376b2e54acb2412c</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ReadSPA2dFile</name>
      <anchorfile>read__spa_8h.html</anchorfile>
      <anchor>a0a103549b109a2828f19972f69169bf3</anchor>
      <arglist>(char *fin, std::vector&lt; Eigen::Vector2d, Eigen::aligned_allocator&lt; Eigen::Vector2d &gt; &gt; &amp;ntrans, std::vector&lt; double &gt; &amp;nqrot, std::vector&lt; Eigen::Vector2i, Eigen::aligned_allocator&lt; Eigen::Vector2i &gt; &gt; &amp;cind, std::vector&lt; Eigen::Vector2d, Eigen::aligned_allocator&lt; Eigen::Vector2d &gt; &gt; &amp;ctrans, std::vector&lt; double &gt; &amp;cqrot, std::vector&lt; Eigen::Matrix&lt; double, 3, 3 &gt;, Eigen::aligned_allocator&lt; Eigen::Matrix&lt; double, 3, 3 &gt; &gt; &gt; &amp;cvar, std::vector&lt; std::vector&lt; Eigen::Vector2d, Eigen::aligned_allocator&lt; Eigen::Vector2d &gt; &gt; &gt; &amp;scans)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ReadSPAFile</name>
      <anchorfile>read__spa_8h.html</anchorfile>
      <anchor>a9d8ff099e14000cee27d562fe6566007</anchor>
      <arglist>(char *fin, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;ntrans, std::vector&lt; Eigen::Vector4d, Eigen::aligned_allocator&lt; Eigen::Vector4d &gt; &gt; &amp;nqrot, std::vector&lt; Eigen::Vector2i, Eigen::aligned_allocator&lt; Eigen::Vector2i &gt; &gt; &amp;cind, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;ctrans, std::vector&lt; Eigen::Vector4d, Eigen::aligned_allocator&lt; Eigen::Vector4d &gt; &gt; &amp;cqrot, std::vector&lt; Eigen::Matrix&lt; double, 6, 6 &gt;, Eigen::aligned_allocator&lt; Eigen::Matrix&lt; double, 6, 6 &gt; &gt; &gt; &amp;cvar, std::vector&lt; struct tinfo &gt; &amp;tracks)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>sba.cpp</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/src/</path>
    <filename>sba_8cpp.html</filename>
    <includes id="sba_8h" name="sba.h" local="yes" imported="no">sparse_bundle_adjustment/sba.h</includes>
    <namespace>sba</namespace>
    <member kind="define">
      <type>#define</type>
      <name>F77_FUNC</name>
      <anchorfile>sba_8cpp.html</anchorfile>
      <anchor>afba6998043e98b22466b6b0cddaa8327</anchor>
      <arglist>(func)</arglist>
    </member>
    <member kind="function">
      <type>int F77_FUNC()</type>
      <name>dpotf2</name>
      <anchorfile>sba_8cpp.html</anchorfile>
      <anchor>aea01412cb30d14390d5792a5c59787b6</anchor>
      <arglist>(char *uplo, int *n, double *a, int *lda, int *info)</arglist>
    </member>
    <member kind="function">
      <type>int F77_FUNC()</type>
      <name>dpotrf</name>
      <anchorfile>sba_8cpp.html</anchorfile>
      <anchor>a13e2b4dca0765f1a16a7742fb9ac8105</anchor>
      <arglist>(char *uplo, int *n, double *a, int *lda, int *info)</arglist>
    </member>
    <member kind="function">
      <type>int F77_FUNC()</type>
      <name>dpotri</name>
      <anchorfile>sba_8cpp.html</anchorfile>
      <anchor>aca10cf732931c72cb92025cd63ca06ad</anchor>
      <arglist>(char *uplo, int *n, double *a, int *lda, int *info)</arglist>
    </member>
    <member kind="function">
      <type>int F77_FUNC()</type>
      <name>dpotrs</name>
      <anchorfile>sba_8cpp.html</anchorfile>
      <anchor>a107f09f3550d85da667c9274c883e189</anchor>
      <arglist>(char *uplo, int *n, int *nrhs, double *a, int *lda, double *b, int *ldb, int *info)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static long long</type>
      <name>utime</name>
      <anchorfile>sba_8cpp.html</anchorfile>
      <anchor>a070417a57f1376f220dd0bf4130544c8</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>sba.h</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/include/sparse_bundle_adjustment/</path>
    <filename>sba_8h.html</filename>
    <includes id="node_8h" name="node.h" local="no" imported="no">sparse_bundle_adjustment/node.h</includes>
    <includes id="proj_8h" name="proj.h" local="no" imported="no">sparse_bundle_adjustment/proj.h</includes>
    <includes id="csparse_8h" name="csparse.h" local="no" imported="no">sparse_bundle_adjustment/csparse.h</includes>
    <includes id="bpcg_8h" name="bpcg.h" local="no" imported="no">sparse_bundle_adjustment/bpcg/bpcg.h</includes>
    <class kind="class">sba::ConP2</class>
    <class kind="class">sba::ConP3P</class>
    <class kind="class">sba::ConScale</class>
    <class kind="class">sba::SysSBA</class>
    <class kind="class">sba::SysSPA</class>
    <namespace>sba</namespace>
    <member kind="define">
      <type>#define</type>
      <name>EIGEN_USE_NEW_STDVECTOR</name>
      <anchorfile>sba_8h.html</anchorfile>
      <anchor>add81a3e8d99fc68c376b2e54acb2412c</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>SBA_BLOCK_JACOBIAN_PCG</name>
      <anchorfile>sba_8h.html</anchorfile>
      <anchor>a49e15cf1195081030daa26df41a1ba07</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>SBA_DENSE_CHOLESKY</name>
      <anchorfile>sba_8h.html</anchorfile>
      <anchor>a8e484cd4de639c70427fa1e846a97c12</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>SBA_GRADIENT</name>
      <anchorfile>sba_8h.html</anchorfile>
      <anchor>a19ad1b73df6bbad3a8161d0388bd01bd</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>SBA_SPARSE_CHOLESKY</name>
      <anchorfile>sba_8h.html</anchorfile>
      <anchor>a2340d2c1f8e0a9d9b08867ae265ea13d</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>readP2File</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ab7b4a2d5ca90673ce2b9f3c42c26f593</anchor>
      <arglist>(char *fname, SysSPA spa)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>sba_file_io.cpp</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/src/</path>
    <filename>sba__file__io_8cpp.html</filename>
    <includes id="sba__file__io_8h" name="sba_file_io.h" local="yes" imported="no">sparse_bundle_adjustment/sba_file_io.h</includes>
    <member kind="function">
      <type>void</type>
      <name>addnode</name>
      <anchorfile>sba__file__io_8cpp.html</anchorfile>
      <anchor>a2fdb0ac1e60830ca0d5956b5d57fe1a2</anchor>
      <arglist>(SysSPA &amp;spa, int n, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; ntrans, std::vector&lt; Eigen::Vector4d, Eigen::aligned_allocator&lt; Eigen::Vector4d &gt; &gt; nqrot, std::vector&lt; Eigen::Vector2i, Eigen::aligned_allocator&lt; Eigen::Vector2i &gt; &gt; cind, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; ctrans, std::vector&lt; Eigen::Vector4d, Eigen::aligned_allocator&lt; Eigen::Vector4d &gt; &gt; cqrot, std::vector&lt; Eigen::Matrix&lt; double, 6, 6 &gt;, Eigen::aligned_allocator&lt; Eigen::Matrix&lt; double, 6, 6 &gt; &gt; &gt; prec)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>make_covar</name>
      <anchorfile>sba__file__io_8cpp.html</anchorfile>
      <anchor>a6a2c6dc267bbcc2f7a4cd04189ee382f</anchor>
      <arglist>(double *cv, Matrix&lt; double, 6, 6 &gt; &amp;m)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>make_qrot</name>
      <anchorfile>sba__file__io_8cpp.html</anchorfile>
      <anchor>a4e9291105a8292cab57ebdf96761aacf</anchor>
      <arglist>(double rr, double rp, double ry, Vector4d &amp;v)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>sba_file_io.h</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/include/sparse_bundle_adjustment/</path>
    <filename>sba__file__io_8h.html</filename>
    <includes id="sba_8h" name="sba.h" local="yes" imported="no">sparse_bundle_adjustment/sba.h</includes>
    <namespace>Eigen</namespace>
    <namespace>sba</namespace>
    <member kind="define">
      <type>#define</type>
      <name>EIGEN_USE_NEW_STDVECTOR</name>
      <anchorfile>sba__file__io_8h.html</anchorfile>
      <anchor>add81a3e8d99fc68c376b2e54acb2412c</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>Matrix&lt; double, 11, 1 &gt;</type>
      <name>Vector11d</name>
      <anchorfile>namespaceEigen.html</anchorfile>
      <anchor>addecd22b2a4abf684454f382d7c9754d</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>Matrix&lt; double, 5, 1 &gt;</type>
      <name>Vector5d</name>
      <anchorfile>namespaceEigen.html</anchorfile>
      <anchor>aeac7665a16d30e47fc747088f298fb70</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ParseBundlerFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ad8308284235ed8204d8c8b821fca378d</anchor>
      <arglist>(const char *fin, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;camp, std::vector&lt; Eigen::Matrix3d, Eigen::aligned_allocator&lt; Eigen::Matrix3d &gt; &gt; &amp;camR, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;camt, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;ptp, std::vector&lt; Eigen::Vector3i, Eigen::aligned_allocator&lt; Eigen::Vector3i &gt; &gt; &amp;ptc, std::vector&lt; std::vector&lt; Eigen::Vector4d, Eigen::aligned_allocator&lt; Eigen::Vector4d &gt; &gt; &gt; &amp;ptt)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ParseGraphFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a6e423fed92965137a135309bae5582c6</anchor>
      <arglist>(const char *fin, std::vector&lt; Eigen::Vector5d, Eigen::aligned_allocator&lt; Eigen::Vector5d &gt; &gt; &amp;camps, std::vector&lt; Eigen::Vector4d, Eigen::aligned_allocator&lt; Eigen::Vector4d &gt; &gt; &amp;camqs, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;camts, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;ptps, std::vector&lt; std::vector&lt; Eigen::Vector11d, Eigen::aligned_allocator&lt; Eigen::Vector11d &gt; &gt; &gt; &amp;ptts)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ParseSPAGraphFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ab18639e861eaccd4d89b3ccc929332fe</anchor>
      <arglist>(const char *fin, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;ntrans, std::vector&lt; Eigen::Vector4d, Eigen::aligned_allocator&lt; Eigen::Vector4d &gt; &gt; &amp;nqrot, std::vector&lt; Eigen::Vector2i, Eigen::aligned_allocator&lt; Eigen::Vector2i &gt; &gt; &amp;cind, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;ctrans, std::vector&lt; Eigen::Vector4d, Eigen::aligned_allocator&lt; Eigen::Vector4d &gt; &gt; &amp;cqrot, std::vector&lt; Eigen::Matrix&lt; double, 6, 6 &gt;, Eigen::aligned_allocator&lt; Eigen::Matrix&lt; double, 6, 6 &gt; &gt; &gt; &amp;cvar)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>readBundlerFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a0319a48c9cfde272639f47cc6dbab690</anchor>
      <arglist>(const char *filename, sba::SysSBA &amp;sbaout)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>readGraphFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a08ec0fa6647f1db551e6d39a6b66778a</anchor>
      <arglist>(const char *filename, sba::SysSBA &amp;sbaout)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>readSPAGraphFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a243672e4edb3995a10192ef478a172c6</anchor>
      <arglist>(const char *filename, SysSPA &amp;spaout)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeA</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>af8de2a5b2fc3fd7b689a5741b7f686f9</anchor>
      <arglist>(const char *fname, SysSBA &amp;sba)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>writeBundlerFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a0a7db4da3db6e52c95a93c27c4c1110f</anchor>
      <arglist>(const char *filename, sba::SysSBA &amp;sbain)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>writeGraphFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a9f90cdba9e4a3a068e5883f74d2f82f4</anchor>
      <arglist>(const char *filename, SysSBA &amp;sba, bool mono=false)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeLourakisFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>aa1b422998b58b8ef88e9b3dc41284df3</anchor>
      <arglist>(const char *fname, SysSBA &amp;sba)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeSparseA</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a7d6bdb98683c63ec54186f97160cb903</anchor>
      <arglist>(const char *fname, SysSBA &amp;sba)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>sba_node.cpp</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/src/nodes/</path>
    <filename>sba__node_8cpp.html</filename>
    <includes id="sba__file__io_8h" name="sba_file_io.h" local="no" imported="no">sparse_bundle_adjustment/sba_file_io.h</includes>
    <includes id="sba_8h" name="sba.h" local="no" imported="no">sparse_bundle_adjustment/sba.h</includes>
    <includes id="visualization_8h" name="visualization.h" local="no" imported="no">sparse_bundle_adjustment/visualization.h</includes>
    <class kind="class">SBANode</class>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>sba__node_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>sba_setup.h</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/include/sparse_bundle_adjustment/</path>
    <filename>sba__setup_8h.html</filename>
    <includes id="sba_8h" name="sba.h" local="yes" imported="no">sparse_bundle_adjustment/sba.h</includes>
    <includes id="spa2d_8h" name="spa2d.h" local="yes" imported="no">sparse_bundle_adjustment/spa2d.h</includes>
    <member kind="function">
      <type>void</type>
      <name>spa2d_spiral_setup</name>
      <anchorfile>sba__setup_8h.html</anchorfile>
      <anchor>ab56c523f3d911d18e3690c4ed975ef70</anchor>
      <arglist>(SysSPA2d &amp;spa, vector&lt; Matrix&lt; double, 3, 1 &gt;, Eigen::aligned_allocator&lt; Matrix&lt; double, 3, 1 &gt; &gt; &gt; &amp;cps, Matrix&lt; double, 3, 3 &gt; prec, Matrix&lt; double, 3, 3 &gt; vprec, Matrix&lt; double, 3, 3 &gt; a10prec, Matrix&lt; double, 3, 3 &gt; a15prec, double kfang, double initang, double cycles, double pnoise, double qnoise, double snoise, double dpnoise, double dqnoise)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>spa_spiral_setup</name>
      <anchorfile>sba__setup_8h.html</anchorfile>
      <anchor>a66d3d4d7ec8eba50b0d9272770f11ec9</anchor>
      <arglist>(SysSPA &amp;spa, bool use_cross_links, vector&lt; Matrix&lt; double, 6, 1 &gt;, Eigen::aligned_allocator&lt; Matrix&lt; double, 6, 1 &gt; &gt; &gt; &amp;cps, Matrix&lt; double, 6, 6 &gt; prec, Matrix&lt; double, 6, 6 &gt; vprec, Matrix&lt; double, 6, 6 &gt; a10prec, Matrix&lt; double, 6, 6 &gt; a15prec, double kfang, double initang, double cycles, double pnoise, double qnoise, double snoise, double mpnoise, double mqnoise)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>sphere_setup</name>
      <anchorfile>sba__setup_8h.html</anchorfile>
      <anchor>aef1cf1fdadebd662c099da9588ef4f40</anchor>
      <arglist>(SysSBA &amp;sba, CamParams &amp;cpars, vector&lt; Matrix&lt; double, 6, 1 &gt;, Eigen::aligned_allocator&lt; Matrix&lt; double, 6, 1 &gt; &gt; &gt; &amp;cps, int ncams, int ncpts, int nccs, double inoise, double pnoise, double qnoise)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>spiral_setup</name>
      <anchorfile>sba__setup_8h.html</anchorfile>
      <anchor>a4eb4ce0f84be4f15639036e5b04db1a5</anchor>
      <arglist>(SysSBA &amp;sba, CamParams &amp;cpars, vector&lt; Matrix&lt; double, 6, 1 &gt;, Eigen::aligned_allocator&lt; Matrix&lt; double, 6, 1 &gt; &gt; &gt; &amp;cps, double s_near, double s_far, double ptsize, double kfang, double initang, double cycles, double inoise, double pnoise, double qnoise)</arglist>
    </member>
    <member kind="function">
      <type>long long</type>
      <name>utime</name>
      <anchorfile>sba__setup_8h.html</anchorfile>
      <anchor>a7f1d4ea2cb7abb52b93959d011174944</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>spa.cpp</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/src/</path>
    <filename>spa_8cpp.html</filename>
    <includes id="sba_8h" name="sba.h" local="yes" imported="no">sparse_bundle_adjustment/sba.h</includes>
    <namespace>sba</namespace>
    <member kind="define">
      <type>#define</type>
      <name>NORMALIZE_Q</name>
      <anchorfile>spa_8cpp.html</anchorfile>
      <anchor>a200af9bfd061ea9f4bfee2b0caf2fe12</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>readP2File</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ab7b4a2d5ca90673ce2b9f3c42c26f593</anchor>
      <arglist>(char *fname, SysSPA spa)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static long long</type>
      <name>utime</name>
      <anchorfile>spa_8cpp.html</anchorfile>
      <anchor>a070417a57f1376f220dd0bf4130544c8</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>spa2d.cpp</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/src/</path>
    <filename>spa2d_8cpp.html</filename>
    <includes id="spa2d_8h" name="spa2d.h" local="yes" imported="no">sparse_bundle_adjustment/spa2d.h</includes>
    <namespace>sba</namespace>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>getind</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a41ce6722575368b014f313098e06cb26</anchor>
      <arglist>(std::map&lt; int, int &gt; &amp;m, int ind)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static long long</type>
      <name>utime</name>
      <anchorfile>spa2d_8cpp.html</anchorfile>
      <anchor>a070417a57f1376f220dd0bf4130544c8</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>spa2d.h</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/include/sparse_bundle_adjustment/</path>
    <filename>spa2d_8h.html</filename>
    <includes id="csparse_8h" name="csparse.h" local="no" imported="no">sparse_bundle_adjustment/csparse.h</includes>
    <includes id="bpcg_8h" name="bpcg.h" local="no" imported="no">sparse_bundle_adjustment/bpcg/bpcg.h</includes>
    <class kind="class">sba::Con2dP2</class>
    <class kind="class">sba::Node2d</class>
    <class kind="class">sba::SysSPA2d</class>
    <namespace>sba</namespace>
    <member kind="define">
      <type>#define</type>
      <name>EIGEN_USE_NEW_STDVECTOR</name>
      <anchorfile>spa2d_8h.html</anchorfile>
      <anchor>add81a3e8d99fc68c376b2e54acb2412c</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>SBA_BLOCK_JACOBIAN_PCG</name>
      <anchorfile>spa2d_8h.html</anchorfile>
      <anchor>a49e15cf1195081030daa26df41a1ba07</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>SBA_DENSE_CHOLESKY</name>
      <anchorfile>spa2d_8h.html</anchorfile>
      <anchor>a8e484cd4de639c70427fa1e846a97c12</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>SBA_GRADIENT</name>
      <anchorfile>spa2d_8h.html</anchorfile>
      <anchor>a19ad1b73df6bbad3a8161d0388bd01bd</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>SBA_SPARSE_CHOLESKY</name>
      <anchorfile>spa2d_8h.html</anchorfile>
      <anchor>a2340d2c1f8e0a9d9b08867ae265ea13d</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>read2dP2File</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a4f0eb495104e180db243a3ecc449613e</anchor>
      <arglist>(char *fname, SysSPA2d spa)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>visualization.cpp</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/src/</path>
    <filename>visualization_8cpp.html</filename>
    <includes id="visualization_8h" name="visualization.h" local="no" imported="no">sparse_bundle_adjustment/visualization.h</includes>
    <namespace>sba</namespace>
    <member kind="function">
      <type>void</type>
      <name>drawGraph</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ac2a39c30436e65e7fe9273aa067b4e00</anchor>
      <arglist>(const SysSBA &amp;sba, const ros::Publisher &amp;camera_pub, const ros::Publisher &amp;point_pub, int decimation=1, int bicolor=0)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>visualization.h</name>
    <path>/tmp/ws/src/sparse_bundle_adjustment/include/sparse_bundle_adjustment/</path>
    <filename>visualization_8h.html</filename>
    <includes id="sba_8h" name="sba.h" local="no" imported="no">sparse_bundle_adjustment/sba.h</includes>
    <namespace>sba</namespace>
    <member kind="function">
      <type>void</type>
      <name>drawGraph</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ac2a39c30436e65e7fe9273aa067b4e00</anchor>
      <arglist>(const SysSBA &amp;sba, const ros::Publisher &amp;camera_pub, const ros::Publisher &amp;point_pub, int decimation=1, int bicolor=0)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>frame_common::CamParams</name>
    <filename>structframe__common_1_1CamParams.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>cx</name>
      <anchorfile>structframe__common_1_1CamParams.html</anchorfile>
      <anchor>a3a8fbe3d33c79fdfe460fb485ba14d4a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>cy</name>
      <anchorfile>structframe__common_1_1CamParams.html</anchorfile>
      <anchor>a37a3fb2d99715a867ce6e373aea31474</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>fx</name>
      <anchorfile>structframe__common_1_1CamParams.html</anchorfile>
      <anchor>a956a60e2fa32bc2ca6671476e2fcb87c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>fy</name>
      <anchorfile>structframe__common_1_1CamParams.html</anchorfile>
      <anchor>a3b4e5a8292606c22a720f3d37ec4e758</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>tx</name>
      <anchorfile>structframe__common_1_1CamParams.html</anchorfile>
      <anchor>a90686172a4ffb76eb423e4094425face</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::Con2dP2</name>
    <filename>classsba_1_1Con2dP2.html</filename>
    <member kind="function">
      <type>double</type>
      <name>calcErr</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>a9fd39ff64885c745bd83d6590f69b118</anchor>
      <arglist>(const Node2d &amp;nd0, const Node2d &amp;nd1)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>calcErrDist</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>a34fa9b5e7204c1fec071bebaae05e79f</anchor>
      <arglist>(const Node2d &amp;nd0, const Node2d &amp;nd1)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setJacobians</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>a0e9ac10f03201b10f750ba9cd65fad82</anchor>
      <arglist>(std::vector&lt; Node2d, Eigen::aligned_allocator&lt; Node2d &gt; &gt; &amp;nodes)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>amean</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>aca1eaf29cf4a60552208741cf4803af9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 1 &gt;</type>
      <name>err</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>a52e196510904b2a30bd2b6359b17a070</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>isValid</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>ab2a2a8e56dbfd15035ef3ee35e738e2b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>J0</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>af6a2fcac8e41078ce1861589a6b89f95</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>J0t</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>a8c0bccfd7ef907d4dd28f2f0c5e17b79</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>J1</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>ab9edb1c874d8543ef20c1fa2b8fb59cf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>J1t</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>a7fb9e9bb9d478630f6f099d72c9bbda0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nd1</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>a62c817cc9da808301ea8a0d470e50298</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>EIGEN_MAKE_ALIGNED_OPERATOR_NEW int</type>
      <name>ndr</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>aa6b77c881d013b973a48eb6c30b35a51</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>prec</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>aaa5087e758a14e1a91647978560284b3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Vector2d</type>
      <name>tmean</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>a94a7247b4efb070eaccd6a406fbd7c2c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>qScale</name>
      <anchorfile>classsba_1_1Con2dP2.html</anchorfile>
      <anchor>a3ba49c9d3ea4dc561f17a02877f5289b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::ConP2</name>
    <filename>classsba_1_1ConP2.html</filename>
    <member kind="function">
      <type>double</type>
      <name>calcErr</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>a3378d66df42dc381ef71c462b622c2b2</anchor>
      <arglist>(const Node &amp;nd0, const Node &amp;nd1)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>calcErrDist</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>a8f1945e238b93caac5bb0ca3978e1f78</anchor>
      <arglist>(const Node &amp;nd0, const Node &amp;nd1)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setJacobians</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>a359d59fe8e076827d53487a583f8bc44</anchor>
      <arglist>(std::vector&lt; Node, Eigen::aligned_allocator&lt; Node &gt; &gt; &amp;nodes)</arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 6, 1 &gt;</type>
      <name>err</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>a0bf61c7490bd00200403ca4ef45d7e01</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>isValid</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>a3e0e3bf6ac5a162339381892f030da5a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>J0</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>a6e168650fcd08d761aad15f1891b0025</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>J0t</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>ab32b4e88cdc56878ff6df6df2aa0aeae</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>J1</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>a844c4b17ce121fa1424d637854e1dc1e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>J1t</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>a734a0c6701e24e09e3a235e5f183e555</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nd1</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>a4e704f93cb9db7a31c5c78792c6e0cef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>EIGEN_MAKE_ALIGNED_OPERATOR_NEW int</type>
      <name>ndr</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>ab9556b013c224c83311e054bfc7ce0ef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>prec</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>aa9dbfe6c392e2b6d1df640214b9b4b48</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Quaternion&lt; double &gt;</type>
      <name>qpmean</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>a932e8c3cac444f619b951aaff86646fe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Vector3d</type>
      <name>tmean</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>a0cc3482d533df0afc988600b3f202b38</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>qScale</name>
      <anchorfile>classsba_1_1ConP2.html</anchorfile>
      <anchor>a04f8de2cb872beca535d147a87c34deb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::ConP3P</name>
    <filename>classsba_1_1ConP3P.html</filename>
    <member kind="function">
      <type>Eigen::Matrix&lt; double, 12, 1 &gt;</type>
      <name>calcErr</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>a8611a95df24376cfd734641ffa17feb0</anchor>
      <arglist>(const Node &amp;nd, const Point &amp;pt)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setJacobians</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>aabbb458e2148b7cd7cf098a00d5f5115</anchor>
      <arglist>(std::vector&lt; Node, Eigen::aligned_allocator&lt; Node &gt; &gt; nodes)</arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 12, 1 &gt;</type>
      <name>err</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>a57da04641a6b4e96f91ac54a08555808</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 6 &gt;</type>
      <name>Hpc</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>aa1e439f09a07ece554591942e91fc4af</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>isValid</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>a3c7da1166049bf7803ad4eb0b3954683</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>J10</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>a2e27bc9c09aa7c0145ebb0e023526c2d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>J11</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>adf670677088bbea7d651dbed76493c38</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>J20</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>a38fe84e86b2e0f5c89d828fdcb65f9a2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>J22</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>af66c83bba47b78a9fa1455872742383d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 12, 1 &gt;</type>
      <name>mean</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>a5405ee2138c49e88793acbcfd7634f0e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nd1</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>a69d811469a39f47bb97cfe4ef87e0ccf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nd2</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>ab46fe9aecafce95ccbc01817dd027ba3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>EIGEN_MAKE_ALIGNED_OPERATOR_NEW int</type>
      <name>ndr</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>aa902e41b99f55f3d5544078bedf4d88c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 12, 12 &gt;</type>
      <name>prec</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>acdfef2e12569acfc1aeafb7fd46863d6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 6, 3 &gt;</type>
      <name>Tpc</name>
      <anchorfile>classsba_1_1ConP3P.html</anchorfile>
      <anchor>ad9921e1d4778c998ecc6ddd9f8fd1534</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::ConScale</name>
    <filename>classsba_1_1ConScale.html</filename>
    <member kind="function">
      <type>double</type>
      <name>calcErr</name>
      <anchorfile>classsba_1_1ConScale.html</anchorfile>
      <anchor>ae978a640f30b1d53001939cad002a351</anchor>
      <arglist>(const Node &amp;nd0, const Node &amp;nd1, double alpha)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setJacobians</name>
      <anchorfile>classsba_1_1ConScale.html</anchorfile>
      <anchor>a557b6cc958b1d5a67f026f73d32c0bdd</anchor>
      <arglist>(std::vector&lt; Node, Eigen::aligned_allocator&lt; Node &gt; &gt; &amp;nodes)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>err</name>
      <anchorfile>classsba_1_1ConScale.html</anchorfile>
      <anchor>aa24ae9f439db99559b289dc0d11e9045</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>isValid</name>
      <anchorfile>classsba_1_1ConScale.html</anchorfile>
      <anchor>a789cbad1e2567caa4b841ab24a7d73a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Vector3d</type>
      <name>J0</name>
      <anchorfile>classsba_1_1ConScale.html</anchorfile>
      <anchor>a44cb630430e9e192c8ffd4f7d869f6d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Vector3d</type>
      <name>J1</name>
      <anchorfile>classsba_1_1ConScale.html</anchorfile>
      <anchor>adb60244523b9bc02f0785c6ca804dc63</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>ks</name>
      <anchorfile>classsba_1_1ConScale.html</anchorfile>
      <anchor>ad86ff91451e3e26213ad0102736f5cd0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>EIGEN_MAKE_ALIGNED_OPERATOR_NEW int</type>
      <name>nd0</name>
      <anchorfile>classsba_1_1ConScale.html</anchorfile>
      <anchor>a5843c428caa3d067f39bc88bd694978a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nd1</name>
      <anchorfile>classsba_1_1ConScale.html</anchorfile>
      <anchor>a815db1e8a777d62a76eb545d23a1a4ed</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>sv</name>
      <anchorfile>classsba_1_1ConScale.html</anchorfile>
      <anchor>a90029fc16ec9c7dea0cec8aa7222eabe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>w</name>
      <anchorfile>classsba_1_1ConScale.html</anchorfile>
      <anchor>a381f37522eea106d0ac2f28bdf3c2e76</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::CSparse</name>
    <filename>classsba_1_1CSparse.html</filename>
    <member kind="function">
      <type>void</type>
      <name>addDiagBlock</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a75ef866c7d758589a1980d024ad8ca28</anchor>
      <arglist>(Matrix&lt; double, 6, 6 &gt; &amp;m, int n)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>addOffdiagBlock</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a32501c1920637bbc70cff66ec5468f2e</anchor>
      <arglist>(Matrix&lt; double, 6, 6 &gt; &amp;m, int ii, int jj)</arglist>
    </member>
    <member kind="function">
      <type>EIGEN_MAKE_ALIGNED_OPERATOR_NEW</type>
      <name>CSparse</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a5fd8b2817a809e94ed01e49e6b37bd6a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>doBPCG</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a6befe3366fa4a875d4a8465ca89f585f</anchor>
      <arglist>(int iters, double tol, int sba_iter)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>doChol</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>af41116b0661c6669b66c4e4fdb16dc51</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>incDiagBlocks</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>abbe7d24471ed480f3440aa4bf950441f</anchor>
      <arglist>(double lam)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setupBlockStructure</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>ad976e7bd9a5a4544c0d9a62b35c154df</anchor>
      <arglist>(int n)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setupCSstructure</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>acee293c97be9470e6a713fd532b49914</anchor>
      <arglist>(double diaginc, bool init=false)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>uncompress</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a1f6378fd7d3a1cfa697072d80b421af7</anchor>
      <arglist>(MatrixXd &amp;m)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~CSparse</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a4198a16b03a01423943281985a52c564</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>cs *</type>
      <name>A</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a12e21d2f706a80f24e4ece3d3b835b8d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>asize</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a8c8566ed824edddd43d5b5a98e243c75</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>VectorXd</type>
      <name>B</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a26044a1ae38db2b301f8137af7d59bad</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>jacobiBPCG&lt; 6 &gt;</type>
      <name>bpcg</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a71e128f5e3007cd55cd2c12d03ee2284</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>vector&lt; map&lt; int, Matrix&lt; double, 6, 6 &gt;, less&lt; int &gt;, aligned_allocator&lt; Matrix&lt; double, 6, 6 &gt; &gt; &gt; &gt;</type>
      <name>cols</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a3810f08b3be4be807510e471d94e0428</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>csize</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a95aa67709ee024084833349b145d2813</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>vector&lt; Matrix&lt; double, 6, 6 &gt;, aligned_allocator&lt; Matrix&lt; double, 6, 6 &gt; &gt; &gt;</type>
      <name>diag</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a57ca77596bb85e69abb41c9b76151779</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nnz</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a965a979864784df0ec0d95cfa5c61b15</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>useCholmod</name>
      <anchorfile>classsba_1_1CSparse.html</anchorfile>
      <anchor>a53ea33dab3a24e2b10419b0dc9a22955</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::CSparse2d</name>
    <filename>classsba_1_1CSparse2d.html</filename>
    <member kind="function">
      <type>void</type>
      <name>addDiagBlock</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>a3bbda59edc46e3b9092e50fa62d4bd04</anchor>
      <arglist>(Matrix&lt; double, 3, 3 &gt; &amp;m, int n)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>addOffdiagBlock</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>a933ced82c5a3bba41e622ff0c40635c5</anchor>
      <arglist>(Matrix&lt; double, 3, 3 &gt; &amp;m, int ii, int jj)</arglist>
    </member>
    <member kind="function">
      <type>EIGEN_MAKE_ALIGNED_OPERATOR_NEW</type>
      <name>CSparse2d</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>a264e94ff36723f903557b597b61efd19</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>doBPCG</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>a3966491816b6b6105a67bcbf2878e4eb</anchor>
      <arglist>(int iters, double tol, int sba_iter)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>doChol</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>a455b3fcfafe3991d1de4dff457566596</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>doPCG</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>aaabc2c09bb8d608c710303e770ba4798</anchor>
      <arglist>(int iters)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>incDiagBlocks</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>ababf6a99d48592afbb9a09ec998b8ab5</anchor>
      <arglist>(double lam)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setupBlockStructure</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>ac8109229a63877048cf5428e99b83c2e</anchor>
      <arglist>(int n, bool eraseit=true)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setupCSstructure</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>ac5be66337bc35418380ee3907190f80f</anchor>
      <arglist>(double diaginc, bool init=false)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>uncompress</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>a3afbc09373db21bc1b89ed04c1f9e897</anchor>
      <arglist>(MatrixXd &amp;m)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~CSparse2d</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>afdb7654ea2cc356d3c158f73fd96940f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>cs *</type>
      <name>A</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>ac316366528b5cea819e8d0703973477c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>cs *</type>
      <name>AF</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>ae5374d4ab69bf889cb898a7c76f7f483</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>asize</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>aa0889842232cbe4335d8fc95054bd502</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>VectorXd</type>
      <name>B</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>adaaa1a774b9967fef7f36ba472499117</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>jacobiBPCG&lt; 3 &gt;</type>
      <name>bpcg</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>a5d141e46478cb5538acbdeabb7be2f7e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>VectorXd</type>
      <name>Bprev</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>aff172800d616639eea893e563fec7e38</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>vector&lt; map&lt; int, Matrix&lt; double, 3, 3 &gt;, less&lt; int &gt;, aligned_allocator&lt; Matrix&lt; double, 3, 3 &gt; &gt; &gt; &gt;</type>
      <name>cols</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>a3933f0297f7d83e92b4931f56e3dc108</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>csize</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>aea5abd71afa8aaaf36122ddf873bdefd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>vector&lt; Matrix&lt; double, 3, 3 &gt;, aligned_allocator&lt; Matrix&lt; double, 3, 3 &gt; &gt; &gt;</type>
      <name>diag</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>a8fc217edad7b9d2705fc143f96d0ae80</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nnz</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>a30e5aa4f233e9c98c8372d89317e8c75</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>useCholmod</name>
      <anchorfile>classsba_1_1CSparse2d.html</anchorfile>
      <anchor>a4cd25493dd8b6b27f778bf37b9b7c2c0</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::jacobiBPCG</name>
    <filename>classsba_1_1jacobiBPCG.html</filename>
    <templarg>N</templarg>
    <member kind="function">
      <type>int</type>
      <name>doBPCG</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>ae2876eb092bd51d84ed4c26c1a33d432</anchor>
      <arglist>(int iters, double tol, vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, vector&lt; map&lt; int, Matrix&lt; double, N, N &gt;, less&lt; int &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &gt; &amp;cols, VectorXd &amp;x, VectorXd &amp;b, bool abstol=false, bool verbose=false)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>doBPCG2</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a9a97156d708dc98ae0fe4f464fe81c90</anchor>
      <arglist>(int iters, double tol, vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, vector&lt; map&lt; int, Matrix&lt; double, N, N &gt;, less&lt; int &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &gt; &amp;cols, VectorXd &amp;x, VectorXd &amp;b, bool abstol=false, bool verbose=false)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>jacobiBPCG</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>add4cd4371f14539c55d7985dbb4d3ebe</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>residual</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>aaf57aece16e2dca19f6319ea914d1f0a</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>mD</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a8044c5e8b7b5df9a14afef1b8a9790f8</anchor>
      <arglist>(vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, VectorXd &amp;vin, VectorXd &amp;vout)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>mMV</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a9e447f5e6dad27cb8e2e4f8de41b63c5</anchor>
      <arglist>(vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, vector&lt; map&lt; int, Matrix&lt; double, N, N &gt;, less&lt; int &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &gt; &amp;cols, const VectorXd &amp;vin, VectorXd &amp;vout)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>mMV2</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a068546e14d025889e51ebc3e3a968ac2</anchor>
      <arglist>(vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, const VectorXd &amp;vin, VectorXd &amp;vout)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>vector&lt; int &gt;</type>
      <name>vcind</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>afe70db531836f64a12c6ad1ed8e1b898</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt;</type>
      <name>vcols</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>ac643f5bcf30b19403bd105c2ea4779c2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>vector&lt; int &gt;</type>
      <name>vrind</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a2da76127fa79465f5ec8fd774529aab2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>jacobiBPCG&lt; 3 &gt;</name>
    <filename>classsba_1_1jacobiBPCG.html</filename>
    <member kind="function">
      <type>int</type>
      <name>doBPCG</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>ae2876eb092bd51d84ed4c26c1a33d432</anchor>
      <arglist>(int iters, double tol, vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, vector&lt; map&lt; int, Matrix&lt; double, N, N &gt;, less&lt; int &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &gt; &amp;cols, VectorXd &amp;x, VectorXd &amp;b, bool abstol=false, bool verbose=false)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>doBPCG2</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a9a97156d708dc98ae0fe4f464fe81c90</anchor>
      <arglist>(int iters, double tol, vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, vector&lt; map&lt; int, Matrix&lt; double, N, N &gt;, less&lt; int &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &gt; &amp;cols, VectorXd &amp;x, VectorXd &amp;b, bool abstol=false, bool verbose=false)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>jacobiBPCG</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>add4cd4371f14539c55d7985dbb4d3ebe</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>residual</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>aaf57aece16e2dca19f6319ea914d1f0a</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>mD</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a8044c5e8b7b5df9a14afef1b8a9790f8</anchor>
      <arglist>(vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, VectorXd &amp;vin, VectorXd &amp;vout)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>mMV</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a9e447f5e6dad27cb8e2e4f8de41b63c5</anchor>
      <arglist>(vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, vector&lt; map&lt; int, Matrix&lt; double, N, N &gt;, less&lt; int &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &gt; &amp;cols, const VectorXd &amp;vin, VectorXd &amp;vout)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>mMV2</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a068546e14d025889e51ebc3e3a968ac2</anchor>
      <arglist>(vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, const VectorXd &amp;vin, VectorXd &amp;vout)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>vector&lt; int &gt;</type>
      <name>vcind</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>afe70db531836f64a12c6ad1ed8e1b898</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt;</type>
      <name>vcols</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>ac643f5bcf30b19403bd105c2ea4779c2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>vector&lt; int &gt;</type>
      <name>vrind</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a2da76127fa79465f5ec8fd774529aab2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>jacobiBPCG&lt; 6 &gt;</name>
    <filename>classsba_1_1jacobiBPCG.html</filename>
    <member kind="function">
      <type>int</type>
      <name>doBPCG</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>ae2876eb092bd51d84ed4c26c1a33d432</anchor>
      <arglist>(int iters, double tol, vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, vector&lt; map&lt; int, Matrix&lt; double, N, N &gt;, less&lt; int &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &gt; &amp;cols, VectorXd &amp;x, VectorXd &amp;b, bool abstol=false, bool verbose=false)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>doBPCG2</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a9a97156d708dc98ae0fe4f464fe81c90</anchor>
      <arglist>(int iters, double tol, vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, vector&lt; map&lt; int, Matrix&lt; double, N, N &gt;, less&lt; int &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &gt; &amp;cols, VectorXd &amp;x, VectorXd &amp;b, bool abstol=false, bool verbose=false)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>jacobiBPCG</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>add4cd4371f14539c55d7985dbb4d3ebe</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>residual</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>aaf57aece16e2dca19f6319ea914d1f0a</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>mD</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a8044c5e8b7b5df9a14afef1b8a9790f8</anchor>
      <arglist>(vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, VectorXd &amp;vin, VectorXd &amp;vout)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>mMV</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a9e447f5e6dad27cb8e2e4f8de41b63c5</anchor>
      <arglist>(vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, vector&lt; map&lt; int, Matrix&lt; double, N, N &gt;, less&lt; int &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &gt; &amp;cols, const VectorXd &amp;vin, VectorXd &amp;vout)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>mMV2</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a068546e14d025889e51ebc3e3a968ac2</anchor>
      <arglist>(vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt; &amp;diag, const VectorXd &amp;vin, VectorXd &amp;vout)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>vector&lt; int &gt;</type>
      <name>vcind</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>afe70db531836f64a12c6ad1ed8e1b898</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>vector&lt; Matrix&lt; double, N, N &gt;, aligned_allocator&lt; Matrix&lt; double, N, N &gt; &gt; &gt;</type>
      <name>vcols</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>ac643f5bcf30b19403bd105c2ea4779c2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>vector&lt; int &gt;</type>
      <name>vrind</name>
      <anchorfile>classsba_1_1jacobiBPCG.html</anchorfile>
      <anchor>a2da76127fa79465f5ec8fd774529aab2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::JacobProds</name>
    <filename>classsba_1_1JacobProds.html</filename>
    <member kind="function">
      <type>EIGEN_MAKE_ALIGNED_OPERATOR_NEW</type>
      <name>JacobProds</name>
      <anchorfile>classsba_1_1JacobProds.html</anchorfile>
      <anchor>a395a30939aad0a4b2de8cc3e39e20dc6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 1 &gt;</type>
      <name>Bp</name>
      <anchorfile>classsba_1_1JacobProds.html</anchorfile>
      <anchor>a7f9e7d0296d2cdcd35e6aaf8c9642443</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>Hcc</name>
      <anchorfile>classsba_1_1JacobProds.html</anchorfile>
      <anchor>aa83f8de0e48282a1d05a1b30c1a27d06</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 6 &gt;</type>
      <name>Hpc</name>
      <anchorfile>classsba_1_1JacobProds.html</anchorfile>
      <anchor>a20b0bcea7ae943bfde52e0905f4854e9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>Hpp</name>
      <anchorfile>classsba_1_1JacobProds.html</anchorfile>
      <anchor>ae29aebcc60bb2d4d1ab6d00dcf1a52b6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 6, 1 &gt;</type>
      <name>JcTE</name>
      <anchorfile>classsba_1_1JacobProds.html</anchorfile>
      <anchor>aec59b99afe1123502299376e941c2707</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::Node</name>
    <filename>classsba_1_1Node.html</filename>
    <member kind="function">
      <type>void</type>
      <name>normRot</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>ac8885001014a463fbde9c1349207ff23</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>normRotLocal</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a09cafd82cfbf9be1972d0043e7311385</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>project2im</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>ad6d5bbb4c8671f3fd94fc849ca4875ad</anchor>
      <arglist>(Eigen::Vector2d &amp;pi, const Point &amp;p) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>projectMono</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a05ba6cf6d299db667e641eb26df98a82</anchor>
      <arglist>(const Point &amp;pt, Eigen::Vector3d &amp;proj)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>projectStereo</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a9a614fe1b5ec09991cee9a3b2e5298f1</anchor>
      <arglist>(const Point &amp;pt, Eigen::Vector3d &amp;proj)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setDr</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>ae57b6272f1a3113b7b39fab20af9b5b3</anchor>
      <arglist>(bool local=false)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setDri</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a183a26b1b726a9993aaa8f43d208f1d0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setKcam</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>ae407357b412b4d4c4d67562443b87949</anchor>
      <arglist>(const fc::CamParams &amp;cp)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setProjection</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>aff44d6d47d3c9159fe675707927816b4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setTransform</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a91fcd6e273edf319fbff892aa6364a36</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>initDr</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>ab80707d1432f500ab17a43959dba8fde</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>baseline</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a691d0fbe2c6420d77f6d9f54749974c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>dRdx</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a2c9ebce86b15c06f414cfc72a2c2653f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>dRdy</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a5be2bf1573ca3b2702aaed1ae82be62b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>dRdz</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>ac1ccbc6c33a34e4e6e4a4134bf1e54af</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>isFixed</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a35f46268501d0115b5e27aac25e49b7a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>Kcam</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a3d651936123a958635dc0ee4fabdaf22</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Quaternion&lt; double &gt;</type>
      <name>oldqrot</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a475a891f4ec64bbe8aadf6a95a0bc264</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 4, 1 &gt;</type>
      <name>oldtrans</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a7bdfca17e8751d37af6845e8b209fdc9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Quaternion&lt; double &gt;</type>
      <name>qrot</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>ab26b552a59fa7773179a471a3c70e1b0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>EIGEN_MAKE_ALIGNED_OPERATOR_NEW Eigen::Matrix&lt; double, 4, 1 &gt;</type>
      <name>trans</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a26fa629de3aedccdb990d7f2b151158e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 4 &gt;</type>
      <name>w2i</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>aaad20ebba75481fe82593110911f9303</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 4 &gt;</type>
      <name>w2n</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a7f58596c66425af163229cba662c39ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static Eigen::Matrix3d</type>
      <name>dRidx</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a69e116b0e49f9c387a3f0501e84e8af6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static Eigen::Matrix3d</type>
      <name>dRidy</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>a35906a6a82c468b31cafc563e3173f53</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static Eigen::Matrix3d</type>
      <name>dRidz</name>
      <anchorfile>classsba_1_1Node.html</anchorfile>
      <anchor>abcf34583c5f99f69e0b265bddfacc28b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::Node2d</name>
    <filename>classsba_1_1Node2d.html</filename>
    <member kind="function">
      <type>void</type>
      <name>normArot</name>
      <anchorfile>classsba_1_1Node2d.html</anchorfile>
      <anchor>a000b3fdefe5dba6734334ee7b199a5e8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setDr</name>
      <anchorfile>classsba_1_1Node2d.html</anchorfile>
      <anchor>a940141ff9e00e5d6861ec3238d529797</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setTransform</name>
      <anchorfile>classsba_1_1Node2d.html</anchorfile>
      <anchor>aa9e45306d562b654b03c524a69df8430</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>arot</name>
      <anchorfile>classsba_1_1Node2d.html</anchorfile>
      <anchor>a8a5536b18f8ff5805f642b4bebb89601</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix2d</type>
      <name>dRdx</name>
      <anchorfile>classsba_1_1Node2d.html</anchorfile>
      <anchor>a1ec1f33b552f460d8a7dc2864181bf93</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>isFixed</name>
      <anchorfile>classsba_1_1Node2d.html</anchorfile>
      <anchor>ad28f4b99a0d6e9eb177dafa795b020de</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>EIGEN_MAKE_ALIGNED_OPERATOR_NEW int</type>
      <name>nodeId</name>
      <anchorfile>classsba_1_1Node2d.html</anchorfile>
      <anchor>a20ea48f59f8a2322c309734a287b67f5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>oldarot</name>
      <anchorfile>classsba_1_1Node2d.html</anchorfile>
      <anchor>aaadf13488821f3564efcf1b143ecf9fb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 1 &gt;</type>
      <name>oldtrans</name>
      <anchorfile>classsba_1_1Node2d.html</anchorfile>
      <anchor>a606dccd26ff0556d31fe13ba7462d43b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 1 &gt;</type>
      <name>trans</name>
      <anchorfile>classsba_1_1Node2d.html</anchorfile>
      <anchor>abf5ea038bcd16bcb773414b29177b8e1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 2, 3 &gt;</type>
      <name>w2n</name>
      <anchorfile>classsba_1_1Node2d.html</anchorfile>
      <anchor>ae7af771a04e45c6afd547922af105c38</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::Proj</name>
    <filename>classsba_1_1Proj.html</filename>
    <member kind="function">
      <type>double</type>
      <name>calcErr</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>add32c5f813650975263003b3b27c4f12</anchor>
      <arglist>(const Node &amp;nd, const Point &amp;pt, double huber=0.0)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>clearCovariance</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a2755d3b9301ceb555d6971b7d139a561</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getErrNorm</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>aa2c75d49b3e6193c6eff8868e966d49a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getErrSquaredNorm</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a391f13fbc64633a803d9143c0f3836dc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Proj</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a977b1e8bc9d5dcbc039f5baa3c0b782b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Proj</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a9efddba3156c2e2a8034397b58f731cd</anchor>
      <arglist>(int ci, Eigen::Vector2d &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>EIGEN_MAKE_ALIGNED_OPERATOR_NEW</type>
      <name>Proj</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>ac59460356ccb10651de32203b53e8350</anchor>
      <arglist>(int ci, Eigen::Vector3d &amp;q, bool stereo=true)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setCovariance</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>ab9286e2638441de6869eea272a97cef8</anchor>
      <arglist>(const Eigen::Matrix3d &amp;covar)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setJacobians</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a4c0d8d290d6e9c43408d2f30dcd79841</anchor>
      <arglist>(const Node &amp;nd, const Point &amp;pt, JacobProds *jpp)</arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>covarmat</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>ac6312d1486488f596257e1d41e6f28d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Vector3d</type>
      <name>err</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a4db7d5109ce38567a3dace5ff74bce98</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>isValid</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a075bac1df8c81be6dc28504bfea013a3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>JacobProds *</type>
      <name>jp</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>ad762b7d8baca91b5bcaba2e293e17b40</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Vector3d</type>
      <name>kp</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a0c47b87a71f8b298e080843d5a71b533</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>ndi</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a1faa198dac7f7c51a09f9b74709bfb5c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Vector3d</type>
      <name>plane_local_normal</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a1b9827b7657fa8a2c1890a454d6509c6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>plane_node_index</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>ae403270a6dac9d41f9a12d98de958503</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Vector3d</type>
      <name>plane_normal</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a7970412dfa26b8ffd63fdf1a0cab8d50</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Vector3d</type>
      <name>plane_point</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>aa17d4e31b66f4d26d5d7d81c113092a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>plane_point_index</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a0423404cab13ee593277ae5ac6079dbd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>pointPlane</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a6678c1f5c44c97e2cc89891775ba3bd2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>stereo</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a0940aac4a19e0f31374dd2691a9257ac</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 6, 3 &gt;</type>
      <name>Tpc</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>abbbd0bdc72504f3ba16b30b87691a3d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>useCovar</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>aa931bb041cb9db40702e3afab007c13f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>qScale</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a93b7d196dfe8f12ea5d98801de3120e8</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>calcErrMono_</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a550136c24118aa0295d7e3f0d0fec365</anchor>
      <arglist>(const Node &amp;nd, const Point &amp;pt, double huber)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>calcErrStereo_</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>ad941092f03a6429c817299c1f0500c3e</anchor>
      <arglist>(const Node &amp;nd, const Point &amp;pt, double huber)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setJacobiansMono_</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>a043829aef9e1a97abfd64d42b6cc88fd</anchor>
      <arglist>(const Node &amp;nd, const Point &amp;pt, JacobProds *jpp)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setJacobiansStereo_</name>
      <anchorfile>classsba_1_1Proj.html</anchorfile>
      <anchor>aad92e92355bf3d52b7a53cb1c5fbc70c</anchor>
      <arglist>(const Node &amp;nd, const Point &amp;pt, JacobProds *jpp)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>SBANode</name>
    <filename>classSBANode.html</filename>
    <member kind="function">
      <type>void</type>
      <name>addFrame</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>a9060112b66dfab20fcf4bac8cd7a85d5</anchor>
      <arglist>(const sba::Frame::ConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>addNode</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>afa58d8c2eff8fe664d8da4e1390be470</anchor>
      <arglist>(const sba::CameraNode &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>addPoint</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>a42e41e002968ef460f80b4649996bcb3</anchor>
      <arglist>(const sba::WorldPoint &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>addProj</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>a1412a7681014ea7f8e84b0c1e32be8e5</anchor>
      <arglist>(const sba::Projection &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>doSBA</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>a94f3cea9f7e9363cd63be03fbffaa388</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>publishTopics</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>a048ad2c760d204b44c8b4bff11fb4c51</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SBANode</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>a4a7a5ee6c0ca21b05ca1f78a03eaabdc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>ros::Publisher</type>
      <name>cam_marker_pub</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>a53ef2f68fada64fc030fdda3dbfbbc59</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Subscriber</type>
      <name>frame_sub</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>a8382f0d61abd2245609ae79b106d9068</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::NodeHandle</type>
      <name>n</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>a3b09146b4e929a68a0d4893aefdf6f80</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::map&lt; unsigned int, unsigned int &gt;</type>
      <name>node_indices</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>ad40364b7877c702519effa2c73743f51</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::map&lt; unsigned int, unsigned int &gt;</type>
      <name>point_indices</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>a445f850a0ebdd142f6a90bd9af67625e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Publisher</type>
      <name>point_marker_pub</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>ac4873bdfffd08de401e2da73cf54f4fb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>SysSBA</type>
      <name>sba</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>adc8511879c895f5e5efe2051f7dec6ea</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Timer</type>
      <name>timer_sba</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>aa0811adf30db70f8289203f7090c2cc6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Timer</type>
      <name>timer_vis</name>
      <anchorfile>classSBANode.html</anchorfile>
      <anchor>ab018ed3d9a9031b56f3eb28ca8e3e18b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::SysSBA</name>
    <filename>classsba_1_1SysSBA.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>addMonoProj</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a3afa267e6b0bbfb1e159cf9837f76d90</anchor>
      <arglist>(int ci, int pi, Eigen::Vector2d &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>addNode</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a12766f794ae22f2934ef59226db5fd07</anchor>
      <arglist>(Eigen::Matrix&lt; double, 4, 1 &gt; &amp;trans, Eigen::Quaternion&lt; double &gt; &amp;qrot, const fc::CamParams &amp;cp, bool isFixed=false)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>addPoint</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>accfe40edc13bb610be7488e273b4e666</anchor>
      <arglist>(Point p)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>addPointPlaneMatch</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a4bb43a1d3788527a4e2b3e8714f5cbe7</anchor>
      <arglist>(int ci0, int pi0, Eigen::Vector3d normal0, int ci1, int pi1, Eigen::Vector3d normal1)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>addProj</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a127cf0bfdc2d00829e07fc1574c61a94</anchor>
      <arglist>(int ci, int pi, Eigen::Vector3d &amp;q, bool stereo=true)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>addStereoProj</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a35198fa61bac8d39f3b989c9e2a134c3</anchor>
      <arglist>(int ci, int pi, Eigen::Vector3d &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>calcAvgError</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>ab59aafad8e66c37c1271e50c4498b694</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>calcCost</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>aeb6853a7961cee949417f76589007707</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>calcCost</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a0fd7067a59974f321da4d04244a7ebd6</anchor>
      <arglist>(double dist)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>calcRMSCost</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a123677646140fe42934621e1699a49ac</anchor>
      <arglist>(double dist=10000.0)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>countBad</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a73d4dd66137cc797fbd68fd20c83a46e</anchor>
      <arglist>(double dist)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>countProjs</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a46a7775da1c2eaa298f74b63b13402c0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>doSBA</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>ac872e2da5fff9c22d0dda2b553ff4f64</anchor>
      <arglist>(int niter, double lambda=1.0e-4, int useCSparse=0, double initTol=1.0e-8, int maxCGiters=100)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mergeTracks</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a862ead0f5c287cca870deea429c04915</anchor>
      <arglist>(std::vector&lt; std::pair&lt; int, int &gt; &gt; &amp;prs)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>mergeTracksSt</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a229188d52413a3452b3d3dae8b422b77</anchor>
      <arglist>(int tr0, int tr1)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>numBadPoints</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a5e4316981c66a340087e5d95ebd4e8d2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>printStats</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a18b7e65d84b4d38ee381b5ba913ac333</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>reduceLongTracks</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>aae5a77c74a8fc5b80e13099c37a82584</anchor>
      <arglist>(double pct)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>reduceTracks</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>ad1ece8993ecfedc0f12d446f782482be</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>remExcessTracks</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>ae9dd51254b6fa4d708032ee99e96a4d3</anchor>
      <arglist>(int minpts)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>removeBad</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>abf3f0c6568dc764d7a69e635678854f5</anchor>
      <arglist>(double dist)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setConnMat</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a50589fffbc183714705feacc4af57a57</anchor>
      <arglist>(int minpts)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setConnMatReduced</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a40f1101ccab880e15f6429f124128d52</anchor>
      <arglist>(int maxconns)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setProjCovariance</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a9807bc266e422a496df1e784abdc417c</anchor>
      <arglist>(int ci, int pi, Eigen::Matrix3d &amp;covar)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setupSparseSys</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a8a82e84f05e1573576210f3962c2cc96</anchor>
      <arglist>(double sLambda, int iter, int sparseType)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setupSys</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a0f0b432a59a34cd3a52e092f31df8ad0</anchor>
      <arglist>(double sLambda)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SysSBA</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>af368225886f8ab13a1c79fabdce7a7ea</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateNormals</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a6406fc077309e2bba860677449f82e75</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>useCholmod</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>aae2b55b947e4508d701aa0deaa158b47</anchor>
      <arglist>(bool yes)</arglist>
    </member>
    <member kind="variable">
      <type>Eigen::MatrixXd</type>
      <name>A</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a875ff6a166c57f45e35aa1f016c2ca31</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::VectorXd</type>
      <name>B</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a27d90d273e6b8079165bb290acfaf1a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; std::vector&lt; bool &gt; &gt;</type>
      <name>connMat</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a7e07dac81e07a1b8e30d5ef4bc24910c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>CSparse</type>
      <name>csp</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a170ee085acf7c9063be82975fc719b37</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>huber</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>acc411556b542b4022447f6c767b5c70c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>lambda</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>aeb23c0977389f0ea40b8bb256343a3ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nFixed</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a674d21e05f6a6e0ed9773e72f3acd76a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; Node, Eigen::aligned_allocator&lt; Node &gt; &gt;</type>
      <name>nodes</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>ad5fb7589bf3a01451facbf6c45810110</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>sqMinDelta</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a972479d6858f0c4c11f18102ca2ce53f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>long long</type>
      <name>t0</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>ada11f684073f8100578b09081dab065e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>long long</type>
      <name>t1</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a35a7ec103cfc5c359e2728f5ffe3612d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>long long</type>
      <name>t2</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>ae877118b9d91887ea1bc9df196807e32</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>long long</type>
      <name>t3</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>ab5c8202d9b16abaeda88ead637320e72</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>long long</type>
      <name>t4</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>aaf444cf63447317a94df05bfe3c8edc8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; Track, Eigen::aligned_allocator&lt; Track &gt; &gt;</type>
      <name>tracks</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a997b30c56d55ba809be323eed2ae8e3a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>useLocalAngles</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a645206a434094fae07e0e64ecee8e4a4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>EIGEN_MAKE_ALIGNED_OPERATOR_NEW int</type>
      <name>verbose</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a13415f6b3aaa8c2adcad45ea20bc9ae3</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="protected">
      <type>vector&lt; map&lt; int, int &gt; &gt;</type>
      <name>generateConns_</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>ae1b97c9b12696e68ba3d9758f11b65dc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>tsplit</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>aaac76587e72495833429462002796d8a</anchor>
      <arglist>(int tri, int len)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; JacobProds, Eigen::aligned_allocator&lt; JacobProds &gt; &gt;</type>
      <name>jps</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>a95bec05a9c03caacb05879fa8a5caac6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; Point, Eigen::aligned_allocator&lt; Point &gt; &gt;</type>
      <name>oldpoints</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>ac0daee3aadad6e593a4674d61a5906f2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt;</type>
      <name>tps</name>
      <anchorfile>classsba_1_1SysSBA.html</anchorfile>
      <anchor>ab16b3abeba0718ecc9bfb0204d5872ac</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::SysSPA</name>
    <filename>classsba_1_1SysSPA.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>addConstraint</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a98131612aec74ce04bef0aeb1aa4be94</anchor>
      <arglist>(int nd0, int nd1, Eigen::Vector3d &amp;tmean, Eigen::Quaterniond &amp;qpmean, Eigen::Matrix&lt; double, 6, 6 &gt; &amp;prec)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>addConstraint</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a03a2f303f64f82e9029578af9c19537c</anchor>
      <arglist>(int pr, int p0, int p1, Eigen::Matrix&lt; double, 12, 1 &gt; &amp;mean, Eigen::Matrix&lt; double, 12, 12 &gt; &amp;prec)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>addNode</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a75fc69fe5daa12758688ad0199a690d0</anchor>
      <arglist>(Eigen::Matrix&lt; double, 4, 1 &gt; &amp;trans, Eigen::Quaternion&lt; double &gt; &amp;qrot, bool isFixed=false)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>calcCost</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a429d2edeb34145338b3ad5ce5cb7b569</anchor>
      <arglist>(bool tcost=false)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>calcCost</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>ae38a3b7501c7f5dad503c11ee8f676f3</anchor>
      <arglist>(double dist)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>doSPA</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a6ae24170d648c319594eb224d316a8a6</anchor>
      <arglist>(int niter, double sLambda=1.0e-4, int useCSparse=SBA_SPARSE_CHOLESKY, double initTol=1.0e-8, int CGiters=50)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>printStats</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a4ecfab4b01a28f50240ea55c51420680</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setupSparseSys</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>aa5cfd2f1d7e1848b98ab00bdd725e04a</anchor>
      <arglist>(double sLambda, int iter, int sparseType)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setupSys</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a564719caecdd42df1be94e769587f364</anchor>
      <arglist>(double sLambda)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>spanningTree</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a0136b58fd0ca4d44ee0ae58ec6f59929</anchor>
      <arglist>(int node=0)</arglist>
    </member>
    <member kind="function">
      <type>EIGEN_MAKE_ALIGNED_OPERATOR_NEW</type>
      <name>SysSPA</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a1a1ee682d79ab159f367cfc43415e97a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeSparseA</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>abbb8418740b8dce21e22c0f6ec0969ff</anchor>
      <arglist>(char *fname, bool useCSparse=false)</arglist>
    </member>
    <member kind="variable">
      <type>Eigen::MatrixXd</type>
      <name>A</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a2e0c2c72b3443e5ebb72c7ce685d58f3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::VectorXd</type>
      <name>B</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a38f2be311ac74c9ea23346865b78cb8f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>CSparse</type>
      <name>csp</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a4f0ded0137c5af3941a3f4a06bcd8b12</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>lambda</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>afcc7cdfbeaa4bb4ea6a4c128e4963fdf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nFixed</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a9229dfeb80378a025845331abb80a17e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; Node, Eigen::aligned_allocator&lt; Node &gt; &gt;</type>
      <name>nodes</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a78e44938ae617225eca2326a9c37b3c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 4, 1 &gt;</type>
      <name>oldqrot</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a9c60a6bcc838ad100f78c603c74b4064</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Matrix&lt; double, 4, 1 &gt;</type>
      <name>oldtrans</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a2b8eda219fd37502eba2c9c76654eddc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; ConP2, Eigen::aligned_allocator&lt; ConP2 &gt; &gt;</type>
      <name>p2cons</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a620c6c5a190cb8f1100cc603217a05e2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; double &gt;</type>
      <name>scales</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>aec2d980ca8a6793c080f617f2fb94709</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; ConScale, Eigen::aligned_allocator&lt; ConScale &gt; &gt;</type>
      <name>scons</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>ab940f55fbc4f55eddc6e25af7463c164</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>sqMinDelta</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>a85c8f33bd057b87ffca464a4863db66a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>useLocalAngles</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>aab84439417df324acda2c8b81f79e8d6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>verbose</name>
      <anchorfile>classsba_1_1SysSPA.html</anchorfile>
      <anchor>aad78b6230f87f2afd568cdc3dcbfaf9c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::SysSPA2d</name>
    <filename>classsba_1_1SysSPA2d.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>addConstraint</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>afd9acc52209e8837b1e1cfca87f1f261</anchor>
      <arglist>(int nd0, int nd1, const Vector3d &amp;mean, const Matrix3d &amp;prec)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>addNode</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a32953b8d73348965f18c752ebbcce609</anchor>
      <arglist>(const Vector3d &amp;pos, int id)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>calcCost</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>afb063f9c96a3a69a7711a66c87144673</anchor>
      <arglist>(bool tcost=false)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>calcCost</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>aa9e0c857df8c0944d2879bf2ff798a56</anchor>
      <arglist>(double dist)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>doSPA</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a4ab7a3c50154b0652abe913f07b84315</anchor>
      <arglist>(int niter, double sLambda=1.0e-4, int useCSparse=SBA_SPARSE_CHOLESKY, double initTol=1.0e-8, int CGiters=50)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>doSPAwindowed</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a872c7ade5f60cacc4dcdb76ffb96ddac</anchor>
      <arglist>(int window, int niter, double sLambda, int useCSparse)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getGraph</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a8681ebf167d0b89ba72aca465d1644a6</anchor>
      <arglist>(std::vector&lt; float &gt; &amp;graph)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; Node2d, Eigen::aligned_allocator&lt; Node2d &gt; &gt;</type>
      <name>getNodes</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>ab3baa8b65a3d3b9156f02609a8eee42b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>printStats</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>adba8d8516a0a8084a71adf3d888f56c1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>removeConstraint</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a3c584b3037b191c65deca492cd0c1a9e</anchor>
      <arglist>(int ndi0, int ndi1)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>removeNode</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>ac1ee66afca9f0aaf8d710de5f3f4af22</anchor>
      <arglist>(int id)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setupSparseSys</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a58700586bc0855aa48785b0ec2168c63</anchor>
      <arglist>(double sLambda, int iter, int sparseType)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setupSys</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>aa7bb86b95fbd44f1de77e33c96a11daa</anchor>
      <arglist>(double sLambda)</arglist>
    </member>
    <member kind="function">
      <type>EIGEN_MAKE_ALIGNED_OPERATOR_NEW</type>
      <name>SysSPA2d</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a0f5921951531caaef5d0605f6c4562fa</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>useCholmod</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>ab58a60f64f6f5ade4532ccd7f63ba76b</anchor>
      <arglist>(bool yes)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeSparseA</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a80523222b79b71c18cdf064966101a3a</anchor>
      <arglist>(char *fname, bool useCSparse=false)</arglist>
    </member>
    <member kind="variable">
      <type>Eigen::MatrixXd</type>
      <name>A</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a2cef93d4965083a3c54b232bc5794212</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::VectorXd</type>
      <name>B</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>af4fd7f60ec45477d25473b8d8f4ae989</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>CSparse2d</type>
      <name>csp</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a721941c3029d09ed4cb9bdfa76f334ca</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>errcost</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a75e73d58edd583bc87e3c26904232f50</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>lambda</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>ac76b7c8881fae1206740b6b14c80b04e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nFixed</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a0bc004d0797b0e07db8cd15b8c40922f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; Node2d, Eigen::aligned_allocator&lt; Node2d &gt; &gt;</type>
      <name>nodes</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>aa574f5d2feea71082803b83fbd4e2668</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; Con2dP2, Eigen::aligned_allocator&lt; Con2dP2 &gt; &gt;</type>
      <name>p2cons</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>af401e7f589f5c5befaca57f50fa83ef4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>print_iros_stats</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a3b632cad9add2844646fd2d14c2e527e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; std::vector&lt; Eigen::Vector2d, Eigen::aligned_allocator&lt; Eigen::Vector2d &gt; &gt; &gt;</type>
      <name>scans</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a84eb1a5d0ebb8fce0aa507e6bf36f5e0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>sqMinDelta</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>ae028dfce25879f14b484a2287997df25</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>verbose</name>
      <anchorfile>classsba_1_1SysSPA2d.html</anchorfile>
      <anchor>a5ff11fcb3b438286577189c5151a4848</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>tinfo</name>
    <filename>structtinfo.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>fn0</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>a26b07f58b17e355a361d7a00d0b78646</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>fn1</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>a2f6362da089a508ce7e40bf95ea24cf8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>fpn0</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>a0076252767fd42966318f5447fe34df3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>fpn1</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>acb7b9385bc79d632720a5ae418160ddb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>pn</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>acb1828f8b524c9f43728df9fa87eb4d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>u0</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>a68509d89a554f5b8de812749852f9d0f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>u1</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>a1945da2302d84bec6b18259aa3a35838</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>v0</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>a75dfbef0c4993dd40c3cc4d7051186e6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>v1</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>a51824458395d3733982bb7070fb0f9dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>x0</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>a3c31686517d5ec6ee0f13211109fd7f2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>x1</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>a238d0c01e86d4dd2067e73fdec67359e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>y0</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>ad75e02848b3386c5de25c6f9c9c9c7d5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>y1</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>a1b17669a69bb91c114a1b820b9e4229e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>z0</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>a93b5181f40426f75391345403fcf6e98</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>z1</name>
      <anchorfile>structtinfo.html</anchorfile>
      <anchor>a8a7db50c7cceaab6ae9dc3596230e70c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>sba::Track</name>
    <filename>classsba_1_1Track.html</filename>
    <member kind="function">
      <type></type>
      <name>Track</name>
      <anchorfile>classsba_1_1Track.html</anchorfile>
      <anchor>a734942219c2bbd15959f191785ecd411</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Track</name>
      <anchorfile>classsba_1_1Track.html</anchorfile>
      <anchor>a0b88b61e791a34c048ddf5c3ec03a165</anchor>
      <arglist>(Point p)</arglist>
    </member>
    <member kind="variable">
      <type>Point</type>
      <name>point</name>
      <anchorfile>classsba_1_1Track.html</anchorfile>
      <anchor>aa71adaea9a710e861de5cd01a20549d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ProjMap</type>
      <name>projections</name>
      <anchorfile>classsba_1_1Track.html</anchorfile>
      <anchor>a57496cc565f971d319beb30c680f14c8</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>Eigen</name>
    <filename>namespaceEigen.html</filename>
    <member kind="typedef">
      <type>Matrix&lt; double, 11, 1 &gt;</type>
      <name>Vector11d</name>
      <anchorfile>namespaceEigen.html</anchorfile>
      <anchor>addecd22b2a4abf684454f382d7c9754d</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>Matrix&lt; double, 5, 1 &gt;</type>
      <name>Vector5d</name>
      <anchorfile>namespaceEigen.html</anchorfile>
      <anchor>aeac7665a16d30e47fc747088f298fb70</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>frame_common</name>
    <filename>namespaceframe__common.html</filename>
    <class kind="struct">frame_common::CamParams</class>
  </compound>
  <compound kind="namespace">
    <name>sba</name>
    <filename>namespacesba.html</filename>
    <class kind="class">sba::Con2dP2</class>
    <class kind="class">sba::ConP2</class>
    <class kind="class">sba::ConP3P</class>
    <class kind="class">sba::ConScale</class>
    <class kind="class">sba::CSparse</class>
    <class kind="class">sba::CSparse2d</class>
    <class kind="class">sba::jacobiBPCG</class>
    <class kind="class">sba::JacobProds</class>
    <class kind="class">sba::Node</class>
    <class kind="class">sba::Node2d</class>
    <class kind="class">sba::Proj</class>
    <class kind="class">sba::SysSBA</class>
    <class kind="class">sba::SysSPA</class>
    <class kind="class">sba::SysSPA2d</class>
    <class kind="class">sba::Track</class>
    <member kind="typedef">
      <type>Eigen::Vector3d</type>
      <name>Keypoint</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a7e5d3d1fab18b550aef68c6263dc26dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>Eigen::Vector4d</type>
      <name>Point</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a36f823927ef52531f11c6d37c08c116a</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::map&lt; const int, Proj, std::less&lt; int &gt;, Eigen::aligned_allocator&lt; Proj &gt; &gt;</type>
      <name>ProjMap</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ad94b1a9a90f12b8fb296b70f54a31d45</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>drawGraph</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ac2a39c30436e65e7fe9273aa067b4e00</anchor>
      <arglist>(const SysSBA &amp;sba, const ros::Publisher &amp;camera_pub, const ros::Publisher &amp;point_pub, int decimation=1, int bicolor=0)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>getind</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a41ce6722575368b014f313098e06cb26</anchor>
      <arglist>(std::map&lt; int, int &gt; &amp;m, int ind)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ParseBundlerFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ad8308284235ed8204d8c8b821fca378d</anchor>
      <arglist>(const char *fin, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;camp, std::vector&lt; Eigen::Matrix3d, Eigen::aligned_allocator&lt; Eigen::Matrix3d &gt; &gt; &amp;camR, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;camt, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;ptp, std::vector&lt; Eigen::Vector3i, Eigen::aligned_allocator&lt; Eigen::Vector3i &gt; &gt; &amp;ptc, std::vector&lt; std::vector&lt; Eigen::Vector4d, Eigen::aligned_allocator&lt; Eigen::Vector4d &gt; &gt; &gt; &amp;ptt)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ParseGraphFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a6e423fed92965137a135309bae5582c6</anchor>
      <arglist>(const char *fin, std::vector&lt; Eigen::Vector5d, Eigen::aligned_allocator&lt; Eigen::Vector5d &gt; &gt; &amp;camps, std::vector&lt; Eigen::Vector4d, Eigen::aligned_allocator&lt; Eigen::Vector4d &gt; &gt; &amp;camqs, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;camts, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;ptps, std::vector&lt; std::vector&lt; Eigen::Vector11d, Eigen::aligned_allocator&lt; Eigen::Vector11d &gt; &gt; &gt; &amp;ptts)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ParseSPAGraphFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ab18639e861eaccd4d89b3ccc929332fe</anchor>
      <arglist>(const char *fin, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;ntrans, std::vector&lt; Eigen::Vector4d, Eigen::aligned_allocator&lt; Eigen::Vector4d &gt; &gt; &amp;nqrot, std::vector&lt; Eigen::Vector2i, Eigen::aligned_allocator&lt; Eigen::Vector2i &gt; &gt; &amp;cind, std::vector&lt; Eigen::Vector3d, Eigen::aligned_allocator&lt; Eigen::Vector3d &gt; &gt; &amp;ctrans, std::vector&lt; Eigen::Vector4d, Eigen::aligned_allocator&lt; Eigen::Vector4d &gt; &gt; &amp;cqrot, std::vector&lt; Eigen::Matrix&lt; double, 6, 6 &gt;, Eigen::aligned_allocator&lt; Eigen::Matrix&lt; double, 6, 6 &gt; &gt; &gt; &amp;cvar)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>read2dP2File</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a4f0eb495104e180db243a3ecc449613e</anchor>
      <arglist>(char *fname, SysSPA2d spa)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>readBundlerFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a0319a48c9cfde272639f47cc6dbab690</anchor>
      <arglist>(const char *filename, sba::SysSBA &amp;sbaout)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>readGraphFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a08ec0fa6647f1db551e6d39a6b66778a</anchor>
      <arglist>(const char *filename, sba::SysSBA &amp;sbaout)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>readP2File</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ab7b4a2d5ca90673ce2b9f3c42c26f593</anchor>
      <arglist>(char *fname, SysSPA spa)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>readSPAGraphFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a243672e4edb3995a10192ef478a172c6</anchor>
      <arglist>(const char *filename, SysSPA &amp;spaout)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transformF2W</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>ae2c236774847f58bdf1707218b4a9c40</anchor>
      <arglist>(Eigen::Matrix&lt; double, 3, 4 &gt; &amp;m, const Eigen::Matrix&lt; double, 4, 1 &gt; &amp;trans, const Eigen::Quaternion&lt; double &gt; &amp;qrot)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transformN2N</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a30bb08080ca0ec3eff9fb12f3e5d76c0</anchor>
      <arglist>(Eigen::Matrix&lt; double, 4, 1 &gt; &amp;trans, Eigen::Quaternion&lt; double &gt; &amp;qrot, Node &amp;nd0, Node &amp;nd1)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transformW2F</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a79e603b89853fc2c1d574ea380e09ddb</anchor>
      <arglist>(Eigen::Matrix&lt; double, 3, 4 &gt; &amp;m, const Eigen::Matrix&lt; double, 4, 1 &gt; &amp;trans, const Eigen::Quaternion&lt; double &gt; &amp;qrot)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeA</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>af8de2a5b2fc3fd7b689a5741b7f686f9</anchor>
      <arglist>(const char *fname, SysSBA &amp;sba)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>writeBundlerFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a0a7db4da3db6e52c95a93c27c4c1110f</anchor>
      <arglist>(const char *filename, sba::SysSBA &amp;sbain)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>writeGraphFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a9f90cdba9e4a3a068e5883f74d2f82f4</anchor>
      <arglist>(const char *filename, SysSBA &amp;sba, bool mono=false)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeLourakisFile</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>aa1b422998b58b8ef88e9b3dc41284df3</anchor>
      <arglist>(const char *fname, SysSBA &amp;sba)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeSparseA</name>
      <anchorfile>namespacesba.html</anchorfile>
      <anchor>a7d6bdb98683c63ec54186f97160cb903</anchor>
      <arglist>(const char *fname, SysSBA &amp;sba)</arglist>
    </member>
  </compound>
</tagfile>
