IInfo.hpp
1 #pragma once
2 
3 #include <opals/IModuleBase.hpp>
4 #include <opals/Path.hpp>
5 #include <opals/Vector.hpp>
6 #include <opals/HeaderFeature.hpp>
7 #include <opals/DataSetStats.hpp>
8 
9 #if defined(_MSC_VER) && !defined(OPALS_NO_AUTOLINK)
10  #if defined _DEBUG && !defined OPALS_NO_DEBUG
11  #pragma comment(lib, "opalsInfo_d.lib")
12  #else
13  #pragma comment(lib, "opalsInfo.lib")
14  #endif
15 #endif
16 
17 namespace opals {
18 
19  namespace opts
20  {
21  /// Options of \ref ModuleInfo
22  namespace Info
23  {
24  /// Options of \ref ModuleInfo
25  using Options =
26  IGroup< Names::_, false,
30  >;
31  }
32  }
33 
34  /// Extracts and reports header information of a vector or raster file (ODM, GDAL).
35  /** opalsInfo extracts statistic information (number of points/lines/polygons, the bounding box, attribute information, spatial index details, etc..) from a data set input file. Currently, only ODMs are supported. However, the support of vector files, grid and tin file formats is planned for the future. In general, all information provided in the header of the file format is made available through a generic file statistics object. */
36  /// \see \ref ModuleInfo
37  class OPALS_API IInfo : virtual public IModuleBase
38  {
39 
40  public:
41  static IInfo* New();
42  static IInfo* New( IControlObject &controlObject );
43  static IInfo* New( const IModuleBase &parent );
44  static IInfo* New( const IModuleBase &parent, IControlObject &controlObject );
45 
46  virtual ~IInfo() {}
47 
48  /// \name Access to module-specific options.
49  ///@{
51  virtual Options& opts() = 0;
52  virtual const Options& opts() const = 0;
53  ///@}
54 
55  };
56 
57 };
IGroup< Names::_, false, ILeaf< Names::inFile, false, Path >, ILeaf< Names::statistic, true, DataSetStats >, ILeaf< Names::exportHeader, false, Vector< HeaderFeature > > > Options
Options of Module Info.
Definition: IInfo.hpp:30
Leaf that holds a read-only value.
Definition: IOption.hpp:63
Contains the public interface of OPALS.
Definition: ApplyTrafo.hpp:5
Extracts and reports header information of a vector or raster file (ODM, GDAL).
Definition: IInfo.hpp:37
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
A group of options.
Definition: IOption.hpp:108