Loading [MathJax]/extensions/tex2jax.js
IInfo.hpp
1 #pragma once
2 
3 #include <opals/IModuleBase.hpp>
4 #include <opals/Path.hpp>
5 #include <opals/Vector.hpp>
6 #include <opals/String.hpp>
7 #include <opals/HeaderFeature.hpp>
8 #include <opals/DataSetStats.hpp>
9 
10 #if defined(_MSC_VER) && !defined(OPALS_NO_AUTOLINK)
11  #if defined _DEBUG && !defined OPALS_NO_DEBUG
12  #pragma comment(lib, "opalsInfo_d.lib")
13  #else
14  #pragma comment(lib, "opalsInfo.lib")
15  #endif
16 #endif
17 
18 namespace opals {
19 
20  namespace opts
21  {
22  /// Options of \ref ModuleInfo
23  namespace Info
24  {
25  /// Options of \ref ModuleInfo
26  using Options =
27  IGroup< Names::_,
39  >
40  >;
41  }
42  }
43 
44  /// Extracts and reports information of an ODM, vector or raster file.
45  /** opalsInfo extracts statistic information (number of points/lines/polygons, the bounding box, attribute information, spatial index details, etc..) from a data set input file. The information provided in the header of the file format is made available through a generic file statistics object. Since not all data formats provide full statistic with the header, the module also provides an exact computation mode. In this mode not only the header, but the full content of the input file is read through allow extracting complete statistic information. Please note that the exact computation mode is typically much slower than the standard mode but it will report correct informations even in cases where the header information is incomplete or incorrect. */
46  /// \see \ref ModuleInfo
47  class OPALS_API IInfo : virtual public IModuleBase
48  {
49 
50  public:
51  static IInfo* New();
52  static IInfo* New( IControlObject &controlObject );
53  static IInfo* New( const IModuleBase &parent );
54  static IInfo* New( const IModuleBase &parent, IControlObject &controlObject );
55 
56  virtual ~IInfo() {}
57 
58  /// \name Access to module-specific options.
59  ///@{
61  Options& opts() override = 0;
62  const Options& opts() const override = 0;
63  ///@}
64 
65  };
66 
67 };
A leaf that holds a value.
Definition: IOption.hpp:62
Contains the public interface of OPALS.
Definition: AbsValueOrQuantile.hpp:8
Extracts and reports information of an ODM, vector or raster file.
Definition: IInfo.hpp:47
Abstract base class of all opals modules.
Definition: IModuleBase.hpp:13
Interface for retrieving status and progress information from a module run.
Definition: c++_api/inc/opals/IControlObject.hpp:30
IGroup< Names::_, IValue< Names::inFile, false, Vector< Path > >, IValue< Names::exactComputation, false, bool >, IValue< Names::valueFrequency, false, Vector< String > >, IValue< Names::statistic, true, Vector< DataSetStats > >, IValue< Names::exportOverview, false, Vector< HeaderFeature > >, IValue< Names::multiBand, false, bool >, IValue< Names::merge, false, bool >, IValue< Names::enduranceMode, false, bool >, IGroup< Names::generateOFD, IValue< Names::file, false, Path >, IValue< Names::format, false, String > > > Options
Options of Module Info.
Definition: IInfo.hpp:40
A group of options.
Definition: IOption.hpp:136
@ generateOFD
defines maximum distance to be bridged (opalsInfo)