IQuery.hpp
1 #pragma once
2 
3 #include <opals/IModuleBase.hpp>
4 #include <opals/RasterFile.hpp>
5 #include <opals/ResamplingMethod.hpp>
6 #include <opals/Vector.hpp>
7 
8 #if defined(_MSC_VER) && !defined(OPALS_NO_AUTOLINK)
9  #if defined _DEBUG && !defined OPALS_NO_DEBUG
10  #pragma comment(lib, "opalsQuery_d.lib")
11  #else
12  #pragma comment(lib, "opalsQuery.lib")
13  #endif
14 #endif
15 
16 namespace opals {
17 
18  namespace opts
19  {
20  /// Options of \ref ModuleQuery
21  namespace Query
22  {
23  /// Options of \ref ModuleQuery
24  using Options =
25  IGroup< Names::_,
33  >;
34  }
35  }
36 
37  /// Interpolates height or attribute values for arbitrary 2D geometries based on either point clouds (not yet implemented) or grids.
38  /** opalsQuery reads in 2D geometries in OGC Well-Known-Text (WKT) format and interpolates values (height or attribute)
39  based on a set of point clouds (not yet implemented) or rasters. The result is again an OGC geometry in WKT syntax containing the
40  interpolated values as height (Z) or attribute (M). */
41  /// \see \ref ModuleQuery
42  class OPALS_API IQuery : virtual public IModuleBase
43  {
44 
45  public:
46  static IQuery* New();
47  static IQuery* New( IControlObject &controlObject );
48  static IQuery* New( const IModuleBase &parent );
49  static IQuery* New( const IModuleBase &parent, IControlObject &controlObject );
50 
51  virtual ~IQuery() {}
52 
53  /// \name Access to module-specific options.
54  ///@{
56  Options& opts() override = 0;
57  const Options& opts() const override = 0;
58  ///@}
59 
60  };
61 
62 };
IGroup< Names::_, IValue< Names::inFile, false, Vector< RasterFile > >, IValue< Names::inGeometry, false, Vector< String > >, IValue< Names::outGeometry, true, Vector< String > >, IValue< Names::formula, false, String >, IValue< Names::resampling, false, ResamplingMethod >, IValue< Names::maxMemory, false, unsigned >, IValue< Names::lineVertexDist, false, double > > Options
Options of Module Query.
Definition: IQuery.hpp:33
Interpolates height or attribute values for arbitrary 2D geometries based on either point clouds (not...
Definition: IQuery.hpp:42
A leaf that holds a value.
Definition: IOption.hpp:62
Contains the public interface of OPALS.
Definition: AbsValueOrQuantile.hpp:8
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:136