IRobFilter.hpp
1 #pragma once
2 
3 #include <opals/IModuleBase.hpp>
4 #include <opals/RobustInterpolator.hpp>
5 #include <opals/Path.hpp>
6 #include <opals/Vector.hpp>
7 #include <opals/RobustInterpolator.hpp>
8 
9 #if defined(_MSC_VER) && !defined(OPALS_NO_AUTOLINK)
10  #if defined _DEBUG && !defined OPALS_NO_DEBUG
11  #pragma comment(lib, "opalsRobFilter_d.lib")
12  #else
13  #pragma comment(lib, "opalsRobFilter.lib")
14  #endif
15 #endif
16 
17 namespace opals {
18 
19  namespace opts
20  {
21  /// Options of \ref ModuleRobFilter
22  namespace RobFilter
23  {
24  /// Options of \ref ModuleRobFilter
25  using Options =
26  IGroup< Names::_, false,
37  >;
38  }
39  }
40 
41  /// Classification points into terrain and off-terrain using robust interpolation
42  /** The module opalsRobFilter provides a classification of the ALS point cloud (ODM)
43  into terrain and off-terrain points using robust interpolation. */
44  /// \see \ref ModuleRobFilter
45  class OPALS_API IRobFilter : virtual public IModuleBase
46  {
47 
48  public:
49  static IRobFilter* New();
50  static IRobFilter* New( IControlObject &controlObject );
51  static IRobFilter* New( const IModuleBase &parent );
52  static IRobFilter* New( const IModuleBase &parent, IControlObject &controlObject );
53 
54  virtual ~IRobFilter() {}
55 
56  /// \name Access to module-specific options.
57  ///@{
59  virtual Options& opts() = 0;
60  virtual const Options& opts() const = 0;
61  ///@}
62 
63  };
64 
65 };
Leaf that holds a read-only value.
Definition: IOption.hpp:63
Contains the public interface of OPALS.
Definition: AbsValueOrQuantile.hpp:8
Abstract base class of all opals modules.
Definition: IModuleBase.hpp:13
IGroup< Names::_, false, ILeaf< Names::inFile, false, Path >, ILeaf< Names::interpolation, false, RobustInterpolator >, ILeaf< Names::searchRadius, false, double >, ILeaf< Names::maxSigma, false, double >, ILeaf< Names::sigmaApriori, false, String >, ILeaf< Names::robustWFAdpation, false, String >, ILeaf< Names::filter, false, String >, ILeaf< Names::penetration, false, unsigned >, ILeaf< Names::maxIter, false, unsigned >, ILeaf< Names::debugOutFile, false, Path > > Options
Options of Module RobFilter.
Definition: IRobFilter.hpp:37
Interface for retrieving status and progress information from a module run.
Definition: c++_api/inc/opals/IControlObject.hpp:30
A group of options.
Definition: IOption.hpp:108
Classification points into terrain and off-terrain using robust interpolation.
Definition: IRobFilter.hpp:45