<?xml version='1.0' encoding='ISO-8859-1' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>batchTestRangerAccuracy.cc</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/test/</path>
    <filename>batchTestRangerAccuracy_8cc</filename>
    <member kind="function">
      <type>pcl::PointCloud&lt; pcl::PointXYZ &gt;</type>
      <name>generateNegatives</name>
      <anchorfile>batchTestRangerAccuracy_8cc.html</anchorfile>
      <anchor>a99f8fcbac27b4608925fe8f800b9ee60</anchor>
      <arglist>(pcl::PointCloud&lt; pcl::PointXYZ &gt; &amp;cloud)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>batchTestRangerAccuracy_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>feature_registration.cc</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/test/</path>
    <filename>feature__registration_8cc</filename>
    <class kind="class">TemplateRegistration</class>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>feature__registration_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>matchICP</name>
      <anchorfile>feature__registration_8cc.html</anchorfile>
      <anchor>a05e3bf89afd96ac4a290185cc091ce79</anchor>
      <arglist>(pcl::PointCloud&lt; pcl::PointXYZ &gt; &amp;fixed, pcl::PointCloud&lt; pcl::PointXYZ &gt; &amp;moving, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;Tout)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>from_jff.cc</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/test/</path>
    <filename>from__jff_8cc</filename>
    <includes id="ndt__matcher__p2d_8h" name="ndt_matcher_p2d.h" local="no" imported="no">ndt_registration/ndt_matcher_p2d.h</includes>
    <includes id="ndt__matcher__d2d__2d_8h" name="ndt_matcher_d2d_2d.h" local="no" imported="no">ndt_registration/ndt_matcher_d2d_2d.h</includes>
    <includes id="ndt__matcher__d2d_8h" name="ndt_matcher_d2d.h" local="no" imported="no">ndt_registration/ndt_matcher_d2d.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>from__jff_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>mainpage.dox</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/</path>
    <filename>mainpage_8dox</filename>
  </compound>
  <compound kind="file">
    <name>narf_extraction.cc</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/test/</path>
    <filename>narf__extraction_8cc</filename>
    <member kind="typedef">
      <type>pcl::PointXYZ</type>
      <name>PointType</name>
      <anchorfile>narf__extraction_8cc.html</anchorfile>
      <anchor>aaf4afeed8f9368a58576638ad4d02c11</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>narf__extraction_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>printUsage</name>
      <anchorfile>narf__extraction_8cc.html</anchorfile>
      <anchor>a4622bfe969a0480a36085565ee595996</anchor>
      <arglist>(const char *progName)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setViewerPose</name>
      <anchorfile>narf__extraction_8cc.html</anchorfile>
      <anchor>a9790c3554069614f9d7939d8a25345b1</anchor>
      <arglist>(pcl::visualization::PCLVisualizer &amp;viewer, const Eigen::Affine3f &amp;viewer_pose)</arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>angular_resolution</name>
      <anchorfile>narf__extraction_8cc.html</anchorfile>
      <anchor>aa91fce22d680ff17b9cf3dc2cae1c90f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>pcl::RangeImage::CoordinateFrame</type>
      <name>coordinate_frame</name>
      <anchorfile>narf__extraction_8cc.html</anchorfile>
      <anchor>acf0aa5d2e813acacf6c473ca33634056</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>setUnseenToMaxRange</name>
      <anchorfile>narf__extraction_8cc.html</anchorfile>
      <anchor>a8315a5c0fa959e4326fc1f1c319b3404</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>support_size</name>
      <anchorfile>narf__extraction_8cc.html</anchorfile>
      <anchor>ae5fc024f9594f5be5feb9c44315f025a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>narf_registration.cc</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/test/</path>
    <filename>narf__registration_8cc</filename>
    <member kind="typedef">
      <type>pcl::PointXYZ</type>
      <name>PointType</name>
      <anchorfile>narf__registration_8cc.html</anchorfile>
      <anchor>aaf4afeed8f9368a58576638ad4d02c11</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>narf__registration_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>printUsage</name>
      <anchorfile>narf__registration_8cc.html</anchorfile>
      <anchor>a4622bfe969a0480a36085565ee595996</anchor>
      <arglist>(const char *progName)</arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>angular_resolution</name>
      <anchorfile>narf__registration_8cc.html</anchorfile>
      <anchor>aa91fce22d680ff17b9cf3dc2cae1c90f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>pcl::RangeImage::CoordinateFrame</type>
      <name>coordinate_frame</name>
      <anchorfile>narf__registration_8cc.html</anchorfile>
      <anchor>acf0aa5d2e813acacf6c473ca33634056</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>setUnseenToMaxRange</name>
      <anchorfile>narf__registration_8cc.html</anchorfile>
      <anchor>a8315a5c0fa959e4326fc1f1c319b3404</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>support_size</name>
      <anchorfile>narf__registration_8cc.html</anchorfile>
      <anchor>ae5fc024f9594f5be5feb9c44315f025a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ndt_feature_test.cc</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/test/</path>
    <filename>ndt__feature__test_8cc</filename>
    <includes id="ndt__matcher__d2d_8h" name="ndt_matcher_d2d.h" local="no" imported="no">ndt_registration/ndt_matcher_d2d.h</includes>
    <includes id="ndt__matcher__d2d__feature_8h" name="ndt_matcher_d2d_feature.h" local="no" imported="no">ndt_registration/ndt_matcher_d2d_feature.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>ndt__feature__test_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ndt_histogram_registration.cc</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/test/</path>
    <filename>ndt__histogram__registration_8cc</filename>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>ndt__histogram__registration_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ndt_map_matcher_d2d_2d.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/include/ndt_registration/</path>
    <filename>ndt__map__matcher__d2d__2d_8h</filename>
    <includes id="ndt__matcher__d2d__2d_8h" name="ndt_matcher_d2d_2d.h" local="no" imported="no">ndt_matcher_d2d_2d.h</includes>
    <class kind="class">lslgeneric::NDTMapMatcherD2D_2D</class>
  </compound>
  <compound kind="file">
    <name>ndt_matcher_d2d.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/include/ndt_registration/</path>
    <filename>ndt__matcher__d2d_8h</filename>
    <includes id="ndt__matcher__d2d_8hpp" name="ndt_matcher_d2d.hpp" local="no" imported="no">ndt_registration/impl/ndt_matcher_d2d.hpp</includes>
    <class kind="struct">lslgeneric::NDTMatcherD2D::MoreThuente</class>
    <class kind="class">lslgeneric::NDTMatcherD2D</class>
  </compound>
  <compound kind="file">
    <name>ndt_matcher_d2d.hpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/include/ndt_registration/impl/</path>
    <filename>ndt__matcher__d2d_8hpp</filename>
    <member kind="define">
      <type>#define</type>
      <name>n_threads</name>
      <anchorfile>ndt__matcher__d2d_8hpp.html</anchorfile>
      <anchor>a6afc189bd178440605079de37d82df7c</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>USE_OMP</name>
      <anchorfile>ndt__matcher__d2d_8hpp.html</anchorfile>
      <anchor>a5af66dc317d2b3e120edebc0253d629a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ndt_matcher_d2d_2d.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/include/ndt_registration/</path>
    <filename>ndt__matcher__d2d__2d_8h</filename>
    <includes id="ndt__matcher__d2d__2d_8hpp" name="ndt_matcher_d2d_2d.hpp" local="no" imported="no">ndt_registration/impl/ndt_matcher_d2d_2d.hpp</includes>
    <class kind="struct">lslgeneric::NDTMatcherD2D_2D::MoreThuente</class>
    <class kind="class">lslgeneric::NDTMatcherD2D_2D</class>
  </compound>
  <compound kind="file">
    <name>ndt_matcher_d2d_2d.hpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/include/ndt_registration/impl/</path>
    <filename>ndt__matcher__d2d__2d_8hpp</filename>
    <member kind="define">
      <type>#define</type>
      <name>N_THREADS_2D</name>
      <anchorfile>ndt__matcher__d2d__2d_8hpp.html</anchorfile>
      <anchor>a7540ba192fa8059116152aca0c38bf63</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>USE_OMP_NDT_MATCHER_D2D_2D</name>
      <anchorfile>ndt__matcher__d2d__2d_8hpp.html</anchorfile>
      <anchor>adcef8433fd8d1e420753bd2c6a9b22f4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ndt_matcher_d2d_feature.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/include/ndt_registration/</path>
    <filename>ndt__matcher__d2d__feature_8h</filename>
    <includes id="ndt__matcher__d2d_8h" name="ndt_matcher_d2d.h" local="no" imported="no">ndt_registration/ndt_matcher_d2d.h</includes>
    <includes id="ndt__matcher__d2d__feature_8hpp" name="ndt_matcher_d2d_feature.hpp" local="no" imported="no">ndt_registration/impl/ndt_matcher_d2d_feature.hpp</includes>
    <class kind="class">lslgeneric::NDTMatcherFeatureD2D</class>
  </compound>
  <compound kind="file">
    <name>ndt_matcher_d2d_feature.hpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/include/ndt_registration/impl/</path>
    <filename>ndt__matcher__d2d__feature_8hpp</filename>
  </compound>
  <compound kind="file">
    <name>ndt_matcher_node.cc</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/test/</path>
    <filename>ndt__matcher__node_8cc</filename>
    <class kind="class">NDTMatcherNode</class>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>ndt__matcher__node_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ndt_matcher_p2d.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/include/ndt_registration/</path>
    <filename>ndt__matcher__p2d_8h</filename>
    <includes id="ndt__matcher__p2d_8hpp" name="ndt_matcher_p2d.hpp" local="no" imported="no">ndt_registration/impl/ndt_matcher_p2d.hpp</includes>
    <class kind="struct">lslgeneric::NDTMatcherP2D::MoreThuente</class>
    <class kind="class">lslgeneric::NDTMatcherP2D</class>
  </compound>
  <compound kind="file">
    <name>ndt_matcher_p2d.hpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/include/ndt_registration/impl/</path>
    <filename>ndt__matcher__p2d_8hpp</filename>
  </compound>
  <compound kind="file">
    <name>ndt_matcher_sequential_d2d.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/include/ndt_registration/</path>
    <filename>ndt__matcher__sequential__d2d_8h</filename>
    <includes id="ndt__matcher__sequential__d2d_8hpp" name="ndt_matcher_sequential_d2d.hpp" local="no" imported="no">ndt_registration/impl/ndt_matcher_sequential_d2d.hpp</includes>
    <class kind="struct">lslgeneric::NDTMatcherSequentialD2D::MoreThuente</class>
    <class kind="class">lslgeneric::NDTMatcherSequentialD2D</class>
    <class kind="struct">lslgeneric::TransformParams</class>
  </compound>
  <compound kind="file">
    <name>ndt_matcher_sequential_d2d.hpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/include/ndt_registration/impl/</path>
    <filename>ndt__matcher__sequential__d2d_8hpp</filename>
    <member kind="define">
      <type>#define</type>
      <name>n_threads</name>
      <anchorfile>ndt__matcher__sequential__d2d_8hpp.html</anchorfile>
      <anchor>a6afc189bd178440605079de37d82df7c</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>deallocate</name>
      <anchorfile>namespacelslgeneric.html</anchorfile>
      <anchor>a6ebbc87a80eb5fdf62a648fe1245ef4b</anchor>
      <arglist>(std::vector&lt; NDTCell&lt; PointSource &gt; * &gt; &amp;ndts)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>transforms_objective_xyt</name>
      <anchorfile>namespacelslgeneric.html</anchorfile>
      <anchor>adb76362eca27ef414844f34e26145b68</anchor>
      <arglist>(double &amp;x, double &amp;y, double &amp;z, double &amp;r, double &amp;p, double &amp;t, void *params)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ndt_registration_test.cc</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/test/</path>
    <filename>ndt__registration__test_8cc</filename>
    <includes id="ndt__matcher__p2d_8h" name="ndt_matcher_p2d.h" local="no" imported="no">ndt_matcher_p2d.h</includes>
    <includes id="ndt__matcher__d2d_8h" name="ndt_matcher_d2d.h" local="no" imported="no">ndt_matcher_d2d.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>ndt__registration__test_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>reconstruct.cc</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/test/</path>
    <filename>reconstruct_8cc</filename>
    <member kind="function">
      <type>void</type>
      <name>filterDensity</name>
      <anchorfile>reconstruct_8cc.html</anchorfile>
      <anchor>a0225d34289c40ede02214178de578ec2</anchor>
      <arglist>(pcl::PointCloud&lt; pcl::PointXYZ &gt; &amp;rawCloud, pcl::PointCloud&lt; pcl::PointXYZ &gt; &amp;pc)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>reconstruct_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>simple.cc</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/test/</path>
    <filename>simple_8cc</filename>
    <includes id="ndt__matcher__p2d_8h" name="ndt_matcher_p2d.h" local="no" imported="no">ndt_registration/ndt_matcher_p2d.h</includes>
    <includes id="ndt__matcher__d2d__2d_8h" name="ndt_matcher_d2d_2d.h" local="no" imported="no">ndt_registration/ndt_matcher_d2d_2d.h</includes>
    <includes id="ndt__matcher__d2d_8h" name="ndt_matcher_d2d.h" local="no" imported="no">ndt_registration/ndt_matcher_d2d.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>simple_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_covariance.cc</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/test/</path>
    <filename>test__covariance_8cc</filename>
    <member kind="define">
      <type>#define</type>
      <name>DEBUG_COVARIANCE</name>
      <anchorfile>test__covariance_8cc.html</anchorfile>
      <anchor>abfd12797de91bcec21299c60fac7ab6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>float</type>
      <name>box_muller</name>
      <anchorfile>test__covariance_8cc.html</anchorfile>
      <anchor>a79db320d2e8eca828210ce9ee53423e8</anchor>
      <arglist>(float m, float s)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__covariance_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>matchICP</name>
      <anchorfile>test__covariance_8cc.html</anchorfile>
      <anchor>a05e3bf89afd96ac4a290185cc091ce79</anchor>
      <arglist>(pcl::PointCloud&lt; pcl::PointXYZ &gt; &amp;fixed, pcl::PointCloud&lt; pcl::PointXYZ &gt; &amp;moving, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;Tout)</arglist>
    </member>
    <member kind="function">
      <type>float</type>
      <name>ranf</name>
      <anchorfile>test__covariance_8cc.html</anchorfile>
      <anchor>a04d15b1c21e67c77ad262425e05487f6</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_ndt_mapper.cc</name>
    <path>/home/rosbuild/hudson/workspace/doc-groovy-perception_oru/doc_stacks/2014-10-06_03-16-14.727683/perception_oru/ndt_registration/test/</path>
    <filename>test__ndt__mapper_8cc</filename>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__ndt__mapper_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>NDTMatcherNode</name>
    <filename>classNDTMatcherNode.html</filename>
    <member kind="function">
      <type></type>
      <name>NDTMatcherNode</name>
      <anchorfile>classNDTMatcherNode.html</anchorfile>
      <anchor>af1fc5753c8e76753248a14881cdebcbd</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>points2Callback</name>
      <anchorfile>classNDTMatcherNode.html</anchorfile>
      <anchor>a39d10c9f903ebd9e51cfbb2547eca22e</anchor>
      <arglist>(const sensor_msgs::PointCloud2::ConstPtr &amp;msg_in)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~NDTMatcherNode</name>
      <anchorfile>classNDTMatcherNode.html</anchorfile>
      <anchor>a1aaa5d5231d46704b98e8e9235d20e1b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>TransformEigenToTF</name>
      <anchorfile>classNDTMatcherNode.html</anchorfile>
      <anchor>a38289efde10ea3e1223dd2976a2bb1f1</anchor>
      <arglist>(const Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;k, tf::Transform &amp;t)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt;</type>
      <name>incremental_pose_</name>
      <anchorfile>classNDTMatcherNode.html</anchorfile>
      <anchor>a0da70ac687efaa7aeeee967e8f5b71c3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::mutex</type>
      <name>m</name>
      <anchorfile>classNDTMatcherNode.html</anchorfile>
      <anchor>ac0ff671f97002d978787a249afef0b41</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>lslgeneric::NDTMatcherF2F *</type>
      <name>matcher</name>
      <anchorfile>classNDTMatcherNode.html</anchorfile>
      <anchor>aeb55af8f7e1018b7dcb54b93453d34ec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>unsigned int</type>
      <name>nb_added_clouds_</name>
      <anchorfile>classNDTMatcherNode.html</anchorfile>
      <anchor>a2ecaad588fd404737df4d53e0f0fe555</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classNDTMatcherNode.html</anchorfile>
      <anchor>aaf5b5312d11c27458bc010320d36557d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>output_pub_</name>
      <anchorfile>classNDTMatcherNode.html</anchorfile>
      <anchor>a345ab8aa87e8f2815729fd28e0020584</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; pcl::PointCloud&lt; pcl::PointXYZ &gt;, Eigen::aligned_allocator&lt; pcl::PointCloud&lt; pcl::PointXYZ &gt; &gt; &gt;</type>
      <name>pcl_buffer_</name>
      <anchorfile>classNDTMatcherNode.html</anchorfile>
      <anchor>ae8edf849970d0cef509f141db8c9a0c5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Subscriber</type>
      <name>points2_sub_</name>
      <anchorfile>classNDTMatcherNode.html</anchorfile>
      <anchor>a526daa374e3ac3301e069a01282fed51</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>tf::TransformBroadcaster</type>
      <name>tf_</name>
      <anchorfile>classNDTMatcherNode.html</anchorfile>
      <anchor>ac4d550af9c49d451a8124c0d48e1f297</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>TemplateRegistration</name>
    <filename>classTemplateRegistration.html</filename>
    <member kind="typedef">
      <type>Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt;</type>
      <name>Result</name>
      <anchorfile>classTemplateRegistration.html</anchorfile>
      <anchor>a641efc46ae2bc88fd8f8f4fcc7068867</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>align</name>
      <anchorfile>classTemplateRegistration.html</anchorfile>
      <anchor>a1d211e7ecdd1ccb40f82fdb3c90f605c</anchor>
      <arglist>(FeatureCloud &amp;moving_cloud, TemplateRegistration::Result &amp;result)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setTargetCloud</name>
      <anchorfile>classTemplateRegistration.html</anchorfile>
      <anchor>a4ba3a0db69b8eabc34eed3db1be2d67b</anchor>
      <arglist>(FeatureCloud &amp;target_cloud)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TemplateRegistration</name>
      <anchorfile>classTemplateRegistration.html</anchorfile>
      <anchor>a66f4027876a3a53fdd5285660e6a81a4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~TemplateRegistration</name>
      <anchorfile>classTemplateRegistration.html</anchorfile>
      <anchor>a1d0a255963a10efcc2d4ff0da9538912</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>max_correspondence_distance_</name>
      <anchorfile>classTemplateRegistration.html</anchorfile>
      <anchor>a4298089aaacc6d31e6d18806ef75aecb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>min_sample_distance_</name>
      <anchorfile>classTemplateRegistration.html</anchorfile>
      <anchor>aadabbbafaec4db5b7fed6405de4cbf21</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>nr_iterations_</name>
      <anchorfile>classTemplateRegistration.html</anchorfile>
      <anchor>abf92ac3c50b3d89d44a5eb33b0fb26e8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>pcl::SampleConsensusInitialAlignment&lt; pcl::PointXYZ, pcl::PointXYZ, pcl::FPFHSignature33 &gt;</type>
      <name>sac_ia_</name>
      <anchorfile>classTemplateRegistration.html</anchorfile>
      <anchor>aee7551573d3e26d3eed7bdf089346703</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>FeatureCloud</type>
      <name>target_</name>
      <anchorfile>classTemplateRegistration.html</anchorfile>
      <anchor>afb6a1d7d586bc7e27596b6ef175c6ad1</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>lslgeneric::NDTMapMatcherD2D_2D</name>
    <filename>classlslgeneric_1_1NDTMapMatcherD2D__2D.html</filename>
    <templarg></templarg>
    <member kind="function">
      <type></type>
      <name>NDTMapMatcherD2D_2D</name>
      <anchorfile>classlslgeneric_1_1NDTMapMatcherD2D__2D.html</anchorfile>
      <anchor>a084c942901dd0ab4cfdc9804ac92673e</anchor>
      <arglist>(double map_resolution, lslgeneric::NDTMap&lt; PointT &gt; &amp;nd_map, double miniz=0.0, double maxiz=0.0)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setSensorPose</name>
      <anchorfile>classlslgeneric_1_1NDTMapMatcherD2D__2D.html</anchorfile>
      <anchor>a64c7a8d04ebae0dd3d483199c349cb42</anchor>
      <arglist>(Eigen::Affine3d spose)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlslgeneric_1_1NDTMapMatcherD2D__2D.html</anchorfile>
      <anchor>aa7ba3e5f1eb659b9d7d601a44841bbd0</anchor>
      <arglist>(Eigen::Affine3d Tinit, pcl::PointCloud&lt; PointT &gt; &amp;cloud)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>updateNoFilt</name>
      <anchorfile>classlslgeneric_1_1NDTMapMatcherD2D__2D.html</anchorfile>
      <anchor>a74865c987dbfeac9e6118898e497968b</anchor>
      <arglist>(Eigen::Affine3d &amp;Tinit, pcl::PointCloud&lt; PointT &gt; &amp;cloud)</arglist>
    </member>
    <member kind="variable">
      <type>lslgeneric::NDTMap&lt; PointT &gt;</type>
      <name>map</name>
      <anchorfile>classlslgeneric_1_1NDTMapMatcherD2D__2D.html</anchorfile>
      <anchor>a6593d4a44dac1b84be00979894030c4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>isInit</name>
      <anchorfile>classlslgeneric_1_1NDTMapMatcherD2D__2D.html</anchorfile>
      <anchor>a32dc8fa63746dbc3d159a1bbb1c7b07d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>max_z</name>
      <anchorfile>classlslgeneric_1_1NDTMapMatcherD2D__2D.html</anchorfile>
      <anchor>a9decb82f9ce3918d6729c4aa6491aba2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>min_z</name>
      <anchorfile>classlslgeneric_1_1NDTMapMatcherD2D__2D.html</anchorfile>
      <anchor>a94d3c80b004a37dcafc401a0c0833ee7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>resolution</name>
      <anchorfile>classlslgeneric_1_1NDTMapMatcherD2D__2D.html</anchorfile>
      <anchor>ad824fbc78e6b74bf8c8d5c28a8204a6d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Affine3d</type>
      <name>sensor_pose</name>
      <anchorfile>classlslgeneric_1_1NDTMapMatcherD2D__2D.html</anchorfile>
      <anchor>a3a109d6204154afc66117b3014d0e220</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>lslgeneric::NDTMatcherD2D</name>
    <filename>classlslgeneric_1_1NDTMatcherD2D.html</filename>
    <templarg>PointSource</templarg>
    <templarg>PointTarget</templarg>
    <class kind="struct">lslgeneric::NDTMatcherD2D::MoreThuente</class>
    <member kind="function">
      <type>bool</type>
      <name>covariance</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a4e1be28064c3a887b88f85edb5b4872f</anchor>
      <arglist>(pcl::PointCloud&lt; PointTarget &gt; &amp;target, pcl::PointCloud&lt; PointSource &gt; &amp;source, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;T, Eigen::MatrixXd &amp;cov)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>covariance</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a9f8eac628498b26fe73960862873a639</anchor>
      <arglist>(NDTMap&lt; PointTarget &gt; &amp;target, NDTMap&lt; PointSource &gt; &amp;source, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;T, Eigen::MatrixXd &amp;cov)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual double</type>
      <name>derivativesNDT</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a12390af75383b68ff41cc946a57077bf</anchor>
      <arglist>(const std::vector&lt; NDTCell&lt; PointSource &gt; * &gt; &amp;source, const NDTMap&lt; PointTarget &gt; &amp;target, Eigen::MatrixXd &amp;score_gradient, Eigen::MatrixXd &amp;Hessian, bool computeHessian)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>match</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a993dd9562d30af92481bf7d4106c61c5</anchor>
      <arglist>(pcl::PointCloud&lt; PointTarget &gt; &amp;target, pcl::PointCloud&lt; PointSource &gt; &amp;source, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;T, bool useInitialGuess=false)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>match</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>ab70f0850c3a8f3e3c17028df3ff3236e</anchor>
      <arglist>(NDTMap&lt; PointTarget &gt; &amp;target, NDTMap&lt; PointSource &gt; &amp;source, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;T, bool useInitialGuess=false)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NDTMatcherD2D</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a617a649ea2ddaa8066f290081e452735</anchor>
      <arglist>(bool _isIrregularGrid, bool useDefaultGridResolutions, std::vector&lt; double &gt; _resolutions)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NDTMatcherD2D</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a7d58dbe5ad84ebfc50d4bd59a113b74b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NDTMatcherD2D</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a0aca5c54852e5f24bde694acbf746dbe</anchor>
      <arglist>(const NDTMatcherD2D &amp;other)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual double</type>
      <name>scoreNDT</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a397aa35a65c6c53965096885e80f9445</anchor>
      <arglist>(std::vector&lt; NDTCell&lt; PointSource &gt; * &gt; &amp;source, NDTMap&lt; PointTarget &gt; &amp;target)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual double</type>
      <name>scoreNDT_OM</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>ad7635dc0b1da27b02562ebd7a2025caf</anchor>
      <arglist>(NDTMap&lt; PointSource &gt; &amp;source, NDTMap&lt; PointTarget &gt; &amp;target)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual double</type>
      <name>scoreNDTPositive</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>afe177e528f56da0c1cfd85434cb5d516</anchor>
      <arglist>(std::vector&lt; NDTCell&lt; PointSource &gt; * &gt; &amp;sourceNDT, NDTMap&lt; PointTarget &gt; &amp;targetNDT, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;T)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>current_resolution</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>ae653d208815ac1081ad4da401ec36275</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>DELTA_SCORE</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a4fd5cb9be28380b20b063487fd5129fd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>finalscore</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a8043344d1365b02e40404fa0ff925cf0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>ITR_MAX</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a74ba685569b39f672c6dcf3aaeef9e3d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>step_control</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a555155724b0a9255dd814b624c11db42</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>computeDerivatives</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a6cfb814369443392f76b1b2b5b2f1c3f</anchor>
      <arglist>(Eigen::Vector3d &amp;m1, Eigen::Matrix3d C1, bool computeHessian=true)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>computeDerivativesLocal</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>ae4164f2a17a87c4476e9aabd48f7972e</anchor>
      <arglist>(Eigen::Vector3d &amp;m1, Eigen::Matrix3d C1, Eigen::Matrix&lt; double, 3, 6 &gt; &amp;_Jest, Eigen::Matrix&lt; double, 18, 6 &gt; &amp;_Hest, Eigen::Matrix&lt; double, 3, 18 &gt; &amp;_Zest, Eigen::Matrix&lt; double, 18, 18 &gt; &amp;_ZHest, bool computeHessian)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>init</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a960c7816ef2d19799bc072697efb3bde</anchor>
      <arglist>(bool _isIrregularGrid, bool useDefaultGridResolutions, std::vector&lt; double &gt; _resolutions)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>lineSearchMT</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>af1eba95c88a7af069dc887aa292ad5ee</anchor>
      <arglist>(Eigen::Matrix&lt; double, 6, 1 &gt; &amp;increment, std::vector&lt; NDTCell&lt; PointSource &gt; * &gt; &amp;source, NDTMap&lt; PointTarget &gt; &amp;target)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>normalizeAngle</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a49d9d4e46b26e2648a65d2d05f5773cc</anchor>
      <arglist>(double a)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual bool</type>
      <name>update_gradient_hessian</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a930e1ce936576ee6645830a2e21f76af</anchor>
      <arglist>(Eigen::MatrixXd &amp;score_gradient, Eigen::MatrixXd &amp;Hessian, const Eigen::Vector3d &amp;m1, const Eigen::Matrix3d &amp;C1, const double &amp;likelihood, bool computeHessian)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual bool</type>
      <name>update_gradient_hessian_local</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>aab0c176fc33a0e581111cbc61937417d</anchor>
      <arglist>(Eigen::MatrixXd &amp;score_gradient, Eigen::MatrixXd &amp;Hessian, const Eigen::Vector3d &amp;m1, const Eigen::Matrix3d &amp;C1, const double &amp;likelihood, const Eigen::Matrix&lt; double, 3, 6 &gt; &amp;_Jest, const Eigen::Matrix&lt; double, 18, 6 &gt; &amp;_Hest, const Eigen::Matrix&lt; double, 3, 18 &gt; &amp;_Zest, const Eigen::Matrix&lt; double, 18, 18 &gt; &amp;_ZHest, bool computeHessian)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>dRdx</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>ab636b855ac742076002d5ae3331c8781</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>dRdxdx</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>aa2f39427c49bcb7ac667881318ca6fdd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>dRdxdy</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>adf6e0a1c5467a26be1bf1ed9373ade82</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>dRdxdz</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a64602518066c8a9b051baed5d0c60aa1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>dRdy</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a4b0bd719a4ce9a71742b2759ef3e87b7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>dRdydy</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>ac09bc473e53a3bcb8f6b7f6b899ae223</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>dRdydz</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a49bfe7a59196fba8b37fbd3cc5bc12dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>dRdz</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>af54fa5177cd89eb0834d9cf18c700d2b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>dRdzdz</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a03372d745004d7a5376d1994fa7f4562</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 18, 6 &gt;</type>
      <name>Hest</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a1be07eb258f49686e0f095dda8f1ddea</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>isIrregularGrid</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a70c15ba2ecbe02d029bc30f2b36afdf8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>iteration_counter_internal</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a8640a0876d166522e741070462571615</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 6 &gt;</type>
      <name>Jest</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a2da4dd4c52267d65d0384570e133cf61</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>JtBJ</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>ae9eb739d9f63108b90cf1b8d34b09094</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>lfd1</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>acc630a75553913bf3522d2086e7c5936</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>lfd2</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a3870ee9b7b80dc2114e61f09ee7fba83</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>NUMBER_OF_ACTIVE_CELLS</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>af4ac39d9a29653d168e856c2e940c155</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>NUMBER_OF_POINTS</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a3f9e61b218d924cbad29aab6d6a4be47</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 6, 1 &gt;</type>
      <name>Q</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a20102c28ebdf5138448c1f1fa8bb3710</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>resolutions</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a640efac95d76ad7b48269d83b7516275</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 1, 3 &gt;</type>
      <name>TMP1</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a28c0fc9b16c46cd98115491bb532565c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 1, 3 &gt;</type>
      <name>xtB</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a6314c06ae0f8e177512b2a713bb30bc1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>xtBH</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a4d3607f71433bc4defb430df5542abdb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 6, 1 &gt;</type>
      <name>xtBJ</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a041c30fea8eb720f8b664a16aa2a85c3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>xtBZBJ</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>af972e874661b41519031c206ba389c6d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 6, 1 &gt;</type>
      <name>xtBZBx</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a00375f295dc1add2341218f1dacbf22d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>xtBZBZBx</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a54240b414d5f0050d2546ad35c90b567</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 6, 6 &gt;</type>
      <name>xtBZhBx</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a44207f93805bb74d7535acdad9fd638c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 18 &gt;</type>
      <name>Zest</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a320aba44f31d723355b1e0be22b8ce61</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 18, 18 &gt;</type>
      <name>ZHest</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D.html</anchorfile>
      <anchor>a2aa9483ad9f9f22d81b956dea96d11e7</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>lslgeneric::NDTMatcherD2D::MoreThuente</name>
    <filename>structlslgeneric_1_1NDTMatcherD2D_1_1MoreThuente.html</filename>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>absmax</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherD2D_1_1MoreThuente.html</anchorfile>
      <anchor>a07c1da53ef82ea154c38e68458d34b2a</anchor>
      <arglist>(double a, double b, double c)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>cstep</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherD2D_1_1MoreThuente.html</anchorfile>
      <anchor>a253cedf78a557e3eb8470d5db9f41899</anchor>
      <arglist>(double &amp;stx, double &amp;fx, double &amp;dx, double &amp;sty, double &amp;fy, double &amp;dy, double &amp;stp, double &amp;fp, double &amp;dp, bool &amp;brackt, double stmin, double stmax)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>max</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherD2D_1_1MoreThuente.html</anchorfile>
      <anchor>ae74cf8263b6478e6e1a3eae3e04e0d7c</anchor>
      <arglist>(double a, double b)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>min</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherD2D_1_1MoreThuente.html</anchorfile>
      <anchor>a26b83460ba76d4240fb89b90abc195ae</anchor>
      <arglist>(double a, double b)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>lslgeneric::NDTMatcherD2D_2D</name>
    <filename>classlslgeneric_1_1NDTMatcherD2D__2D.html</filename>
    <templarg>PointSource</templarg>
    <templarg>PointTarget</templarg>
    <class kind="struct">lslgeneric::NDTMatcherD2D_2D::MoreThuente</class>
    <member kind="function" virtualness="virtual">
      <type>virtual double</type>
      <name>derivativesNDT_2d</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>aa2238cf389e685d53a779ab89afe0675</anchor>
      <arglist>(const std::vector&lt; NDTCell&lt; PointSource &gt; * &gt; &amp;source, const NDTMap&lt; PointTarget &gt; &amp;target, Eigen::MatrixXd &amp;score_gradient, Eigen::MatrixXd &amp;Hessian, bool computeHessian)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>match</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a264fdbf114ae32ff247abe3b12c105a8</anchor>
      <arglist>(pcl::PointCloud&lt; PointTarget &gt; &amp;target, pcl::PointCloud&lt; PointSource &gt; &amp;source, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;T, bool useInitialGuess=false)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>match</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a58951f47b79f94b62b5d00a2717447a1</anchor>
      <arglist>(NDTMap&lt; PointTarget &gt; &amp;target, NDTMap&lt; PointSource &gt; &amp;source, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;T, bool useInitialGuess=false)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NDTMatcherD2D_2D</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>ab9c837e054e98695207e9abda49dfa87</anchor>
      <arglist>(bool _isIrregularGrid, bool useDefaultGridResolutions, std::vector&lt; double &gt; _resolutions)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NDTMatcherD2D_2D</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a33a0ea7dba866af4a42653603e118fe5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NDTMatcherD2D_2D</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>ac1647907f9007a4c73e59e7547869158</anchor>
      <arglist>(const NDTMatcherD2D_2D &amp;other)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>current_resolution</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a87d5dbf02c4dd94fab83a3234314848a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>DELTA_SCORE</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>afdc76b65dc44790c3552bf6386b2eee5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>finalscore</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a9bd769e6704c53c8fd86dff45355fe84</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>ITR_MAX</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a0b6e357d7e4452200f4ef713444be645</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>step_control</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>ac0fe2847afc64059114e0f892d45dd90</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>computeDerivatives_2d</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a7531d71e7c787ab218ab164828deb4f5</anchor>
      <arglist>(Eigen::Vector3d &amp;m1, Eigen::Matrix3d C1, bool computeHessian=true)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>computeDerivativesLocal_2d</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a2855e9042709aa3e191e18fe389c87f2</anchor>
      <arglist>(Eigen::Vector3d &amp;m1, Eigen::Matrix3d C1, Eigen::Matrix&lt; double, 3, 3 &gt; &amp;_Jest, Eigen::Matrix&lt; double, 9, 3 &gt; &amp;_Hest, Eigen::Matrix&lt; double, 3, 9 &gt; &amp;_Zest, Eigen::Matrix&lt; double, 9, 9 &gt; &amp;_ZHest, bool computeHessian)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>init</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>ab322cebc463eddde77340dc1f42fa739</anchor>
      <arglist>(bool _isIrregularGrid, bool useDefaultGridResolutions, std::vector&lt; double &gt; _resolutions)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>lineSearch2D</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a47295c5a26f57ac657e8e17e66edfd4b</anchor>
      <arglist>(Eigen::Matrix&lt; double, 3, 1 &gt; &amp;increment, std::vector&lt; NDTCell&lt; PointSource &gt; * &gt; &amp;source, NDTMap&lt; PointTarget &gt; &amp;target)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>normalizeAngle</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>afe59a579f7f14bbaa1948c1ae9bcb903</anchor>
      <arglist>(double a)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual bool</type>
      <name>update_gradient_hessian_2d</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a16901a6f7f5216daa81e1ff666d5ef7e</anchor>
      <arglist>(Eigen::MatrixXd &amp;score_gradient, Eigen::MatrixXd &amp;Hessian, const Eigen::Vector3d &amp;m1, const Eigen::Matrix3d &amp;C1, const double &amp;likelihood, bool computeHessian)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual bool</type>
      <name>update_gradient_hessian_local_2d</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a63b05a0700dd9e623bcc4ab1ffa4eb1d</anchor>
      <arglist>(Eigen::MatrixXd &amp;score_gradient, Eigen::MatrixXd &amp;Hessian, const Eigen::Vector3d &amp;m1, const Eigen::Matrix3d &amp;C1, const double &amp;likelihood, const Eigen::Matrix&lt; double, 3, 3 &gt; &amp;_Jest, const Eigen::Matrix&lt; double, 9, 3 &gt; &amp;_Hest, const Eigen::Matrix&lt; double, 3, 9 &gt; &amp;_Zest, const Eigen::Matrix&lt; double, 9, 9 &gt; &amp;_ZHest, bool computeHessian)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 9, 3 &gt;</type>
      <name>Hest</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a1c8a855e8ab78a8179f8d6b760499a75</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>isIrregularGrid</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a48143a7736fd52e86e1eec6a89eec6a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>iteration_counter_internal</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>ad978721a0eeff9334702aaa7daaf2801</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>Jest</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a42d68a8355f937d8a0a2f74a3075fe7f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>JtBJ</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a5fbd858109dc072eb0eb061d72df871a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>lfd1</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a585679f26064dd80169078d67315060b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>lfd2</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a8e394a7b430596dfb2a66902875ec355</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>NUMBER_OF_ACTIVE_CELLS</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a84be5fa2aa6fde5b3f8f9cf5e347fb2b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>NUMBER_OF_POINTS</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a8c9ae83cea75a07f125b0460943f2a31</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 1 &gt;</type>
      <name>Q</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a163019651ee9b5b19bd40c01753c5b58</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>resolutions</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a3e942aea0d86d2b3bb9221f639413a54</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 1, 3 &gt;</type>
      <name>TMP1</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>ab2af4d314868b1a99bb12b986001ac9f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 1, 3 &gt;</type>
      <name>xtB</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>af23fe715355619170a7c9b19c851a59f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>xtBH</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a2f22442942e25813951abb258b35c0f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 1 &gt;</type>
      <name>xtBJ</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a25d9b36f613322eb61e25d5dcd7e32bd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>xtBZBJ</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>af6c712218734135230bef31b08fa1bb7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 1 &gt;</type>
      <name>xtBZBx</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a2b225a191f75ef285d012a53dad8aad3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>xtBZBZBx</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>acc95be96f6a37bfb610ba4e9a66e4562</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 3 &gt;</type>
      <name>xtBZhBx</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>ab5eb4adf3bbff9a4301da37021414ae9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 3, 9 &gt;</type>
      <name>Zest</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>ae8f744a5e0c9a0a8159c64cd7d7672f9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Matrix&lt; double, 9, 9 &gt;</type>
      <name>ZHest</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherD2D__2D.html</anchorfile>
      <anchor>a67ca8c4eff93dc16effd4f4cf2ce50ce</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>lslgeneric::NDTMatcherD2D_2D::MoreThuente</name>
    <filename>structlslgeneric_1_1NDTMatcherD2D__2D_1_1MoreThuente.html</filename>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>absmax</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherD2D__2D_1_1MoreThuente.html</anchorfile>
      <anchor>ab9126f3f34e59bb5784f579d4d7042b5</anchor>
      <arglist>(double a, double b, double c)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>cstep</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherD2D__2D_1_1MoreThuente.html</anchorfile>
      <anchor>a4536da786c6bd5497809e26a231a82cc</anchor>
      <arglist>(double &amp;stx, double &amp;fx, double &amp;dx, double &amp;sty, double &amp;fy, double &amp;dy, double &amp;stp, double &amp;fp, double &amp;dp, bool &amp;brackt, double stmin, double stmax)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>max</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherD2D__2D_1_1MoreThuente.html</anchorfile>
      <anchor>a1f2e3fd1b65a1ac36dde29743a77a870</anchor>
      <arglist>(double a, double b)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>min</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherD2D__2D_1_1MoreThuente.html</anchorfile>
      <anchor>ac05f002a1536e63216b8462d1cf53873</anchor>
      <arglist>(double a, double b)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>lslgeneric::NDTMatcherFeatureD2D</name>
    <filename>classlslgeneric_1_1NDTMatcherFeatureD2D.html</filename>
    <templarg>PointSource</templarg>
    <templarg>PointTarget</templarg>
    <base>lslgeneric::NDTMatcherD2D</base>
    <member kind="function">
      <type>bool</type>
      <name>covariance</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherFeatureD2D.html</anchorfile>
      <anchor>aa6300c3cbfe36a04eb1851f74fcf2939</anchor>
      <arglist>(lslgeneric::NDTMap&lt; PointTarget &gt; &amp;target, lslgeneric::NDTMap&lt; PointSource &gt; &amp;source, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;T, Eigen::Matrix&lt; double, 6, 6 &gt; &amp;cov)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual double</type>
      <name>derivativesNDT</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherFeatureD2D.html</anchorfile>
      <anchor>a9e272a0667d9d249dc7e2b523b47348d</anchor>
      <arglist>(const std::vector&lt; NDTCell&lt; PointSource &gt; * &gt; &amp;sourceNDT, const NDTMap&lt; PointTarget &gt; &amp;targetNDT, Eigen::MatrixXd &amp;score_gradient, Eigen::MatrixXd &amp;Hessian, bool computeHessian)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NDTMatcherFeatureD2D</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherFeatureD2D.html</anchorfile>
      <anchor>a29ebfdac6875cf65f592bb767833d90d</anchor>
      <arglist>(const std::vector&lt; std::pair&lt; int, int &gt; &gt; &amp;corr, double trimFactor=1.)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual double</type>
      <name>scoreNDT</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherFeatureD2D.html</anchorfile>
      <anchor>a72749c3a6f6ebdbecf7451caa29eebb1</anchor>
      <arglist>(std::vector&lt; lslgeneric::NDTCell&lt; PointSource &gt; * &gt; &amp;source, lslgeneric::NDTMap&lt; PointTarget &gt; &amp;target, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;T)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>const std::vector&lt; std::pair&lt; int, int &gt; &gt; &amp;</type>
      <name>_corr</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherFeatureD2D.html</anchorfile>
      <anchor>a6d06565aeabda1f0bd4b4bfa79d5ecc4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; bool &gt;</type>
      <name>_goodCorr</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherFeatureD2D.html</anchorfile>
      <anchor>a3cbe70eede6ea7b324c2d8b4f077ea3a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>_trimFactor</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherFeatureD2D.html</anchorfile>
      <anchor>a0d3f84f013a457f45fd3d07299cbe858</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>lslgeneric::NDTMatcherP2D</name>
    <filename>classlslgeneric_1_1NDTMatcherP2D.html</filename>
    <templarg>PointSource</templarg>
    <templarg>PointTarget</templarg>
    <class kind="struct">lslgeneric::NDTMatcherP2D::MoreThuente</class>
    <member kind="function">
      <type>bool</type>
      <name>covariance</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>ab5667efa3b78e1df6e3156e966c3fc1e</anchor>
      <arglist>(pcl::PointCloud&lt; PointTarget &gt; &amp;target, pcl::PointCloud&lt; PointSource &gt; &amp;source, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;T, Eigen::Matrix&lt; double, 6, 6 &gt; &amp;cov)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>derivativesPointCloud</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a1b07ac2132e897383228e82e56139025</anchor>
      <arglist>(pcl::PointCloud&lt; PointSource &gt; &amp;source, NDTMap&lt; PointTarget &gt; &amp;target, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;transform, Eigen::Matrix&lt; double, 6, 1 &gt; &amp;score_gradient, Eigen::Matrix&lt; double, 6, 6 &gt; &amp;Hessian, bool computeHessian)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>generateScoreDebug</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a8d7d2eb0d7597061dd5df12524057204</anchor>
      <arglist>(const char *out, pcl::PointCloud&lt; PointTarget &gt; &amp;target, pcl::PointCloud&lt; PointSource &gt; &amp;source)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>match</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a6a4f32acb8b713823e4ad8c4fd9cc7ca</anchor>
      <arglist>(pcl::PointCloud&lt; PointTarget &gt; &amp;target, pcl::PointCloud&lt; PointSource &gt; &amp;source, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;T)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>match</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a54797a20a2c91577137cbd956cacc2ee</anchor>
      <arglist>(NDTMap&lt; PointTarget &gt; &amp;target, pcl::PointCloud&lt; PointSource &gt; &amp;source, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;T)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NDTMatcherP2D</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a4ed4ce0722829b5479132f0a577cf563</anchor>
      <arglist>(std::vector&lt; double &gt; _resolutions)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NDTMatcherP2D</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>afb7aec5e078baa823fb317036abfc6d6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NDTMatcherP2D</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a4818828f9c39459ba3f57d6ad1322094</anchor>
      <arglist>(const NDTMatcherP2D&lt; PointSource, PointTarget &gt; &amp;other)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>scorePointCloud</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>ac1e297eccef289347789f40239382635</anchor>
      <arglist>(pcl::PointCloud&lt; PointSource &gt; &amp;source, NDTMap&lt; PointTarget &gt; &amp;target)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>finalscore</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a3f98717dbf71197560be318a6cd3e303</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>computeDerivatives</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a58b15117979319ec1662722faae37013</anchor>
      <arglist>(PointSource &amp;pt)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>init</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a9b013f5f66b34835b74403d8a99c158e</anchor>
      <arglist>(bool useDefaultGridResolutions, std::vector&lt; double &gt; _resolutions)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>lineSearch</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a751f0a46cb6fa29e8618e59bb77270ac</anchor>
      <arglist>(double score_here, Eigen::Matrix&lt; double, 6, 1 &gt; &amp;score_gradient, Eigen::Matrix&lt; double, 6, 1 &gt; &amp;increment, pcl::PointCloud&lt; PointSource &gt; &amp;source, NDTMap&lt; PointTarget &gt; &amp;target)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>lineSearchMT</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a1c0eaaaf96f3785358a6eb5ddbf2e363</anchor>
      <arglist>(Eigen::Matrix&lt; double, 6, 1 &gt; &amp;score_gradient_init, Eigen::Matrix&lt; double, 6, 1 &gt; &amp;increment, pcl::PointCloud&lt; PointSource &gt; &amp;source, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;globalT, NDTMap&lt; PointTarget &gt; &amp;target)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>normalizeAngle</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a02be116ab55066c8775d3174d578c3a7</anchor>
      <arglist>(double a)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>precomputeAngleDerivatives</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a65b8589717be18c1f12bb683729b3911</anchor>
      <arglist>(Eigen::Vector3d &amp;eulerAngles)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>pcl::PointCloud&lt; PointSource &gt;</type>
      <name>subsample</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>abebcc6291a581f7ce488e2e9c45c33b3</anchor>
      <arglist>(pcl::PointCloud&lt; PointSource &gt; &amp;original)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>update_hessian</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a0462ddcef65d3329eabd1cfc31b7c963</anchor>
      <arglist>(Eigen::Matrix&lt; double, 6, 6 &gt; &amp;Hessian, Eigen::Vector3d &amp;transformed, Eigen::Matrix3d &amp;Cinv)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>update_score_gradient</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a137eac88d6fd633fbde446055d3ff1e6</anchor>
      <arglist>(Eigen::Matrix&lt; double, 6, 1 &gt; &amp;score_gradient, Eigen::Vector3d &amp;transformed, Eigen::Matrix3d &amp;Cinv)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>a2</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a37e2867d1a54805498cbdf0df65abb42</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>a3</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>ae9a83027e45e535d45ff3593f1f21a1b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>b2</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a2d1f4634e08f3ec055819e957fd92040</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>b3</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>ad23817992877bf7ba035a4b938457094</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>c2</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>af93c533aa3227a51fa845d94c46875c8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>c3</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>af0c8d093a698bd5af11ef0174e2a607f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>current_resolution</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a460475161fff948716dab97759b8162a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>d1</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a2194bca137b2bfb532f95c2476e677e0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>d2</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a5858c43885bcf307d99db2475999d582</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>d3</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a5ff4996d6bcea4a3cf26f1ed5d88c79f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>e1</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>ad99c3a9f130f4fc1f5d3369a66649c44</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>e2</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>aceebd922ffbb2c4bc69ad34479407042</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>e3</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a0616cdb09313da3faba884da4085eec2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>f1</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>aad32c06f3acf3c1721407ca33605bdbf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>f2</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>aff249a99e1802bbc61adef6c72605547</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>f3</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a7ecae8f8345266fbd178e97814e28bd2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Matrix&lt; double, 18, 6 &gt;</type>
      <name>Hest</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>ae3594b4976b1b7e100944e87c75fcde9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>isIrregularGrid</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a9fdbb28813f7107b868d92e764ac906a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Matrix&lt; double, 3, 6 &gt;</type>
      <name>Jest</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>ac2100aa5b2ccccacb4fc4a59c5bc0a81</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>jest04</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a96bbea72b2a29acc0d881eac43b67904</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>jest05</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a3993ba327b5356147371eafb1bfba4a2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>jest13</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a09a6b242762cd4de911f4fc5694e34aa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>jest14</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a8b25da4eb4c3ccbaf6c48e0abdca6cb1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>jest15</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a029f9489f37a43929960112f6c89adea</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>jest23</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>abea6eb4c65e1a2f25b6f0115f174c8ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>jest24</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>ae783234118617f1d3c6df9e31c338a1e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::Vector3d</type>
      <name>jest25</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>ae732589846f398af6101a939d127b5b2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>lfd1</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a8c44a5a09948530436d4b3e543bc563e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>lfd2</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>aaa464e4b4d31abc01e54ed57f8064ce2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>NUMBER_OF_ACTIVE_CELLS</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a359c03b5b85342dc465818e11298e756</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>NUMBER_OF_POINTS</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>af7c45d25071c4e73b02c61889b5855a3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>resolutions</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>a1ac301724d3afc42b4f2d0cb29293598</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>useSimpleDerivatives</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherP2D.html</anchorfile>
      <anchor>afbe3e24fa90c78d96367a408b3f5865a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>lslgeneric::NDTMatcherP2D::MoreThuente</name>
    <filename>structlslgeneric_1_1NDTMatcherP2D_1_1MoreThuente.html</filename>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>absmax</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherP2D_1_1MoreThuente.html</anchorfile>
      <anchor>a13c67d2a22fc79353dc95a531ed18786</anchor>
      <arglist>(double a, double b, double c)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>cstep</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherP2D_1_1MoreThuente.html</anchorfile>
      <anchor>a5a59e217fc0a5caf9f1e6fc499926fd8</anchor>
      <arglist>(double &amp;stx, double &amp;fx, double &amp;dx, double &amp;sty, double &amp;fy, double &amp;dy, double &amp;stp, double &amp;fp, double &amp;dp, bool &amp;brackt, double stmin, double stmax)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>max</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherP2D_1_1MoreThuente.html</anchorfile>
      <anchor>a6e3b1b4c104b9151e79e6ed20df5b3dc</anchor>
      <arglist>(double a, double b)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>min</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherP2D_1_1MoreThuente.html</anchorfile>
      <anchor>ab9982bdfadc4f98d465f1b0cbe89ef36</anchor>
      <arglist>(double a, double b)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>lslgeneric::NDTMatcherSequentialD2D</name>
    <filename>classlslgeneric_1_1NDTMatcherSequentialD2D.html</filename>
    <templarg></templarg>
    <class kind="struct">lslgeneric::NDTMatcherSequentialD2D::MoreThuente</class>
    <member kind="function">
      <type>bool</type>
      <name>add_cloud</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>ab7847aed4147f44795f64e51172bebe6</anchor>
      <arglist>(pcl::PointCloud&lt; PointSource &gt; &amp;cloud, Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;Tref)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual double</type>
      <name>derivativesNDT</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>aec5af299d45bfe67072db644841bff2e</anchor>
      <arglist>(const std::vector&lt; NDTCell&lt; PointSource &gt; * &gt; &amp;source, const std::vector&lt; NDTCell&lt; PointSource &gt; * &gt; &amp;target, Eigen::MatrixXd &amp;score_gradient, Eigen::MatrixXd &amp;Hessian, bool computeHessian)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>match_all</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>a90d6a683f9d010b898ebd53cadacf860</anchor>
      <arglist>(Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &amp;T_correction, bool useInitialGuess=false)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NDTMatcherSequentialD2D</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>aeac8bdc55e2f403f2351d5088fe6a214</anchor>
      <arglist>(double _resolution)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NDTMatcherSequentialD2D</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>a1a326c31526555c7f32d41b7e98077f3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NDTMatcherSequentialD2D</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>a485634d797b55bcb32cb47f507a564d8</anchor>
      <arglist>(const NDTMatcherSequentialD2D &amp;other)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>current_resolution</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>a07f841b6bc755a5f48a480818d9583af</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>ITR_MAX</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>acb1aa3ca43ca29554bdaa06dd918c8fa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; lslgeneric::NDTMap&lt; PointSource &gt; *, Eigen::aligned_allocator&lt; lslgeneric::NDTMap&lt; PointSource &gt; * &gt; &gt;</type>
      <name>maps</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>a454e1469e3f497c8e4f5cdddbc3592c5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; pcl::PointCloud&lt; PointSource &gt;, Eigen::aligned_allocator&lt; pcl::PointCloud&lt; PointSource &gt; * &gt; &gt;</type>
      <name>pcs</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>ab7ebd5ff8c7fdb7647e3263151f485db</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt;, Eigen::aligned_allocator&lt; Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &gt; &gt;</type>
      <name>transforms</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>ab19e780a862a111d376120c6cddd735c</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>computeDerivativesLocal</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>a5186ae31d8317a5b389f77bf9cf64567</anchor>
      <arglist>(Eigen::Vector3d &amp;m1, Eigen::Matrix3d C1, Eigen::Matrix&lt; double, 3, 6 &gt; &amp;_Jest, Eigen::Matrix&lt; double, 18, 6 &gt; &amp;_Hest, Eigen::Matrix&lt; double, 3, 18 &gt; &amp;_Zest, Eigen::Matrix&lt; double, 18, 18 &gt; &amp;_ZHest, bool computeHessian)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>lineSearchMT</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>ae1c2a7ee8cb9738116a01608bf220aff</anchor>
      <arglist>(Eigen::Matrix&lt; double, 6, 1 &gt; &amp;increment, std::vector&lt; NDTCell&lt; PointSource &gt; * &gt; &amp;source, std::vector&lt; NDTCell&lt; PointSource &gt; * &gt; &amp;target)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>normalizeAngle</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>ae7a47cc87e7b76b2c7f9bb5310775600</anchor>
      <arglist>(double a)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual bool</type>
      <name>update_gradient_hessian_local</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>a19e52f098aec748a43400c39a330a6bf</anchor>
      <arglist>(Eigen::MatrixXd &amp;score_gradient, Eigen::MatrixXd &amp;Hessian, const Eigen::Vector3d &amp;m1, const Eigen::Matrix3d &amp;C1, const double &amp;likelihood, const Eigen::Matrix&lt; double, 3, 6 &gt; &amp;_Jest, const Eigen::Matrix&lt; double, 18, 6 &gt; &amp;_Hest, const Eigen::Matrix&lt; double, 3, 18 &gt; &amp;_Zest, const Eigen::Matrix&lt; double, 18, 18 &gt; &amp;_ZHest, bool computeHessian)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>iteration_counter_internal</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>a2cc9c1babd9df41ff5bcd896825c0896</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>lfd1</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>a103e3166fb78049fa9d4c160e5fc5b4e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>lfd2</name>
      <anchorfile>classlslgeneric_1_1NDTMatcherSequentialD2D.html</anchorfile>
      <anchor>a79c09ba7685af68c59b4511bd11dd952</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>lslgeneric::NDTMatcherSequentialD2D::MoreThuente</name>
    <filename>structlslgeneric_1_1NDTMatcherSequentialD2D_1_1MoreThuente.html</filename>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>absmax</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherSequentialD2D_1_1MoreThuente.html</anchorfile>
      <anchor>a529079bef6b9dff3110c36e7d66354fd</anchor>
      <arglist>(double a, double b, double c)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>cstep</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherSequentialD2D_1_1MoreThuente.html</anchorfile>
      <anchor>a6fd6f8d5d712b1545b464dd0b1b8b032</anchor>
      <arglist>(double &amp;stx, double &amp;fx, double &amp;dx, double &amp;sty, double &amp;fy, double &amp;dy, double &amp;stp, double &amp;fp, double &amp;dp, bool &amp;brackt, double stmin, double stmax)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>max</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherSequentialD2D_1_1MoreThuente.html</anchorfile>
      <anchor>a826403669946cf62af70d500d87fd7bd</anchor>
      <arglist>(double a, double b)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>min</name>
      <anchorfile>structlslgeneric_1_1NDTMatcherSequentialD2D_1_1MoreThuente.html</anchorfile>
      <anchor>ab31019321335cea6fb1f278dbf457bb6</anchor>
      <arglist>(double a, double b)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>lslgeneric::TransformParams</name>
    <filename>structlslgeneric_1_1TransformParams.html</filename>
    <member kind="variable">
      <type>std::vector&lt; Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt;, Eigen::aligned_allocator&lt; Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &gt; &gt;</type>
      <name>fk</name>
      <anchorfile>structlslgeneric_1_1TransformParams.html</anchorfile>
      <anchor>aafd38ce06d090a13c63ea67bb6a56860</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt;, Eigen::aligned_allocator&lt; Eigen::Transform&lt; double, 3, Eigen::Affine, Eigen::ColMajor &gt; &gt; &gt;</type>
      <name>rg</name>
      <anchorfile>structlslgeneric_1_1TransformParams.html</anchorfile>
      <anchor>acf230d8cd386399e6de5be9c0e2a4298</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>tf</name>
    <filename>namespacetf.html</filename>
  </compound>
  <compound kind="page">
    <name>index</name>
    <title></title>
    <filename>index</filename>
    <docanchor file="index">codeapi</docanchor>
  </compound>
</tagfile>
