<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>angular_bounds_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>angular__bounds__filter_8h.html</filename>
    <class kind="class">laser_filters::LaserScanAngularBoundsFilter</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>angular_bounds_filter_in_place.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>angular__bounds__filter__in__place_8h.html</filename>
    <class kind="class">laser_filters::LaserScanAngularBoundsFilterInPlace</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>array_filter.cpp</name>
    <path>/tmp/ws/src/laser_filters/src/</path>
    <filename>array__filter_8cpp.html</filename>
    <includes id="array__filter_8h" name="array_filter.h" local="yes" imported="no">laser_filters/array_filter.h</includes>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>array_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>array__filter_8h.html</filename>
    <class kind="class">laser_filters::LaserArrayFilter</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>box_filter.cpp</name>
    <path>/tmp/ws/src/laser_filters/src/</path>
    <filename>box__filter_8cpp.html</filename>
    <includes id="box__filter_8h" name="box_filter.h" local="yes" imported="no">laser_filters/box_filter.h</includes>
  </compound>
  <compound kind="file">
    <name>box_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>box__filter_8h.html</filename>
    <class kind="class">laser_filters::LaserScanBoxFilter</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>fake_laser.py</name>
    <path>/tmp/ws/src/laser_filters/test/</path>
    <filename>fake__laser_8py.html</filename>
    <namespace>fake_laser</namespace>
    <member kind="function">
      <type>def</type>
      <name>laser_test</name>
      <anchorfile>namespacefake__laser.html</anchorfile>
      <anchor>acad950e3ef8f2c0d488aa8af8bd0d98f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>string</type>
      <name>PKG</name>
      <anchorfile>namespacefake__laser.html</anchorfile>
      <anchor>a09019ba28159779d8f727d5e49d7b46d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>footprint_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>footprint__filter_8h.html</filename>
    <class kind="class">laser_filters::LaserScanFootprintFilter</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>generic_laser_filter_node.cpp</name>
    <path>/tmp/ws/src/laser_filters/src/</path>
    <filename>generic__laser__filter__node_8cpp.html</filename>
    <class kind="class">GenericLaserScanFilterNode</class>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>generic__laser__filter__node_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>intensity_filter.cpp</name>
    <path>/tmp/ws/src/laser_filters/src/</path>
    <filename>intensity__filter_8cpp.html</filename>
    <includes id="intensity__filter_8h" name="intensity_filter.h" local="no" imported="no">laser_filters/intensity_filter.h</includes>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>intensity_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>intensity__filter_8h.html</filename>
    <class kind="class">laser_filters::LaserScanIntensityFilter</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>interpolation_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>interpolation__filter_8h.html</filename>
    <class kind="class">laser_filters::InterpolationFilter</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>laser_scan_filters.cpp</name>
    <path>/tmp/ws/src/laser_filters/src/</path>
    <filename>laser__scan__filters_8cpp.html</filename>
    <includes id="median__filter_8h" name="median_filter.h" local="yes" imported="no">laser_filters/median_filter.h</includes>
    <includes id="array__filter_8h" name="array_filter.h" local="yes" imported="no">laser_filters/array_filter.h</includes>
    <includes id="intensity__filter_8h" name="intensity_filter.h" local="yes" imported="no">laser_filters/intensity_filter.h</includes>
    <includes id="range__filter_8h" name="range_filter.h" local="yes" imported="no">laser_filters/range_filter.h</includes>
    <includes id="scan__mask__filter_8h" name="scan_mask_filter.h" local="yes" imported="no">laser_filters/scan_mask_filter.h</includes>
    <includes id="scan__shadows__filter_8h" name="scan_shadows_filter.h" local="yes" imported="no">laser_filters/scan_shadows_filter.h</includes>
    <includes id="footprint__filter_8h" name="footprint_filter.h" local="yes" imported="no">laser_filters/footprint_filter.h</includes>
    <includes id="interpolation__filter_8h" name="interpolation_filter.h" local="yes" imported="no">laser_filters/interpolation_filter.h</includes>
    <includes id="angular__bounds__filter_8h" name="angular_bounds_filter.h" local="yes" imported="no">laser_filters/angular_bounds_filter.h</includes>
    <includes id="angular__bounds__filter__in__place_8h" name="angular_bounds_filter_in_place.h" local="yes" imported="no">laser_filters/angular_bounds_filter_in_place.h</includes>
    <includes id="box__filter_8h" name="box_filter.h" local="yes" imported="no">laser_filters/box_filter.h</includes>
    <includes id="polygon__filter_8h" name="polygon_filter.h" local="yes" imported="no">laser_filters/polygon_filter.h</includes>
    <includes id="speckle__filter_8h" name="speckle_filter.h" local="yes" imported="no">laser_filters/speckle_filter.h</includes>
    <includes id="scan__blob__filter_8h" name="scan_blob_filter.h" local="yes" imported="no">laser_filters/scan_blob_filter.h</includes>
    <includes id="sector__filter_8h" name="sector_filter.h" local="yes" imported="no">laser_filters/sector_filter.h</includes>
  </compound>
  <compound kind="file">
    <name>mainpage.dox</name>
    <path>/tmp/ws/src/laser_filters/</path>
    <filename>mainpage_8dox.html</filename>
  </compound>
  <compound kind="file">
    <name>median_filter.cpp</name>
    <path>/tmp/ws/src/laser_filters/src/</path>
    <filename>median__filter_8cpp.html</filename>
    <includes id="median__filter_8h" name="median_filter.h" local="yes" imported="no">laser_filters/median_filter.h</includes>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>median_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>median__filter_8h.html</filename>
    <class kind="class">laser_filters::LaserMedianFilter</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>point_cloud_footprint_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>point__cloud__footprint__filter_8h.html</filename>
    <class kind="class">laser_filters::PointCloudFootprintFilter</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>pointcloud_filters.cpp</name>
    <path>/tmp/ws/src/laser_filters/src/</path>
    <filename>pointcloud__filters_8cpp.html</filename>
    <includes id="point__cloud__footprint__filter_8h" name="point_cloud_footprint_filter.h" local="yes" imported="no">laser_filters/point_cloud_footprint_filter.h</includes>
  </compound>
  <compound kind="file">
    <name>polygon_filter.cpp</name>
    <path>/tmp/ws/src/laser_filters/src/</path>
    <filename>polygon__filter_8cpp.html</filename>
    <includes id="polygon__filter_8h" name="polygon_filter.h" local="yes" imported="no">laser_filters/polygon_filter.h</includes>
    <namespace>laser_filters</namespace>
    <member kind="function">
      <type>double</type>
      <name>getNumberFromXMLRPC</name>
      <anchorfile>polygon__filter_8cpp.html</anchorfile>
      <anchor>a62f0377a04e984f62c1eea24f6ee8913</anchor>
      <arglist>(XmlRpc::XmlRpcValue &amp;value, const std::string &amp;full_param_name)</arglist>
    </member>
    <member kind="function">
      <type>geometry_msgs::Polygon</type>
      <name>makePolygonFromString</name>
      <anchorfile>polygon__filter_8cpp.html</anchorfile>
      <anchor>ae877de5d78a8194cdec47af651445b26</anchor>
      <arglist>(const std::string &amp;polygon_string, const geometry_msgs::Polygon &amp;last_polygon)</arglist>
    </member>
    <member kind="function">
      <type>geometry_msgs::Polygon</type>
      <name>makePolygonFromXMLRPC</name>
      <anchorfile>polygon__filter_8cpp.html</anchorfile>
      <anchor>ad58dc7fa2c33c9aea3762c01f5ba3471</anchor>
      <arglist>(const XmlRpc::XmlRpcValue &amp;polygon_xmlrpc, const std::string &amp;full_param_name)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>padPolygon</name>
      <anchorfile>polygon__filter_8cpp.html</anchorfile>
      <anchor>a46b1f4639d25eb2f0fa970424cc0aa64</anchor>
      <arglist>(geometry_msgs::Polygon &amp;polygon, double padding)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; std::vector&lt; float &gt; &gt;</type>
      <name>parseVVF</name>
      <anchorfile>polygon__filter_8cpp.html</anchorfile>
      <anchor>ab410fce9f7660b859a82254a5d2ad60f</anchor>
      <arglist>(const std::string &amp;input, std::string &amp;error_return)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>polygonToString</name>
      <anchorfile>polygon__filter_8cpp.html</anchorfile>
      <anchor>a0b6402d565efa86975b0342fdcc6237d</anchor>
      <arglist>(geometry_msgs::Polygon polygon)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>sign0</name>
      <anchorfile>polygon__filter_8cpp.html</anchorfile>
      <anchor>a07fdddafa7ce762bfda59e7146a194ae</anchor>
      <arglist>(double x)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>polygon_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>polygon__filter_8h.html</filename>
    <class kind="class">laser_filters::LaserScanPolygonFilter</class>
    <class kind="class">laser_filters::LaserScanPolygonFilterBase</class>
    <class kind="class">laser_filters::StaticLaserScanPolygonFilter</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>range_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>range__filter_8h.html</filename>
    <class kind="class">laser_filters::LaserScanRangeFilter</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>scan_blob_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>scan__blob__filter_8h.html</filename>
    <class kind="class">laser_filters::ScanBlobFilter</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>scan_mask_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>scan__mask__filter_8h.html</filename>
    <class kind="class">laser_filters::LaserScanMaskFilter</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>scan_shadow_detector.cpp</name>
    <path>/tmp/ws/src/laser_filters/src/</path>
    <filename>scan__shadow__detector_8cpp.html</filename>
    <includes id="scan__shadow__detector_8h" name="scan_shadow_detector.h" local="no" imported="no">laser_filters/scan_shadow_detector.h</includes>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>scan_shadow_detector.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>scan__shadow__detector_8h.html</filename>
    <class kind="class">laser_filters::ScanShadowDetector</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>scan_shadows_filter.cpp</name>
    <path>/tmp/ws/src/laser_filters/src/</path>
    <filename>scan__shadows__filter_8cpp.html</filename>
    <includes id="scan__shadows__filter_8h" name="scan_shadows_filter.h" local="no" imported="no">laser_filters/scan_shadows_filter.h</includes>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>scan_shadows_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>scan__shadows__filter_8h.html</filename>
    <includes id="scan__shadow__detector_8h" name="scan_shadow_detector.h" local="yes" imported="no">laser_filters/scan_shadow_detector.h</includes>
    <class kind="class">laser_filters::ScanShadowsFilter</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>scan_to_cloud_filter_chain.cpp</name>
    <path>/tmp/ws/src/laser_filters/src/</path>
    <filename>scan__to__cloud__filter__chain_8cpp.html</filename>
    <class kind="class">ScanToCloudFilterChain</class>
    <member kind="define">
      <type>#define</type>
      <name>LASER_INFO</name>
      <anchorfile>scan__to__cloud__filter__chain_8cpp.html</anchorfile>
      <anchor>a754e243e0dbc7e2efb0f0261fed2a27c</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>LASER_WARN</name>
      <anchorfile>scan__to__cloud__filter__chain_8cpp.html</anchorfile>
      <anchor>af557d31e21538796bdf2cb5544e3d6e6</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>scan__to__cloud__filter__chain_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>scan_to_scan_filter_chain.cpp</name>
    <path>/tmp/ws/src/laser_filters/src/</path>
    <filename>scan__to__scan__filter__chain_8cpp.html</filename>
    <class kind="class">ScanToScanFilterChain</class>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>scan__to__scan__filter__chain_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>sector_filter.cpp</name>
    <path>/tmp/ws/src/laser_filters/src/</path>
    <filename>sector__filter_8cpp.html</filename>
    <includes id="sector__filter_8h" name="sector_filter.h" local="no" imported="no">laser_filters/sector_filter.h</includes>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>sector_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>sector__filter_8h.html</filename>
    <class kind="class">laser_filters::LaserScanSectorFilter</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>speckle_filter.cpp</name>
    <path>/tmp/ws/src/laser_filters/src/</path>
    <filename>speckle__filter_8cpp.html</filename>
    <includes id="speckle__filter_8h" name="speckle_filter.h" local="no" imported="no">laser_filters/speckle_filter.h</includes>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>speckle_filter.h</name>
    <path>/tmp/ws/src/laser_filters/include/laser_filters/</path>
    <filename>speckle__filter_8h.html</filename>
    <class kind="class">laser_filters::DistanceWindowValidator</class>
    <class kind="class">laser_filters::LaserScanSpeckleFilter</class>
    <class kind="class">laser_filters::RadiusOutlierWindowValidator</class>
    <class kind="class">laser_filters::WindowValidator</class>
    <namespace>laser_filters</namespace>
  </compound>
  <compound kind="file">
    <name>test_scan_filter_chain.cpp</name>
    <path>/tmp/ws/src/laser_filters/test/</path>
    <filename>test__scan__filter__chain_8cpp.html</filename>
    <member kind="function">
      <type>void</type>
      <name>expect_ranges_eq</name>
      <anchorfile>test__scan__filter__chain_8cpp.html</anchorfile>
      <anchor>ab7e9ce4763ed4fa53ad4febcae8f812c</anchor>
      <arglist>(const std::vector&lt; float &gt; &amp;a, const std::vector&lt; float &gt; &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>sensor_msgs::LaserScan</type>
      <name>gen_msg</name>
      <anchorfile>test__scan__filter__chain_8cpp.html</anchorfile>
      <anchor>a1f4d3b03eeb958d071dbc5b644565463</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__scan__filter__chain_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__filter__chain_8cpp.html</anchorfile>
      <anchor>aabaa1f82cc9eb4b1dbe719be294c1986</anchor>
      <arglist>(ScanToScanFilterChain, ArrayFilter)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__filter__chain_8cpp.html</anchorfile>
      <anchor>a0c2f1c1584f7d362facb6f1f995f9cd4</anchor>
      <arglist>(ScanToScanFilterChain, BadConfiguration)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__filter__chain_8cpp.html</anchorfile>
      <anchor>abab8576720697ce98da2c88393eb8c77</anchor>
      <arglist>(ScanToScanFilterChain, IntensityFilter)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__filter__chain_8cpp.html</anchorfile>
      <anchor>ae1f7a28cd1175cf922961847f8f6998e</anchor>
      <arglist>(ScanToScanFilterChain, InterpFilter)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__filter__chain_8cpp.html</anchorfile>
      <anchor>a2d3928e7937b0bc26d602e4aaa94b3fe</anchor>
      <arglist>(ScanToScanFilterChain, MaskFilter)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__filter__chain_8cpp.html</anchorfile>
      <anchor>aeb81d1f60f5c44d3c296d0b553ac4ed8</anchor>
      <arglist>(ScanToScanFilterChain, ShadowFilter)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_scan_shadows_filter.cpp</name>
    <path>/tmp/ws/src/laser_filters/test/</path>
    <filename>test__scan__shadows__filter_8cpp.html</filename>
    <includes id="scan__shadows__filter_8h" name="scan_shadows_filter.h" local="yes" imported="no">laser_filters/scan_shadows_filter.h</includes>
    <member kind="function">
      <type>sensor_msgs::LaserScan</type>
      <name>create_message</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>a25090c2ed32dd516579cd25ee15a37cb</anchor>
      <arglist>(float ranges[], int num_beams)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>expect_ranges_equal</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>a4ed2857e70a7481e3edfb4d1c5f4ead8</anchor>
      <arglist>(const std::vector&lt; float &gt; &amp;actual, const float expected[], int expected_len)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>expect_ranges_equal</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>a64ffbcf63984850a0fa3d12b3748f03f</anchor>
      <arglist>(const std::vector&lt; float &gt; &amp;actual, const std::vector&lt; float &gt; expected)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>a9cae524e7e6929281c70d5b842cddca5</anchor>
      <arglist>(ScanShadowsFilter, DistanceDeltaWithoutShadow)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>a3b732814853852bf774329917755915a</anchor>
      <arglist>(ScanShadowsFilter, DistanceDeltaWithoutShadow_Angles_3_177)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>a26cffc677b4b7f6499a09d7e5beb5f2a</anchor>
      <arglist>(ScanShadowsFilter, DistanceDeltaWithoutShadow_Angles_5_175)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>a09332d47ffb38f51b8a0eb02ba9ae665</anchor>
      <arglist>(ScanShadowsFilter, DistanceDeltaWithoutShadow_Angles_8_172)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>aec4d56c7a3ba01afc1dd726122c2f3b0</anchor>
      <arglist>(ScanShadowsFilter, DistanceDeltaWithoutShadowFlipped_Angles_5_175)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>ad9cfbb70687d9157407d5c1c0bae4e7b</anchor>
      <arglist>(ScanShadowsFilter, NoShadows)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>a38aaf61d3f2cff1d1a72dbeeb2847798</anchor>
      <arglist>(ScanShadowsFilter, SingleBackwardShadow_NoNeighbours)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>a18b0cd5b7c011c9492969636291cd818</anchor>
      <arglist>(ScanShadowsFilter, SingleBackwardShadow_OneNeighbour)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>ab5e97fc130564a3c1fb89b292479fb83</anchor>
      <arglist>(ScanShadowsFilter, SingleForwardShadow_AngleIncrementChanged)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>acf14148e9aa5ab986acb6c0046e645fe</anchor>
      <arglist>(ScanShadowsFilter, SingleForwardShadow_NoNeighbours)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__scan__shadows__filter_8cpp.html</anchorfile>
      <anchor>a5b1fd43b11bcf1d7ff31acb40fd9cd0f</anchor>
      <arglist>(ScanShadowsFilter, SingleForwardShadow_OneNeighbour)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_shadow_detector.cpp</name>
    <path>/tmp/ws/src/laser_filters/test/</path>
    <filename>test__shadow__detector_8cpp.html</filename>
    <includes id="scan__shadow__detector_8h" name="scan_shadow_detector.h" local="yes" imported="no">laser_filters/scan_shadow_detector.h</includes>
    <member kind="function">
      <type>double</type>
      <name>getAngleWithViewpoint</name>
      <anchorfile>test__shadow__detector_8cpp.html</anchorfile>
      <anchor>a3e30eefdd9a2369ca44ee9be3967bd97</anchor>
      <arglist>(const float r1, const float r2, const float included_angle)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isShadowPureImpl</name>
      <anchorfile>test__shadow__detector_8cpp.html</anchorfile>
      <anchor>ac8d3f677629dfd4c85d68012b29e2413</anchor>
      <arglist>(const float r1, const float r2, const float included_angle, const double min_angle, const double max_angle)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__shadow__detector_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__shadow__detector_8cpp.html</anchorfile>
      <anchor>a38cba223af7f1574353220bde2097a58</anchor>
      <arglist>(ScanShadowDetector, ShadowDetectionGeometry)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_speckle_filter.cpp</name>
    <path>/tmp/ws/src/laser_filters/test/</path>
    <filename>test__speckle__filter_8cpp.html</filename>
    <includes id="speckle__filter_8h" name="speckle_filter.h" local="no" imported="no">laser_filters/speckle_filter.h</includes>
    <member kind="function">
      <type>sensor_msgs::LaserScan</type>
      <name>create_message</name>
      <anchorfile>test__speckle__filter_8cpp.html</anchorfile>
      <anchor>a25090c2ed32dd516579cd25ee15a37cb</anchor>
      <arglist>(float ranges[], int num_beams)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>expect_ranges_equal</name>
      <anchorfile>test__speckle__filter_8cpp.html</anchorfile>
      <anchor>a4ed2857e70a7481e3edfb4d1c5f4ead8</anchor>
      <arglist>(const std::vector&lt; float &gt; &amp;actual, const float expected[], int expected_len)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>expect_ranges_equal</name>
      <anchorfile>test__speckle__filter_8cpp.html</anchorfile>
      <anchor>a64ffbcf63984850a0fa3d12b3748f03f</anchor>
      <arglist>(const std::vector&lt; float &gt; &amp;actual, const std::vector&lt; float &gt; expected)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__speckle__filter_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__speckle__filter_8cpp.html</anchorfile>
      <anchor>a76d25265ebfbbe0a392bcae4aa43f599</anchor>
      <arglist>(SpeckleFilter_Distance, MultiplePlateausBiggerWindow)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__speckle__filter_8cpp.html</anchorfile>
      <anchor>a712c0dca74591e0b6b4d7b617f317d6f</anchor>
      <arglist>(SpeckleFilter_Distance, MultiplePlateausNoSpeckles)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__speckle__filter_8cpp.html</anchorfile>
      <anchor>aed92d2b1fa22fba03b64487da1331eb8</anchor>
      <arglist>(SpeckleFilter_Distance, SinglePeak)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__speckle__filter_8cpp.html</anchorfile>
      <anchor>ac070ac40973e61626c1bf72a84a14949</anchor>
      <arglist>(SpeckleFilter_Distance, SingleSpeckle)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__speckle__filter_8cpp.html</anchorfile>
      <anchor>a97467190f3468306e584db2b2c7a83d3</anchor>
      <arglist>(SpeckleFilter_Distance, TwoDistantSpeckles)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__speckle__filter_8cpp.html</anchorfile>
      <anchor>aeafcb051622834cc8fb1aebaa1627993</anchor>
      <arglist>(SpeckleFilter_Distance, TwoFarPeaks)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__speckle__filter_8cpp.html</anchorfile>
      <anchor>a5b263cc84d7b06901ad31aca2dd0af7a</anchor>
      <arglist>(SpeckleFilter_Distance, TwoNearPeaks)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__speckle__filter_8cpp.html</anchorfile>
      <anchor>a63df7ea1ce28bf6c1042ddee4e10058c</anchor>
      <arglist>(SpeckleFilter_Distance, TwoNearSpeckles)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__speckle__filter_8cpp.html</anchorfile>
      <anchor>aeae8469c66407b3737737a58aca7656e</anchor>
      <arglist>(SpeckleFilter_Distance, TwoPeaksAtEdge)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__speckle__filter_8cpp.html</anchorfile>
      <anchor>ac566e4b738a64f4e78bcb83fe5d0dec3</anchor>
      <arglist>(SpeckleFilter_Distance, TwoSpecklesAtEdge)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::DistanceWindowValidator</name>
    <filename>classlaser__filters_1_1DistanceWindowValidator.html</filename>
    <base>laser_filters::WindowValidator</base>
    <member kind="function" protection="private" virtualness="virtual">
      <type>virtual bool</type>
      <name>checkWindowValid</name>
      <anchorfile>classlaser__filters_1_1DistanceWindowValidator.html</anchorfile>
      <anchor>aec3b9da4d4248b495ff24ccc6970f879</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;scan, size_t idx, size_t window, double max_range_difference)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>GenericLaserScanFilterNode</name>
    <filename>classGenericLaserScanFilterNode.html</filename>
    <member kind="function">
      <type>void</type>
      <name>callback</name>
      <anchorfile>classGenericLaserScanFilterNode.html</anchorfile>
      <anchor>a911ab48e671d101d5547b6893d977c98</anchor>
      <arglist>(const sensor_msgs::LaserScan::ConstPtr &amp;msg_in)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>deprecation_warn</name>
      <anchorfile>classGenericLaserScanFilterNode.html</anchorfile>
      <anchor>a650b938100cacec6b2308943a38c29c7</anchor>
      <arglist>(const ros::TimerEvent &amp;e)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>GenericLaserScanFilterNode</name>
      <anchorfile>classGenericLaserScanFilterNode.html</anchorfile>
      <anchor>afdbc093fde10f385fc441a1293f76ff0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Timer</type>
      <name>deprecation_timer_</name>
      <anchorfile>classGenericLaserScanFilterNode.html</anchorfile>
      <anchor>a806b907b5bd633a063cd840b311a0a92</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>filters::FilterChain&lt; sensor_msgs::LaserScan &gt;</type>
      <name>filter_chain_</name>
      <anchorfile>classGenericLaserScanFilterNode.html</anchorfile>
      <anchor>a121690cb16ef6281e9b878505ecdec41</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>sensor_msgs::LaserScan</type>
      <name>msg_</name>
      <anchorfile>classGenericLaserScanFilterNode.html</anchorfile>
      <anchor>af749677e1f4a05fc89b32f70c46214c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classGenericLaserScanFilterNode.html</anchorfile>
      <anchor>a1997fd9259b8dea390c101bb3a759db9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>output_pub_</name>
      <anchorfile>classGenericLaserScanFilterNode.html</anchorfile>
      <anchor>a14660340d96ab9234be251e3a2a71dde</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>message_filters::Subscriber&lt; sensor_msgs::LaserScan &gt;</type>
      <name>scan_sub_</name>
      <anchorfile>classGenericLaserScanFilterNode.html</anchorfile>
      <anchor>af205a35c617d19be9496c3e881f1560d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>tf::TransformListener</type>
      <name>tf_</name>
      <anchorfile>classGenericLaserScanFilterNode.html</anchorfile>
      <anchor>a8e56a83a5f5d56fc3d6c22fc9ca4365d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>tf::MessageFilter&lt; sensor_msgs::LaserScan &gt;</type>
      <name>tf_filter_</name>
      <anchorfile>classGenericLaserScanFilterNode.html</anchorfile>
      <anchor>ae581b1d14818787b87c2393126ba1bd6</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::InterpolationFilter</name>
    <filename>classlaser__filters_1_1InterpolationFilter.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1InterpolationFilter.html</anchorfile>
      <anchor>acefd2f7de98950315a6296b38bf4e903</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1InterpolationFilter.html</anchorfile>
      <anchor>a867cc7245571305aa8f69cf8e09321fd</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;input_scan, sensor_msgs::LaserScan &amp;filtered_scan)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~InterpolationFilter</name>
      <anchorfile>classlaser__filters_1_1InterpolationFilter.html</anchorfile>
      <anchor>a97a53f0a68da2d7db0f82b9b43ba5f8d</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::LaserArrayFilter</name>
    <filename>classlaser__filters_1_1LaserArrayFilter.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1LaserArrayFilter.html</anchorfile>
      <anchor>a863d2a769c9abce52522cc569cec96b3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>LaserArrayFilter</name>
      <anchorfile>classlaser__filters_1_1LaserArrayFilter.html</anchorfile>
      <anchor>a12bd504c9b6352134fb942c64f5c2aff</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1LaserArrayFilter.html</anchorfile>
      <anchor>ae86f537decb4a3e03a091e53954dc3b7</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;scan_in, sensor_msgs::LaserScan &amp;scan_out)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~LaserArrayFilter</name>
      <anchorfile>classlaser__filters_1_1LaserArrayFilter.html</anchorfile>
      <anchor>a601b7f2aa5c6f051571e8ba81e0f4830</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>data_lock</name>
      <anchorfile>classlaser__filters_1_1LaserArrayFilter.html</anchorfile>
      <anchor>a28b020d987e83c32f34e5a7fbd87e73b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>unsigned int</type>
      <name>filter_length_</name>
      <anchorfile>classlaser__filters_1_1LaserArrayFilter.html</anchorfile>
      <anchor>af27b514adc4b5382fbddc1374aec7f9e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>XmlRpc::XmlRpcValue</type>
      <name>intensity_config_</name>
      <anchorfile>classlaser__filters_1_1LaserArrayFilter.html</anchorfile>
      <anchor>abc427e9bc6b37bc93df561eba2bad182</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>filters::MultiChannelFilterChain&lt; float &gt; *</type>
      <name>intensity_filter_</name>
      <anchorfile>classlaser__filters_1_1LaserArrayFilter.html</anchorfile>
      <anchor>a5a8a3e0933d774b1d85a440cf30a2e3d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>unsigned int</type>
      <name>num_ranges_</name>
      <anchorfile>classlaser__filters_1_1LaserArrayFilter.html</anchorfile>
      <anchor>a988156cb5a41a8db3055a89bbd45a14e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>XmlRpc::XmlRpcValue</type>
      <name>range_config_</name>
      <anchorfile>classlaser__filters_1_1LaserArrayFilter.html</anchorfile>
      <anchor>a3d994e8c6e52e9400723ec0499aaf7a8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>filters::MultiChannelFilterChain&lt; float &gt; *</type>
      <name>range_filter_</name>
      <anchorfile>classlaser__filters_1_1LaserArrayFilter.html</anchorfile>
      <anchor>a2f1f632d72658c5188ed559fa0536928</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>sensor_msgs::LaserScan</type>
      <name>temp_scan_</name>
      <anchorfile>classlaser__filters_1_1LaserArrayFilter.html</anchorfile>
      <anchor>ad6d3c57db8bdc5d5245ff4f61ad60785</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::LaserMedianFilter</name>
    <filename>classlaser__filters_1_1LaserMedianFilter.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1LaserMedianFilter.html</anchorfile>
      <anchor>a83f7c27bf86aef136f5e8535de3fe08e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>LaserMedianFilter</name>
      <anchorfile>classlaser__filters_1_1LaserMedianFilter.html</anchorfile>
      <anchor>ad26c12287baa13b433c8ab84d7b07b8f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1LaserMedianFilter.html</anchorfile>
      <anchor>a4be55c0aa85d7b2ce2bb995824ef379e</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;scan_in, sensor_msgs::LaserScan &amp;scan_out)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~LaserMedianFilter</name>
      <anchorfile>classlaser__filters_1_1LaserMedianFilter.html</anchorfile>
      <anchor>aca3debeccba01f1821ecf2ec677b7379</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>data_lock</name>
      <anchorfile>classlaser__filters_1_1LaserMedianFilter.html</anchorfile>
      <anchor>adaec9be43f0f708183d598e6101f5ceb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>unsigned int</type>
      <name>filter_length_</name>
      <anchorfile>classlaser__filters_1_1LaserMedianFilter.html</anchorfile>
      <anchor>ad8fd7ace06db8126693422a4073a5a20</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>filters::MultiChannelFilterChain&lt; float &gt; *</type>
      <name>intensity_filter_</name>
      <anchorfile>classlaser__filters_1_1LaserMedianFilter.html</anchorfile>
      <anchor>a13a8b7ccfc33152225ea91e3ab0ffc47</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>unsigned int</type>
      <name>num_ranges_</name>
      <anchorfile>classlaser__filters_1_1LaserMedianFilter.html</anchorfile>
      <anchor>a7f3ca1c44d9f19f8b345c0a654f4c337</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>filters::MultiChannelFilterChain&lt; float &gt; *</type>
      <name>range_filter_</name>
      <anchorfile>classlaser__filters_1_1LaserMedianFilter.html</anchorfile>
      <anchor>a60c13666dad8232ad92c3a01620e9a4a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>sensor_msgs::LaserScan</type>
      <name>temp_scan_</name>
      <anchorfile>classlaser__filters_1_1LaserMedianFilter.html</anchorfile>
      <anchor>a6a7ee60a9f3e4ca3ff10b765932c8b5d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>XmlRpc::XmlRpcValue</type>
      <name>xmlrpc_value_</name>
      <anchorfile>classlaser__filters_1_1LaserMedianFilter.html</anchorfile>
      <anchor>a52de6aa44bf2886b649068ce3eaa1197</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::LaserScanAngularBoundsFilter</name>
    <filename>classlaser__filters_1_1LaserScanAngularBoundsFilter.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1LaserScanAngularBoundsFilter.html</anchorfile>
      <anchor>a47a2fc64a621094a8354111908a6f970</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1LaserScanAngularBoundsFilter.html</anchorfile>
      <anchor>a30a74233121c6337ad230111cd363b58</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;input_scan, sensor_msgs::LaserScan &amp;filtered_scan)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~LaserScanAngularBoundsFilter</name>
      <anchorfile>classlaser__filters_1_1LaserScanAngularBoundsFilter.html</anchorfile>
      <anchor>ab092a3c041a9266ea2b327d4234cc285</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>lower_angle_</name>
      <anchorfile>classlaser__filters_1_1LaserScanAngularBoundsFilter.html</anchorfile>
      <anchor>a12ac1af3c90420bbc431dd529c60ae9a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>upper_angle_</name>
      <anchorfile>classlaser__filters_1_1LaserScanAngularBoundsFilter.html</anchorfile>
      <anchor>acc7acf8f1e4bf58d23c3d25d94f48be0</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::LaserScanAngularBoundsFilterInPlace</name>
    <filename>classlaser__filters_1_1LaserScanAngularBoundsFilterInPlace.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1LaserScanAngularBoundsFilterInPlace.html</anchorfile>
      <anchor>a08d6bab910a11841a100b24bdf013d8c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1LaserScanAngularBoundsFilterInPlace.html</anchorfile>
      <anchor>a4bf4016658d7c8db759f6e2308b25313</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;input_scan, sensor_msgs::LaserScan &amp;filtered_scan)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~LaserScanAngularBoundsFilterInPlace</name>
      <anchorfile>classlaser__filters_1_1LaserScanAngularBoundsFilterInPlace.html</anchorfile>
      <anchor>a4d98284112b7aaa9568ed087592829df</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>lower_angle_</name>
      <anchorfile>classlaser__filters_1_1LaserScanAngularBoundsFilterInPlace.html</anchorfile>
      <anchor>ad9cfd94887592f13c080d5f12396dbb8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>upper_angle_</name>
      <anchorfile>classlaser__filters_1_1LaserScanAngularBoundsFilterInPlace.html</anchorfile>
      <anchor>a1c116893c43cda92c0de1c2a1a3e6682</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::LaserScanBoxFilter</name>
    <filename>classlaser__filters_1_1LaserScanBoxFilter.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>a5372aea1856ed877d5ba4d5bd87e17b9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>LaserScanBoxFilter</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>a6f77cc8c8360687348e7d8ab0fcd1127</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>a1a8af0db524d95e01d978f10b8b1ff62</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;input_scan, sensor_msgs::LaserScan &amp;filtered_scan)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>inBox</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>a8a1c17c822f2c18ed0c48e6cd589749e</anchor>
      <arglist>(tf::Point &amp;point)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>reconfigureCB</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>a092bcde9c52761fe15869ab3f3ca65ae</anchor>
      <arglist>(BoxFilterConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>box_frame_</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>a9b9598efe2b61d69d3108a158ec587cc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>BoxFilterConfig</type>
      <name>config_</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>a7943b4121d3f65a7c854312b2483bac0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::shared_ptr&lt; dynamic_reconfigure::Server&lt; BoxFilterConfig &gt; &gt;</type>
      <name>dyn_server_</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>a570e1b6c37d2c5118bc81623443ba5bf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>invert_filter</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>acbe58c9253dd169ee43ebfeae9853168</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>tf::Point</type>
      <name>max_</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>a377d3f9023707032040c42e39553f797</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>tf::Point</type>
      <name>min_</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>a2a0fe4fc913996fa70b243315f7a8388</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::recursive_mutex</type>
      <name>own_mutex_</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>ad0dd8784544e0dca28514b1ff1e3b80a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>laser_geometry::LaserProjection</type>
      <name>projector_</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>a8c8824a3b8fa6f443ec63621cebdd6ea</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>tf::TransformListener</type>
      <name>tf_</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>a7e2a3a9ce419ead14cab99a74cbf16e2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>up_and_running_</name>
      <anchorfile>classlaser__filters_1_1LaserScanBoxFilter.html</anchorfile>
      <anchor>ad8985ecbe1ba2052cfdc8a05da908c0c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::LaserScanFootprintFilter</name>
    <filename>classlaser__filters_1_1LaserScanFootprintFilter.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1LaserScanFootprintFilter.html</anchorfile>
      <anchor>a964cd45f1944c2b0b9bae957951cad0f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>indexChannel</name>
      <anchorfile>classlaser__filters_1_1LaserScanFootprintFilter.html</anchorfile>
      <anchor>a7de506244dbafed8f0f0c4e57d721dbe</anchor>
      <arglist>(const sensor_msgs::PointCloud &amp;scan_cloud)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>inFootprint</name>
      <anchorfile>classlaser__filters_1_1LaserScanFootprintFilter.html</anchorfile>
      <anchor>aff4f8772c885881bfbf89fac9e62c0ee</anchor>
      <arglist>(const geometry_msgs::Point32 &amp;scan_pt)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>LaserScanFootprintFilter</name>
      <anchorfile>classlaser__filters_1_1LaserScanFootprintFilter.html</anchorfile>
      <anchor>a4659a91893b863a991390c8b8f8b7ef8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1LaserScanFootprintFilter.html</anchorfile>
      <anchor>a614e92c7c17745c5e5f80af5d0494ef7</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;input_scan, sensor_msgs::LaserScan &amp;filtered_scan)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~LaserScanFootprintFilter</name>
      <anchorfile>classlaser__filters_1_1LaserScanFootprintFilter.html</anchorfile>
      <anchor>ae6d08f0daff200d3d3c799598d67a581</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>inscribed_radius_</name>
      <anchorfile>classlaser__filters_1_1LaserScanFootprintFilter.html</anchorfile>
      <anchor>a70d6a213bf04108647045a21998e5ce7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>laser_geometry::LaserProjection</type>
      <name>projector_</name>
      <anchorfile>classlaser__filters_1_1LaserScanFootprintFilter.html</anchorfile>
      <anchor>af7ada3bf4707f1c113f09b7eed0c5a2a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::TransformListener</type>
      <name>tf_</name>
      <anchorfile>classlaser__filters_1_1LaserScanFootprintFilter.html</anchorfile>
      <anchor>ac35a9f2a312dbfba9bef038809b7395f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>up_and_running_</name>
      <anchorfile>classlaser__filters_1_1LaserScanFootprintFilter.html</anchorfile>
      <anchor>a796fe7b6896386d674c961fc7ad80189</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::LaserScanIntensityFilter</name>
    <filename>classlaser__filters_1_1LaserScanIntensityFilter.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1LaserScanIntensityFilter.html</anchorfile>
      <anchor>a909f65e34a46c057b06d68389da7c075</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>LaserScanIntensityFilter</name>
      <anchorfile>classlaser__filters_1_1LaserScanIntensityFilter.html</anchorfile>
      <anchor>a26f045ac23d07d9950e4e6bd53cedaea</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1LaserScanIntensityFilter.html</anchorfile>
      <anchor>a7d34c01f2f88f00126f0909bad50d5c2</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;input_scan, sensor_msgs::LaserScan &amp;output_scan)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reconfigureCB</name>
      <anchorfile>classlaser__filters_1_1LaserScanIntensityFilter.html</anchorfile>
      <anchor>a232c5cf136fa125f935a54cf6c07cb8a</anchor>
      <arglist>(IntensityFilterConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>IntensityFilterConfig</type>
      <name>config_</name>
      <anchorfile>classlaser__filters_1_1LaserScanIntensityFilter.html</anchorfile>
      <anchor>af4497d51213c3486261f36f26836befb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::shared_ptr&lt; dynamic_reconfigure::Server&lt; IntensityFilterConfig &gt; &gt;</type>
      <name>dyn_server_</name>
      <anchorfile>classlaser__filters_1_1LaserScanIntensityFilter.html</anchorfile>
      <anchor>ae69d9ed46b65bfc19287296f968cb581</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::recursive_mutex</type>
      <name>own_mutex_</name>
      <anchorfile>classlaser__filters_1_1LaserScanIntensityFilter.html</anchorfile>
      <anchor>af2ebf2c8c537a9f22836efaff51127b1</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::LaserScanMaskFilter</name>
    <filename>classlaser__filters_1_1LaserScanMaskFilter.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1LaserScanMaskFilter.html</anchorfile>
      <anchor>ac9965c9834d5b44fb8e81cb1f7d0af2a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1LaserScanMaskFilter.html</anchorfile>
      <anchor>a8f280944b09b0e4f5ef40f2306074b07</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;data_in, sensor_msgs::LaserScan &amp;data_out)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~LaserScanMaskFilter</name>
      <anchorfile>classlaser__filters_1_1LaserScanMaskFilter.html</anchorfile>
      <anchor>acaa3174f8de603c1aa2b35e6a0ca9f21</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>std::map&lt; std::string, std::vector&lt; size_t &gt; &gt;</type>
      <name>masks_</name>
      <anchorfile>classlaser__filters_1_1LaserScanMaskFilter.html</anchorfile>
      <anchor>a8358f3fd1725bfd5524848deb4180a22</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::LaserScanPolygonFilter</name>
    <filename>classlaser__filters_1_1LaserScanPolygonFilter.html</filename>
    <base>laser_filters::LaserScanPolygonFilterBase</base>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilter.html</anchorfile>
      <anchor>af01d6beb249601c752e448272511c0c7</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;input_scan, sensor_msgs::LaserScan &amp;filtered_scan) override</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>laser_geometry::LaserProjection</type>
      <name>projector_</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilter.html</anchorfile>
      <anchor>ab402f7d5f28503507fa7c7a35a46e75a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::TransformListener</type>
      <name>tf_</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilter.html</anchorfile>
      <anchor>a6753f172735e0c4b3cc91da3ec3ee2df</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::LaserScanPolygonFilterBase</name>
    <filename>classlaser__filters_1_1LaserScanPolygonFilterBase.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilterBase.html</anchorfile>
      <anchor>a77fe31968e59186dc9a542330626fca0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilterBase.html</anchorfile>
      <anchor>aea5f827f8d86b94d4d54cf2a59e249d9</anchor>
      <arglist>(PolygonFilterConfig &amp;config)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilterBase.html</anchorfile>
      <anchor>ac534b8266de0f5f22528129db5f24d26</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;input_scan, sensor_msgs::LaserScan &amp;filtered_scan)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>inPolygon</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilterBase.html</anchorfile>
      <anchor>aa535185ad0f67d23416738e542b21cee</anchor>
      <arglist>(tf::Point &amp;point) const</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>publishPolygon</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilterBase.html</anchorfile>
      <anchor>a6cc4c284fdae1dd06796f1e5ceadc823</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>reconfigureCB</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilterBase.html</anchorfile>
      <anchor>a39fc04247db1b3a460427a1d5d9c4f05</anchor>
      <arglist>(laser_filters::PolygonFilterConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::shared_ptr&lt; dynamic_reconfigure::Server&lt; laser_filters::PolygonFilterConfig &gt; &gt;</type>
      <name>dyn_server_</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilterBase.html</anchorfile>
      <anchor>a1027890895e0915512be41abec14107b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>invert_filter_</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilterBase.html</anchorfile>
      <anchor>a958fc3c6705891c006e198110e63a942</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>is_polygon_published_</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilterBase.html</anchorfile>
      <anchor>accd1a1d5cc181bc757514323454b0342</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::recursive_mutex</type>
      <name>own_mutex_</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilterBase.html</anchorfile>
      <anchor>a1f0109108dff7f8e613b6b46e4fa7caa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>geometry_msgs::Polygon</type>
      <name>polygon_</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilterBase.html</anchorfile>
      <anchor>a5896263c0beca0648c0175dfffd3c6a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>polygon_frame_</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilterBase.html</anchorfile>
      <anchor>affec01488f917227cb5fc2c63692a1b4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>polygon_padding_</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilterBase.html</anchorfile>
      <anchor>aee32ae757cf422a36a67b2b1ccfea730</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>polygon_pub_</name>
      <anchorfile>classlaser__filters_1_1LaserScanPolygonFilterBase.html</anchorfile>
      <anchor>af658955423dcf80196b15ce292228497</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::LaserScanRangeFilter</name>
    <filename>classlaser__filters_1_1LaserScanRangeFilter.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1LaserScanRangeFilter.html</anchorfile>
      <anchor>a3e546f530ab416a81fe7545ad35f9287</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reconfigureCB</name>
      <anchorfile>classlaser__filters_1_1LaserScanRangeFilter.html</anchorfile>
      <anchor>af942a9c8f5c9af011d36577d906614df</anchor>
      <arglist>(RangeFilterConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1LaserScanRangeFilter.html</anchorfile>
      <anchor>abeac0afdc9eae45406ebe0446aa3d495</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;input_scan, sensor_msgs::LaserScan &amp;filtered_scan)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~LaserScanRangeFilter</name>
      <anchorfile>classlaser__filters_1_1LaserScanRangeFilter.html</anchorfile>
      <anchor>ad2fdc956ce7c23214324e6f53ccac75d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>RangeFilterConfig</type>
      <name>config_</name>
      <anchorfile>classlaser__filters_1_1LaserScanRangeFilter.html</anchorfile>
      <anchor>a66c8c6587a481ee37982652e05e187a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::shared_ptr&lt; dynamic_reconfigure::Server&lt; RangeFilterConfig &gt; &gt;</type>
      <name>dyn_server_</name>
      <anchorfile>classlaser__filters_1_1LaserScanRangeFilter.html</anchorfile>
      <anchor>a1f390023256cf92ae7a906c108f086c8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::recursive_mutex</type>
      <name>own_mutex_</name>
      <anchorfile>classlaser__filters_1_1LaserScanRangeFilter.html</anchorfile>
      <anchor>af669689852d84e9d9ca7584a32bf5a2f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::LaserScanSectorFilter</name>
    <filename>classlaser__filters_1_1LaserScanSectorFilter.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1LaserScanSectorFilter.html</anchorfile>
      <anchor>a0fc19d43078e43546b2d2be8723281bc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isClearInside</name>
      <anchorfile>classlaser__filters_1_1LaserScanSectorFilter.html</anchorfile>
      <anchor>a81a81be6489724e98134411400c01e68</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>LaserScanSectorFilter</name>
      <anchorfile>classlaser__filters_1_1LaserScanSectorFilter.html</anchorfile>
      <anchor>af94109076297dee126cfac9b9a80b0b9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1LaserScanSectorFilter.html</anchorfile>
      <anchor>a843e86bbc3624e0202aa73f8935c9fe7</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;input_scan, sensor_msgs::LaserScan &amp;output_scan)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~LaserScanSectorFilter</name>
      <anchorfile>classlaser__filters_1_1LaserScanSectorFilter.html</anchorfile>
      <anchor>a405e9ee8cd765b37845ed993143f0359</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reconfigureCB</name>
      <anchorfile>classlaser__filters_1_1LaserScanSectorFilter.html</anchorfile>
      <anchor>ab4d97ce2a6d30e3aa299d2c195025357</anchor>
      <arglist>(SectorFilterConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>SectorFilterConfig</type>
      <name>config_</name>
      <anchorfile>classlaser__filters_1_1LaserScanSectorFilter.html</anchorfile>
      <anchor>aae14b22161b09fea22eade757d3471cd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::shared_ptr&lt; dynamic_reconfigure::Server&lt; SectorFilterConfig &gt; &gt;</type>
      <name>dyn_server_</name>
      <anchorfile>classlaser__filters_1_1LaserScanSectorFilter.html</anchorfile>
      <anchor>a9af2cc30084a97dcbdf0c8f80f0eca9d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::recursive_mutex</type>
      <name>own_mutex_</name>
      <anchorfile>classlaser__filters_1_1LaserScanSectorFilter.html</anchorfile>
      <anchor>a01513283fedcca6da6deb5158e2429e3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::LaserScanSpeckleFilter</name>
    <filename>classlaser__filters_1_1LaserScanSpeckleFilter.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1LaserScanSpeckleFilter.html</anchorfile>
      <anchor>af43e5bba7c4c1b13575b24c1238e855d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1LaserScanSpeckleFilter.html</anchorfile>
      <anchor>a13754c9d76da07ad713bfb7bab4328c8</anchor>
      <arglist>(SpeckleFilterConfig &amp;config)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>LaserScanSpeckleFilter</name>
      <anchorfile>classlaser__filters_1_1LaserScanSpeckleFilter.html</anchorfile>
      <anchor>ac3d6101758a9151ae50f9c5ffc8d88ba</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1LaserScanSpeckleFilter.html</anchorfile>
      <anchor>ab093b9f192f8f6921fbb7c5413403dee</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;input_scan, sensor_msgs::LaserScan &amp;output_scan)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~LaserScanSpeckleFilter</name>
      <anchorfile>classlaser__filters_1_1LaserScanSpeckleFilter.html</anchorfile>
      <anchor>a54903b1316c9b80221b71b1740713310</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reconfigureCB</name>
      <anchorfile>classlaser__filters_1_1LaserScanSpeckleFilter.html</anchorfile>
      <anchor>a8563965e84aeaad70f3ef28acc071eae</anchor>
      <arglist>(laser_filters::SpeckleFilterConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>SpeckleFilterConfig</type>
      <name>config_</name>
      <anchorfile>classlaser__filters_1_1LaserScanSpeckleFilter.html</anchorfile>
      <anchor>a3b3cb72535dbfa6024655184da2a3be0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::shared_ptr&lt; dynamic_reconfigure::Server&lt; laser_filters::SpeckleFilterConfig &gt; &gt;</type>
      <name>dyn_server_</name>
      <anchorfile>classlaser__filters_1_1LaserScanSpeckleFilter.html</anchorfile>
      <anchor>acfb5566dfda970b24e5ffedbc2b46d6b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::recursive_mutex</type>
      <name>own_mutex_</name>
      <anchorfile>classlaser__filters_1_1LaserScanSpeckleFilter.html</anchorfile>
      <anchor>a947846cfea2ce55d34f0037d3f41315e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; bool &gt;</type>
      <name>valid_ranges_work_</name>
      <anchorfile>classlaser__filters_1_1LaserScanSpeckleFilter.html</anchorfile>
      <anchor>a0293ed922cfa9907657b3d5a81af8af2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>WindowValidator *</type>
      <name>validator_</name>
      <anchorfile>classlaser__filters_1_1LaserScanSpeckleFilter.html</anchorfile>
      <anchor>a253e95f4aa56440517319e03c8c49aaf</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::PointCloudFootprintFilter</name>
    <filename>classlaser__filters_1_1PointCloudFootprintFilter.html</filename>
    <base>FilterBase&lt; sensor_msgs::PointCloud &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1PointCloudFootprintFilter.html</anchorfile>
      <anchor>a7cfc0492a9851144e03e5eb1f3519c90</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>inFootprint</name>
      <anchorfile>classlaser__filters_1_1PointCloudFootprintFilter.html</anchorfile>
      <anchor>a7479c4b4d7a8b5136096b60efab551b3</anchor>
      <arglist>(const geometry_msgs::Point32 &amp;scan_pt)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PointCloudFootprintFilter</name>
      <anchorfile>classlaser__filters_1_1PointCloudFootprintFilter.html</anchorfile>
      <anchor>a077c1649008776e3d5ae7bddd5d3e1b6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1PointCloudFootprintFilter.html</anchorfile>
      <anchor>ae97cbd98db999a2449a7ecf13b8f2ac0</anchor>
      <arglist>(const sensor_msgs::PointCloud &amp;input_scan, sensor_msgs::PointCloud &amp;filtered_scan)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~PointCloudFootprintFilter</name>
      <anchorfile>classlaser__filters_1_1PointCloudFootprintFilter.html</anchorfile>
      <anchor>a1c2f177fd22bf68fa5c69960856568c9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>inscribed_radius_</name>
      <anchorfile>classlaser__filters_1_1PointCloudFootprintFilter.html</anchorfile>
      <anchor>a9c00191551604a74961ba5dda2d6328a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>laser_geometry::LaserProjection</type>
      <name>projector_</name>
      <anchorfile>classlaser__filters_1_1PointCloudFootprintFilter.html</anchorfile>
      <anchor>a730a4c77ea7291c05be812978f08e575</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>tf::TransformListener</type>
      <name>tf_</name>
      <anchorfile>classlaser__filters_1_1PointCloudFootprintFilter.html</anchorfile>
      <anchor>a10616a52d395e8e4d0823cf3428f6d51</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::RadiusOutlierWindowValidator</name>
    <filename>classlaser__filters_1_1RadiusOutlierWindowValidator.html</filename>
    <base>laser_filters::WindowValidator</base>
    <member kind="function" protection="private" virtualness="virtual">
      <type>virtual bool</type>
      <name>checkWindowValid</name>
      <anchorfile>classlaser__filters_1_1RadiusOutlierWindowValidator.html</anchorfile>
      <anchor>adb71904bc48281a3f27a578681c2f366</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;scan, size_t idx, size_t window, double max_distance)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::ScanBlobFilter</name>
    <filename>classlaser__filters_1_1ScanBlobFilter.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1ScanBlobFilter.html</anchorfile>
      <anchor>a04a65a473742f7aac28eb6edd29a2a4b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScanBlobFilter</name>
      <anchorfile>classlaser__filters_1_1ScanBlobFilter.html</anchorfile>
      <anchor>a5885622902219e81b6b7aa53741bbcd9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1ScanBlobFilter.html</anchorfile>
      <anchor>a25665c12433f6bad41bb1f8516fc3305</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;scan_in, sensor_msgs::LaserScan &amp;scan_out)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~ScanBlobFilter</name>
      <anchorfile>classlaser__filters_1_1ScanBlobFilter.html</anchorfile>
      <anchor>ac0d184540fdb0d7b93d10081dc8e3ded</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>max_radius_</name>
      <anchorfile>classlaser__filters_1_1ScanBlobFilter.html</anchorfile>
      <anchor>a389285f018e1f08226eb324ef0f376ec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>min_points_</name>
      <anchorfile>classlaser__filters_1_1ScanBlobFilter.html</anchorfile>
      <anchor>a6a95c08522c5f55538659937ebc1e201</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::ScanShadowDetector</name>
    <filename>classlaser__filters_1_1ScanShadowDetector.html</filename>
    <member kind="function">
      <type>void</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1ScanShadowDetector.html</anchorfile>
      <anchor>a95d154a38a0a5337b09f0b0b7977c2e2</anchor>
      <arglist>(const float min_angle, const float max_angle)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isShadow</name>
      <anchorfile>classlaser__filters_1_1ScanShadowDetector.html</anchorfile>
      <anchor>aa42a3dc4847eaf8ca93523da29ee73bd</anchor>
      <arglist>(const float r1, const float r2, const float included_angle)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isShadow</name>
      <anchorfile>classlaser__filters_1_1ScanShadowDetector.html</anchorfile>
      <anchor>a4eb9409c02f91987d1230f49c5f8fefd</anchor>
      <arglist>(float r1, float r2, float included_angle_sin, float included_angle_cos)</arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>max_angle_tan_</name>
      <anchorfile>classlaser__filters_1_1ScanShadowDetector.html</anchorfile>
      <anchor>a8803bb7a1a5a8af0bba0ccabcf079b04</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>min_angle_tan_</name>
      <anchorfile>classlaser__filters_1_1ScanShadowDetector.html</anchorfile>
      <anchor>a469450a1a08b80e96bb72bd7a772e2d7</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::ScanShadowsFilter</name>
    <filename>classlaser__filters_1_1ScanShadowsFilter.html</filename>
    <base>FilterBase&lt; sensor_msgs::LaserScan &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>af4e600c8971d7bfbf29808a34bd87c08</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reconfigureCB</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>a2ca2f8789e46fd39b14157d472a92a22</anchor>
      <arglist>(ScanShadowsFilterConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScanShadowsFilter</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>acbcb0f01d3d0f9bbd367b51df61c5f70</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>ad0b8e1e01c8c29377a4a46389830796a</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;scan_in, sensor_msgs::LaserScan &amp;scan_out)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~ScanShadowsFilter</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>a7db77c327726a9478283f6c22c43ce7c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>std::shared_ptr&lt; dynamic_reconfigure::Server&lt; laser_filters::ScanShadowsFilterConfig &gt; &gt;</type>
      <name>dyn_server_</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>a7828168127263b578557a86b5185664c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>laser_max_range_</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>ae79b1f8380cce60b1875b370e402f925</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>max_angle_</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>aace217e966073703805a9441a395b771</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>min_angle_</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>a32ac9668b0d1e7b107ce4c44aefa3695</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>neighbors_</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>abcae0dd0aad0c754c9e17d3efc6ee7a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>boost::recursive_mutex</type>
      <name>own_mutex_</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>ad0df959298510eb28900b3ceaeb0e5ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ScanShadowsFilterConfig</type>
      <name>param_config</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>a7d1bf533659370b8e2f1ec581eb5aa66</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>remove_shadow_start_point_</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>a7f11eb8e8ef2d5bdfa90370d52514bd6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ScanShadowDetector</type>
      <name>shadow_detector_</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>a353655d399be198af1df788316a04725</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>window_</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>a4b44d1fd7a000e455e8338f243225e7a</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>prepareForInput</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>a1d79190a1808647fa03961650e63277d</anchor>
      <arglist>(const float angle_increment)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>angle_increment_</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>a172f6ab6c93cab1060c35c1be002a9c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; float &gt;</type>
      <name>cos_map_</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>a704568580298947e9c1edbfba12ad04e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; float &gt;</type>
      <name>sin_map_</name>
      <anchorfile>classlaser__filters_1_1ScanShadowsFilter.html</anchorfile>
      <anchor>a8caf4df1a0fc0ebd017126d8630156f8</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ScanToCloudFilterChain</name>
    <filename>classScanToCloudFilterChain.html</filename>
    <member kind="function">
      <type>void</type>
      <name>deprecation_warn</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>ac830efb5923f85f07606591d32d8b41d</anchor>
      <arglist>(const ros::TimerEvent &amp;e)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>getName</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a7b9717fa95f4dd2f7cb4e1a265058ae1</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scanCallback</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>acfb09e499a945ea0ce979b4142892e81</anchor>
      <arglist>(const sensor_msgs::LaserScan::ConstPtr &amp;scan_msg)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScanToCloudFilterChain</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a8efb06acbf48032ab80d7de93add5083</anchor>
      <arglist>(ros::NodeHandle &amp;nh_, ros::NodeHandle &amp;pnh, const std::string &amp;name)</arglist>
    </member>
    <member kind="variable">
      <type>unsigned int</type>
      <name>channel_options_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a652c9fe80003135994d65780efa23dfc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>filters::FilterChain&lt; sensor_msgs::PointCloud2 &gt;</type>
      <name>cloud_filter_chain_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a2d51072ec1d8e4c2397595de09044a3f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Publisher</type>
      <name>cloud_pub_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>ab964e5edcd06a25c3037dddaab20ba53</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>cloud_topic_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>aeb4f7e0ea04ce4c8a838c9cd02af8e90</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Timer</type>
      <name>deprecation_timer_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a8e57ee83463e32fd26c8879f25f080f5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>tf::MessageFilter&lt; sensor_msgs::LaserScan &gt;</type>
      <name>filter_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a7171cc9d45a27d76f2e496be84b96f72</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>high_fidelity_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>ae3f1ffa1f8d6a9d223e4690394935b7c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>incident_angle_correction_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a40f9ab683706b98faca3db6217459a36</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>laser_max_range_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a17269c55349022d42f70640b19b9e09c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>name_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a126a5f285d656423682f4e705c90f183</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::NodeHandle</type>
      <name>nh</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a8c7a126f0925601a691111d8637fb2eb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::NodeHandle</type>
      <name>private_nh</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a2f999af65fb716ab7834e9e059ad0be0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>laser_geometry::LaserProjection</type>
      <name>projector_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a341f6afbb83ea83ea2103fb0eb215a07</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>filters::FilterChain&lt; sensor_msgs::LaserScan &gt;</type>
      <name>scan_filter_chain_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>adbc0ce66ef9abc3e4946dd5b868fee4b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>scan_topic_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>aed3c557055a9c72edbcbdbab496f4962</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>message_filters::Subscriber&lt; sensor_msgs::LaserScan &gt;</type>
      <name>sub_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>aa77aab4443186197a3d48e112cf29a2f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>target_frame_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a2631a00ddbf47d798be453a82f7a539f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>tf::TransformListener</type>
      <name>tf_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a6311166d6eea34f4026df577f99c532e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>tf_tolerance_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a10d439204f1762cb7526fa9d406d4427</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>using_cloud_filters_deprecated_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>aee90ac361f0390d3f4c7ddf7b8f059c8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>using_cloud_filters_wrong_deprecated_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a19a5cf83bb90085f38ea9cc974be8dda</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>using_cloud_topic_deprecated_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a2d4ecb2411fb41face41a2b55633ed96</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>using_default_target_frame_deprecated_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>ab6a1f5cfff144208a74dedd6086a7933</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>using_filter_window_deprecated_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>acb286f8cbe0da3e6b2fa6971dfc0c818</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>using_laser_max_range_deprecated_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>aa719ddccbfef3a238c8d5f9268b266f6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>using_scan_filters_deprecated_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>ae866e661efd59a13b7066e7c6fdfb89d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>using_scan_filters_wrong_deprecated_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a46c54bcca0d34fb1f117874f066233b0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>using_scan_topic_deprecated_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>ad6e224451d72479c2fbf29b7b721fe41</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>window_</name>
      <anchorfile>classScanToCloudFilterChain.html</anchorfile>
      <anchor>a36ab34e3ee1978fed6fddf615bd7ff28</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ScanToScanFilterChain</name>
    <filename>classScanToScanFilterChain.html</filename>
    <member kind="function">
      <type>void</type>
      <name>callback</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>a7d688845968fe22f47386e245131644e</anchor>
      <arglist>(const sensor_msgs::LaserScan::ConstPtr &amp;msg_in)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>deprecation_warn</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>aaccf361e1311546389bee4bf5f85159f</anchor>
      <arglist>(const ros::TimerEvent &amp;e)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScanToScanFilterChain</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>a7b1c9600b984619ca8f495d26833c54c</anchor>
      <arglist>(const ros::NodeHandle &amp;nh={}, const ros::NodeHandle &amp;pnh={&quot;~&quot;})</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~ScanToScanFilterChain</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>aee974bb975931ce6becf83a1264e7a40</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Timer</type>
      <name>deprecation_timer_</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>adc8e1096bebe5a0e30ff3ecfc4d64bd2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>filters::FilterChain&lt; sensor_msgs::LaserScan &gt;</type>
      <name>filter_chain_</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>a6a2859380bf9298a8d9d12246f5e89be</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>sensor_msgs::LaserScan</type>
      <name>msg_</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>a9449a5be7ab12b5000858b9e0f2fa90f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>a0b8678e5176058c89629e228374e8908</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>output_pub_</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>a8edb42dc9453295717b7f411a31ca66f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>private_nh_</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>a67ba5a77d5345f56ae7f839d9ee79e16</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>message_filters::Subscriber&lt; sensor_msgs::LaserScan &gt;</type>
      <name>scan_sub_</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>ac07903d0186dd2b4e2bee02557509acb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>tf::TransformListener *</type>
      <name>tf_</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>ab78afbeb8b34f16bd56e5188546e176f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>tf::MessageFilter&lt; sensor_msgs::LaserScan &gt; *</type>
      <name>tf_filter_</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>a74b8e4f6561a09340ff409c54d1c99ca</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>tf_filter_tolerance_</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>a7ecf525e4f59ff9029818e2ed188e46d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>using_filter_chain_deprecated_</name>
      <anchorfile>classScanToScanFilterChain.html</anchorfile>
      <anchor>a4fe42785e87b35cd6e372238e944464d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::StaticLaserScanPolygonFilter</name>
    <filename>classlaser__filters_1_1StaticLaserScanPolygonFilter.html</filename>
    <base>laser_filters::LaserScanPolygonFilterBase</base>
    <member kind="function">
      <type>bool</type>
      <name>configure</name>
      <anchorfile>classlaser__filters_1_1StaticLaserScanPolygonFilter.html</anchorfile>
      <anchor>a9f53689263ef1c412760e5ebd615fb5a</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classlaser__filters_1_1StaticLaserScanPolygonFilter.html</anchorfile>
      <anchor>a1f23b3f02f3c4b6a77c67a7cd85399c4</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;input_scan, sensor_msgs::LaserScan &amp;filtered_scan) override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>reconfigureCB</name>
      <anchorfile>classlaser__filters_1_1StaticLaserScanPolygonFilter.html</anchorfile>
      <anchor>a20769730c86a3c23f21a095d9f97b7e8</anchor>
      <arglist>(laser_filters::PolygonFilterConfig &amp;config, uint32_t level) override</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>checkCoSineMap</name>
      <anchorfile>classlaser__filters_1_1StaticLaserScanPolygonFilter.html</anchorfile>
      <anchor>adb8530b4cea2ffebcb4afd67259ccfe8</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;input_scan)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::ArrayXXd</type>
      <name>co_sine_map_</name>
      <anchorfile>classlaser__filters_1_1StaticLaserScanPolygonFilter.html</anchorfile>
      <anchor>a2a98831d126389a5672cf7f1dc8087d0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>co_sine_map_angle_max_</name>
      <anchorfile>classlaser__filters_1_1StaticLaserScanPolygonFilter.html</anchorfile>
      <anchor>a104b5743be66d6c3eb5dc1fc0b50fc33</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>co_sine_map_angle_min_</name>
      <anchorfile>classlaser__filters_1_1StaticLaserScanPolygonFilter.html</anchorfile>
      <anchor>a093067e73d2d30d809d42e654164e7c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>is_polygon_transformed_</name>
      <anchorfile>classlaser__filters_1_1StaticLaserScanPolygonFilter.html</anchorfile>
      <anchor>a2b6a9eaa33d5f72dd6691cd8929dc03b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>transform_timeout_</name>
      <anchorfile>classlaser__filters_1_1StaticLaserScanPolygonFilter.html</anchorfile>
      <anchor>a0c10ea5f7c47145a4a40b6507be36677</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_filters::WindowValidator</name>
    <filename>classlaser__filters_1_1WindowValidator.html</filename>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>checkWindowValid</name>
      <anchorfile>classlaser__filters_1_1WindowValidator.html</anchorfile>
      <anchor>aac9534b0b7a803cb7ad2058cd99393d8</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;scan, size_t idx, size_t window, double max_range_difference)=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~WindowValidator</name>
      <anchorfile>classlaser__filters_1_1WindowValidator.html</anchorfile>
      <anchor>af79b8522bf299884ac3f6c1a5b51a805</anchor>
      <arglist>()=default</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>fake_laser</name>
    <filename>namespacefake__laser.html</filename>
    <member kind="function">
      <type>def</type>
      <name>laser_test</name>
      <anchorfile>namespacefake__laser.html</anchorfile>
      <anchor>acad950e3ef8f2c0d488aa8af8bd0d98f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>string</type>
      <name>PKG</name>
      <anchorfile>namespacefake__laser.html</anchorfile>
      <anchor>a09019ba28159779d8f727d5e49d7b46d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>laser_filters</name>
    <filename>namespacelaser__filters.html</filename>
    <class kind="class">laser_filters::DistanceWindowValidator</class>
    <class kind="class">laser_filters::InterpolationFilter</class>
    <class kind="class">laser_filters::LaserArrayFilter</class>
    <class kind="class">laser_filters::LaserMedianFilter</class>
    <class kind="class">laser_filters::LaserScanAngularBoundsFilter</class>
    <class kind="class">laser_filters::LaserScanAngularBoundsFilterInPlace</class>
    <class kind="class">laser_filters::LaserScanBoxFilter</class>
    <class kind="class">laser_filters::LaserScanFootprintFilter</class>
    <class kind="class">laser_filters::LaserScanIntensityFilter</class>
    <class kind="class">laser_filters::LaserScanMaskFilter</class>
    <class kind="class">laser_filters::LaserScanPolygonFilter</class>
    <class kind="class">laser_filters::LaserScanPolygonFilterBase</class>
    <class kind="class">laser_filters::LaserScanRangeFilter</class>
    <class kind="class">laser_filters::LaserScanSectorFilter</class>
    <class kind="class">laser_filters::LaserScanSpeckleFilter</class>
    <class kind="class">laser_filters::PointCloudFootprintFilter</class>
    <class kind="class">laser_filters::RadiusOutlierWindowValidator</class>
    <class kind="class">laser_filters::ScanBlobFilter</class>
    <class kind="class">laser_filters::ScanShadowDetector</class>
    <class kind="class">laser_filters::ScanShadowsFilter</class>
    <class kind="class">laser_filters::StaticLaserScanPolygonFilter</class>
    <class kind="class">laser_filters::WindowValidator</class>
  </compound>
  <compound kind="page">
    <name>index</name>
    <title></title>
    <filename>index</filename>
    <docanchor file="index.html" title="Laser Scan Filters">filters</docanchor>
    <docanchor file="index.html" title="Median Filter">median</docanchor>
    <docanchor file="index.html" title="Mean Filter">mean</docanchor>
    <docanchor file="index.html" title="Scan Shadows Filter">shadows</docanchor>
    <docanchor file="index.html" title="Intensity Filter">intensity</docanchor>
  </compound>
</tagfile>
