<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>laser_scan_matcher.cpp</name>
    <path>/tmp/ws/src/lsm_localization/src/</path>
    <filename>laser__scan__matcher_8cpp.html</filename>
    <includes id="laser__scan__matcher_8h" name="laser_scan_matcher.h" local="no" imported="no">laser_scan_matcher/laser_scan_matcher.h</includes>
    <namespace>scan_tools</namespace>
  </compound>
  <compound kind="file">
    <name>laser_scan_matcher.h</name>
    <path>/tmp/ws/src/lsm_localization/include/laser_scan_matcher/</path>
    <filename>laser__scan__matcher_8h.html</filename>
    <includes id="scan__constructor_8h" name="scan_constructor.h" local="no" imported="no">laser_scan_matcher/scan_constructor.h</includes>
    <class kind="class">scan_tools::LaserScanMatcher</class>
    <namespace>scan_tools</namespace>
    <member kind="define">
      <type>#define</type>
      <name>MAX_ODOM_AGE</name>
      <anchorfile>laser__scan__matcher_8h.html</anchorfile>
      <anchor>a98f2e0ea8b6053567a997fb6f2fb38c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MAX_ODOM_HISTORY</name>
      <anchorfile>laser__scan__matcher_8h.html</anchorfile>
      <anchor>aa31560085237cdc8a176391f78dc4125</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>laser_scan_matcher_node.cpp</name>
    <path>/tmp/ws/src/lsm_localization/src/</path>
    <filename>laser__scan__matcher__node_8cpp.html</filename>
    <includes id="laser__scan__matcher_8h" name="laser_scan_matcher.h" local="no" imported="no">laser_scan_matcher/laser_scan_matcher.h</includes>
    <member kind="function">
      <type>void</type>
      <name>csm_gsl_error_handler</name>
      <anchorfile>laser__scan__matcher__node_8cpp.html</anchorfile>
      <anchor>a7c6d01ebbadc6aa63ddc02d5b3f0e74c</anchor>
      <arglist>(const char *reason, const char *file, int line, int gsl_errno)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>laser__scan__matcher__node_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>scan_constructor.cpp</name>
    <path>/tmp/ws/src/lsm_localization/src/</path>
    <filename>scan__constructor_8cpp.html</filename>
    <includes id="scan__constructor_8h" name="scan_constructor.h" local="no" imported="no">laser_scan_matcher/scan_constructor.h</includes>
    <namespace>scan_tools</namespace>
    <member kind="function">
      <type>Point</type>
      <name>bezier</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>ace8cd2d55b00138b341793131853f674</anchor>
      <arglist>(const Point *points, double t)</arglist>
    </member>
    <member kind="function">
      <type>Point</type>
      <name>bezier</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>ace54f71a43ecb7cb48e413b92a0f501e</anchor>
      <arglist>(const Point(&amp;points)[N], double t)</arglist>
    </member>
    <member kind="function">
      <type>Point</type>
      <name>bezier&lt; 1 &gt;</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>a48595f60359f0c13b0302fecf9ce587b</anchor>
      <arglist>(const Point *point, double t)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>cross2</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>adf17b31ef34654fb535f6a47afa26b8c</anchor>
      <arglist>(const Eigen::Vector2d &amp;a, const Eigen::Vector2d &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; Segment &gt;</type>
      <name>extractSegments</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>a1bc25cb4f0dd393336fc8859fa660cdc</anchor>
      <arglist>(const potrace_path_t *path_head)</arglist>
    </member>
    <member kind="function">
      <type>Point</type>
      <name>potrace_to_point</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>ad1a4acd5317053f06625df6520c43f4c</anchor>
      <arglist>(const potrace_dpoint_t &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>std::pair&lt; potrace_bitmap_t, std::unique_ptr&lt; potrace_word[]&gt; &gt;</type>
      <name>prepareBitmap</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>ad6c82027ecaddd433451e04022e06f4f</anchor>
      <arglist>(const ScanConstructor::grid_t &amp;grid, int map_occupancy_threshold)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>scan_constructor.h</name>
    <path>/tmp/ws/src/lsm_localization/include/laser_scan_matcher/</path>
    <filename>scan__constructor_8h.html</filename>
    <includes id="segment__tree_8h" name="segment_tree.h" local="no" imported="no">laser_scan_matcher/segment_tree.h</includes>
    <class kind="struct">scan_tools::ScanConstructor::map_params_t</class>
    <class kind="struct">scan_tools::ScanConstructor::scan_params_t</class>
    <class kind="class">scan_tools::ScanConstructor</class>
    <namespace>scan_tools</namespace>
  </compound>
  <compound kind="file">
    <name>segment_tree.cpp</name>
    <path>/tmp/ws/src/lsm_localization/src/</path>
    <filename>segment__tree_8cpp.html</filename>
    <includes id="segment__tree_8h" name="segment_tree.h" local="no" imported="no">laser_scan_matcher/segment_tree.h</includes>
    <namespace>scan_tools</namespace>
    <member kind="function">
      <type>double</type>
      <name>min_dist_to_segment</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>a4d2f7c55a3d9dc3524f3a0f55a0df3dc</anchor>
      <arglist>(const Point &amp;p, const Segment &amp;seg)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>segment_tree.h</name>
    <path>/tmp/ws/src/lsm_localization/include/laser_scan_matcher/</path>
    <filename>segment__tree_8h.html</filename>
    <class kind="struct">scan_tools::SegmentTree::Node</class>
    <class kind="struct">scan_tools::Segment</class>
    <class kind="class">scan_tools::SegmentTree</class>
    <namespace>scan_tools</namespace>
    <member kind="typedef">
      <type>Eigen::Vector2d</type>
      <name>Point</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>ac3fb3e70ffacee8f58656ad6fce161d6</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>scan_tools::LaserScanMatcher</name>
    <filename>classscan__tools_1_1LaserScanMatcher.html</filename>
    <member kind="function">
      <type></type>
      <name>LaserScanMatcher</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a39c41010c7ca8c3d44766b426ffc151b</anchor>
      <arglist>(ros::NodeHandle nh, ros::NodeHandle nh_private)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~LaserScanMatcher</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a6d3ab850bb850b8f27295986181c16a4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>addOdomToHistory</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a3308ca294b7f278a4f83a17d37f64539</anchor>
      <arglist>(const nav_msgs::Odometry::ConstPtr &amp;o)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>constructedScanToLDP</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ab4c0b65c2a5a31146f3397167bfad8d2</anchor>
      <arglist>(LDP &amp;ldp)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>constructScan</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ac6023a3a12ea04ceadb72171b522b691</anchor>
      <arglist>(const ros::Time &amp;timestamp)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>createTfFromXYTheta</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>aa79d60d4731360ad075e0d0b01426658</anchor>
      <arglist>(double x, double y, double theta, tf::Transform &amp;t)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>doPredictPose</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a559a0e9036777baa3bbad45e374979af</anchor>
      <arglist>(double delta_t)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>doPublishDebugTF</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a2d9546cec267fb95deb21ae87ea97ff9</anchor>
      <arglist>(const ros::Time &amp;time, const tf::Transform &amp;odom_delta, const ros::Publisher &amp;publisher, const std::string &amp;frame)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>doPublishOdomRate</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a2f2c178c5b7619c8d395def28b619c33</anchor>
      <arglist>(const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>doPublishScanRate</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a74c875d45bc0ff26f77cbeb8390a35a9</anchor>
      <arglist>(const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>nav_msgs::Odometry *</type>
      <name>earliestOdomAfter</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a7509a7c9878c949fff8df74eeed7eb58</anchor>
      <arglist>(const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>tf::Vector3</type>
      <name>fusePoses</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>aad312f15f5b36242b8d45d83a7c81779</anchor>
      <arglist>(const tf::Transform &amp;pose_delta)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>getBaseToFootprintTf</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a636f854f6e28293baeb13c434e6599ee</anchor>
      <arglist>(const std::string &amp;frame_id)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>getBaseToLaserTf</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>afd088b401fff8d36c20f8414ad330bcf</anchor>
      <arglist>(const std::string &amp;frame_id)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>getOdomDeltaT</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a829f68f1f684a3c09a914033718d4f83</anchor>
      <arglist>(const nav_msgs::Odometry::ConstPtr &amp;o)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getPrediction</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>af15078d178cc102ebb64bce9183f2e48</anchor>
      <arglist>(double &amp;pr_ch_x, double &amp;pr_ch_y, double &amp;pr_ch_a, double dt)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>initialposeCallback</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a8cf3b729d3cd0f91fffde232b39f31cd</anchor>
      <arglist>(const geometry_msgs::PoseWithCovarianceStamped::ConstPtr &amp;pose_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>initParams</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a9fe6a3764dbc0d14486b2aba56a27ff6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>laserScanToLDP</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a9d61602f823fbbc6c4e6f995e264b812</anchor>
      <arglist>(const sensor_msgs::LaserScan::ConstPtr &amp;scan_msg, LDP &amp;ldp)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>nav_msgs::Odometry *</type>
      <name>latestOdomBefore</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ad0f75c58cc2a3dfdf9ded1714700af9d</anchor>
      <arglist>(const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>mapCallback</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a27897762fcc639c7bff8de07e5508fe0</anchor>
      <arglist>(const nav_msgs::OccupancyGrid::ConstPtr &amp;map_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>newKeyframeNeeded</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a7faf51bab0f93d05cc28cdbb9af93d45</anchor>
      <arglist>(const tf::Transform &amp;d)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>odomCallback</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>aea1d9ddd1fd89e981903caf09c31ca86</anchor>
      <arglist>(const nav_msgs::Odometry::ConstPtr &amp;odom_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>int</type>
      <name>processScan</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ae83c1ef384c2d947035cdddaba195a2d</anchor>
      <arglist>(LDP &amp;curr_ldp_scan, const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>int</type>
      <name>processScan</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ae258e66a932f82540b0880cfc4534e2f</anchor>
      <arglist>(LDP &amp;curr_ldp_scan, LDP &amp;ref_ldp_scan, const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>resetState</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a00fc88c5e8c1d21a24d9523545844f6d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>scanCallback</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a627fbc2a1f434e9066c775dfe883dba3</anchor>
      <arglist>(const sensor_msgs::LaserScan::ConstPtr &amp;scan_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setTransSigmaMatrix</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>aa1822f2faf5c414ce53c4c83c6c5067b</anchor>
      <arglist>(const double yaw)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>syncOdom</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a14f06a708bc92fb1324df326b6eecceb</anchor>
      <arglist>(const ros::Time &amp;time)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>gsl_matrix *</type>
      <name>B_odom_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a04d0acef0c8b461ed4c36f875df9e772</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>base_frame_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a7474485345138d39246ef1c8ef900e50</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::Transform</type>
      <name>base_to_footprint_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ab860979249158bb0cc20636600be5ac2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::Transform</type>
      <name>base_to_laser_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>af04fdbdd5d940c1f6bdcfbfdef6bc42c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>constructed_intensities_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>af9bf34ebb78916ef933541fdabeebed5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>constructed_ranges_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a46533b27684289c0d1a0bd6dae66dc6f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>constructed_scan_publisher_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ac60011352a4090fdbdb47bacdc20e0f2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>nav_msgs::Odometry</type>
      <name>current_odom_msg_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>acffff4d41882a3d41068fb9bb99a5e40</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>debug_csm_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a5ec70d95d830ecc1e0ad224224107935</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>debug_laser_delta_publisher_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a2748a61b6f94801857622241785a2d76</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>debug_odom_current_publisher_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a874d8d750563e92ef0dc57e55e08242d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>debug_odom_delta_publisher_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ad8598da5dad3532506c1793ed4b067a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>debug_odom_reference_publisher_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>abf70a380acf06dabe302084aec8fa112</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::Transform</type>
      <name>f2b_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>af96391a2ad71be684930bf958b2517e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::Transform</type>
      <name>f2b_kf_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>adc12e7699face09eb2b80a1e251b1a50</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::Transform</type>
      <name>f2pcl_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ac58d57e0520a0beea934be44dcd0453f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>fixed_frame_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ab578f4919d378dfe64cb809721e5fe67</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::Transform</type>
      <name>footprint_to_base_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a70b94a7fca97551ddcfa5bfa6c8b16a8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>have_map_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ab158f3471444ac02535247ceb02c9de3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>gsl_matrix *</type>
      <name>I1_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a4e70d3f68ca7eac6dff7c8aa321f7b6b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>gsl_matrix *</type>
      <name>I2_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ab07553dc1cd03464cf101213249a6763</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::Transform</type>
      <name>initial_pose_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a18b6e6122934982fe98962c11dc8747c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>initialized_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a69496e9d6481305c5ac63a9abebd8c45</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>initialpose_subscriber_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a2de4508584997cf920cbc60b32199c37</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>initialpose_topic_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a89f49a9d5fc55629b26af26398984025</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>initialpose_valid_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>aef31aa2a9ca940ab1ef27a43683be19f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>sm_params</type>
      <name>input_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>af8cbae96bf0cce20ee6d8d4d2cdb2278</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>gsl_matrix *</type>
      <name>kalman_gain_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a0903a56ae1d38f81a7fe294068714770</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>gsl_matrix *</type>
      <name>kalman_gain_comp_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a7b193c993e1eaff7e94e97ad6e8efc30</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>kf_dist_angular_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a5171619a963f560c7a50c30cda745c29</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>kf_dist_linear_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>af573f309c99473763696a38fb43471f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>kf_dist_linear_sq_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a06d8a1c495f67234338286cda25746e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::Transform</type>
      <name>laser_to_base_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>aa0a47caa9dc478b1c18edbfa203ed19a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>last_icp_time_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a01ef3dc9a060e2b098be2dccd8f45698</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>map_occupancy_threshold_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a15323acf62b3bafe8d3d0062721fad77</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>map_subscriber_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>aa7317a20120491c94fae4db57cb13e75</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>max_allowed_range_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a6d8c45f6b6af1c8783dc2bb34b548d1e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>max_pose_delta_yaw_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a3baba71179c7515a09de719bc2f4b840</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>max_variance_rot_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a59d4f7553f6ce4220c9867020a2e8495</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>max_variance_trans_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a0dcaf161432f2453be8eea000020ebf1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::Transform</type>
      <name>measured_pose_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a60a4e5cfa8ae7fdc4c0bdac1c39747ea</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>measured_pose_publisher_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a7797c763b1124d4eb3214e24a78b9c18</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>mutex_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>aeaaed4a0881bbe06c157ff7d6db9abf4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a37748cbd29ba89ca42d9dea1d89f19bf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_private_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>afe2ab002a886b37fba41bdca3172c3ba</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>no_odom_fusing_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ac9912b1691db40a9982f69fda5587319</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>observed_angle_inc_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a610405d10f4900fb66821526b0672c70</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>observed_angle_max_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a8c21e0ac0572db131d92be2d89b1ca44</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>observed_angle_min_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a76fc0b72b68ecf58a82c10e011ab4770</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>observed_range_max_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ad9f938aa45063043c520073342280925</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>observed_range_min_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ad3b1b2e6c5d5cd58e434c5cab23cb06b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>observed_scan_frame_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a34b81f3c22e3f04d5455cc8710f445de</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>observed_scan_time_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ac5385ae2aeaca559abd6e64a822e2e9f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>observed_time_inc_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a3d929c482f9377932f9024b46e5bfea1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>odom_frame_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a1b5104f5898b9fb53e688183baaf8978</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::deque&lt; nav_msgs::Odometry &gt;</type>
      <name>odom_history_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ae11cadf8a7085767ef6ff06f7e6d236a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>odom_subscriber_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a5ec13c57395f75ede74f1f888477a25e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>orientation_covariance_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>aca29ec054bca6cd94ce40463ab515ae7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>sm_result</type>
      <name>output_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a7c24d9105a5f2662bc51d3f7ee2d4730</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>gsl_permutation *</type>
      <name>P2_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a63b817ed16b6c25333988007ce1b8600</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::Transform</type>
      <name>pcl2f_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a6c68796092f0b67fd88e3f5322368543</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pose_publisher_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a0f9a4908cd9d18cc19f63e58d868cb15</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pose_stamped_publisher_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>aaa7b3dd99d2477a14281cb7861e967bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pose_with_covariance_publisher_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ace1b23c8e939442743f81335de66e421</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pose_with_covariance_stamped_publisher_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ab5dd64e7b6cb7b0aa13225e5709f4120</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>position_covariance_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a356e9d74b597dfef6455325ff14c8717</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::Transform</type>
      <name>predicted_pose_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>aaf72a0555bbaa69cfd55fa695767c9c3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::Transform</type>
      <name>predicted_pose_in_pcl_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>acdff811973e8eb06f020dbb03021739e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>predicted_pose_publisher_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a2cb1e7b65dd250df397dea9df4d2d9e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>LDP</type>
      <name>prev_ldp_scan_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a5967232a8c01f41a2e178df9e8c6b1d7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>publish_base_tf_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a970d2ae0112f30fe5a75bfdd442be7ba</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>publish_constructed_scan_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a0da298cf4e4c924a033ac9e1864615d4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>publish_debug_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ae22741511c009aa0da6d57f66d4787a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>publish_measured_pose_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>aff4a20097acaec81d8324880c09e7788</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>publish_odom_tf_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ab863e133fb096d8425d9db1ec46072f1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>publish_pose_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ae683dbb95ff97d85cf6cba2fb5a978e8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>publish_pose_stamped_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a919a62679fb0c034f0ab3b2474a0d30d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>publish_pose_with_covariance_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ab12e8a79ddcae9732c8332fafc464975</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>publish_pose_with_covariance_stamped_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a1c4dc2bb4b147f4b31f85ad7c6d836b7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>publish_predicted_pose_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ac3ccd9484053efb85df84631b2fad8ac</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>received_odom_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ab9a7e6ac35b94249c25860a93dd11bf9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>nav_msgs::Odometry</type>
      <name>reference_odom_msg_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a616d88b3d4763d5fa46276b6c6295a54</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ScanConstructor</type>
      <name>scan_constructor_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a7c8170ed747bde9a1ed5c687bb5dd6e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>scan_downsample_rate_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>aacb232941758abc5351fa7c04337a49b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>scan_subscriber_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a25eb00d8de4e91846f343e89540466f5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>gsl_matrix *</type>
      <name>Sigma_measured_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>af5bddf9227519a42ccd68b9b4ecaff0a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>gsl_matrix *</type>
      <name>Sigma_odom_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a7b58f6fb6a221a85464aa9cdf859fbf8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>gsl_matrix *</type>
      <name>Sigma_odom_trans_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a85169455e28f7da672c0a37fd0108830</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>gsl_matrix *</type>
      <name>Sigma_u_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a720d1e73a0a5d83f6bc473b94cd645b8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>skipped_poses_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>af3850a54eac474b210e2631305f4b890</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::TransformBroadcaster</type>
      <name>tf_broadcaster_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ac3acfad35084b3cb97768fb3ffcb7970</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::TransformListener</type>
      <name>tf_listener_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a2767f33c1c40693eb5a8f69cd11b868f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>theta_odom_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a4e87ad8ad38c936518f40aa4e005f7e4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>gsl_matrix *</type>
      <name>trans_sigma_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a2d7ca94ce17ed39f162e5b2272f69762</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>use_map_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>a7a3448bb017c5a01fa185191b6763ea2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>use_odom_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ac9f02661e7051209dd3b633015069eae</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>gsl_vector *</type>
      <name>xvec_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>ae190ae9351cace17e293915086cf88f9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>gsl_vector *</type>
      <name>yvec_</name>
      <anchorfile>classscan__tools_1_1LaserScanMatcher.html</anchorfile>
      <anchor>aca0390ef09d9be50083dd5ef3b46107e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>scan_tools::ScanConstructor::map_params_t</name>
    <filename>structscan__tools_1_1ScanConstructor_1_1map__params__t.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>map_height</name>
      <anchorfile>structscan__tools_1_1ScanConstructor_1_1map__params__t.html</anchorfile>
      <anchor>a6b8aa0b35a57a15dd79424e79b7c1165</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>map_occupancy_threshold</name>
      <anchorfile>structscan__tools_1_1ScanConstructor_1_1map__params__t.html</anchorfile>
      <anchor>acdfb94b864cb03aaebc58d3757167a4e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>map_res</name>
      <anchorfile>structscan__tools_1_1ScanConstructor_1_1map__params__t.html</anchorfile>
      <anchor>a37bd55c7ff7a07153dea1f27a71c3d14</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>map_width</name>
      <anchorfile>structscan__tools_1_1ScanConstructor_1_1map__params__t.html</anchorfile>
      <anchor>a2bef218f6039ab86992867cafad01bf7</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>scan_tools::SegmentTree::Node</name>
    <filename>structscan__tools_1_1SegmentTree_1_1Node.html</filename>
    <templarg>Axis</templarg>
    <member kind="typedef">
      <type>Node&lt; ChildAxis &gt;</type>
      <name>ChildNode</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a26e971f824221a1a84fce574bfcd6067</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>typename ChildNode::Ptr</type>
      <name>ChildPtr</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>aa61bbd5c7036d876e94896b3d18a0737</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::unique_ptr&lt; Node &gt;</type>
      <name>Ptr</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a7bbd78e0289f2d0f9cc69dd84dfc97b3</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Node</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a1e649ceb9c566beb7265bcb41d68c01c</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Node</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a5efb293abf8317434b4a0f34ed641849</anchor>
      <arglist>(const Node &amp;)=delete</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Node</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a996841d734221cfd36d0b74fe496a1e6</anchor>
      <arglist>(Node &amp;&amp;)=default</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Node</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a4f1e386f9b2b850c37f56f2359c4ebfd</anchor>
      <arglist>(std::vector&lt; Segment &gt; segs)</arglist>
    </member>
    <member kind="function">
      <type>Node &amp;</type>
      <name>operator=</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>aaa9f92d820d4a18f04e4a82668bf77f4</anchor>
      <arglist>(const Node &amp;)=delete</arglist>
    </member>
    <member kind="function">
      <type>Node &amp;</type>
      <name>operator=</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a84423f391187dfdd7b0edd3c5c688f38</anchor>
      <arglist>(Node &amp;&amp;)=default</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>segments_within</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>ad81c18683e6c4a7bff9f45d989324c13</anchor>
      <arglist>(Point p, double radius, const Callback &amp;cb) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>traverse</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a8f0ad21500fb293d37a269276ededc2f</anchor>
      <arglist>(const Callback &amp;cb, int depth=0) const</arglist>
    </member>
    <member kind="variable">
      <type>ChildPtr</type>
      <name>left_</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a446dad7837c0d1f2c37816984041fc94</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>pivot_</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>ad37943a236edd9f261ada2d242c24bdf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ChildPtr</type>
      <name>right_</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a559bc6f3f085f7b3f2489d68893b2ed4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; Segment &gt;</type>
      <name>segments_</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a6ed32c7579ce9c5042c2b02937aa74d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>constexpr static auto</type>
      <name>ChildAxis</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>af9799cbd8d78f1d9586bd3f91b9eef37</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>constexpr static auto</type>
      <name>leaf_capacity</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a988dd834fc075292abf81aaa0301ecde</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Node&lt; 0 &gt;</name>
    <filename>structscan__tools_1_1SegmentTree_1_1Node.html</filename>
    <member kind="typedef">
      <type>Node&lt; ChildAxis &gt;</type>
      <name>ChildNode</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a26e971f824221a1a84fce574bfcd6067</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>typename ChildNode::Ptr</type>
      <name>ChildPtr</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>aa61bbd5c7036d876e94896b3d18a0737</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::unique_ptr&lt; Node &gt;</type>
      <name>Ptr</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a7bbd78e0289f2d0f9cc69dd84dfc97b3</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Node</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a1e649ceb9c566beb7265bcb41d68c01c</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Node</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a5efb293abf8317434b4a0f34ed641849</anchor>
      <arglist>(const Node &amp;)=delete</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Node</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a996841d734221cfd36d0b74fe496a1e6</anchor>
      <arglist>(Node &amp;&amp;)=default</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Node</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a4f1e386f9b2b850c37f56f2359c4ebfd</anchor>
      <arglist>(std::vector&lt; Segment &gt; segs)</arglist>
    </member>
    <member kind="function">
      <type>Node &amp;</type>
      <name>operator=</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>aaa9f92d820d4a18f04e4a82668bf77f4</anchor>
      <arglist>(const Node &amp;)=delete</arglist>
    </member>
    <member kind="function">
      <type>Node &amp;</type>
      <name>operator=</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a84423f391187dfdd7b0edd3c5c688f38</anchor>
      <arglist>(Node &amp;&amp;)=default</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>segments_within</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>ad81c18683e6c4a7bff9f45d989324c13</anchor>
      <arglist>(Point p, double radius, const Callback &amp;cb) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>traverse</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a8f0ad21500fb293d37a269276ededc2f</anchor>
      <arglist>(const Callback &amp;cb, int depth=0) const</arglist>
    </member>
    <member kind="variable">
      <type>ChildPtr</type>
      <name>left_</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a446dad7837c0d1f2c37816984041fc94</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>pivot_</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>ad37943a236edd9f261ada2d242c24bdf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ChildPtr</type>
      <name>right_</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a559bc6f3f085f7b3f2489d68893b2ed4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; Segment &gt;</type>
      <name>segments_</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a6ed32c7579ce9c5042c2b02937aa74d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>constexpr static auto</type>
      <name>ChildAxis</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>af9799cbd8d78f1d9586bd3f91b9eef37</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>constexpr static auto</type>
      <name>leaf_capacity</name>
      <anchorfile>structscan__tools_1_1SegmentTree_1_1Node.html</anchorfile>
      <anchor>a988dd834fc075292abf81aaa0301ecde</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>scan_tools::ScanConstructor::scan_params_t</name>
    <filename>structscan__tools_1_1ScanConstructor_1_1scan__params__t.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>angle_inc</name>
      <anchorfile>structscan__tools_1_1ScanConstructor_1_1scan__params__t.html</anchorfile>
      <anchor>aa20098292974575d5206c4de5cc4042c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>angle_max</name>
      <anchorfile>structscan__tools_1_1ScanConstructor_1_1scan__params__t.html</anchorfile>
      <anchor>a4ee3ba18e79f21859fe1500410d2a334</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>angle_min</name>
      <anchorfile>structscan__tools_1_1ScanConstructor_1_1scan__params__t.html</anchorfile>
      <anchor>a997ce6fca9a6111122f2d5f097abc88b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>max_allowed_range</name>
      <anchorfile>structscan__tools_1_1ScanConstructor_1_1scan__params__t.html</anchorfile>
      <anchor>aa18afdc5d4c55583cadc34dba46cc584</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>range_max</name>
      <anchorfile>structscan__tools_1_1ScanConstructor_1_1scan__params__t.html</anchorfile>
      <anchor>a6080a96907c54ab90518a3aae376a8e8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>range_min</name>
      <anchorfile>structscan__tools_1_1ScanConstructor_1_1scan__params__t.html</anchorfile>
      <anchor>a78875474a13666bdbe2f0ae8cfcd7aa2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>scan_tools::ScanConstructor</name>
    <filename>classscan__tools_1_1ScanConstructor.html</filename>
    <class kind="struct">scan_tools::ScanConstructor::map_params_t</class>
    <class kind="struct">scan_tools::ScanConstructor::scan_params_t</class>
    <member kind="typedef">
      <type>std::vector&lt; std::vector&lt; int &gt; &gt;</type>
      <name>grid_t</name>
      <anchorfile>classscan__tools_1_1ScanConstructor.html</anchorfile>
      <anchor>a59a7ca0e02fc2b002168d3f0467b94f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::vector&lt; double &gt;</type>
      <name>scan_t</name>
      <anchorfile>classscan__tools_1_1ScanConstructor.html</anchorfile>
      <anchor>a69b766ea844b4dad75f1e9781d5ceadc</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>scan_t</type>
      <name>constructScan</name>
      <anchorfile>classscan__tools_1_1ScanConstructor.html</anchorfile>
      <anchor>a2b9c9e808de56b52f52ece3bd2e68805</anchor>
      <arglist>(double x, double y, double yaw, const scan_params_t &amp;scan_params) const</arglist>
    </member>
    <member kind="function">
      <type>const map_params_t &amp;</type>
      <name>map_params</name>
      <anchorfile>classscan__tools_1_1ScanConstructor.html</anchorfile>
      <anchor>adc7f902814455bef491fdc94fc95aff3</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>ScanConstructor &amp;</type>
      <name>operator=</name>
      <anchorfile>classscan__tools_1_1ScanConstructor.html</anchorfile>
      <anchor>a488d8ff4738247143e586d3957728bff</anchor>
      <arglist>(const ScanConstructor &amp;)=default</arglist>
    </member>
    <member kind="function">
      <type>ScanConstructor &amp;</type>
      <name>operator=</name>
      <anchorfile>classscan__tools_1_1ScanConstructor.html</anchorfile>
      <anchor>aa278799d4f63b4c0d5858261ec6b63ab</anchor>
      <arglist>(ScanConstructor &amp;&amp;)=default</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScanConstructor</name>
      <anchorfile>classscan__tools_1_1ScanConstructor.html</anchorfile>
      <anchor>a1a756e67ca5a5ff839f52569eee879e3</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScanConstructor</name>
      <anchorfile>classscan__tools_1_1ScanConstructor.html</anchorfile>
      <anchor>a6d6909763b32f83faab1d8f651117954</anchor>
      <arglist>(const grid_t &amp;grid, const map_params_t &amp;map_params)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScanConstructor</name>
      <anchorfile>classscan__tools_1_1ScanConstructor.html</anchorfile>
      <anchor>afa874c5cd128989817364f416bb7f2f7</anchor>
      <arglist>(const ScanConstructor &amp;)=default</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScanConstructor</name>
      <anchorfile>classscan__tools_1_1ScanConstructor.html</anchorfile>
      <anchor>a92e49283b5f08f75787a27959728b713</anchor>
      <arglist>(grid_t &amp;&amp;grid, const map_params_t &amp;map_params)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScanConstructor</name>
      <anchorfile>classscan__tools_1_1ScanConstructor.html</anchorfile>
      <anchor>a9c6436839a14ca96a6bb2f1bf8f9791a</anchor>
      <arglist>(ScanConstructor &amp;&amp;)=default</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~ScanConstructor</name>
      <anchorfile>classscan__tools_1_1ScanConstructor.html</anchorfile>
      <anchor>abda0c14fbb5cc65cdc3615baf9d8f49d</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>map_params_t</type>
      <name>map_params_</name>
      <anchorfile>classscan__tools_1_1ScanConstructor.html</anchorfile>
      <anchor>a529f9be6d7264fddab758966c5ae57d0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>SegmentTree</type>
      <name>segments_</name>
      <anchorfile>classscan__tools_1_1ScanConstructor.html</anchorfile>
      <anchor>a12656a3f2e4bb4a0b6281e1763a6de2a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>scan_tools::Segment</name>
    <filename>structscan__tools_1_1Segment.html</filename>
    <member kind="function">
      <type>Eigen::Vector2d</type>
      <name>diff</name>
      <anchorfile>structscan__tools_1_1Segment.html</anchorfile>
      <anchor>a82272a9b3f129de9ba10289ee76084c2</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>flip</name>
      <anchorfile>structscan__tools_1_1Segment.html</anchorfile>
      <anchor>a1525da8d170394bd50c652ae3fca30db</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Vector2d</type>
      <name>surface_normal</name>
      <anchorfile>structscan__tools_1_1Segment.html</anchorfile>
      <anchor>a03a4a153de0df3f59c96e5cba8f5c9ff</anchor>
      <arglist>() const</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>scan_tools::SegmentTree</name>
    <filename>classscan__tools_1_1SegmentTree.html</filename>
    <class kind="struct">scan_tools::SegmentTree::Node</class>
    <member kind="function">
      <type>void</type>
      <name>dump</name>
      <anchorfile>classscan__tools_1_1SegmentTree.html</anchorfile>
      <anchor>a2c59b9f172dc43fab21406f003fdebca</anchor>
      <arglist>(std::ostream &amp;os) const</arglist>
    </member>
    <member kind="function">
      <type>SegmentTree &amp;</type>
      <name>operator=</name>
      <anchorfile>classscan__tools_1_1SegmentTree.html</anchorfile>
      <anchor>a3f03bd482ffeddce8aa2e8ffa81e43ef</anchor>
      <arglist>(const SegmentTree &amp;)=delete</arglist>
    </member>
    <member kind="function">
      <type>SegmentTree &amp;</type>
      <name>operator=</name>
      <anchorfile>classscan__tools_1_1SegmentTree.html</anchorfile>
      <anchor>a4b60e61a63a9f0c6f5fb6f62e104fda1</anchor>
      <arglist>(SegmentTree &amp;&amp;)=default</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; Segment &gt;</type>
      <name>segments_within</name>
      <anchorfile>classscan__tools_1_1SegmentTree.html</anchorfile>
      <anchor>afaee4fabd2606f2a09a882af73512c8f</anchor>
      <arglist>(Point p, double radius) const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SegmentTree</name>
      <anchorfile>classscan__tools_1_1SegmentTree.html</anchorfile>
      <anchor>a8824e6f3390a2169fdc5eb4edf311af1</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SegmentTree</name>
      <anchorfile>classscan__tools_1_1SegmentTree.html</anchorfile>
      <anchor>a2fb5440abb3dcf1671c0b8eb0cf35c6a</anchor>
      <arglist>(const SegmentTree &amp;)=delete</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SegmentTree</name>
      <anchorfile>classscan__tools_1_1SegmentTree.html</anchorfile>
      <anchor>a7683ab7a93b584b6e70aba70f437dafb</anchor>
      <arglist>(SegmentTree &amp;&amp;)=default</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SegmentTree</name>
      <anchorfile>classscan__tools_1_1SegmentTree.html</anchorfile>
      <anchor>ad673f477a47a3b7cd98e1285e90616e2</anchor>
      <arglist>(std::vector&lt; Segment &gt; segments)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Node&lt; 0 &gt;</type>
      <name>root_</name>
      <anchorfile>classscan__tools_1_1SegmentTree.html</anchorfile>
      <anchor>adf61ac849434ddf2431cc1517621a522</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>scan_tools</name>
    <filename>namespacescan__tools.html</filename>
    <class kind="class">scan_tools::LaserScanMatcher</class>
    <class kind="class">scan_tools::ScanConstructor</class>
    <class kind="struct">scan_tools::Segment</class>
    <class kind="class">scan_tools::SegmentTree</class>
    <member kind="typedef">
      <type>Eigen::Vector2d</type>
      <name>Point</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>ac3fb3e70ffacee8f58656ad6fce161d6</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>Point</type>
      <name>bezier</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>ace8cd2d55b00138b341793131853f674</anchor>
      <arglist>(const Point *points, double t)</arglist>
    </member>
    <member kind="function">
      <type>Point</type>
      <name>bezier</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>ace54f71a43ecb7cb48e413b92a0f501e</anchor>
      <arglist>(const Point(&amp;points)[N], double t)</arglist>
    </member>
    <member kind="function">
      <type>Point</type>
      <name>bezier&lt; 1 &gt;</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>a48595f60359f0c13b0302fecf9ce587b</anchor>
      <arglist>(const Point *point, double t)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>cross2</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>adf17b31ef34654fb535f6a47afa26b8c</anchor>
      <arglist>(const Eigen::Vector2d &amp;a, const Eigen::Vector2d &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; Segment &gt;</type>
      <name>extractSegments</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>a1bc25cb4f0dd393336fc8859fa660cdc</anchor>
      <arglist>(const potrace_path_t *path_head)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>min_dist_to_segment</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>a4d2f7c55a3d9dc3524f3a0f55a0df3dc</anchor>
      <arglist>(const Point &amp;p, const Segment &amp;seg)</arglist>
    </member>
    <member kind="function">
      <type>Point</type>
      <name>potrace_to_point</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>ad1a4acd5317053f06625df6520c43f4c</anchor>
      <arglist>(const potrace_dpoint_t &amp;p)</arglist>
    </member>
    <member kind="function">
      <type>std::pair&lt; potrace_bitmap_t, std::unique_ptr&lt; potrace_word[]&gt; &gt;</type>
      <name>prepareBitmap</name>
      <anchorfile>namespacescan__tools.html</anchorfile>
      <anchor>ad6c82027ecaddd433451e04022e06f4f</anchor>
      <arglist>(const ScanConstructor::grid_t &amp;grid, int map_occupancy_threshold)</arglist>
    </member>
  </compound>
</tagfile>
