OptionsShared.hpp
1 #pragma once
2 
3 ///=============================================================================
4 /// \file OptionsShared.hpp
5 /// \brief Declare the global and common options.
6 /// \author WK
7 /// \date 20.02.2017
8 ///=============================================================================
9 
10 #include <opals/fwd.hpp>
11 #include <opals/IOption.hpp>
12 #include <opals/OptionNames.hpp>
13 #include <opals/LogLevel.hpp>
14 
15 namespace opals {
16 
17  namespace opts
18  {
19  namespace glob
20  {
21  using Options =
22  IGroup< Names::_, false,
23  ILeaf< Names::force_coord_ref_sys, false, bool >,
24  ILeaf< Names::coord_ref_sys, false, opals::String >,
25  ILeaf< Names::coord_system, false, opals::String >,
26  ILeaf< Names::points_in_memory, false, unsigned >,
27  ILeaf< Names::max_log_file_mb, false, unsigned >,
28  ILeaf< Names::oformat_grid, false, opals::String >,
29  ILeaf< Names::oformat_vector, false, opals::String >,
30  ILeaf< Names::oformat_tin, false, opals::String >,
31  ILeaf< Names::oformat_lidar, false, opals::String >,
32  ILeaf< Names::data_type_grid, false, opals::RasterDataType >,
33  ILeaf< Names::create_option, false, opals::Vector<opals::String> >,
34  ILeaf< Names::postfix_z, false, opals::String >,
35  ILeaf< Names::postfix_attribute, false, opals::String >,
36  ILeaf< Names::postfix_min, false, opals::String >,
37  ILeaf< Names::postfix_max, false, opals::String >,
38  ILeaf< Names::postfix_range, false, opals::String >,
39  ILeaf< Names::postfix_nmin, false, opals::String >,
40  ILeaf< Names::postfix_nmax, false, opals::String >,
41  ILeaf< Names::postfix_rms, false, opals::String >,
42  ILeaf< Names::postfix_stdDev, false, opals::String >,
43  ILeaf< Names::postfix_var, false, opals::String >,
44  ILeaf< Names::postfix_stdDevMad, false, opals::String >,
45  ILeaf< Names::postfix_mean, false, opals::String >,
46  ILeaf< Names::postfix_median, false, opals::String >,
47  ILeaf< Names::postfix_sum, false, opals::String >,
48  ILeaf< Names::postfix_minority, false, opals::String >,
49  ILeaf< Names::postfix_majority, false, opals::String >,
50  ILeaf< Names::postfix_shannon_entropy, false, opals::String >,
51  ILeaf< Names::postfix_quadratic_entropy, false, opals::String >,
52  ILeaf< Names::postfix_center, false, opals::String >,
53  ILeaf< Names::postfix_pdens, false, opals::String >,
54  ILeaf< Names::postfix_pcount, false, opals::String >,
55  ILeaf< Names::postfix_quantile, false, opals::String >,
56  ILeaf< Names::postfix_sigmaz, false, opals::String >,
57  ILeaf< Names::postfix_sigma0, false, opals::String >,
58  ILeaf< Names::postfix_excen, false, opals::String >,
59  ILeaf< Names::postfix_slope, false, opals::String >,
60  ILeaf< Names::postfix_slpDeg, false, opals::String >,
61  ILeaf< Names::postfix_slpRad, false, opals::String >,
62  ILeaf< Names::postfix_expos, false, opals::String >,
63  ILeaf< Names::postfix_nx, false, opals::String >,
64  ILeaf< Names::postfix_ny, false, opals::String >,
65  ILeaf< Names::postfix_openness, false, opals::String >,
66  ILeaf< Names::column_name_alias, false, opals::Vector<opals::ColumnNameAlias> >,
67  ILeaf< Names::postfix_kmin, false, opals::String >,
68  ILeaf< Names::postfix_kmax, false, opals::String >,
69  ILeaf< Names::postfix_kmean, false, opals::String >,
70  ILeaf< Names::postfix_kgauss, false, opals::String >,
71  ILeaf< Names::postfix_kminDir, false, opals::String >,
72  ILeaf< Names::postfix_kmaxDir, false, opals::String >,
73  ILeaf< Names::postfix_absKmaxDir, false, opals::String >,
74  ILeaf< Names::postfix_precision, false, opals::String >
75  >;
76  }
77  }
78 
79  /// \typedef opals::opts::glob::Options
80  /// The structure of global options.
81 
82  namespace opts
83  {
84  namespace comm
85  {
86  using Options =
87  IGroup< Names::_, false,
88  ILeaf< Names::nbThreads, false, unsigned >,
89  ILeaf< Names::screenLogLevel, false, opals::LogLevel >,
90  ILeaf< Names::fileLogLevel, false, opals::LogLevel >,
91  ILeaf< Names::lineBufferedScreenLog, false, bool >,
92  ILeaf< Names::logFile, false, opals::Path >,
93  ILeaf< Names::cfgFile, false, opals::Path >,
94  ILeaf< Names::paramMapping, false, opals::String >,
95  ILeaf< Names::inParamFiles, false, opals::Vector<opals::Path> >,
96  ILeaf< Names::outParamFile, false, opals::Path >,
97  ILeaf< Names::scope, false, opals::String >,
98  ILeaf< Names::deleteEmptyOutFile, false, bool >
99  >;
100  }
101  }
102 
103  /// \typedef opals::opts::comm::Options
104  /// The structure of common options.
105 }
IGroup< Names::_, false, ILeaf< Names::nbThreads, false, unsigned >, ILeaf< Names::screenLogLevel, false, opals::LogLevel >, ILeaf< Names::fileLogLevel, false, opals::LogLevel >, ILeaf< Names::lineBufferedScreenLog, false, bool >, ILeaf< Names::logFile, false, opals::Path >, ILeaf< Names::cfgFile, false, opals::Path >, ILeaf< Names::paramMapping, false, opals::String >, ILeaf< Names::inParamFiles, false, opals::Vector< opals::Path > >, ILeaf< Names::outParamFile, false, opals::Path >, ILeaf< Names::scope, false, opals::String >, ILeaf< Names::deleteEmptyOutFile, false, bool > > Options
Definition: OptionsShared.hpp:99
Contains the public interface of OPALS.
Definition: ApplyTrafo.hpp:5
IGroup< Names::_, false, ILeaf< Names::force_coord_ref_sys, false, bool >, ILeaf< Names::coord_ref_sys, false, opals::String >, ILeaf< Names::coord_system, false, opals::String >, ILeaf< Names::points_in_memory, false, unsigned >, ILeaf< Names::max_log_file_mb, false, unsigned >, ILeaf< Names::oformat_grid, false, opals::String >, ILeaf< Names::oformat_vector, false, opals::String >, ILeaf< Names::oformat_tin, false, opals::String >, ILeaf< Names::oformat_lidar, false, opals::String >, ILeaf< Names::data_type_grid, false, opals::RasterDataType >, ILeaf< Names::create_option, false, opals::Vector< opals::String > >, ILeaf< Names::postfix_z, false, opals::String >, ILeaf< Names::postfix_attribute, false, opals::String >, ILeaf< Names::postfix_min, false, opals::String >, ILeaf< Names::postfix_max, false, opals::String >, ILeaf< Names::postfix_range, false, opals::String >, ILeaf< Names::postfix_nmin, false, opals::String >, ILeaf< Names::postfix_nmax, false, opals::String >, ILeaf< Names::postfix_rms, false, opals::String >, ILeaf< Names::postfix_stdDev, false, opals::String >, ILeaf< Names::postfix_var, false, opals::String >, ILeaf< Names::postfix_stdDevMad, false, opals::String >, ILeaf< Names::postfix_mean, false, opals::String >, ILeaf< Names::postfix_median, false, opals::String >, ILeaf< Names::postfix_sum, false, opals::String >, ILeaf< Names::postfix_minority, false, opals::String >, ILeaf< Names::postfix_majority, false, opals::String >, ILeaf< Names::postfix_shannon_entropy, false, opals::String >, ILeaf< Names::postfix_quadratic_entropy, false, opals::String >, ILeaf< Names::postfix_center, false, opals::String >, ILeaf< Names::postfix_pdens, false, opals::String >, ILeaf< Names::postfix_pcount, false, opals::String >, ILeaf< Names::postfix_quantile, false, opals::String >, ILeaf< Names::postfix_sigmaz, false, opals::String >, ILeaf< Names::postfix_sigma0, false, opals::String >, ILeaf< Names::postfix_excen, false, opals::String >, ILeaf< Names::postfix_slope, false, opals::String >, ILeaf< Names::postfix_slpDeg, false, opals::String >, ILeaf< Names::postfix_slpRad, false, opals::String >, ILeaf< Names::postfix_expos, false, opals::String >, ILeaf< Names::postfix_nx, false, opals::String >, ILeaf< Names::postfix_ny, false, opals::String >, ILeaf< Names::postfix_openness, false, opals::String >, ILeaf< Names::column_name_alias, false, opals::Vector< opals::ColumnNameAlias > >, ILeaf< Names::postfix_kmin, false, opals::String >, ILeaf< Names::postfix_kmax, false, opals::String >, ILeaf< Names::postfix_kmean, false, opals::String >, ILeaf< Names::postfix_kgauss, false, opals::String >, ILeaf< Names::postfix_kminDir, false, opals::String >, ILeaf< Names::postfix_kmaxDir, false, opals::String >, ILeaf< Names::postfix_absKmaxDir, false, opals::String >, ILeaf< Names::postfix_precision, false, opals::String > > Options
Definition: OptionsShared.hpp:75