Loading [MathJax]/extensions/tex2jax.js
IAccess.hpp
1 ///=============================================================================
2 /// \file
3 /// \brief By inheriting from IAcc, IGroup provides access to its members by name.
4 /// \author WK
5 /// \date 22.02.2020
6 ///=============================================================================
7 
8 namespace opals
9 {
10  namespace opts
11  {
12 
13  /// Defines global options
14  namespace glob
15  {
16  /// Provides access method(s) to the first given option with name(s) according to that option's enumerator.
17  /** \tparam name_ The enumerator of the option to provide access to.
18  \tparam Opts The parameter pack of the current and remaining options. IAccS derives from itself for the remaining options. */
19  template<Names, class...>
20  struct IAccS;
21 
22  /// For an empty parameter pack, IAcc_ defines IBase as its Type.
23  template<class...>
24  struct IAcc_
25  {
26  using Type = IBase;
27  };
28 
29  /// For a non-empty parameter pack, IAcc_ defines IAccS as its Type, specialized for the first and remaining options.
30  template<class Opt, class... Opts>
31  struct IAcc_<Opt, Opts...>
32  {
33  using Type = IAccS<Opt::Name::value, Opt, Opts...>;
34  };
35 
36  /// The specialization of IAcc_ according to the given options.
37  template<class... Opts>
38  using IAcc = typename IAcc_<Opts...>::Type;
39 
40  /// Partial specialization for Names::temp
41  template<class Opt, class... Opts>
42  struct IAccS<Names::temp , Opt, Opts...> :
43  IAcc<Opts...>
44  {
45  virtual const Opt& temp () const = 0;
46  virtual Opt& temp () = 0;
47  };
48 
49  /// Partial specialization for Names::force_coord_ref_sys
50  template<class Opt, class... Opts>
51  struct IAccS<Names::force_coord_ref_sys , Opt, Opts...> :
52  IAcc<Opts...>
53  {
54  virtual const Opt& force_coord_ref_sys () const = 0;
55  virtual Opt& force_coord_ref_sys () = 0;
56  };
57 
58  /// Partial specialization for Names::coord_ref_sys
59  template<class Opt, class... Opts>
60  struct IAccS<Names::coord_ref_sys , Opt, Opts...> :
61  IAcc<Opts...>
62  {
63  virtual const Opt& coord_ref_sys () const = 0;
64  virtual Opt& coord_ref_sys () = 0;
65  };
66 
67  /// Partial specialization for Names::coord_system
68  template<class Opt, class... Opts>
69  struct IAccS<Names::coord_system , Opt, Opts...> :
70  IAcc<Opts...>
71  {
72  virtual const Opt& coord_system () const = 0;
73  virtual Opt& coord_system () = 0;
74  };
75 
76  /// Partial specialization for Names::points_in_memory
77  template<class Opt, class... Opts>
78  struct IAccS<Names::points_in_memory , Opt, Opts...> :
79  IAcc<Opts...>
80  {
81  virtual const Opt& points_in_memory () const = 0;
82  virtual Opt& points_in_memory () = 0;
83  };
84 
85  /// Partial specialization for Names::max_log_file_mb
86  template<class Opt, class... Opts>
87  struct IAccS<Names::max_log_file_mb , Opt, Opts...> :
88  IAcc<Opts...>
89  {
90  virtual const Opt& max_log_file_mb () const = 0;
91  virtual Opt& max_log_file_mb () = 0;
92  };
93 
94  /// Partial specialization for Names::oformat_grid
95  template<class Opt, class... Opts>
96  struct IAccS<Names::oformat_grid , Opt, Opts...> :
97  IAcc<Opts...>
98  {
99  virtual const Opt& oformat_grid () const = 0;
100  virtual Opt& oformat_grid () = 0;
101  };
102 
103  /// Partial specialization for Names::oformat_vector
104  template<class Opt, class... Opts>
105  struct IAccS<Names::oformat_vector , Opt, Opts...> :
106  IAcc<Opts...>
107  {
108  virtual const Opt& oformat_vector () const = 0;
109  virtual Opt& oformat_vector () = 0;
110  };
111 
112  /// Partial specialization for Names::oformat_tin
113  template<class Opt, class... Opts>
114  struct IAccS<Names::oformat_tin , Opt, Opts...> :
115  IAcc<Opts...>
116  {
117  virtual const Opt& oformat_tin () const = 0;
118  virtual Opt& oformat_tin () = 0;
119  };
120 
121  /// Partial specialization for Names::oformat_lidar
122  template<class Opt, class... Opts>
123  struct IAccS<Names::oformat_lidar , Opt, Opts...> :
124  IAcc<Opts...>
125  {
126  virtual const Opt& oformat_lidar () const = 0;
127  virtual Opt& oformat_lidar () = 0;
128  };
129 
130  /// Partial specialization for Names::data_type_grid
131  template<class Opt, class... Opts>
132  struct IAccS<Names::data_type_grid , Opt, Opts...> :
133  IAcc<Opts...>
134  {
135  virtual const Opt& data_type_grid () const = 0;
136  virtual Opt& data_type_grid () = 0;
137  };
138 
139  /// Partial specialization for Names::create_option
140  template<class Opt, class... Opts>
141  struct IAccS<Names::create_option , Opt, Opts...> :
142  IAcc<Opts...>
143  {
144  virtual const Opt& create_option () const = 0;
145  virtual Opt& create_option () = 0;
146  };
147 
148  /// Partial specialization for Names::postfix_z
149  template<class Opt, class... Opts>
150  struct IAccS<Names::postfix_z , Opt, Opts...> :
151  IAcc<Opts...>
152  {
153  virtual const Opt& postfix_z () const = 0;
154  virtual Opt& postfix_z () = 0;
155  };
156 
157  /// Partial specialization for Names::postfix_attribute
158  template<class Opt, class... Opts>
159  struct IAccS<Names::postfix_attribute , Opt, Opts...> :
160  IAcc<Opts...>
161  {
162  virtual const Opt& postfix_attribute () const = 0;
163  virtual Opt& postfix_attribute () = 0;
164  };
165 
166  /// Partial specialization for Names::postfix_min
167  template<class Opt, class... Opts>
168  struct IAccS<Names::postfix_min , Opt, Opts...> :
169  IAcc<Opts...>
170  {
171  virtual const Opt& postfix_min () const = 0;
172  virtual Opt& postfix_min () = 0;
173  };
174 
175  /// Partial specialization for Names::postfix_max
176  template<class Opt, class... Opts>
177  struct IAccS<Names::postfix_max , Opt, Opts...> :
178  IAcc<Opts...>
179  {
180  virtual const Opt& postfix_max () const = 0;
181  virtual Opt& postfix_max () = 0;
182  };
183 
184  /// Partial specialization for Names::postfix_range
185  template<class Opt, class... Opts>
186  struct IAccS<Names::postfix_range , Opt, Opts...> :
187  IAcc<Opts...>
188  {
189  virtual const Opt& postfix_range () const = 0;
190  virtual Opt& postfix_range () = 0;
191  };
192 
193  /// Partial specialization for Names::postfix_nmin
194  template<class Opt, class... Opts>
195  struct IAccS<Names::postfix_nmin , Opt, Opts...> :
196  IAcc<Opts...>
197  {
198  virtual const Opt& postfix_nmin () const = 0;
199  virtual Opt& postfix_nmin () = 0;
200  };
201 
202  /// Partial specialization for Names::postfix_nmax
203  template<class Opt, class... Opts>
204  struct IAccS<Names::postfix_nmax , Opt, Opts...> :
205  IAcc<Opts...>
206  {
207  virtual const Opt& postfix_nmax () const = 0;
208  virtual Opt& postfix_nmax () = 0;
209  };
210 
211  /// Partial specialization for Names::postfix_rms
212  template<class Opt, class... Opts>
213  struct IAccS<Names::postfix_rms , Opt, Opts...> :
214  IAcc<Opts...>
215  {
216  virtual const Opt& postfix_rms () const = 0;
217  virtual Opt& postfix_rms () = 0;
218  };
219 
220  /// Partial specialization for Names::postfix_stdDev
221  template<class Opt, class... Opts>
222  struct IAccS<Names::postfix_stdDev , Opt, Opts...> :
223  IAcc<Opts...>
224  {
225  virtual const Opt& postfix_stdDev () const = 0;
226  virtual Opt& postfix_stdDev () = 0;
227  };
228 
229  /// Partial specialization for Names::postfix_var
230  template<class Opt, class... Opts>
231  struct IAccS<Names::postfix_var , Opt, Opts...> :
232  IAcc<Opts...>
233  {
234  virtual const Opt& postfix_var () const = 0;
235  virtual Opt& postfix_var () = 0;
236  };
237 
238  /// Partial specialization for Names::postfix_stdDevMad
239  template<class Opt, class... Opts>
240  struct IAccS<Names::postfix_stdDevMad , Opt, Opts...> :
241  IAcc<Opts...>
242  {
243  virtual const Opt& postfix_stdDevMad () const = 0;
244  virtual Opt& postfix_stdDevMad () = 0;
245  };
246 
247  /// Partial specialization for Names::postfix_mean
248  template<class Opt, class... Opts>
249  struct IAccS<Names::postfix_mean , Opt, Opts...> :
250  IAcc<Opts...>
251  {
252  virtual const Opt& postfix_mean () const = 0;
253  virtual Opt& postfix_mean () = 0;
254  };
255 
256  /// Partial specialization for Names::postfix_median
257  template<class Opt, class... Opts>
258  struct IAccS<Names::postfix_median , Opt, Opts...> :
259  IAcc<Opts...>
260  {
261  virtual const Opt& postfix_median () const = 0;
262  virtual Opt& postfix_median () = 0;
263  };
264 
265  /// Partial specialization for Names::postfix_sum
266  template<class Opt, class... Opts>
267  struct IAccS<Names::postfix_sum , Opt, Opts...> :
268  IAcc<Opts...>
269  {
270  virtual const Opt& postfix_sum () const = 0;
271  virtual Opt& postfix_sum () = 0;
272  };
273 
274  /// Partial specialization for Names::postfix_minority
275  template<class Opt, class... Opts>
276  struct IAccS<Names::postfix_minority , Opt, Opts...> :
277  IAcc<Opts...>
278  {
279  virtual const Opt& postfix_minority () const = 0;
280  virtual Opt& postfix_minority () = 0;
281  };
282 
283  /// Partial specialization for Names::postfix_majority
284  template<class Opt, class... Opts>
285  struct IAccS<Names::postfix_majority , Opt, Opts...> :
286  IAcc<Opts...>
287  {
288  virtual const Opt& postfix_majority () const = 0;
289  virtual Opt& postfix_majority () = 0;
290  };
291 
292  /// Partial specialization for Names::postfix_shannon_entropy
293  template<class Opt, class... Opts>
294  struct IAccS<Names::postfix_shannon_entropy , Opt, Opts...> :
295  IAcc<Opts...>
296  {
297  virtual const Opt& postfix_shannon_entropy () const = 0;
298  virtual Opt& postfix_shannon_entropy () = 0;
299  };
300 
301  /// Partial specialization for Names::postfix_quadratic_entropy
302  template<class Opt, class... Opts>
303  struct IAccS<Names::postfix_quadratic_entropy , Opt, Opts...> :
304  IAcc<Opts...>
305  {
306  virtual const Opt& postfix_quadratic_entropy () const = 0;
307  virtual Opt& postfix_quadratic_entropy () = 0;
308  };
309 
310  /// Partial specialization for Names::postfix_center
311  template<class Opt, class... Opts>
312  struct IAccS<Names::postfix_center , Opt, Opts...> :
313  IAcc<Opts...>
314  {
315  virtual const Opt& postfix_center () const = 0;
316  virtual Opt& postfix_center () = 0;
317  };
318 
319  /// Partial specialization for Names::postfix_pdens
320  template<class Opt, class... Opts>
321  struct IAccS<Names::postfix_pdens , Opt, Opts...> :
322  IAcc<Opts...>
323  {
324  virtual const Opt& postfix_pdens () const = 0;
325  virtual Opt& postfix_pdens () = 0;
326  };
327 
328  /// Partial specialization for Names::postfix_pcount
329  template<class Opt, class... Opts>
330  struct IAccS<Names::postfix_pcount , Opt, Opts...> :
331  IAcc<Opts...>
332  {
333  virtual const Opt& postfix_pcount () const = 0;
334  virtual Opt& postfix_pcount () = 0;
335  };
336 
337  /// Partial specialization for Names::postfix_quantile
338  template<class Opt, class... Opts>
339  struct IAccS<Names::postfix_quantile , Opt, Opts...> :
340  IAcc<Opts...>
341  {
342  virtual const Opt& postfix_quantile () const = 0;
343  virtual Opt& postfix_quantile () = 0;
344  };
345 
346  /// Partial specialization for Names::postfix_sigmaz
347  template<class Opt, class... Opts>
348  struct IAccS<Names::postfix_sigmaz , Opt, Opts...> :
349  IAcc<Opts...>
350  {
351  virtual const Opt& postfix_sigmaz () const = 0;
352  virtual Opt& postfix_sigmaz () = 0;
353  };
354 
355  /// Partial specialization for Names::postfix_sigma0
356  template<class Opt, class... Opts>
357  struct IAccS<Names::postfix_sigma0 , Opt, Opts...> :
358  IAcc<Opts...>
359  {
360  virtual const Opt& postfix_sigma0 () const = 0;
361  virtual Opt& postfix_sigma0 () = 0;
362  };
363 
364  /// Partial specialization for Names::postfix_excen
365  template<class Opt, class... Opts>
366  struct IAccS<Names::postfix_excen , Opt, Opts...> :
367  IAcc<Opts...>
368  {
369  virtual const Opt& postfix_excen () const = 0;
370  virtual Opt& postfix_excen () = 0;
371  };
372 
373  /// Partial specialization for Names::postfix_slope
374  template<class Opt, class... Opts>
375  struct IAccS<Names::postfix_slope , Opt, Opts...> :
376  IAcc<Opts...>
377  {
378  virtual const Opt& postfix_slope () const = 0;
379  virtual Opt& postfix_slope () = 0;
380  };
381 
382  /// Partial specialization for Names::postfix_slpPerc
383  template<class Opt, class... Opts>
384  struct IAccS<Names::postfix_slpPerc , Opt, Opts...> :
385  IAcc<Opts...>
386  {
387  virtual const Opt& postfix_slpPerc () const = 0;
388  virtual Opt& postfix_slpPerc () = 0;
389  };
390 
391  /// Partial specialization for Names::postfix_slpDeg
392  template<class Opt, class... Opts>
393  struct IAccS<Names::postfix_slpDeg , Opt, Opts...> :
394  IAcc<Opts...>
395  {
396  virtual const Opt& postfix_slpDeg () const = 0;
397  virtual Opt& postfix_slpDeg () = 0;
398  };
399 
400  /// Partial specialization for Names::postfix_slpRad
401  template<class Opt, class... Opts>
402  struct IAccS<Names::postfix_slpRad , Opt, Opts...> :
403  IAcc<Opts...>
404  {
405  virtual const Opt& postfix_slpRad () const = 0;
406  virtual Opt& postfix_slpRad () = 0;
407  };
408 
409  /// Partial specialization for Names::postfix_expos
410  template<class Opt, class... Opts>
411  struct IAccS<Names::postfix_expos , Opt, Opts...> :
412  IAcc<Opts...>
413  {
414  virtual const Opt& postfix_expos () const = 0;
415  virtual Opt& postfix_expos () = 0;
416  };
417 
418  /// Partial specialization for Names::postfix_exposRad
419  template<class Opt, class... Opts>
420  struct IAccS<Names::postfix_exposRad , Opt, Opts...> :
421  IAcc<Opts...>
422  {
423  virtual const Opt& postfix_exposRad () const = 0;
424  virtual Opt& postfix_exposRad () = 0;
425  };
426 
427  /// Partial specialization for Names::postfix_exposDeg
428  template<class Opt, class... Opts>
429  struct IAccS<Names::postfix_exposDeg , Opt, Opts...> :
430  IAcc<Opts...>
431  {
432  virtual const Opt& postfix_exposDeg () const = 0;
433  virtual Opt& postfix_exposDeg () = 0;
434  };
435 
436  /// Partial specialization for Names::postfix_nx
437  template<class Opt, class... Opts>
438  struct IAccS<Names::postfix_nx , Opt, Opts...> :
439  IAcc<Opts...>
440  {
441  virtual const Opt& postfix_nx () const = 0;
442  virtual Opt& postfix_nx () = 0;
443  };
444 
445  /// Partial specialization for Names::postfix_ny
446  template<class Opt, class... Opts>
447  struct IAccS<Names::postfix_ny , Opt, Opts...> :
448  IAcc<Opts...>
449  {
450  virtual const Opt& postfix_ny () const = 0;
451  virtual Opt& postfix_ny () = 0;
452  };
453 
454  /// Partial specialization for Names::postfix_openness
455  template<class Opt, class... Opts>
456  struct IAccS<Names::postfix_openness , Opt, Opts...> :
457  IAcc<Opts...>
458  {
459  virtual const Opt& postfix_openness () const = 0;
460  virtual Opt& postfix_openness () = 0;
461  };
462 
463  /// Partial specialization for Names::column_name_alias
464  template<class Opt, class... Opts>
465  struct IAccS<Names::column_name_alias , Opt, Opts...> :
466  IAcc<Opts...>
467  {
468  virtual const Opt& column_name_alias () const = 0;
469  virtual Opt& column_name_alias () = 0;
470  };
471 
472  /// Partial specialization for Names::postfix_kmin
473  template<class Opt, class... Opts>
474  struct IAccS<Names::postfix_kmin , Opt, Opts...> :
475  IAcc<Opts...>
476  {
477  virtual const Opt& postfix_kmin () const = 0;
478  virtual Opt& postfix_kmin () = 0;
479  };
480 
481  /// Partial specialization for Names::postfix_kmax
482  template<class Opt, class... Opts>
483  struct IAccS<Names::postfix_kmax , Opt, Opts...> :
484  IAcc<Opts...>
485  {
486  virtual const Opt& postfix_kmax () const = 0;
487  virtual Opt& postfix_kmax () = 0;
488  };
489 
490  /// Partial specialization for Names::postfix_kmean
491  template<class Opt, class... Opts>
492  struct IAccS<Names::postfix_kmean , Opt, Opts...> :
493  IAcc<Opts...>
494  {
495  virtual const Opt& postfix_kmean () const = 0;
496  virtual Opt& postfix_kmean () = 0;
497  };
498 
499  /// Partial specialization for Names::postfix_kgauss
500  template<class Opt, class... Opts>
501  struct IAccS<Names::postfix_kgauss , Opt, Opts...> :
502  IAcc<Opts...>
503  {
504  virtual const Opt& postfix_kgauss () const = 0;
505  virtual Opt& postfix_kgauss () = 0;
506  };
507 
508  /// Partial specialization for Names::postfix_kminDir
509  template<class Opt, class... Opts>
510  struct IAccS<Names::postfix_kminDir , Opt, Opts...> :
511  IAcc<Opts...>
512  {
513  virtual const Opt& postfix_kminDir () const = 0;
514  virtual Opt& postfix_kminDir () = 0;
515  };
516 
517  /// Partial specialization for Names::postfix_kmaxDir
518  template<class Opt, class... Opts>
519  struct IAccS<Names::postfix_kmaxDir , Opt, Opts...> :
520  IAcc<Opts...>
521  {
522  virtual const Opt& postfix_kmaxDir () const = 0;
523  virtual Opt& postfix_kmaxDir () = 0;
524  };
525 
526  /// Partial specialization for Names::postfix_absKmaxDir
527  template<class Opt, class... Opts>
528  struct IAccS<Names::postfix_absKmaxDir , Opt, Opts...> :
529  IAcc<Opts...>
530  {
531  virtual const Opt& postfix_absKmaxDir () const = 0;
532  virtual Opt& postfix_absKmaxDir () = 0;
533  };
534 
535  /// Partial specialization for Names::postfix_precision
536  template<class Opt, class... Opts>
537  struct IAccS<Names::postfix_precision , Opt, Opts...> :
538  IAcc<Opts...>
539  {
540  virtual const Opt& postfix_precision () const = 0;
541  virtual Opt& postfix_precision () = 0;
542  };
543 
544  }
545 
546  /// Defines common options
547  namespace comm
548  {
549  /// Provides access method(s) to the first given option with name(s) according to that option's enumerator.
550  /** \tparam name_ The enumerator of the option to provide access to.
551  \tparam Opts The parameter pack of the current and remaining options. IAccS derives from itself for the remaining options. */
552  template<Names, class...>
553  struct IAccS;
554 
555  /// For an empty parameter pack, IAcc_ defines IBase as its Type.
556  template<class...>
557  struct IAcc_
558  {
559  using Type = IBase;
560  };
561 
562  /// For a non-empty parameter pack, IAcc_ defines IAccS as its Type, specialized for the first and remaining options.
563  template<class Opt, class... Opts>
564  struct IAcc_<Opt, Opts...>
565  {
566  using Type = IAccS<Opt::Name::value, Opt, Opts...>;
567  };
568 
569  /// The specialization of IAcc_ according to the given options.
570  template<class... Opts>
571  using IAcc = typename IAcc_<Opts...>::Type;
572 
573  /// Partial specialization for Names::task
574  template<class Opt, class... Opts>
575  struct IAccS<Names::task , Opt, Opts...> :
576  IAcc<Opts...>
577  {
578  virtual const Opt& task () const = 0;
579  virtual Opt& task () = 0;
580  };
581 
582  /// Partial specialization for Names::nbThreads
583  template<class Opt, class... Opts>
584  struct IAccS<Names::nbThreads , Opt, Opts...> :
585  IAcc<Opts...>
586  {
587  virtual const Opt& nbThreads () const = 0;
588  virtual Opt& nbThreads () = 0;
589  };
590 
591  /// Partial specialization for Names::screenLogLevel
592  template<class Opt, class... Opts>
593  struct IAccS<Names::screenLogLevel , Opt, Opts...> :
594  IAcc<Opts...>
595  {
596  virtual const Opt& screenLogLevel () const = 0;
597  virtual Opt& screenLogLevel () = 0;
598  };
599 
600  /// Partial specialization for Names::fileLogLevel
601  template<class Opt, class... Opts>
602  struct IAccS<Names::fileLogLevel , Opt, Opts...> :
603  IAcc<Opts...>
604  {
605  virtual const Opt& fileLogLevel () const = 0;
606  virtual Opt& fileLogLevel () = 0;
607  };
608 
609  /// Partial specialization for Names::lineBufferedScreenLog
610  template<class Opt, class... Opts>
611  struct IAccS<Names::lineBufferedScreenLog , Opt, Opts...> :
612  IAcc<Opts...>
613  {
614  virtual const Opt& lineBufferedScreenLog () const = 0;
615  virtual Opt& lineBufferedScreenLog () = 0;
616  };
617 
618  /// Partial specialization for Names::logFile
619  template<class Opt, class... Opts>
620  struct IAccS<Names::logFile , Opt, Opts...> :
621  IAcc<Opts...>
622  {
623  virtual const Opt& logFile () const = 0;
624  virtual Opt& logFile () = 0;
625  };
626 
627  /// Partial specialization for Names::cfgFile
628  template<class Opt, class... Opts>
629  struct IAccS<Names::cfgFile , Opt, Opts...> :
630  IAcc<Opts...>
631  {
632  virtual const Opt& cfgFile () const = 0;
633  virtual Opt& cfgFile () = 0;
634  };
635 
636  /// Partial specialization for Names::paramMapping
637  template<class Opt, class... Opts>
638  struct IAccS<Names::paramMapping , Opt, Opts...> :
639  IAcc<Opts...>
640  {
641  virtual const Opt& paramMapping () const = 0;
642  virtual Opt& paramMapping () = 0;
643  };
644 
645  /// Partial specialization for Names::inParamFiles
646  template<class Opt, class... Opts>
647  struct IAccS<Names::inParamFiles , Opt, Opts...> :
648  IAcc<Opts...>
649  {
650  virtual const Opt& inParamFiles () const = 0;
651  virtual Opt& inParamFiles () = 0;
652  };
653 
654  /// Partial specialization for Names::outParamFile
655  template<class Opt, class... Opts>
656  struct IAccS<Names::outParamFile , Opt, Opts...> :
657  IAcc<Opts...>
658  {
659  virtual const Opt& outParamFile () const = 0;
660  virtual Opt& outParamFile () = 0;
661  };
662 
663  /// Partial specialization for Names::scope
664  template<class Opt, class... Opts>
665  struct IAccS<Names::scope , Opt, Opts...> :
666  IAcc<Opts...>
667  {
668  virtual const Opt& scope () const = 0;
669  virtual Opt& scope () = 0;
670  };
671 
672  /// Partial specialization for Names::deleteUselessOutFile
673  template<class Opt, class... Opts>
674  struct IAccS<Names::deleteUselessOutFile , Opt, Opts...> :
675  IAcc<Opts...>
676  {
677  virtual const Opt& deleteUselessOutFile () const = 0;
678  virtual Opt& deleteUselessOutFile () = 0;
679  };
680 
681  }
682 
683  /// Defines specific options
684  namespace spec
685  {
686  /// Provides access method(s) to the first given option with name(s) according to that option's enumerator.
687  /** \tparam name_ The enumerator of the option to provide access to.
688  \tparam Opts The parameter pack of the current and remaining options. IAccS derives from itself for the remaining options. */
689  template<Names, class...>
690  struct IAccS;
691 
692  /// For an empty parameter pack, IAcc_ defines IBase as its Type.
693  template<class...>
694  struct IAcc_
695  {
696  using Type = IBase;
697  };
698 
699  /// For a non-empty parameter pack, IAcc_ defines IAccS as its Type, specialized for the first and remaining options.
700  template<class Opt, class... Opts>
701  struct IAcc_<Opt, Opts...>
702  {
703  using Type = IAccS<Opt::Name::value, Opt, Opts...>;
704  };
705 
706  /// The specialization of IAcc_ according to the given options.
707  template<class... Opts>
708  using IAcc = typename IAcc_<Opts...>::Type;
709 
710  /// Partial specialization for Names::inFile
711  template<class Opt, class... Opts>
712  struct IAccS<Names::inFile , Opt, Opts...> :
713  IAcc<Opts...>
714  {
715  virtual const Opt& inFile () const = 0;
716  virtual Opt& inFile () = 0;
717  };
718 
719  /// Partial specialization for Names::outFile
720  template<class Opt, class... Opts>
721  struct IAccS<Names::outFile , Opt, Opts...> :
722  IAcc<Opts...>
723  {
724  virtual const Opt& outFile () const = 0;
725  virtual Opt& outFile () = 0;
726  };
727 
728  /// Partial specialization for Names::axisFile
729  template<class Opt, class... Opts>
730  struct IAccS<Names::axisFile , Opt, Opts...> :
731  IAcc<Opts...>
732  {
733  virtual const Opt& axisFile () const = 0;
734  virtual Opt& axisFile () = 0;
735  };
736 
737  /// Partial specialization for Names::controlFile
738  template<class Opt, class... Opts>
739  struct IAccS<Names::controlFile , Opt, Opts...> :
740  IAcc<Opts...>
741  {
742  virtual const Opt& controlFile () const = 0;
743  virtual Opt& controlFile () = 0;
744  };
745 
746  /// Partial specialization for Names::iFormat
747  template<class Opt, class... Opts>
748  struct IAccS<Names::iFormat , Opt, Opts...> :
749  IAcc<Opts...>
750  {
751  virtual const Opt& iFormat () const = 0;
752  virtual Opt& iFormat () = 0;
753  };
754 
755  /// Partial specialization for Names::oFormat
756  template<class Opt, class... Opts>
757  struct IAccS<Names::oFormat , Opt, Opts...> :
758  IAcc<Opts...>
759  {
760  virtual const Opt& oFormat () const = 0;
761  virtual Opt& oFormat () = 0;
762  };
763 
764  /// Partial specialization for Names::trjFile
765  template<class Opt, class... Opts>
766  struct IAccS<Names::trjFile , Opt, Opts...> :
767  IAcc<Opts...>
768  {
769  virtual const Opt& trjFile () const = 0;
770  virtual Opt& trjFile () = 0;
771  };
772 
773  /// Partial specialization for Names::limit
774  template<class Opt, class... Opts>
775  struct IAccS<Names::limit , Opt, Opts...> :
776  IAcc<Opts...>
777  {
778  virtual const Opt& limit () const = 0;
779  virtual Opt& limit () = 0;
780  };
781 
782  /// Partial specialization for Names::band _OPALS_COMMENT_AFTER_("raster band number/index in case of multi-layer rasters"
783  template<class Opt, class... Opts>
784  struct IAccS<Names::band , Opt, Opts...> : ///< raster band number/index in case of multi-layer rasters
785  IAcc<Opts...>
786  {
787  virtual const Opt& band () const = 0; ///< raster band number/index in case of multi-layer rasters
788  virtual Opt& band () = 0; ///< raster band number/index in case of multi-layer rasters
789  };
790 
791  /// Partial specialization for Names::storeOrder
792  template<class Opt, class... Opts>
793  struct IAccS<Names::storeOrder , Opt, Opts...> :
794  IAcc<Opts...>
795  {
796  virtual const Opt& storeOrder () const = 0;
797  virtual Opt& storeOrder () = 0;
798  };
799 
800  /// Partial specialization for Names::restoreOrder _OPALS_COMMENT_AFTER_("restore natural order of data (opalsExport
801  template<class Opt, class... Opts>
802  struct IAccS<Names::restoreOrder , Opt, Opts...> : ///< restore natural order of data (opalsExport)
803  IAcc<Opts...>
804  {
805  virtual const Opt& restoreOrder () const = 0; ///< restore natural order of data (opalsExport)
806  virtual Opt& restoreOrder () = 0; ///< restore natural order of data (opalsExport)
807  };
808 
809  /// Partial specialization for Names::tilePointCount
810  template<class Opt, class... Opts>
811  struct IAccS<Names::tilePointCount , Opt, Opts...> :
812  IAcc<Opts...>
813  {
814  virtual const Opt& tilePointCount () const = 0;
815  virtual Opt& tilePointCount () = 0;
816  };
817 
818  /// Partial specialization for Names::tileSize
819  template<class Opt, class... Opts>
820  struct IAccS<Names::tileSize , Opt, Opts...> :
821  IAcc<Opts...>
822  {
823  virtual const Opt& tileSize () const = 0;
824  virtual Opt& tileSize () = 0;
825  };
826 
827  /// Partial specialization for Names::gridSize
828  template<class Opt, class... Opts>
829  struct IAccS<Names::gridSize , Opt, Opts...> :
830  IAcc<Opts...>
831  {
832  virtual const Opt& gridSize () const = 0;
833  virtual Opt& gridSize () = 0;
834  };
835 
836  /// Partial specialization for Names::neighbours
837  template<class Opt, class... Opts>
838  struct IAccS<Names::neighbours , Opt, Opts...> :
839  IAcc<Opts...>
840  {
841  virtual const Opt& neighbours () const = 0;
842  virtual Opt& neighbours () = 0;
843  };
844 
845  /// Partial specialization for Names::searchRadius
846  template<class Opt, class... Opts>
847  struct IAccS<Names::searchRadius , Opt, Opts...> :
848  IAcc<Opts...>
849  {
850  virtual const Opt& searchRadius () const = 0;
851  virtual Opt& searchRadius () = 0;
852  };
853 
854  /// Partial specialization for Names::debugOutFile
855  template<class Opt, class... Opts>
856  struct IAccS<Names::debugOutFile , Opt, Opts...> :
857  IAcc<Opts...>
858  {
859  virtual const Opt& debugOutFile () const = 0;
860  virtual Opt& debugOutFile () = 0;
861  };
862 
863  /// Partial specialization for Names::interpolation
864  template<class Opt, class... Opts>
865  struct IAccS<Names::interpolation , Opt, Opts...> :
866  IAcc<Opts...>
867  {
868  virtual const Opt& interpolation () const = 0;
869  virtual Opt& interpolation () = 0;
870  };
871 
872  /// Partial specialization for Names::interval
873  template<class Opt, class... Opts>
874  struct IAccS<Names::interval , Opt, Opts...> :
875  IAcc<Opts...>
876  {
877  virtual const Opt& interval () const = 0;
878  virtual Opt& interval () = 0;
879  };
880 
881  /// Partial specialization for Names::levels _OPALS_COMMENT_AFTER_("individual height levels (e.g. opalsIsolines
882  template<class Opt, class... Opts>
883  struct IAccS<Names::levels , Opt, Opts...> : ///< individual height levels (e.g. opalsIsolines)
884  IAcc<Opts...>
885  {
886  virtual const Opt& levels () const = 0; ///< individual height levels (e.g. opalsIsolines)
887  virtual Opt& levels () = 0; ///< individual height levels (e.g. opalsIsolines)
888  };
889 
890  /// Partial specialization for Names::nClasses _OPALS_COMMENT_AFTER_("number of different classes (e.g. opalsZColor
891  template<class Opt, class... Opts>
892  struct IAccS<Names::nClasses , Opt, Opts...> : ///< number of different classes (e.g. opalsZColor)
893  IAcc<Opts...>
894  {
895  virtual const Opt& nClasses () const = 0; ///< number of different classes (e.g. opalsZColor)
896  virtual Opt& nClasses () = 0; ///< number of different classes (e.g. opalsZColor)
897  };
898 
899  /// Partial specialization for Names::nBins _OPALS_COMMENT_AFTER_("number of different bins (e.g. opalsHisto
900  template<class Opt, class... Opts>
901  struct IAccS<Names::nBins , Opt, Opts...> : ///< number of different bins (e.g. opalsHisto)
902  IAcc<Opts...>
903  {
904  virtual const Opt& nBins () const = 0; ///< number of different bins (e.g. opalsHisto)
905  virtual Opt& nBins () = 0; ///< number of different bins (e.g. opalsHisto)
906  };
907 
908  /// Partial specialization for Names::binWidth _OPALS_COMMENT_AFTER_("width of a single bin (e.g. opalsHisto
909  template<class Opt, class... Opts>
910  struct IAccS<Names::binWidth , Opt, Opts...> : ///< width of a single bin (e.g. opalsHisto)
911  IAcc<Opts...>
912  {
913  virtual const Opt& binWidth () const = 0; ///< width of a single bin (e.g. opalsHisto)
914  virtual Opt& binWidth () = 0; ///< width of a single bin (e.g. opalsHisto)
915  };
916 
917  /// Partial specialization for Names::palFile _OPALS_COMMENT_AFTER_("palette file (opalsZcolor
918  template<class Opt, class... Opts>
919  struct IAccS<Names::palFile , Opt, Opts...> : ///< palette file (opalsZcolor)
920  IAcc<Opts...>
921  {
922  virtual const Opt& palFile () const = 0; ///< palette file (opalsZcolor)
923  virtual Opt& palFile () = 0; ///< palette file (opalsZcolor)
924  };
925 
926  /// Partial specialization for Names::legend _OPALS_COMMENT_AFTER_("on / off / file=filename where legend in SVG format is to be written (opalsZcolor
927  template<class Opt, class... Opts>
928  struct IAccS<Names::legend , Opt, Opts...> : ///< on / off / file=filename where legend in SVG format is to be written (opalsZcolor)
929  IAcc<Opts...>
930  {
931  virtual const Opt& legend () const = 0; ///< on / off / file=filename where legend in SVG format is to be written (opalsZcolor)
932  virtual Opt& legend () = 0; ///< on / off / file=filename where legend in SVG format is to be written (opalsZcolor)
933  };
934 
935  /// Partial specialization for Names::scalePal _OPALS_COMMENT_AFTER_("scale factor to be applied to the given palette (opalsZcolor
936  template<class Opt, class... Opts>
937  struct IAccS<Names::scalePal , Opt, Opts...> : ///< scale factor to be applied to the given palette (opalsZcolor)
938  IAcc<Opts...>
939  {
940  virtual const Opt& scalePal () const = 0; ///< scale factor to be applied to the given palette (opalsZcolor)
941  virtual Opt& scalePal () = 0; ///< scale factor to be applied to the given palette (opalsZcolor)
942  };
943 
944  /// Partial specialization for Names::offsetPal _OPALS_COMMENT_AFTER_("offset value to be applied to the given palette (opalsZcolor
945  template<class Opt, class... Opts>
946  struct IAccS<Names::offsetPal , Opt, Opts...> : ///< offset value to be applied to the given palette (opalsZcolor)
947  IAcc<Opts...>
948  {
949  virtual const Opt& offsetPal () const = 0; ///< offset value to be applied to the given palette (opalsZcolor)
950  virtual Opt& offsetPal () = 0; ///< offset value to be applied to the given palette (opalsZcolor)
951  };
952 
953  /// Partial specialization for Names::zRange _OPALS_COMMENT_AFTER_("range of z-values to be used for z-coloring (e.g. opalsZcolor
954  template<class Opt, class... Opts>
955  struct IAccS<Names::zRange , Opt, Opts...> : ///< range of z-values to be used for z-coloring (e.g. opalsZcolor)
956  IAcc<Opts...>
957  {
958  virtual const Opt& zRange () const = 0; ///< range of z-values to be used for z-coloring (e.g. opalsZcolor)
959  virtual Opt& zRange () = 0; ///< range of z-values to be used for z-coloring (e.g. opalsZcolor)
960  };
961 
962  /// Partial specialization for Names::sampleRange _OPALS_COMMENT_AFTER_("sample (attribute
963  template<class Opt, class... Opts>
964  struct IAccS<Names::sampleRange , Opt, Opts...> : ///< sample (attribute) range (e.g. opalsHisto)
965  IAcc<Opts...>
966  {
967  virtual const Opt& sampleRange () const = 0; ///< sample (attribute) range (e.g. opalsHisto)
968  virtual Opt& sampleRange () = 0; ///< sample (attribute) range (e.g. opalsHisto)
969  };
970 
971  /// Partial specialization for Names::densityRange _OPALS_COMMENT_AFTER_("density range (e.g. opalsHisto
972  template<class Opt, class... Opts>
973  struct IAccS<Names::densityRange , Opt, Opts...> : ///< density range (e.g. opalsHisto)
974  IAcc<Opts...>
975  {
976  virtual const Opt& densityRange () const = 0; ///< density range (e.g. opalsHisto)
977  virtual Opt& densityRange () = 0; ///< density range (e.g. opalsHisto)
978  };
979 
980  /// Partial specialization for Names::resampling
981  template<class Opt, class... Opts>
982  struct IAccS<Names::resampling , Opt, Opts...> :
983  IAcc<Opts...>
984  {
985  virtual const Opt& resampling () const = 0;
986  virtual Opt& resampling () = 0;
987  };
988 
989  /// Partial specialization for Names::rasterType
990  template<class Opt, class... Opts>
991  struct IAccS<Names::rasterType , Opt, Opts...> :
992  IAcc<Opts...>
993  {
994  virtual const Opt& rasterType () const = 0;
995  virtual Opt& rasterType () = 0;
996  };
997 
998  /// Partial specialization for Names::selMode
999  template<class Opt, class... Opts>
1000  struct IAccS<Names::selMode , Opt, Opts...> :
1001  IAcc<Opts...>
1002  {
1003  virtual const Opt& selMode () const = 0;
1004  virtual Opt& selMode () = 0;
1005  };
1006 
1007  /// Partial specialization for Names::feature
1008  template<class Opt, class... Opts>
1009  struct IAccS<Names::feature , Opt, Opts...> :
1010  IAcc<Opts...>
1011  {
1012  virtual const Opt& feature () const = 0;
1013  virtual Opt& feature () = 0;
1014  };
1015 
1016  /// Partial specialization for Names::calRegionFile
1017  template<class Opt, class... Opts>
1018  struct IAccS<Names::calRegionFile , Opt, Opts...> :
1019  IAcc<Opts...>
1020  {
1021  virtual const Opt& calRegionFile () const = 0;
1022  virtual Opt& calRegionFile () = 0;
1023  };
1024 
1025  /// Partial specialization for Names::reflectivityFile
1026  template<class Opt, class... Opts>
1027  struct IAccS<Names::reflectivityFile , Opt, Opts...> :
1028  IAcc<Opts...>
1029  {
1030  virtual const Opt& reflectivityFile () const = 0;
1031  virtual Opt& reflectivityFile () = 0;
1032  };
1033 
1034  /// Partial specialization for Names::atmosphericAtt
1035  template<class Opt, class... Opts>
1036  struct IAccS<Names::atmosphericAtt , Opt, Opts...> :
1037  IAcc<Opts...>
1038  {
1039  virtual const Opt& atmosphericAtt () const = 0;
1040  virtual Opt& atmosphericAtt () = 0;
1041  };
1042 
1043  /// Partial specialization for Names::beamDivergence
1044  template<class Opt, class... Opts>
1045  struct IAccS<Names::beamDivergence , Opt, Opts...> :
1046  IAcc<Opts...>
1047  {
1048  virtual const Opt& beamDivergence () const = 0;
1049  virtual Opt& beamDivergence () = 0;
1050  };
1051 
1052  /// Partial specialization for Names::echoWidthFlag
1053  template<class Opt, class... Opts>
1054  struct IAccS<Names::echoWidthFlag , Opt, Opts...> :
1055  IAcc<Opts...>
1056  {
1057  virtual const Opt& echoWidthFlag () const = 0;
1058  virtual Opt& echoWidthFlag () = 0;
1059  };
1060 
1061  /// Partial specialization for Names::radioCal
1062  template<class Opt, class... Opts>
1063  struct IAccS<Names::radioCal , Opt, Opts...> :
1064  IAcc<Opts...>
1065  {
1066  virtual const Opt& radioCal () const = 0;
1067  virtual Opt& radioCal () = 0;
1068  };
1069 
1070  /// Partial specialization for Names::cellSize
1071  template<class Opt, class... Opts>
1072  struct IAccS<Names::cellSize , Opt, Opts...> :
1073  IAcc<Opts...>
1074  {
1075  virtual const Opt& cellSize () const = 0;
1076  virtual Opt& cellSize () = 0;
1077  };
1078 
1079  /// Partial specialization for Names::pixelSize
1080  template<class Opt, class... Opts>
1081  struct IAccS<Names::pixelSize , Opt, Opts...> :
1082  IAcc<Opts...>
1083  {
1084  virtual const Opt& pixelSize () const = 0;
1085  virtual Opt& pixelSize () = 0;
1086  };
1087 
1088  /// Partial specialization for Names::patchSize
1089  template<class Opt, class... Opts>
1090  struct IAccS<Names::patchSize , Opt, Opts...> :
1091  IAcc<Opts...>
1092  {
1093  virtual const Opt& patchSize () const = 0;
1094  virtual Opt& patchSize () = 0;
1095  };
1096 
1097  /// Partial specialization for Names::voxelSize _OPALS_COMMENT_AFTER_("defines the size (edge length
1098  template<class Opt, class... Opts>
1099  struct IAccS<Names::voxelSize , Opt, Opts...> : ///< defines the size (edge length) of voxel cube)
1100  IAcc<Opts...>
1101  {
1102  virtual const Opt& voxelSize () const = 0; ///< defines the size (edge length) of voxel cube)
1103  virtual Opt& voxelSize () = 0; ///< defines the size (edge length) of voxel cube)
1104  };
1105 
1106  /// Partial specialization for Names::attribute
1107  template<class Opt, class... Opts>
1108  struct IAccS<Names::attribute , Opt, Opts...> :
1109  IAcc<Opts...>
1110  {
1111  virtual const Opt& attribute () const = 0;
1112  virtual Opt& attribute () = 0;
1113  };
1114 
1115  /// Partial specialization for Names::noData
1116  template<class Opt, class... Opts>
1117  struct IAccS<Names::noData , Opt, Opts...> :
1118  IAcc<Opts...>
1119  {
1120  virtual const Opt& noData () const = 0;
1121  virtual Opt& noData () = 0;
1122  };
1123 
1124  /// Partial specialization for Names::normalsAlg
1125  template<class Opt, class... Opts>
1126  struct IAccS<Names::normalsAlg , Opt, Opts...> :
1127  IAcc<Opts...>
1128  {
1129  virtual const Opt& normalsAlg () const = 0;
1130  virtual Opt& normalsAlg () = 0;
1131  };
1132 
1133  /// Partial specialization for Names::fullWaveAlg
1134  template<class Opt, class... Opts>
1135  struct IAccS<Names::fullWaveAlg , Opt, Opts...> :
1136  IAcc<Opts...>
1137  {
1138  virtual const Opt& fullWaveAlg () const = 0;
1139  virtual Opt& fullWaveAlg () = 0;
1140  };
1141 
1142  /// Partial specialization for Names::detectThrLow
1143  template<class Opt, class... Opts>
1144  struct IAccS<Names::detectThrLow , Opt, Opts...> :
1145  IAcc<Opts...>
1146  {
1147  virtual const Opt& detectThrLow () const = 0;
1148  virtual Opt& detectThrLow () = 0;
1149  };
1150 
1151  /// Partial specialization for Names::filter _OPALS_COMMENT_AFTER_("string to be parsed in construction of DM::IFilter (various modules
1152  template<class Opt, class... Opts>
1153  struct IAccS<Names::filter , Opt, Opts...> : ///< string to be parsed in construction of DM::IFilter (various modules)
1154  IAcc<Opts...>
1155  {
1156  virtual const Opt& filter () const = 0; ///< string to be parsed in construction of DM::IFilter (various modules)
1157  virtual Opt& filter () = 0; ///< string to be parsed in construction of DM::IFilter (various modules)
1158  };
1159 
1160  /// Partial specialization for Names::iFilter _OPALS_COMMENT_AFTER_("input filter (e.g. opalsTIN
1161  template<class Opt, class... Opts>
1162  struct IAccS<Names::iFilter , Opt, Opts...> : ///< input filter (e.g. opalsTIN)
1163  IAcc<Opts...>
1164  {
1165  virtual const Opt& iFilter () const = 0; ///< input filter (e.g. opalsTIN)
1166  virtual Opt& iFilter () = 0; ///< input filter (e.g. opalsTIN)
1167  };
1168 
1169  /// Partial specialization for Names::oFilter _OPALS_COMMENT_AFTER_("output filter (e.g. opalsTIN
1170  template<class Opt, class... Opts>
1171  struct IAccS<Names::oFilter , Opt, Opts...> : ///< output filter (e.g. opalsTIN)
1172  IAcc<Opts...>
1173  {
1174  virtual const Opt& oFilter () const = 0; ///< output filter (e.g. opalsTIN)
1175  virtual Opt& oFilter () = 0; ///< output filter (e.g. opalsTIN)
1176  };
1177 
1178  /// Partial specialization for Names::alphaFile _OPALS_COMMENT_AFTER_("output file path for alpha shape (opalsTIN
1179  template<class Opt, class... Opts>
1180  struct IAccS<Names::alphaFile , Opt, Opts...> : ///< output file path for alpha shape (opalsTIN)
1181  IAcc<Opts...>
1182  {
1183  virtual const Opt& alphaFile () const = 0; ///< output file path for alpha shape (opalsTIN)
1184  virtual Opt& alphaFile () = 0; ///< output file path for alpha shape (opalsTIN)
1185  };
1186 
1187  /// Partial specialization for Names::alphaRadius _OPALS_COMMENT_AFTER_("circumcircle radius for alpha shape (opalsBounds
1188  template<class Opt, class... Opts>
1189  struct IAccS<Names::alphaRadius , Opt, Opts...> : ///< circumcircle radius for alpha shape (opalsBounds)
1190  IAcc<Opts...>
1191  {
1192  virtual const Opt& alphaRadius () const = 0; ///< circumcircle radius for alpha shape (opalsBounds)
1193  virtual Opt& alphaRadius () = 0; ///< circumcircle radius for alpha shape (opalsBounds)
1194  };
1195 
1196  /// Partial specialization for Names::hollowingThresh _OPALS_COMMENT_AFTER_("point count above which to not triangulate all data but only their outer regions or borders (opalsBounds
1197  template<class Opt, class... Opts>
1198  struct IAccS<Names::hollowingThresh , Opt, Opts...> : ///< point count above which to not triangulate all data but only their outer regions or borders (opalsBounds)
1199  IAcc<Opts...>
1200  {
1201  virtual const Opt& hollowingThresh () const = 0; ///< point count above which to not triangulate all data but only their outer regions or borders (opalsBounds)
1202  virtual Opt& hollowingThresh () = 0; ///< point count above which to not triangulate all data but only their outer regions or borders (opalsBounds)
1203  };
1204 
1205  /// Partial specialization for Names::condition _OPALS_COMMENT_AFTER_("condition formula string for grid mask computation (opalsMask
1206  template<class Opt, class... Opts>
1207  struct IAccS<Names::condition , Opt, Opts...> : ///< condition formula string for grid mask computation (opalsMask)
1208  IAcc<Opts...>
1209  {
1210  virtual const Opt& condition () const = 0; ///< condition formula string for grid mask computation (opalsMask)
1211  virtual Opt& condition () = 0; ///< condition formula string for grid mask computation (opalsMask)
1212  };
1213 
1214  /// Partial specialization for Names::formula _OPALS_COMMENT_AFTER_("formula string for albegraic grid computations (opalsAlgebra
1215  template<class Opt, class... Opts>
1216  struct IAccS<Names::formula , Opt, Opts...> : ///< formula string for albegraic grid computations (opalsAlgebra)
1217  IAcc<Opts...>
1218  {
1219  virtual const Opt& formula () const = 0; ///< formula string for albegraic grid computations (opalsAlgebra)
1220  virtual Opt& formula () = 0; ///< formula string for albegraic grid computations (opalsAlgebra)
1221  };
1222 
1223  /// Partial specialization for Names::createAlpha _OPALS_COMMENT_AFTER_("indicator for grid mask creation as alpha channel (opalsMask
1224  template<class Opt, class... Opts>
1225  struct IAccS<Names::createAlpha , Opt, Opts...> : ///< indicator for grid mask creation as alpha channel (opalsMask)
1226  IAcc<Opts...>
1227  {
1228  virtual const Opt& createAlpha () const = 0; ///< indicator for grid mask creation as alpha channel (opalsMask)
1229  virtual Opt& createAlpha () = 0; ///< indicator for grid mask creation as alpha channel (opalsMask)
1230  };
1231 
1232  /// Partial specialization for Names::ratioMode _OPALS_COMMENT_AFTER_("echo ratio calculation mode"
1233  template<class Opt, class... Opts>
1234  struct IAccS<Names::ratioMode , Opt, Opts...> : ///< echo ratio calculation mode
1235  IAcc<Opts...>
1236  {
1237  virtual const Opt& ratioMode () const = 0; ///< echo ratio calculation mode
1238  virtual Opt& ratioMode () = 0; ///< echo ratio calculation mode
1239  };
1240 
1241  /// Partial specialization for Names::minArea _OPALS_COMMENT_AFTER_("minimum area"
1242  template<class Opt, class... Opts>
1243  struct IAccS<Names::minArea , Opt, Opts...> : ///< minimum area
1244  IAcc<Opts...>
1245  {
1246  virtual const Opt& minArea () const = 0; ///< minimum area
1247  virtual Opt& minArea () = 0; ///< minimum area
1248  };
1249 
1250  /// Partial specialization for Names::minLength _OPALS_COMMENT_AFTER_("minimum length"
1251  template<class Opt, class... Opts>
1252  struct IAccS<Names::minLength , Opt, Opts...> : ///< minimum length
1253  IAcc<Opts...>
1254  {
1255  virtual const Opt& minLength () const = 0; ///< minimum length
1256  virtual Opt& minLength () = 0; ///< minimum length
1257  };
1258 
1259  /// Partial specialization for Names::overlap _OPALS_COMMENT_AFTER_("specifies the overlap for sequential operations"
1260  template<class Opt, class... Opts>
1261  struct IAccS<Names::overlap , Opt, Opts...> : ///< specifies the overlap for sequential operations
1262  IAcc<Opts...>
1263  {
1264  virtual const Opt& overlap () const = 0; ///< specifies the overlap for sequential operations
1265  virtual Opt& overlap () = 0; ///< specifies the overlap for sequential operations
1266  };
1267 
1268  /// Partial specialization for Names::contours
1269  template<class Opt, class... Opts>
1270  struct IAccS<Names::contours , Opt, Opts...> :
1271  IAcc<Opts...>
1272  {
1273  virtual const Opt& contours () const = 0;
1274  virtual Opt& contours () = 0;
1275  };
1276 
1277  /// Partial specialization for Names::sections
1278  template<class Opt, class... Opts>
1279  struct IAccS<Names::sections , Opt, Opts...> :
1280  IAcc<Opts...>
1281  {
1282  virtual const Opt& sections () const = 0;
1283  virtual Opt& sections () = 0;
1284  };
1285 
1286  /// Partial specialization for Names::maxSigma
1287  template<class Opt, class... Opts>
1288  struct IAccS<Names::maxSigma , Opt, Opts...> :
1289  IAcc<Opts...>
1290  {
1291  virtual const Opt& maxSigma () const = 0;
1292  virtual Opt& maxSigma () = 0;
1293  };
1294 
1295  /// Partial specialization for Names::maxSigmaMAD _OPALS_COMMENT_AFTER_("correspondences.strip2strip.rejection group(opalsStripAdjust
1296  template<class Opt, class... Opts>
1297  struct IAccS<Names::maxSigmaMAD , Opt, Opts...> : ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
1298  IAcc<Opts...>
1299  {
1300  virtual const Opt& maxSigmaMAD () const = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
1301  virtual Opt& maxSigmaMAD () = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
1302  };
1303 
1304  /// Partial specialization for Names::maxDev
1305  template<class Opt, class... Opts>
1306  struct IAccS<Names::maxDev , Opt, Opts...> :
1307  IAcc<Opts...>
1308  {
1309  virtual const Opt& maxDev () const = 0;
1310  virtual Opt& maxDev () = 0;
1311  };
1312 
1313  /// Partial specialization for Names::maxAngleDev _OPALS_COMMENT_AFTER_("maximum angle between two elements (opalsICP, opalsLineTopology
1314  template<class Opt, class... Opts>
1315  struct IAccS<Names::maxAngleDev , Opt, Opts...> : ///< maximum angle between two elements (opalsICP, opalsLineTopology)
1316  IAcc<Opts...>
1317  {
1318  virtual const Opt& maxAngleDev () const = 0; ///< maximum angle between two elements (opalsICP, opalsLineTopology)
1319  virtual Opt& maxAngleDev () = 0; ///< maximum angle between two elements (opalsICP, opalsLineTopology)
1320  };
1321 
1322  /// Partial specialization for Names::maxMemory _OPALS_COMMENT_AFTER_("amount of memory [MB] to be used by (various
1323  template<class Opt, class... Opts>
1324  struct IAccS<Names::maxMemory , Opt, Opts...> : ///< amount of memory [MB] to be used by (various) modules
1325  IAcc<Opts...>
1326  {
1327  virtual const Opt& maxMemory () const = 0; ///< amount of memory [MB] to be used by (various) modules
1328  virtual Opt& maxMemory () = 0; ///< amount of memory [MB] to be used by (various) modules
1329  };
1330 
1331  /// Partial specialization for Names::maxTol _OPALS_COMMENT_AFTER_("maximum tolerance (e.g. opalsSimplify
1332  template<class Opt, class... Opts>
1333  struct IAccS<Names::maxTol , Opt, Opts...> : ///< maximum tolerance (e.g. opalsSimplify)
1334  IAcc<Opts...>
1335  {
1336  virtual const Opt& maxTol () const = 0; ///< maximum tolerance (e.g. opalsSimplify)
1337  virtual Opt& maxTol () = 0; ///< maximum tolerance (e.g. opalsSimplify)
1338  };
1339 
1340  /// Partial specialization for Names::maxDist _OPALS_COMMENT_AFTER_("maximum point distance (e.g. opalsSimplify, opalsSegmentation
1341  template<class Opt, class... Opts>
1342  struct IAccS<Names::maxDist , Opt, Opts...> : ///< maximum point distance (e.g. opalsSimplify, opalsSegmentation)
1343  IAcc<Opts...>
1344  {
1345  virtual const Opt& maxDist () const = 0; ///< maximum point distance (e.g. opalsSimplify, opalsSegmentation)
1346  virtual Opt& maxDist () = 0; ///< maximum point distance (e.g. opalsSimplify, opalsSegmentation)
1347  };
1348 
1349  /// Partial specialization for Names::maxIter _OPALS_COMMENT_AFTER_("maximum number of iterations (various modules
1350  template<class Opt, class... Opts>
1351  struct IAccS<Names::maxIter , Opt, Opts...> : ///< maximum number of iterations (various modules)
1352  IAcc<Opts...>
1353  {
1354  virtual const Opt& maxIter () const = 0; ///< maximum number of iterations (various modules)
1355  virtual Opt& maxIter () = 0; ///< maximum number of iterations (various modules)
1356  };
1357 
1358  /// Partial specialization for Names::gridMask _OPALS_COMMENT_AFTER_("grid mask file"
1359  template<class Opt, class... Opts>
1360  struct IAccS<Names::gridMask , Opt, Opts...> : ///< grid mask file
1361  IAcc<Opts...>
1362  {
1363  virtual const Opt& gridMask () const = 0; ///< grid mask file
1364  virtual Opt& gridMask () = 0; ///< grid mask file
1365  };
1366 
1367  /// Partial specialization for Names::gridFile _OPALS_COMMENT_AFTER_("grid model file"
1368  template<class Opt, class... Opts>
1369  struct IAccS<Names::gridFile , Opt, Opts...> : ///< grid model file
1370  IAcc<Opts...>
1371  {
1372  virtual const Opt& gridFile () const = 0; ///< grid model file
1373  virtual Opt& gridFile () = 0; ///< grid model file
1374  };
1375 
1376  /// Partial specialization for Names::spotData _OPALS_COMMENT_AFTER_("file containing (2D
1377  template<class Opt, class... Opts>
1378  struct IAccS<Names::spotData , Opt, Opts...> : ///< file containing (2D) positions (opalsLSM))
1379  IAcc<Opts...>
1380  {
1381  virtual const Opt& spotData () const = 0; ///< file containing (2D) positions (opalsLSM))
1382  virtual Opt& spotData () = 0; ///< file containing (2D) positions (opalsLSM))
1383  };
1384 
1385  /// Partial specialization for Names::lsmMode _OPALS_COMMENT_AFTER_("LSM processing mode (opalsLSM
1386  template<class Opt, class... Opts>
1387  struct IAccS<Names::lsmMode , Opt, Opts...> : ///< LSM processing mode (opalsLSM)
1388  IAcc<Opts...>
1389  {
1390  virtual const Opt& lsmMode () const = 0; ///< LSM processing mode (opalsLSM)
1391  virtual Opt& lsmMode () = 0; ///< LSM processing mode (opalsLSM)
1392  };
1393 
1394  /// Partial specialization for Names::lsmTrafo _OPALS_COMMENT_AFTER_("LSM transformation type (opalsLSM
1395  template<class Opt, class... Opts>
1396  struct IAccS<Names::lsmTrafo , Opt, Opts...> : ///< LSM transformation type (opalsLSM)
1397  IAcc<Opts...>
1398  {
1399  virtual const Opt& lsmTrafo () const = 0; ///< LSM transformation type (opalsLSM)
1400  virtual Opt& lsmTrafo () = 0; ///< LSM transformation type (opalsLSM)
1401  };
1402 
1403  /// Partial specialization for Names::trafoType _OPALS_COMMENT_AFTER_("transformation type (opalsICP
1404  template<class Opt, class... Opts>
1405  struct IAccS<Names::trafoType , Opt, Opts...> : ///< transformation type (opalsICP)
1406  IAcc<Opts...>
1407  {
1408  virtual const Opt& trafoType () const = 0; ///< transformation type (opalsICP)
1409  virtual Opt& trafoType () = 0; ///< transformation type (opalsICP)
1410  };
1411 
1412  /// Partial specialization for Names::robFactor _OPALS_COMMENT_AFTER_("factor used for robust estimation(opalsLSM
1413  template<class Opt, class... Opts>
1414  struct IAccS<Names::robFactor , Opt, Opts...> : ///< factor used for robust estimation(opalsLSM)
1415  IAcc<Opts...>
1416  {
1417  virtual const Opt& robFactor () const = 0; ///< factor used for robust estimation(opalsLSM)
1418  virtual Opt& robFactor () = 0; ///< factor used for robust estimation(opalsLSM)
1419  };
1420 
1421  /// Partial specialization for Names::outTrafPars _OPALS_COMMENT_AFTER_("output transformation parameters (opalsLSM, opalsGeorefApprox
1422  template<class Opt, class... Opts>
1423  struct IAccS<Names::outTrafPars , Opt, Opts...> : ///< output transformation parameters (opalsLSM, opalsGeorefApprox)
1424  IAcc<Opts...>
1425  {
1426  virtual const Opt& outTrafPars () const = 0; ///< output transformation parameters (opalsLSM, opalsGeorefApprox)
1427  virtual Opt& outTrafPars () = 0; ///< output transformation parameters (opalsLSM, opalsGeorefApprox)
1428  };
1429 
1430  /// Partial specialization for Names::navFrame _OPALS_COMMENT_AFTER_("navigation frame (opalsAddTraj
1431  template<class Opt, class... Opts>
1432  struct IAccS<Names::navFrame , Opt, Opts...> : ///< navigation frame (opalsAddTraj)
1433  IAcc<Opts...>
1434  {
1435  virtual const Opt& navFrame () const = 0; ///< navigation frame (opalsAddTraj)
1436  virtual Opt& navFrame () = 0; ///< navigation frame (opalsAddTraj)
1437  };
1438 
1439  /// Partial specialization for Names::mntCalFile _OPALS_COMMENT_AFTER_("mounting calibration file (opalsAddTraj
1440  template<class Opt, class... Opts>
1441  struct IAccS<Names::mntCalFile , Opt, Opts...> : ///< mounting calibration file (opalsAddTraj)
1442  IAcc<Opts...>
1443  {
1444  virtual const Opt& mntCalFile () const = 0; ///< mounting calibration file (opalsAddTraj)
1445  virtual Opt& mntCalFile () = 0; ///< mounting calibration file (opalsAddTraj)
1446  };
1447 
1448  /// Partial specialization for Names::obsTrafPars _OPALS_COMMENT_AFTER_("input transformation parameters (opalsGeorefApprox
1449  template<class Opt, class... Opts>
1450  struct IAccS<Names::obsTrafPars , Opt, Opts...> : ///< input transformation parameters (opalsGeorefApprox)
1451  IAcc<Opts...>
1452  {
1453  virtual const Opt& obsTrafPars () const = 0; ///< input transformation parameters (opalsGeorefApprox)
1454  virtual Opt& obsTrafPars () = 0; ///< input transformation parameters (opalsGeorefApprox)
1455  };
1456 
1457  /// Partial specialization for Names::stripList _OPALS_COMMENT_AFTER_("a list strip (opalsGeorefApprox
1458  template<class Opt, class... Opts>
1459  struct IAccS<Names::stripList , Opt, Opts...> : ///< a list strip (opalsGeorefApprox)
1460  IAcc<Opts...>
1461  {
1462  virtual const Opt& stripList () const = 0; ///< a list strip (opalsGeorefApprox)
1463  virtual Opt& stripList () = 0; ///< a list strip (opalsGeorefApprox)
1464  };
1465 
1466  /// Partial specialization for Names::pairList _OPALS_COMMENT_AFTER_("a list strip pairs (e.g. opalsOverlap
1467  template<class Opt, class... Opts>
1468  struct IAccS<Names::pairList , Opt, Opts...> : ///< a list strip pairs (e.g. opalsOverlap)
1469  IAcc<Opts...>
1470  {
1471  virtual const Opt& pairList () const = 0; ///< a list strip pairs (e.g. opalsOverlap)
1472  virtual Opt& pairList () = 0; ///< a list strip pairs (e.g. opalsOverlap)
1473  };
1474 
1475  /// Partial specialization for Names::fixedStrip _OPALS_COMMENT_AFTER_("fixed strip within the adjustment (opalsGeorefApprox
1476  template<class Opt, class... Opts>
1477  struct IAccS<Names::fixedStrip , Opt, Opts...> : ///< fixed strip within the adjustment (opalsGeorefApprox)
1478  IAcc<Opts...>
1479  {
1480  virtual const Opt& fixedStrip () const = 0; ///< fixed strip within the adjustment (opalsGeorefApprox)
1481  virtual Opt& fixedStrip () = 0; ///< fixed strip within the adjustment (opalsGeorefApprox)
1482  };
1483 
1484  /// Partial specialization for Names::sigmaShift _OPALS_COMMENT_AFTER_("sigma of additional shift observations (opalsGeorefApprox
1485  template<class Opt, class... Opts>
1486  struct IAccS<Names::sigmaShift , Opt, Opts...> : ///< sigma of additional shift observations (opalsGeorefApprox)
1487  IAcc<Opts...>
1488  {
1489  virtual const Opt& sigmaShift () const = 0; ///< sigma of additional shift observations (opalsGeorefApprox)
1490  virtual Opt& sigmaShift () = 0; ///< sigma of additional shift observations (opalsGeorefApprox)
1491  };
1492 
1493  /// Partial specialization for Names::storeMetaInfo _OPALS_COMMENT_AFTER_("level of meta info that are stored (opalsNormals
1494  template<class Opt, class... Opts>
1495  struct IAccS<Names::storeMetaInfo , Opt, Opts...> : ///< level of meta info that are stored (opalsNormals)
1496  IAcc<Opts...>
1497  {
1498  virtual const Opt& storeMetaInfo () const = 0; ///< level of meta info that are stored (opalsNormals)
1499  virtual Opt& storeMetaInfo () = 0; ///< level of meta info that are stored (opalsNormals)
1500  };
1501 
1502  /// Partial specialization for Names::searchMode _OPALS_COMMENT_AFTER_("dimension of nearest neighbor search (opalsNormals
1503  template<class Opt, class... Opts>
1504  struct IAccS<Names::searchMode , Opt, Opts...> : ///< dimension of nearest neighbor search (opalsNormals)
1505  IAcc<Opts...>
1506  {
1507  virtual const Opt& searchMode () const = 0; ///< dimension of nearest neighbor search (opalsNormals)
1508  virtual Opt& searchMode () = 0; ///< dimension of nearest neighbor search (opalsNormals)
1509  };
1510 
1511  /// Partial specialization for Names::division _OPALS_COMMENT_AFTER_("division mode for surface simplification (opalsSimplify
1512  template<class Opt, class... Opts>
1513  struct IAccS<Names::division , Opt, Opts...> : ///< division mode for surface simplification (opalsSimplify)
1514  IAcc<Opts...>
1515  {
1516  virtual const Opt& division () const = 0; ///< division mode for surface simplification (opalsSimplify)
1517  virtual Opt& division () = 0; ///< division mode for surface simplification (opalsSimplify)
1518  };
1519 
1520  /// Partial specialization for Names::operation _OPALS_COMMENT_AFTER_("coordinate operation for crs transformations (opalsTranslate
1521  template<class Opt, class... Opts>
1522  struct IAccS<Names::operation , Opt, Opts...> : ///< coordinate operation for crs transformations (opalsTranslate)
1523  IAcc<Opts...>
1524  {
1525  virtual const Opt& operation () const = 0; ///< coordinate operation for crs transformations (opalsTranslate)
1526  virtual Opt& operation () = 0; ///< coordinate operation for crs transformations (opalsTranslate)
1527  };
1528 
1529  /// Partial specialization for Names::kernel
1530  template<class Opt, class... Opts>
1531  struct IAccS<Names::kernel , Opt, Opts...> :
1532  IAcc<Opts...>
1533  {
1534  virtual const Opt& kernel () const = 0;
1535  virtual Opt& kernel () = 0;
1536  };
1537 
1538  /// Partial specialization for Names::kernelSize
1539  template<class Opt, class... Opts>
1540  struct IAccS<Names::kernelSize , Opt, Opts...> :
1541  IAcc<Opts...>
1542  {
1543  virtual const Opt& kernelSize () const = 0;
1544  virtual Opt& kernelSize () = 0;
1545  };
1546 
1547  /// Partial specialization for Names::kernelShape
1548  template<class Opt, class... Opts>
1549  struct IAccS<Names::kernelShape , Opt, Opts...> :
1550  IAcc<Opts...>
1551  {
1552  virtual const Opt& kernelShape () const = 0;
1553  virtual Opt& kernelShape () = 0;
1554  };
1555 
1556  /// Partial specialization for Names::histogram _OPALS_COMMENT_AFTER_("generic histogram (opalsHisto
1557  template<class Opt, class... Opts>
1558  struct IAccS<Names::histogram , Opt, Opts...> : ///< generic histogram (opalsHisto)
1559  IAcc<Opts...>
1560  {
1561  virtual const Opt& histogram () const = 0; ///< generic histogram (opalsHisto)
1562  virtual Opt& histogram () = 0; ///< generic histogram (opalsHisto)
1563  };
1564 
1565  /// Partial specialization for Names::plotFile _OPALS_COMMENT_AFTER_("name of plot file (e.g. opalsHisto
1566  template<class Opt, class... Opts>
1567  struct IAccS<Names::plotFile , Opt, Opts...> : ///< name of plot file (e.g. opalsHisto)
1568  IAcc<Opts...>
1569  {
1570  virtual const Opt& plotFile () const = 0; ///< name of plot file (e.g. opalsHisto)
1571  virtual Opt& plotFile () = 0; ///< name of plot file (e.g. opalsHisto)
1572  };
1573 
1574  /// Partial specialization for Names::boundsType _OPALS_COMMENT_AFTER_("boundary type to use (e.g. opalsBounds
1575  template<class Opt, class... Opts>
1576  struct IAccS<Names::boundsType , Opt, Opts...> : ///< boundary type to use (e.g. opalsBounds)
1577  IAcc<Opts...>
1578  {
1579  virtual const Opt& boundsType () const = 0; ///< boundary type to use (e.g. opalsBounds)
1580  virtual Opt& boundsType () = 0; ///< boundary type to use (e.g. opalsBounds)
1581  };
1582 
1583  /// Partial specialization for Names::fillMask _OPALS_COMMENT_AFTER_("input file (vector or raster
1584  template<class Opt, class... Opts>
1585  struct IAccS<Names::fillMask , Opt, Opts...> : ///< input file (vector or raster) containing the data mask (e.g. result of opalsBounds) (opalsFillGaps)
1586  IAcc<Opts...>
1587  {
1588  virtual const Opt& fillMask () const = 0; ///< input file (vector or raster) containing the data mask (e.g. result of opalsBounds) (opalsFillGaps)
1589  virtual Opt& fillMask () = 0; ///< input file (vector or raster) containing the data mask (e.g. result of opalsBounds) (opalsFillGaps)
1590  };
1591 
1592  /// Partial specialization for Names::adaptive _OPALS_COMMENT_AFTER_("group name for opalsFillGaps fill method 'adaptive'"
1593  template<class Opt, class... Opts>
1594  struct IAccS<Names::adaptive , Opt, Opts...> : ///< group name for opalsFillGaps fill method 'adaptive'
1595  IAcc<Opts...>
1596  {
1597  virtual const Opt& adaptive () const = 0; ///< group name for opalsFillGaps fill method 'adaptive'
1598  virtual Opt& adaptive () = 0; ///< group name for opalsFillGaps fill method 'adaptive'
1599  };
1600 
1601  /// Partial specialization for Names::shading _OPALS_COMMENT_AFTER_("shading algorithm (opalsShade
1602  template<class Opt, class... Opts>
1603  struct IAccS<Names::shading , Opt, Opts...> : ///< shading algorithm (opalsShade)
1604  IAcc<Opts...>
1605  {
1606  virtual const Opt& shading () const = 0; ///< shading algorithm (opalsShade)
1607  virtual Opt& shading () = 0; ///< shading algorithm (opalsShade)
1608  };
1609 
1610  /// Partial specialization for Names::sunPosition _OPALS_COMMENT_AFTER_("sun position (opalsShade
1611  template<class Opt, class... Opts>
1612  struct IAccS<Names::sunPosition , Opt, Opts...> : ///< sun position (opalsShade)
1613  IAcc<Opts...>
1614  {
1615  virtual const Opt& sunPosition () const = 0; ///< sun position (opalsShade)
1616  virtual Opt& sunPosition () = 0; ///< sun position (opalsShade)
1617  };
1618 
1619  /// Partial specialization for Names::systemEchoWidth _OPALS_COMMENT_AFTER_("echo width of system waveform - necessary for non FWF Data (opalsRadioCal
1620  template<class Opt, class... Opts>
1621  struct IAccS<Names::systemEchoWidth , Opt, Opts...> : ///< echo width of system waveform - necessary for non FWF Data (opalsRadioCal)
1622  IAcc<Opts...>
1623  {
1624  virtual const Opt& systemEchoWidth () const = 0; ///< echo width of system waveform - necessary for non FWF Data (opalsRadioCal)
1625  virtual Opt& systemEchoWidth () = 0; ///< echo width of system waveform - necessary for non FWF Data (opalsRadioCal)
1626  };
1627 
1628  /// Partial specialization for Names::trafo _OPALS_COMMENT_AFTER_("affine 3-d transformation (opalsExport
1629  template<class Opt, class... Opts>
1630  struct IAccS<Names::trafo , Opt, Opts...> : ///< affine 3-d transformation (opalsExport)
1631  IAcc<Opts...>
1632  {
1633  virtual const Opt& trafo () const = 0; ///< affine 3-d transformation (opalsExport)
1634  virtual Opt& trafo () = 0; ///< affine 3-d transformation (opalsExport)
1635  };
1636 
1637  /// Partial specialization for Names::ignoreNoData _OPALS_COMMENT_AFTER_("ignore no-data pixels withon kernel neighbourhood (opalsConvolution
1638  template<class Opt, class... Opts>
1639  struct IAccS<Names::ignoreNoData , Opt, Opts...> : ///< ignore no-data pixels withon kernel neighbourhood (opalsConvolution)
1640  IAcc<Opts...>
1641  {
1642  virtual const Opt& ignoreNoData () const = 0; ///< ignore no-data pixels withon kernel neighbourhood (opalsConvolution)
1643  virtual Opt& ignoreNoData () = 0; ///< ignore no-data pixels withon kernel neighbourhood (opalsConvolution)
1644  };
1645 
1646  /// Partial specialization for Names::edgeHandling _OPALS_COMMENT_AFTER_("controls pixel values beyond the image border (opalsConvolution
1647  template<class Opt, class... Opts>
1648  struct IAccS<Names::edgeHandling , Opt, Opts...> : ///< controls pixel values beyond the image border (opalsConvolution)
1649  IAcc<Opts...>
1650  {
1651  virtual const Opt& edgeHandling () const = 0; ///< controls pixel values beyond the image border (opalsConvolution)
1652  virtual Opt& edgeHandling () = 0; ///< controls pixel values beyond the image border (opalsConvolution)
1653  };
1654 
1655  /// Partial specialization for Names::normalize _OPALS_COMMENT_AFTER_("normalize results (e.g. opalsConvolution
1656  template<class Opt, class... Opts>
1657  struct IAccS<Names::normalize , Opt, Opts...> : ///< normalize results (e.g. opalsConvolution)
1658  IAcc<Opts...>
1659  {
1660  virtual const Opt& normalize () const = 0; ///< normalize results (e.g. opalsConvolution)
1661  virtual Opt& normalize () = 0; ///< normalize results (e.g. opalsConvolution)
1662  };
1663 
1664  /// Partial specialization for Names::mounting _OPALS_COMMENT_AFTER_("mounting calibration parameters (e.g. opalsDirectGeoref
1665  template<class Opt, class... Opts>
1666  struct IAccS<Names::mounting , Opt, Opts...> : ///< mounting calibration parameters (e.g. opalsDirectGeoref))
1667  IAcc<Opts...>
1668  {
1669  virtual const Opt& mounting () const = 0; ///< mounting calibration parameters (e.g. opalsDirectGeoref))
1670  virtual Opt& mounting () = 0; ///< mounting calibration parameters (e.g. opalsDirectGeoref))
1671  };
1672 
1673  /// Partial specialization for Names::resetSegId
1674  template<class Opt, class... Opts>
1675  struct IAccS<Names::resetSegId , Opt, Opts...> :
1676  IAcc<Opts...>
1677  {
1678  virtual const Opt& resetSegId () const = 0;
1679  virtual Opt& resetSegId () = 0;
1680  };
1681 
1682  /// Partial specialization for Names::minSegSize
1683  template<class Opt, class... Opts>
1684  struct IAccS<Names::minSegSize , Opt, Opts...> :
1685  IAcc<Opts...>
1686  {
1687  virtual const Opt& minSegSize () const = 0;
1688  virtual Opt& minSegSize () = 0;
1689  };
1690 
1691  /// Partial specialization for Names::weightFunc
1692  template<class Opt, class... Opts>
1693  struct IAccS<Names::weightFunc , Opt, Opts...> :
1694  IAcc<Opts...>
1695  {
1696  virtual const Opt& weightFunc () const = 0;
1697  virtual Opt& weightFunc () = 0;
1698  };
1699 
1700  /// Partial specialization for Names::sigmaApriori _OPALS_COMMENT_AFTER_("estimated accuracy of observations before adjustment (opalsRobFilter
1701  template<class Opt, class... Opts>
1702  struct IAccS<Names::sigmaApriori , Opt, Opts...> : ///< estimated accuracy of observations before adjustment (opalsRobFilter)
1703  IAcc<Opts...>
1704  {
1705  virtual const Opt& sigmaApriori () const = 0; ///< estimated accuracy of observations before adjustment (opalsRobFilter)
1706  virtual Opt& sigmaApriori () = 0; ///< estimated accuracy of observations before adjustment (opalsRobFilter)
1707  };
1708 
1709  /// Partial specialization for Names::robustWFAdpation _OPALS_COMMENT_AFTER_("adaptions of the robust weight function (opalsRobFilter
1710  template<class Opt, class... Opts>
1711  struct IAccS<Names::robustWFAdpation , Opt, Opts...> : ///< adaptions of the robust weight function (opalsRobFilter)
1712  IAcc<Opts...>
1713  {
1714  virtual const Opt& robustWFAdpation () const = 0; ///< adaptions of the robust weight function (opalsRobFilter)
1715  virtual Opt& robustWFAdpation () = 0; ///< adaptions of the robust weight function (opalsRobFilter)
1716  };
1717 
1718  /// Partial specialization for Names::penetration _OPALS_COMMENT_AFTER_("estimated penetration rate"
1719  template<class Opt, class... Opts>
1720  struct IAccS<Names::penetration , Opt, Opts...> : ///< estimated penetration rate
1721  IAcc<Opts...>
1722  {
1723  virtual const Opt& penetration () const = 0; ///< estimated penetration rate
1724  virtual Opt& penetration () = 0; ///< estimated penetration rate
1725  };
1726 
1727  /// Partial specialization for Names::direction _OPALS_COMMENT_AFTER_("normals direction (e.g. opalsNormals
1728  template<class Opt, class... Opts>
1729  struct IAccS<Names::direction , Opt, Opts...> : ///< normals direction (e.g. opalsNormals)
1730  IAcc<Opts...>
1731  {
1732  virtual const Opt& direction () const = 0; ///< normals direction (e.g. opalsNormals)
1733  virtual Opt& direction () = 0; ///< normals direction (e.g. opalsNormals)
1734  };
1735 
1736  /// Partial specialization for Names::snapRadius _OPALS_COMMENT_AFTER_("snap radius (e.g. opalsTIN: used for connecting close line endings
1737  template<class Opt, class... Opts>
1738  struct IAccS<Names::snapRadius , Opt, Opts...> : ///< snap radius (e.g. opalsTIN: used for connecting close line endings)
1739  IAcc<Opts...>
1740  {
1741  virtual const Opt& snapRadius () const = 0; ///< snap radius (e.g. opalsTIN: used for connecting close line endings)
1742  virtual Opt& snapRadius () = 0; ///< snap radius (e.g. opalsTIN: used for connecting close line endings)
1743  };
1744 
1745  /// Partial specialization for Names::borderFile _OPALS_COMMENT_AFTER_("border file path (e.g. opalsTIN
1746  template<class Opt, class... Opts>
1747  struct IAccS<Names::borderFile , Opt, Opts...> : ///< border file path (e.g. opalsTIN)
1748  IAcc<Opts...>
1749  {
1750  virtual const Opt& borderFile () const = 0; ///< border file path (e.g. opalsTIN)
1751  virtual Opt& borderFile () = 0; ///< border file path (e.g. opalsTIN)
1752  };
1753 
1754  /// Partial specialization for Names::overlapFile _OPALS_COMMENT_AFTER_("overlap file path (e.g. opalsOverlap
1755  template<class Opt, class... Opts>
1756  struct IAccS<Names::overlapFile , Opt, Opts...> : ///< overlap file path (e.g. opalsOverlap )
1757  IAcc<Opts...>
1758  {
1759  virtual const Opt& overlapFile () const = 0; ///< overlap file path (e.g. opalsOverlap )
1760  virtual Opt& overlapFile () = 0; ///< overlap file path (e.g. opalsOverlap )
1761  };
1762 
1763  /// Partial specialization for Names::compressCollinear _OPALS_COMMENT_AFTER_("export/store first and last vertices only of a series of collinear vertices (e.g. opalsContouring
1764  template<class Opt, class... Opts>
1765  struct IAccS<Names::compressCollinear , Opt, Opts...> : ///< export/store first and last vertices only of a series of collinear vertices (e.g. opalsContouring)
1766  IAcc<Opts...>
1767  {
1768  virtual const Opt& compressCollinear () const = 0; ///< export/store first and last vertices only of a series of collinear vertices (e.g. opalsContouring)
1769  virtual Opt& compressCollinear () = 0; ///< export/store first and last vertices only of a series of collinear vertices (e.g. opalsContouring)
1770  };
1771 
1772  /// Partial specialization for Names::statistic _OPALS_COMMENT_AFTER_("general statistic information about a given input file (opalsInfo
1773  template<class Opt, class... Opts>
1774  struct IAccS<Names::statistic , Opt, Opts...> : ///< general statistic information about a given input file (opalsInfo)
1775  IAcc<Opts...>
1776  {
1777  virtual const Opt& statistic () const = 0; ///< general statistic information about a given input file (opalsInfo)
1778  virtual Opt& statistic () = 0; ///< general statistic information about a given input file (opalsInfo)
1779  };
1780 
1781  /// Partial specialization for Names::convThreshold _OPALS_COMMENT_AFTER_("adjustment convergence threshold (opalsGeorefApprox
1782  template<class Opt, class... Opts>
1783  struct IAccS<Names::convThreshold , Opt, Opts...> : ///< adjustment convergence threshold (opalsGeorefApprox)
1784  IAcc<Opts...>
1785  {
1786  virtual const Opt& convThreshold () const = 0; ///< adjustment convergence threshold (opalsGeorefApprox)
1787  virtual Opt& convThreshold () = 0; ///< adjustment convergence threshold (opalsGeorefApprox)
1788  };
1789 
1790  /// Partial specialization for Names::refModel _OPALS_COMMENT_AFTER_("defines a reference model (e.g., horizontal/tilted plane or raster model
1791  template<class Opt, class... Opts>
1792  struct IAccS<Names::refModel , Opt, Opts...> : ///< defines a reference model (e.g., horizontal/tilted plane or raster model)
1793  IAcc<Opts...>
1794  {
1795  virtual const Opt& refModel () const = 0; ///< defines a reference model (e.g., horizontal/tilted plane or raster model)
1796  virtual Opt& refModel () = 0; ///< defines a reference model (e.g., horizontal/tilted plane or raster model)
1797  };
1798 
1799  /// Partial specialization for Names::inSRS _OPALS_COMMENT_AFTER_("input spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject
1800  template<class Opt, class... Opts>
1801  struct IAccS<Names::inSRS , Opt, Opts...> : ///< input spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
1802  IAcc<Opts...>
1803  {
1804  virtual const Opt& inSRS () const = 0; ///< input spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
1805  virtual Opt& inSRS () = 0; ///< input spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
1806  };
1807 
1808  /// Partial specialization for Names::outSRS _OPALS_COMMENT_AFTER_("output spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject
1809  template<class Opt, class... Opts>
1810  struct IAccS<Names::outSRS , Opt, Opts...> : ///< output spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
1811  IAcc<Opts...>
1812  {
1813  virtual const Opt& outSRS () const = 0; ///< output spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
1814  virtual Opt& outSRS () = 0; ///< output spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
1815  };
1816 
1817  /// Partial specialization for Names::inGeoid _OPALS_COMMENT_AFTER_("input geoid model raster file (opalsReproject
1818  template<class Opt, class... Opts>
1819  struct IAccS<Names::inGeoid , Opt, Opts...> : ///< input geoid model raster file (opalsReproject)
1820  IAcc<Opts...>
1821  {
1822  virtual const Opt& inGeoid () const = 0; ///< input geoid model raster file (opalsReproject)
1823  virtual Opt& inGeoid () = 0; ///< input geoid model raster file (opalsReproject)
1824  };
1825 
1826  /// Partial specialization for Names::outGeoid _OPALS_COMMENT_AFTER_("output geoid model raster file (opalsReproject
1827  template<class Opt, class... Opts>
1828  struct IAccS<Names::outGeoid , Opt, Opts...> : ///< output geoid model raster file (opalsReproject)
1829  IAcc<Opts...>
1830  {
1831  virtual const Opt& outGeoid () const = 0; ///< output geoid model raster file (opalsReproject)
1832  virtual Opt& outGeoid () = 0; ///< output geoid model raster file (opalsReproject)
1833  };
1834 
1835  /// Partial specialization for Names::inZOffset _OPALS_COMMENT_AFTER_("height offset of input SRS (opalsReproject
1836  template<class Opt, class... Opts>
1837  struct IAccS<Names::inZOffset , Opt, Opts...> : ///< height offset of input SRS (opalsReproject)
1838  IAcc<Opts...>
1839  {
1840  virtual const Opt& inZOffset () const = 0; ///< height offset of input SRS (opalsReproject)
1841  virtual Opt& inZOffset () = 0; ///< height offset of input SRS (opalsReproject)
1842  };
1843 
1844  /// Partial specialization for Names::outZOffset _OPALS_COMMENT_AFTER_("height offset of output SRS (opalsReproject
1845  template<class Opt, class... Opts>
1846  struct IAccS<Names::outZOffset , Opt, Opts...> : ///< height offset of output SRS (opalsReproject)
1847  IAcc<Opts...>
1848  {
1849  virtual const Opt& outZOffset () const = 0; ///< height offset of output SRS (opalsReproject)
1850  virtual Opt& outZOffset () = 0; ///< height offset of output SRS (opalsReproject)
1851  };
1852 
1853  /// Partial specialization for Names::debugNormalsLen _OPALS_COMMENT_AFTER_("length of the normal vectors (opalsNormals
1854  template<class Opt, class... Opts>
1855  struct IAccS<Names::debugNormalsLen , Opt, Opts...> : ///< length of the normal vectors (opalsNormals)
1856  IAcc<Opts...>
1857  {
1858  virtual const Opt& debugNormalsLen () const = 0; ///< length of the normal vectors (opalsNormals)
1859  virtual Opt& debugNormalsLen () = 0; ///< length of the normal vectors (opalsNormals)
1860  };
1861 
1862  /// Partial specialization for Names::refractiveIndex _OPALS_COMMENT_AFTER_("refractive index (e.g. opalsSnellius
1863  template<class Opt, class... Opts>
1864  struct IAccS<Names::refractiveIndex , Opt, Opts...> : ///< refractive index (e.g. opalsSnellius)
1865  IAcc<Opts...>
1866  {
1867  virtual const Opt& refractiveIndex () const = 0; ///< refractive index (e.g. opalsSnellius)
1868  virtual Opt& refractiveIndex () = 0; ///< refractive index (e.g. opalsSnellius)
1869  };
1870 
1871  /// Partial specialization for Names::mtaZone _OPALS_COMMENT_AFTER_("defines the MTA zone to resolve ambiguties of multiple-pluses-in-air-scanners (opalsFullwave
1872  template<class Opt, class... Opts>
1873  struct IAccS<Names::mtaZone , Opt, Opts...> : ///< defines the MTA zone to resolve ambiguties of multiple-pluses-in-air-scanners (opalsFullwave)
1874  IAcc<Opts...>
1875  {
1876  virtual const Opt& mtaZone () const = 0; ///< defines the MTA zone to resolve ambiguties of multiple-pluses-in-air-scanners (opalsFullwave)
1877  virtual Opt& mtaZone () = 0; ///< defines the MTA zone to resolve ambiguties of multiple-pluses-in-air-scanners (opalsFullwave)
1878  };
1879 
1880  /// Partial specialization for Names::timeRange _OPALS_COMMENT_AFTER_("process only a subset of the data the given time range (opalsFullwave
1881  template<class Opt, class... Opts>
1882  struct IAccS<Names::timeRange , Opt, Opts...> : ///< process only a subset of the data the given time range (opalsFullwave)
1883  IAcc<Opts...>
1884  {
1885  virtual const Opt& timeRange () const = 0; ///< process only a subset of the data the given time range (opalsFullwave)
1886  virtual Opt& timeRange () = 0; ///< process only a subset of the data the given time range (opalsFullwave)
1887  };
1888 
1889  /// Partial specialization for Names::skipVoidAreas _OPALS_COMMENT_AFTER_("skip all void parts of datasets for data processing (opalsALgebra
1890  template<class Opt, class... Opts>
1891  struct IAccS<Names::skipVoidAreas , Opt, Opts...> : ///< skip all void parts of datasets for data processing (opalsALgebra)
1892  IAcc<Opts...>
1893  {
1894  virtual const Opt& skipVoidAreas () const = 0; ///< skip all void parts of datasets for data processing (opalsALgebra)
1895  virtual Opt& skipVoidAreas () = 0; ///< skip all void parts of datasets for data processing (opalsALgebra)
1896  };
1897 
1898  /// Partial specialization for Names::tFormat _OPALS_COMMENT_AFTER_("file format of the trajectory file (opalsImport
1899  template<class Opt, class... Opts>
1900  struct IAccS<Names::tFormat , Opt, Opts...> : ///< file format of the trajectory file (opalsImport)
1901  IAcc<Opts...>
1902  {
1903  virtual const Opt& tFormat () const = 0; ///< file format of the trajectory file (opalsImport)
1904  virtual Opt& tFormat () = 0; ///< file format of the trajectory file (opalsImport)
1905  };
1906 
1907  /// Partial specialization for Names::storeBeamInfo _OPALS_COMMENT_AFTER_("defines beam information that is attached during import (opalsImport
1908  template<class Opt, class... Opts>
1909  struct IAccS<Names::storeBeamInfo , Opt, Opts...> : ///< defines beam information that is attached during import (opalsImport)
1910  IAcc<Opts...>
1911  {
1912  virtual const Opt& storeBeamInfo () const = 0; ///< defines beam information that is attached during import (opalsImport)
1913  virtual Opt& storeBeamInfo () = 0; ///< defines beam information that is attached during import (opalsImport)
1914  };
1915 
1916  /// Partial specialization for Names::inGeometry _OPALS_COMMENT_AFTER_("input (OGC
1917  template<class Opt, class... Opts>
1918  struct IAccS<Names::inGeometry , Opt, Opts...> : ///< input (OGC) gemeotry
1919  IAcc<Opts...>
1920  {
1921  virtual const Opt& inGeometry () const = 0; ///< input (OGC) gemeotry
1922  virtual Opt& inGeometry () = 0; ///< input (OGC) gemeotry
1923  };
1924 
1925  /// Partial specialization for Names::outGeometry _OPALS_COMMENT_AFTER_("output (OGC
1926  template<class Opt, class... Opts>
1927  struct IAccS<Names::outGeometry , Opt, Opts...> : ///< output (OGC) gemeotry
1928  IAcc<Opts...>
1929  {
1930  virtual const Opt& outGeometry () const = 0; ///< output (OGC) gemeotry
1931  virtual Opt& outGeometry () = 0; ///< output (OGC) gemeotry
1932  };
1933 
1934  /// Partial specialization for Names::probabilities _OPALS_COMMENT_AFTER_("(list of
1935  template<class Opt, class... Opts>
1936  struct IAccS<Names::probabilities , Opt, Opts...> : ///< (list of) proabability values [0..1] (opalsHisto))
1937  IAcc<Opts...>
1938  {
1939  virtual const Opt& probabilities () const = 0; ///< (list of) proabability values [0..1] (opalsHisto))
1940  virtual Opt& probabilities () = 0; ///< (list of) proabability values [0..1] (opalsHisto))
1941  };
1942 
1943  /// Partial specialization for Names::sectionRange _OPALS_COMMENT_AFTER_("start/stop stationing along the axis(opalsSection
1944  template<class Opt, class... Opts>
1945  struct IAccS<Names::sectionRange , Opt, Opts...> : ///< start/stop stationing along the axis(opalsSection))
1946  IAcc<Opts...>
1947  {
1948  virtual const Opt& sectionRange () const = 0; ///< start/stop stationing along the axis(opalsSection))
1949  virtual Opt& sectionRange () = 0; ///< start/stop stationing along the axis(opalsSection))
1950  };
1951 
1952  /// Partial specialization for Names::aoi
1953  template<class Opt, class... Opts>
1954  struct IAccS<Names::aoi , Opt, Opts...> :
1955  IAcc<Opts...>
1956  {
1957  virtual const Opt& aoi () const = 0;
1958  virtual Opt& aoi () = 0;
1959  };
1960 
1961  /// Partial specialization for Names::inDimension
1962  template<class Opt, class... Opts>
1963  struct IAccS<Names::inDimension , Opt, Opts...> :
1964  IAcc<Opts...>
1965  {
1966  virtual const Opt& inDimension () const = 0;
1967  virtual Opt& inDimension () = 0;
1968  };
1969 
1970  /// Partial specialization for Names::outResults
1971  template<class Opt, class... Opts>
1972  struct IAccS<Names::outResults , Opt, Opts...> :
1973  IAcc<Opts...>
1974  {
1975  virtual const Opt& outResults () const = 0;
1976  virtual Opt& outResults () = 0;
1977  };
1978 
1979  /// Partial specialization for Names::geometryModel
1980  template<class Opt, class... Opts>
1981  struct IAccS<Names::geometryModel , Opt, Opts...> :
1982  IAcc<Opts...>
1983  {
1984  virtual const Opt& geometryModel () const = 0;
1985  virtual Opt& geometryModel () = 0;
1986  };
1987 
1988  /// Partial specialization for Names::calculationMode
1989  template<class Opt, class... Opts>
1990  struct IAccS<Names::calculationMode , Opt, Opts...> :
1991  IAcc<Opts...>
1992  {
1993  virtual const Opt& calculationMode () const = 0;
1994  virtual Opt& calculationMode () = 0;
1995  };
1996 
1997  /// Partial specialization for Names::perimeter
1998  template<class Opt, class... Opts>
1999  struct IAccS<Names::perimeter , Opt, Opts...> :
2000  IAcc<Opts...>
2001  {
2002  virtual const Opt& perimeter () const = 0;
2003  virtual Opt& perimeter () = 0;
2004  };
2005 
2006  /// Partial specialization for Names::area
2007  template<class Opt, class... Opts>
2008  struct IAccS<Names::area , Opt, Opts...> :
2009  IAcc<Opts...>
2010  {
2011  virtual const Opt& area () const = 0;
2012  virtual Opt& area () = 0;
2013  };
2014 
2015  /// Partial specialization for Names::initValue _OPALS_COMMENT_AFTER_("initialization value for specified cell (eg, opalsRasterize
2016  template<class Opt, class... Opts>
2017  struct IAccS<Names::initValue , Opt, Opts...> : ///< initialization value for specified cell (eg, opalsRasterize)
2018  IAcc<Opts...>
2019  {
2020  virtual const Opt& initValue () const = 0; ///< initialization value for specified cell (eg, opalsRasterize)
2021  virtual Opt& initValue () = 0; ///< initialization value for specified cell (eg, opalsRasterize)
2022  };
2023 
2024  /// Partial specialization for Names::samplingDist _OPALS_COMMENT_AFTER_("defines a uniform sampling distance (eg, opalsICP
2025  template<class Opt, class... Opts>
2026  struct IAccS<Names::samplingDist , Opt, Opts...> : ///< defines a uniform sampling distance (eg, opalsICP)
2027  IAcc<Opts...>
2028  {
2029  virtual const Opt& samplingDist () const = 0; ///< defines a uniform sampling distance (eg, opalsICP)
2030  virtual Opt& samplingDist () = 0; ///< defines a uniform sampling distance (eg, opalsICP)
2031  };
2032 
2033  /// Partial specialization for Names::lineVertexDist _OPALS_COMMENT_AFTER_("Regular distance for vertex spacing along linear geometries"
2034  template<class Opt, class... Opts>
2035  struct IAccS<Names::lineVertexDist , Opt, Opts...> : ///< Regular distance for vertex spacing along linear geometries
2036  IAcc<Opts...>
2037  {
2038  virtual const Opt& lineVertexDist () const = 0; ///< Regular distance for vertex spacing along linear geometries
2039  virtual Opt& lineVertexDist () = 0; ///< Regular distance for vertex spacing along linear geometries
2040  };
2041 
2042  /// Partial specialization for Names::lineBufferDist _OPALS_COMMENT_AFTER_("Line buffer distance "
2043  template<class Opt, class... Opts>
2044  struct IAccS<Names::lineBufferDist , Opt, Opts...> : ///< Line buffer distance
2045  IAcc<Opts...>
2046  {
2047  virtual const Opt& lineBufferDist () const = 0; ///< Line buffer distance
2048  virtual Opt& lineBufferDist () = 0; ///< Line buffer distance
2049  };
2050 
2051  /// Partial specialization for Names::modelPlaneThreshold _OPALS_COMMENT_AFTER_("defines a vertical distance threshold between a model and a plane (opalsModelFormAxis
2052  template<class Opt, class... Opts>
2053  struct IAccS<Names::modelPlaneThreshold , Opt, Opts...> : ///< defines a vertical distance threshold between a model and a plane (opalsModelFormAxis)
2054  IAcc<Opts...>
2055  {
2056  virtual const Opt& modelPlaneThreshold () const = 0; ///< defines a vertical distance threshold between a model and a plane (opalsModelFormAxis)
2057  virtual Opt& modelPlaneThreshold () = 0; ///< defines a vertical distance threshold between a model and a plane (opalsModelFormAxis)
2058  };
2059 
2060  /// Partial specialization for Names::redPoint _OPALS_COMMENT_AFTER_("defines the coordinates of a reduction point"
2061  template<class Opt, class... Opts>
2062  struct IAccS<Names::redPoint , Opt, Opts...> : ///< defines the coordinates of a reduction point
2063  IAcc<Opts...>
2064  {
2065  virtual const Opt& redPoint () const = 0; ///< defines the coordinates of a reduction point
2066  virtual Opt& redPoint () = 0; ///< defines the coordinates of a reduction point
2067  };
2068 
2069  /// Partial specialization for Names::plot
2070  template<class Opt, class... Opts>
2071  struct IAccS<Names::plot , Opt, Opts...> :
2072  IAcc<Opts...>
2073  {
2074  virtual const Opt& plot () const = 0;
2075  virtual Opt& plot () = 0;
2076  };
2077 
2078  /// Partial specialization for Names::subsetRadius
2079  template<class Opt, class... Opts>
2080  struct IAccS<Names::subsetRadius , Opt, Opts...> :
2081  IAcc<Opts...>
2082  {
2083  virtual const Opt& subsetRadius () const = 0;
2084  virtual Opt& subsetRadius () = 0;
2085  };
2086 
2087  /// Partial specialization for Names::outDirectory _OPALS_COMMENT_AFTER_("name of output directory"
2088  template<class Opt, class... Opts>
2089  struct IAccS<Names::outDirectory , Opt, Opts...> : ///< name of output directory
2090  IAcc<Opts...>
2091  {
2092  virtual const Opt& outDirectory () const = 0; ///< name of output directory
2093  virtual Opt& outDirectory () = 0; ///< name of output directory
2094  };
2095 
2096  /// Partial specialization for Names::tempDirectory _OPALS_COMMENT_AFTER_("name of temporary directory"
2097  template<class Opt, class... Opts>
2098  struct IAccS<Names::tempDirectory , Opt, Opts...> : ///< name of temporary directory
2099  IAcc<Opts...>
2100  {
2101  virtual const Opt& tempDirectory () const = 0; ///< name of temporary directory
2102  virtual Opt& tempDirectory () = 0; ///< name of temporary directory
2103  };
2104 
2105  /// Partial specialization for Names::transformData _OPALS_COMMENT_AFTER_("boolean flag indicating whether or not to transform the input data (eg. opalsICP
2106  template<class Opt, class... Opts>
2107  struct IAccS<Names::transformData , Opt, Opts...> : ///< boolean flag indicating whether or not to transform the input data (eg. opalsICP)
2108  IAcc<Opts...>
2109  {
2110  virtual const Opt& transformData () const = 0; ///< boolean flag indicating whether or not to transform the input data (eg. opalsICP)
2111  virtual Opt& transformData () = 0; ///< boolean flag indicating whether or not to transform the input data (eg. opalsICP)
2112  };
2113 
2114  /// Partial specialization for Names::fixedFile _OPALS_COMMENT_AFTER_("fixed dataset within adjustment (opalsICP
2115  template<class Opt, class... Opts>
2116  struct IAccS<Names::fixedFile , Opt, Opts...> : ///< fixed dataset within adjustment (opalsICP)
2117  IAcc<Opts...>
2118  {
2119  virtual const Opt& fixedFile () const = 0; ///< fixed dataset within adjustment (opalsICP)
2120  virtual Opt& fixedFile () = 0; ///< fixed dataset within adjustment (opalsICP)
2121  };
2122 
2123  /// Partial specialization for Names::normalSpaceSampling
2124  template<class Opt, class... Opts>
2125  struct IAccS<Names::normalSpaceSampling , Opt, Opts...> :
2126  IAcc<Opts...>
2127  {
2128  virtual const Opt& normalSpaceSampling () const = 0;
2129  virtual Opt& normalSpaceSampling () = 0;
2130  };
2131 
2132  /// Partial specialization for Names::maxLeverageSampling
2133  template<class Opt, class... Opts>
2134  struct IAccS<Names::maxLeverageSampling , Opt, Opts...> :
2135  IAcc<Opts...>
2136  {
2137  virtual const Opt& maxLeverageSampling () const = 0;
2138  virtual Opt& maxLeverageSampling () = 0;
2139  };
2140 
2141  /// Partial specialization for Names::multiBand _OPALS_COMMENT_AFTER_("used by opalsGrid to enable or disable multibans instead of multiple files for features.."
2142  template<class Opt, class... Opts>
2143  struct IAccS<Names::multiBand , Opt, Opts...> : ///< used by opalsGrid to enable or disable multibans instead of multiple files for features..
2144  IAcc<Opts...>
2145  {
2146  virtual const Opt& multiBand () const = 0; ///< used by opalsGrid to enable or disable multibans instead of multiple files for features..
2147  virtual Opt& multiBand () = 0; ///< used by opalsGrid to enable or disable multibans instead of multiple files for features..
2148  };
2149 
2150  /// Partial specialization for Names::storeStatistics _OPALS_COMMENT_AFTER_("used by zonal fit to store statistics as attribute in ODM file."
2151  template<class Opt, class... Opts>
2152  struct IAccS<Names::storeStatistics , Opt, Opts...> : ///< used by zonal fit to store statistics as attribute in ODM file.
2153  IAcc<Opts...>
2154  {
2155  virtual const Opt& storeStatistics () const = 0; ///< used by zonal fit to store statistics as attribute in ODM file.
2156  virtual Opt& storeStatistics () = 0; ///< used by zonal fit to store statistics as attribute in ODM file.
2157  };
2158 
2159  /// Partial specialization for Names::approxFile _OPALS_COMMENT_AFTER_("File containing approximation info."
2160  template<class Opt, class... Opts>
2161  struct IAccS<Names::approxFile , Opt, Opts...> : ///< File containing approximation info.
2162  IAcc<Opts...>
2163  {
2164  virtual const Opt& approxFile () const = 0; ///< File containing approximation info.
2165  virtual Opt& approxFile () = 0; ///< File containing approximation info.
2166  };
2167 
2168  /// Partial specialization for Names::procMode _OPALS_COMMENT_AFTER_("processing mode"
2169  template<class Opt, class... Opts>
2170  struct IAccS<Names::procMode , Opt, Opts...> : ///< processing mode
2171  IAcc<Opts...>
2172  {
2173  virtual const Opt& procMode () const = 0; ///< processing mode
2174  virtual Opt& procMode () = 0; ///< processing mode
2175  };
2176 
2177  /// Partial specialization for Names::suppressRungs _OPALS_COMMENT_AFTER_("remove all one-pixel-diagonal line elements (opalsVectorize, toPolyline
2178  template<class Opt, class... Opts>
2179  struct IAccS<Names::suppressRungs , Opt, Opts...> : ///< remove all one-pixel-diagonal line elements (opalsVectorize, toPolyline)
2180  IAcc<Opts...>
2181  {
2182  virtual const Opt& suppressRungs () const = 0; ///< remove all one-pixel-diagonal line elements (opalsVectorize, toPolyline)
2183  virtual Opt& suppressRungs () = 0; ///< remove all one-pixel-diagonal line elements (opalsVectorize, toPolyline)
2184  };
2185 
2186  /// Partial specialization for Names::processId _OPALS_COMMENT_AFTER_("defining a list of ids to process (opalsLineModeler
2187  template<class Opt, class... Opts>
2188  struct IAccS<Names::processId , Opt, Opts...> : ///< defining a list of ids to process (opalsLineModeler)
2189  IAcc<Opts...>
2190  {
2191  virtual const Opt& processId () const = 0; ///< defining a list of ids to process (opalsLineModeler)
2192  virtual Opt& processId () = 0; ///< defining a list of ids to process (opalsLineModeler)
2193  };
2194 
2195  /// Partial specialization for Names::ignoreId _OPALS_COMMENT_AFTER_("defining a list of ids to be ignored (opalsLineModeler
2196  template<class Opt, class... Opts>
2197  struct IAccS<Names::ignoreId , Opt, Opts...> : ///< defining a list of ids to be ignored (opalsLineModeler)
2198  IAcc<Opts...>
2199  {
2200  virtual const Opt& ignoreId () const = 0; ///< defining a list of ids to be ignored (opalsLineModeler)
2201  virtual Opt& ignoreId () = 0; ///< defining a list of ids to be ignored (opalsLineModeler)
2202  };
2203 
2204  /// Partial specialization for Names::criterion _OPALS_COMMENT_AFTER_("defining the segment homogeneity criterion (opalsSegmentation
2205  template<class Opt, class... Opts>
2206  struct IAccS<Names::criterion , Opt, Opts...> : ///< defining the segment homogeneity criterion (opalsSegmentation)
2207  IAcc<Opts...>
2208  {
2209  virtual const Opt& criterion () const = 0; ///< defining the segment homogeneity criterion (opalsSegmentation)
2210  virtual Opt& criterion () = 0; ///< defining the segment homogeneity criterion (opalsSegmentation)
2211  };
2212 
2213  /// Partial specialization for Names::minHeight _OPALS_COMMENT_AFTER_("minimum (object
2214  template<class Opt, class... Opts>
2215  struct IAccS<Names::minHeight , Opt, Opts...> : ///< minimum (object) height
2216  IAcc<Opts...>
2217  {
2218  virtual const Opt& minHeight () const = 0; ///< minimum (object) height
2219  virtual Opt& minHeight () = 0; ///< minimum (object) height
2220  };
2221 
2222  /// Partial specialization for Names::maxWidth _OPALS_COMMENT_AFTER_("maximum (object
2223  template<class Opt, class... Opts>
2224  struct IAccS<Names::maxWidth , Opt, Opts...> : ///< maximum (object) width
2225  IAcc<Opts...>
2226  {
2227  virtual const Opt& maxWidth () const = 0; ///< maximum (object) width
2228  virtual Opt& maxWidth () = 0; ///< maximum (object) width
2229  };
2230 
2231  /// Partial specialization for Names::minConsensus _OPALS_COMMENT_AFTER_("minimum level of consensus"
2232  template<class Opt, class... Opts>
2233  struct IAccS<Names::minConsensus , Opt, Opts...> : ///< minimum level of consensus
2234  IAcc<Opts...>
2235  {
2236  virtual const Opt& minConsensus () const = 0; ///< minimum level of consensus
2237  virtual Opt& minConsensus () = 0; ///< minimum level of consensus
2238  };
2239 
2240  /// Partial specialization for Names::mergePolygon _OPALS_COMMENT_AFTER_("merge polygon method (eg. opalsImport
2241  template<class Opt, class... Opts>
2242  struct IAccS<Names::mergePolygon , Opt, Opts...> : ///< merge polygon method (eg. opalsImport)
2243  IAcc<Opts...>
2244  {
2245  virtual const Opt& mergePolygon () const = 0; ///< merge polygon method (eg. opalsImport)
2246  virtual Opt& mergePolygon () = 0; ///< merge polygon method (eg. opalsImport)
2247  };
2248 
2249  /// Partial specialization for Names::thinOut _OPALS_COMMENT_AFTER_("thin out contour lines (opalsIsolines
2250  template<class Opt, class... Opts>
2251  struct IAccS<Names::thinOut , Opt, Opts...> : ///< thin out contour lines (opalsIsolines)
2252  IAcc<Opts...>
2253  {
2254  virtual const Opt& thinOut () const = 0; ///< thin out contour lines (opalsIsolines)
2255  virtual Opt& thinOut () = 0; ///< thin out contour lines (opalsIsolines)
2256  };
2257 
2258  /// Partial specialization for Names::closeMin _OPALS_COMMENT_AFTER_("suppress closed contours with area < closeMin (opalsIsolines
2259  template<class Opt, class... Opts>
2260  struct IAccS<Names::closeMin , Opt, Opts...> : ///< suppress closed contours with area < closeMin (opalsIsolines)
2261  IAcc<Opts...>
2262  {
2263  virtual const Opt& closeMin () const = 0; ///< suppress closed contours with area < closeMin (opalsIsolines)
2264  virtual Opt& closeMin () = 0; ///< suppress closed contours with area < closeMin (opalsIsolines)
2265  };
2266 
2267  /// Partial specialization for Names::densification _OPALS_COMMENT_AFTER_("densification mode (opalsIsolines
2268  template<class Opt, class... Opts>
2269  struct IAccS<Names::densification , Opt, Opts...> : ///< densification mode (opalsIsolines)
2270  IAcc<Opts...>
2271  {
2272  virtual const Opt& densification () const = 0; ///< densification mode (opalsIsolines)
2273  virtual Opt& densification () = 0; ///< densification mode (opalsIsolines)
2274  };
2275 
2276  /// Partial specialization for Names::detector _OPALS_COMMENT_AFTER_("edge detection method (opalsEdgeDetect
2277  template<class Opt, class... Opts>
2278  struct IAccS<Names::detector , Opt, Opts...> : ///< edge detection method (opalsEdgeDetect)
2279  IAcc<Opts...>
2280  {
2281  virtual const Opt& detector () const = 0; ///< edge detection method (opalsEdgeDetect)
2282  virtual Opt& detector () = 0; ///< edge detection method (opalsEdgeDetect)
2283  };
2284 
2285  /// Partial specialization for Names::threshold _OPALS_COMMENT_AFTER_("threshold (opalsEdgeDetect
2286  template<class Opt, class... Opts>
2287  struct IAccS<Names::threshold , Opt, Opts...> : ///< threshold (opalsEdgeDetect)
2288  IAcc<Opts...>
2289  {
2290  virtual const Opt& threshold () const = 0; ///< threshold (opalsEdgeDetect)
2291  virtual Opt& threshold () = 0; ///< threshold (opalsEdgeDetect)
2292  };
2293 
2294  /// Partial specialization for Names::method _OPALS_COMMENT_AFTER_("method of computation (opalsFillGaps, opalsLineTopology
2295  template<class Opt, class... Opts>
2296  struct IAccS<Names::method , Opt, Opts...> : ///< method of computation (opalsFillGaps, opalsLineTopology)
2297  IAcc<Opts...>
2298  {
2299  virtual const Opt& method () const = 0; ///< method of computation (opalsFillGaps, opalsLineTopology)
2300  virtual Opt& method () = 0; ///< method of computation (opalsFillGaps, opalsLineTopology)
2301  };
2302 
2303  /// Partial specialization for Names::boundaryRatio _OPALS_COMMENT_AFTER_("ratio between the valid boundary pixel of a gap and the number of gap-pixel that lie on the image boundary (opalsFillGaps
2304  template<class Opt, class... Opts>
2305  struct IAccS<Names::boundaryRatio , Opt, Opts...> : ///< ratio between the valid boundary pixel of a gap and the number of gap-pixel that lie on the image boundary (opalsFillGaps)
2306  IAcc<Opts...>
2307  {
2308  virtual const Opt& boundaryRatio () const = 0; ///< ratio between the valid boundary pixel of a gap and the number of gap-pixel that lie on the image boundary (opalsFillGaps)
2309  virtual Opt& boundaryRatio () = 0; ///< ratio between the valid boundary pixel of a gap and the number of gap-pixel that lie on the image boundary (opalsFillGaps)
2310  };
2311 
2312  /// Partial specialization for Names::avgDist _OPALS_COMMENT_AFTER_("average distance (opalsLineTopology
2313  template<class Opt, class... Opts>
2314  struct IAccS<Names::avgDist , Opt, Opts...> : ///< average distance (opalsLineTopology)
2315  IAcc<Opts...>
2316  {
2317  virtual const Opt& avgDist () const = 0; ///< average distance (opalsLineTopology)
2318  virtual Opt& avgDist () = 0; ///< average distance (opalsLineTopology)
2319  };
2320 
2321  /// Partial specialization for Names::merge _OPALS_COMMENT_AFTER_("Parameter group 'merge' (opalsLineTopology
2322  template<class Opt, class... Opts>
2323  struct IAccS<Names::merge , Opt, Opts...> : ///< Parameter group 'merge' (opalsLineTopology)
2324  IAcc<Opts...>
2325  {
2326  virtual const Opt& merge () const = 0; ///< Parameter group 'merge' (opalsLineTopology)
2327  virtual Opt& merge () = 0; ///< Parameter group 'merge' (opalsLineTopology)
2328  };
2329 
2330  /// Partial specialization for Names::minWeight _OPALS_COMMENT_AFTER_("minimum weight (opalsLineTopology
2331  template<class Opt, class... Opts>
2332  struct IAccS<Names::minWeight , Opt, Opts...> : ///< minimum weight (opalsLineTopology)
2333  IAcc<Opts...>
2334  {
2335  virtual const Opt& minWeight () const = 0; ///< minimum weight (opalsLineTopology)
2336  virtual Opt& minWeight () = 0; ///< minimum weight (opalsLineTopology)
2337  };
2338 
2339  /// Partial specialization for Names::relWeightLead _OPALS_COMMENT_AFTER_("relative weight lead (opalsLineTopology
2340  template<class Opt, class... Opts>
2341  struct IAccS<Names::relWeightLead , Opt, Opts...> : ///< relative weight lead (opalsLineTopology)
2342  IAcc<Opts...>
2343  {
2344  virtual const Opt& relWeightLead () const = 0; ///< relative weight lead (opalsLineTopology)
2345  virtual Opt& relWeightLead () = 0; ///< relative weight lead (opalsLineTopology)
2346  };
2347 
2348  /// Partial specialization for Names::revertDist _OPALS_COMMENT_AFTER_("revert distance (opalsLineTopology
2349  template<class Opt, class... Opts>
2350  struct IAccS<Names::revertDist , Opt, Opts...> : ///< revert distance (opalsLineTopology)
2351  IAcc<Opts...>
2352  {
2353  virtual const Opt& revertDist () const = 0; ///< revert distance (opalsLineTopology)
2354  virtual Opt& revertDist () = 0; ///< revert distance (opalsLineTopology)
2355  };
2356 
2357  /// Partial specialization for Names::revertInterval _OPALS_COMMENT_AFTER_("revert interval (opalsLineTopology
2358  template<class Opt, class... Opts>
2359  struct IAccS<Names::revertInterval , Opt, Opts...> : ///< revert interval (opalsLineTopology)
2360  IAcc<Opts...>
2361  {
2362  virtual const Opt& revertInterval () const = 0; ///< revert interval (opalsLineTopology)
2363  virtual Opt& revertInterval () = 0; ///< revert interval (opalsLineTopology)
2364  };
2365 
2366  /// Partial specialization for Names::searchGeneration _OPALS_COMMENT_AFTER_("search generation (opalsLineTopology
2367  template<class Opt, class... Opts>
2368  struct IAccS<Names::searchGeneration , Opt, Opts...> : ///< search generation (opalsLineTopology)
2369  IAcc<Opts...>
2370  {
2371  virtual const Opt& searchGeneration () const = 0; ///< search generation (opalsLineTopology)
2372  virtual Opt& searchGeneration () = 0; ///< search generation (opalsLineTopology)
2373  };
2374 
2375  /// Partial specialization for Names::preventIntersection _OPALS_COMMENT_AFTER_("prevent intersection of lines (opalsLineTopology
2376  template<class Opt, class... Opts>
2377  struct IAccS<Names::preventIntersection , Opt, Opts...> : ///< prevent intersection of lines (opalsLineTopology)
2378  IAcc<Opts...>
2379  {
2380  virtual const Opt& preventIntersection () const = 0; ///< prevent intersection of lines (opalsLineTopology)
2381  virtual Opt& preventIntersection () = 0; ///< prevent intersection of lines (opalsLineTopology)
2382  };
2383 
2384  /// Partial specialization for Names::wf _OPALS_COMMENT_AFTER_("Parameter group 'wf' containing weight factor options (opalsLineTopology
2385  template<class Opt, class... Opts>
2386  struct IAccS<Names::wf , Opt, Opts...> : ///< Parameter group 'wf' containing weight factor options (opalsLineTopology)
2387  IAcc<Opts...>
2388  {
2389  virtual const Opt& wf () const = 0; ///< Parameter group 'wf' containing weight factor options (opalsLineTopology)
2390  virtual Opt& wf () = 0; ///< Parameter group 'wf' containing weight factor options (opalsLineTopology)
2391  };
2392 
2393  /// Partial specialization for Names::dist _OPALS_COMMENT_AFTER_("weight factor distance (opalsLineTopology
2394  template<class Opt, class... Opts>
2395  struct IAccS<Names::dist , Opt, Opts...> : ///< weight factor distance (opalsLineTopology)
2396  IAcc<Opts...>
2397  {
2398  virtual const Opt& dist () const = 0; ///< weight factor distance (opalsLineTopology)
2399  virtual Opt& dist () = 0; ///< weight factor distance (opalsLineTopology)
2400  };
2401 
2402  /// Partial specialization for Names::angle _OPALS_COMMENT_AFTER_("weight factor angle (Hz, V
2403  template<class Opt, class... Opts>
2404  struct IAccS<Names::angle , Opt, Opts...> : ///< weight factor angle (Hz, V) (opalsLineTopology)
2405  IAcc<Opts...>
2406  {
2407  virtual const Opt& angle () const = 0; ///< weight factor angle (Hz, V) (opalsLineTopology)
2408  virtual Opt& angle () = 0; ///< weight factor angle (Hz, V) (opalsLineTopology)
2409  };
2410 
2411  /// Partial specialization for Names::straightness _OPALS_COMMENT_AFTER_("weight factor straightness (opalsLineTopology
2412  template<class Opt, class... Opts>
2413  struct IAccS<Names::straightness , Opt, Opts...> : ///< weight factor straightness (opalsLineTopology)
2414  IAcc<Opts...>
2415  {
2416  virtual const Opt& straightness () const = 0; ///< weight factor straightness (opalsLineTopology)
2417  virtual Opt& straightness () = 0; ///< weight factor straightness (opalsLineTopology)
2418  };
2419 
2420  /// Partial specialization for Names::perpDist _OPALS_COMMENT_AFTER_("weight factor perpendicular distance (opalsLineTopology
2421  template<class Opt, class... Opts>
2422  struct IAccS<Names::perpDist , Opt, Opts...> : ///< weight factor perpendicular distance (opalsLineTopology)
2423  IAcc<Opts...>
2424  {
2425  virtual const Opt& perpDist () const = 0; ///< weight factor perpendicular distance (opalsLineTopology)
2426  virtual Opt& perpDist () = 0; ///< weight factor perpendicular distance (opalsLineTopology)
2427  };
2428 
2429  /// Partial specialization for Names::clean _OPALS_COMMENT_AFTER_("Parameter group 'clean' (opalsLineTopology
2430  template<class Opt, class... Opts>
2431  struct IAccS<Names::clean , Opt, Opts...> : ///< Parameter group 'clean' (opalsLineTopology)
2432  IAcc<Opts...>
2433  {
2434  virtual const Opt& clean () const = 0; ///< Parameter group 'clean' (opalsLineTopology)
2435  virtual Opt& clean () = 0; ///< Parameter group 'clean' (opalsLineTopology)
2436  };
2437 
2438  /// Partial specialization for Names::intersectSnapDist _OPALS_COMMENT_AFTER_("omit distance for missing intersections (opalsLineTopology
2439  template<class Opt, class... Opts>
2440  struct IAccS<Names::intersectSnapDist , Opt, Opts...> : ///< omit distance for missing intersections (opalsLineTopology)
2441  IAcc<Opts...>
2442  {
2443  virtual const Opt& intersectSnapDist () const = 0; ///< omit distance for missing intersections (opalsLineTopology)
2444  virtual Opt& intersectSnapDist () = 0; ///< omit distance for missing intersections (opalsLineTopology)
2445  };
2446 
2447  /// Partial specialization for Names::deleteTempData _OPALS_COMMENT_AFTER_("Delete temporary / intermediate data (opalsTerrainFilter
2448  template<class Opt, class... Opts>
2449  struct IAccS<Names::deleteTempData , Opt, Opts...> : ///< Delete temporary / intermediate data (opalsTerrainFilter)
2450  IAcc<Opts...>
2451  {
2452  virtual const Opt& deleteTempData () const = 0; ///< Delete temporary / intermediate data (opalsTerrainFilter)
2453  virtual Opt& deleteTempData () = 0; ///< Delete temporary / intermediate data (opalsTerrainFilter)
2454  };
2455 
2456  /// Partial specialization for Names::tempData _OPALS_COMMENT_AFTER_("Temporary / intermediate data group (opalsStripAdjust
2457  template<class Opt, class... Opts>
2458  struct IAccS<Names::tempData , Opt, Opts...> : ///< Temporary / intermediate data group (opalsStripAdjust)
2459  IAcc<Opts...>
2460  {
2461  virtual const Opt& tempData () const = 0; ///< Temporary / intermediate data group (opalsStripAdjust)
2462  virtual Opt& tempData () = 0; ///< Temporary / intermediate data group (opalsStripAdjust)
2463  };
2464 
2465  /// Partial specialization for Names::directory _OPALS_COMMENT_AFTER_("Temporary / intermediate data directory path (opalsStripAdjust
2466  template<class Opt, class... Opts>
2467  struct IAccS<Names::directory , Opt, Opts...> : ///< Temporary / intermediate data directory path (opalsStripAdjust)
2468  IAcc<Opts...>
2469  {
2470  virtual const Opt& directory () const = 0; ///< Temporary / intermediate data directory path (opalsStripAdjust)
2471  virtual Opt& directory () = 0; ///< Temporary / intermediate data directory path (opalsStripAdjust)
2472  };
2473 
2474  /// Partial specialization for Names::cleanup _OPALS_COMMENT_AFTER_("Cleanup / delete temporary / intermediate data (opalsStripAdjust
2475  template<class Opt, class... Opts>
2476  struct IAccS<Names::cleanup , Opt, Opts...> : ///< Cleanup / delete temporary / intermediate data (opalsStripAdjust)
2477  IAcc<Opts...>
2478  {
2479  virtual const Opt& cleanup () const = 0; ///< Cleanup / delete temporary / intermediate data (opalsStripAdjust)
2480  virtual Opt& cleanup () = 0; ///< Cleanup / delete temporary / intermediate data (opalsStripAdjust)
2481  };
2482 
2483  /// Partial specialization for Names::compress _OPALS_COMMENT_AFTER_("Compress temporary / intermediate data (opalsStripAdjust
2484  template<class Opt, class... Opts>
2485  struct IAccS<Names::compress , Opt, Opts...> : ///< Compress temporary / intermediate data (opalsStripAdjust)
2486  IAcc<Opts...>
2487  {
2488  virtual const Opt& compress () const = 0; ///< Compress temporary / intermediate data (opalsStripAdjust)
2489  virtual Opt& compress () = 0; ///< Compress temporary / intermediate data (opalsStripAdjust)
2490  };
2491 
2492  /// Partial specialization for Names::utm _OPALS_COMMENT_AFTER_("UTM definition group (opalsStripAdjust
2493  template<class Opt, class... Opts>
2494  struct IAccS<Names::utm , Opt, Opts...> : ///< UTM definition group (opalsStripAdjust)
2495  IAcc<Opts...>
2496  {
2497  virtual const Opt& utm () const = 0; ///< UTM definition group (opalsStripAdjust)
2498  virtual Opt& utm () = 0; ///< UTM definition group (opalsStripAdjust)
2499  };
2500 
2501  /// Partial specialization for Names::zone _OPALS_COMMENT_AFTER_("UTM definition group (opalsStripAdjust
2502  template<class Opt, class... Opts>
2503  struct IAccS<Names::zone , Opt, Opts...> : ///< UTM definition group (opalsStripAdjust)
2504  IAcc<Opts...>
2505  {
2506  virtual const Opt& zone () const = 0; ///< UTM definition group (opalsStripAdjust)
2507  virtual Opt& zone () = 0; ///< UTM definition group (opalsStripAdjust)
2508  };
2509 
2510  /// Partial specialization for Names::hemisphere _OPALS_COMMENT_AFTER_("UTM definition group (opalsStripAdjust
2511  template<class Opt, class... Opts>
2512  struct IAccS<Names::hemisphere , Opt, Opts...> : ///< UTM definition group (opalsStripAdjust)
2513  IAcc<Opts...>
2514  {
2515  virtual const Opt& hemisphere () const = 0; ///< UTM definition group (opalsStripAdjust)
2516  virtual Opt& hemisphere () = 0; ///< UTM definition group (opalsStripAdjust)
2517  };
2518 
2519  /// Partial specialization for Names::adjustment _OPALS_COMMENT_AFTER_("adjustment group (opalsStripAdjust
2520  template<class Opt, class... Opts>
2521  struct IAccS<Names::adjustment , Opt, Opts...> : ///< adjustment group (opalsStripAdjust)
2522  IAcc<Opts...>
2523  {
2524  virtual const Opt& adjustment () const = 0; ///< adjustment group (opalsStripAdjust)
2525  virtual Opt& adjustment () = 0; ///< adjustment group (opalsStripAdjust)
2526  };
2527 
2528  /// Partial specialization for Names::covariance _OPALS_COMMENT_AFTER_("estimate covariance? (opalsStripAdjust
2529  template<class Opt, class... Opts>
2530  struct IAccS<Names::covariance , Opt, Opts...> : ///< estimate covariance? (opalsStripAdjust)
2531  IAcc<Opts...>
2532  {
2533  virtual const Opt& covariance () const = 0; ///< estimate covariance? (opalsStripAdjust)
2534  virtual Opt& covariance () = 0; ///< estimate covariance? (opalsStripAdjust)
2535  };
2536 
2537  /// Partial specialization for Names::strips _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
2538  template<class Opt, class... Opts>
2539  struct IAccS<Names::strips , Opt, Opts...> : ///< strip group (opalsStripAdjust)
2540  IAcc<Opts...>
2541  {
2542  virtual const Opt& strips () const = 0; ///< strip group (opalsStripAdjust)
2543  virtual Opt& strips () = 0; ///< strip group (opalsStripAdjust)
2544  };
2545 
2546  /// Partial specialization for Names::calcScanAngle _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
2547  template<class Opt, class... Opts>
2548  struct IAccS<Names::calcScanAngle , Opt, Opts...> : ///< strip group (opalsStripAdjust)
2549  IAcc<Opts...>
2550  {
2551  virtual const Opt& calcScanAngle () const = 0; ///< strip group (opalsStripAdjust)
2552  virtual Opt& calcScanAngle () = 0; ///< strip group (opalsStripAdjust)
2553  };
2554 
2555  /// Partial specialization for Names::scannerOrientation _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
2556  template<class Opt, class... Opts>
2557  struct IAccS<Names::scannerOrientation , Opt, Opts...> : ///< strip group (opalsStripAdjust)
2558  IAcc<Opts...>
2559  {
2560  virtual const Opt& scannerOrientation () const = 0; ///< strip group (opalsStripAdjust)
2561  virtual Opt& scannerOrientation () = 0; ///< strip group (opalsStripAdjust)
2562  };
2563 
2564  /// Partial specialization for Names::session _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
2565  template<class Opt, class... Opts>
2566  struct IAccS<Names::session , Opt, Opts...> : ///< strip group (opalsStripAdjust)
2567  IAcc<Opts...>
2568  {
2569  virtual const Opt& session () const = 0; ///< strip group (opalsStripAdjust)
2570  virtual Opt& session () = 0; ///< strip group (opalsStripAdjust)
2571  };
2572 
2573  /// Partial specialization for Names::sessions _OPALS_COMMENT_AFTER_("sessions group (opalsStripAdjust
2574  template<class Opt, class... Opts>
2575  struct IAccS<Names::sessions , Opt, Opts...> : ///< sessions group (opalsStripAdjust)
2576  IAcc<Opts...>
2577  {
2578  virtual const Opt& sessions () const = 0; ///< sessions group (opalsStripAdjust)
2579  virtual Opt& sessions () = 0; ///< sessions group (opalsStripAdjust)
2580  };
2581 
2582  /// Partial specialization for Names::onlyLastEchoes _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
2583  template<class Opt, class... Opts>
2584  struct IAccS<Names::onlyLastEchoes , Opt, Opts...> : ///< strip group (opalsStripAdjust)
2585  IAcc<Opts...>
2586  {
2587  virtual const Opt& onlyLastEchoes () const = 0; ///< strip group (opalsStripAdjust)
2588  virtual Opt& onlyLastEchoes () = 0; ///< strip group (opalsStripAdjust)
2589  };
2590 
2591  /// Partial specialization for Names::echoWidthMax _OPALS_COMMENT_AFTER_("strip.filter group (opalsStripAdjust
2592  template<class Opt, class... Opts>
2593  struct IAccS<Names::echoWidthMax , Opt, Opts...> : ///< strip.filter group (opalsStripAdjust)
2594  IAcc<Opts...>
2595  {
2596  virtual const Opt& echoWidthMax () const = 0; ///< strip.filter group (opalsStripAdjust)
2597  virtual Opt& echoWidthMax () = 0; ///< strip.filter group (opalsStripAdjust)
2598  };
2599 
2600  /// Partial specialization for Names::scanAngleMaxAbs _OPALS_COMMENT_AFTER_("strip.filter group (opalsStripAdjust
2601  template<class Opt, class... Opts>
2602  struct IAccS<Names::scanAngleMaxAbs , Opt, Opts...> : ///< strip.filter group (opalsStripAdjust)
2603  IAcc<Opts...>
2604  {
2605  virtual const Opt& scanAngleMaxAbs () const = 0; ///< strip.filter group (opalsStripAdjust)
2606  virtual Opt& scanAngleMaxAbs () = 0; ///< strip.filter group (opalsStripAdjust)
2607  };
2608 
2609  /// Partial specialization for Names::trajectory _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
2610  template<class Opt, class... Opts>
2611  struct IAccS<Names::trajectory , Opt, Opts...> : ///< strip.trajectory group (opalsStripAdjust)
2612  IAcc<Opts...>
2613  {
2614  virtual const Opt& trajectory () const = 0; ///< strip.trajectory group (opalsStripAdjust)
2615  virtual Opt& trajectory () = 0; ///< strip.trajectory group (opalsStripAdjust)
2616  };
2617 
2618  /// Partial specialization for Names::correctionModel _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
2619  template<class Opt, class... Opts>
2620  struct IAccS<Names::correctionModel , Opt, Opts...> : ///< strip.trajectory group (opalsStripAdjust)
2621  IAcc<Opts...>
2622  {
2623  virtual const Opt& correctionModel () const = 0; ///< strip.trajectory group (opalsStripAdjust)
2624  virtual Opt& correctionModel () = 0; ///< strip.trajectory group (opalsStripAdjust)
2625  };
2626 
2627  /// Partial specialization for Names::samplingInterval _OPALS_COMMENT_AFTER_("trajectory sampling interval [s] strip.trajectory group (opalsStripAdjust
2628  template<class Opt, class... Opts>
2629  struct IAccS<Names::samplingInterval , Opt, Opts...> : ///< trajectory sampling interval [s] strip.trajectory group (opalsStripAdjust)
2630  IAcc<Opts...>
2631  {
2632  virtual const Opt& samplingInterval () const = 0; ///< trajectory sampling interval [s] strip.trajectory group (opalsStripAdjust)
2633  virtual Opt& samplingInterval () = 0; ///< trajectory sampling interval [s] strip.trajectory group (opalsStripAdjust)
2634  };
2635 
2636  /// Partial specialization for Names::boundaryDerivativeIsZero _OPALS_COMMENT_AFTER_("strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust
2637  template<class Opt, class... Opts>
2638  struct IAccS<Names::boundaryDerivativeIsZero , Opt, Opts...> : ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
2639  IAcc<Opts...>
2640  {
2641  virtual const Opt& boundaryDerivativeIsZero () const = 0; ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
2642  virtual Opt& boundaryDerivativeIsZero () = 0; ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
2643  };
2644 
2645  /// Partial specialization for Names::first _OPALS_COMMENT_AFTER_("strip.trajectory.boundaryDerivativeIsZero group; first stage to be processed (opalsStripAdjust
2646  template<class Opt, class... Opts>
2647  struct IAccS<Names::first , Opt, Opts...> : ///< strip.trajectory.boundaryDerivativeIsZero group; first stage to be processed (opalsStripAdjust)
2648  IAcc<Opts...>
2649  {
2650  virtual const Opt& first () const = 0; ///< strip.trajectory.boundaryDerivativeIsZero group; first stage to be processed (opalsStripAdjust)
2651  virtual Opt& first () = 0; ///< strip.trajectory.boundaryDerivativeIsZero group; first stage to be processed (opalsStripAdjust)
2652  };
2653 
2654  /// Partial specialization for Names::second _OPALS_COMMENT_AFTER_("strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust
2655  template<class Opt, class... Opts>
2656  struct IAccS<Names::second , Opt, Opts...> : ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
2657  IAcc<Opts...>
2658  {
2659  virtual const Opt& second () const = 0; ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
2660  virtual Opt& second () = 0; ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
2661  };
2662 
2663  /// Partial specialization for Names::dX _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
2664  template<class Opt, class... Opts>
2665  struct IAccS<Names::dX , Opt, Opts...> : ///< strip.trajectory group (opalsStripAdjust)
2666  IAcc<Opts...>
2667  {
2668  virtual const Opt& dX () const = 0; ///< strip.trajectory group (opalsStripAdjust)
2669  virtual Opt& dX () = 0; ///< strip.trajectory group (opalsStripAdjust)
2670  };
2671 
2672  /// Partial specialization for Names::dY _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
2673  template<class Opt, class... Opts>
2674  struct IAccS<Names::dY , Opt, Opts...> : ///< strip.trajectory group (opalsStripAdjust)
2675  IAcc<Opts...>
2676  {
2677  virtual const Opt& dY () const = 0; ///< strip.trajectory group (opalsStripAdjust)
2678  virtual Opt& dY () = 0; ///< strip.trajectory group (opalsStripAdjust)
2679  };
2680 
2681  /// Partial specialization for Names::dZ _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
2682  template<class Opt, class... Opts>
2683  struct IAccS<Names::dZ , Opt, Opts...> : ///< strip.trajectory group (opalsStripAdjust)
2684  IAcc<Opts...>
2685  {
2686  virtual const Opt& dZ () const = 0; ///< strip.trajectory group (opalsStripAdjust)
2687  virtual Opt& dZ () = 0; ///< strip.trajectory group (opalsStripAdjust)
2688  };
2689 
2690  /// Partial specialization for Names::dRoll _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
2691  template<class Opt, class... Opts>
2692  struct IAccS<Names::dRoll , Opt, Opts...> : ///< strip.trajectory group (opalsStripAdjust)
2693  IAcc<Opts...>
2694  {
2695  virtual const Opt& dRoll () const = 0; ///< strip.trajectory group (opalsStripAdjust)
2696  virtual Opt& dRoll () = 0; ///< strip.trajectory group (opalsStripAdjust)
2697  };
2698 
2699  /// Partial specialization for Names::dPitch _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
2700  template<class Opt, class... Opts>
2701  struct IAccS<Names::dPitch , Opt, Opts...> : ///< strip.trajectory group (opalsStripAdjust)
2702  IAcc<Opts...>
2703  {
2704  virtual const Opt& dPitch () const = 0; ///< strip.trajectory group (opalsStripAdjust)
2705  virtual Opt& dPitch () = 0; ///< strip.trajectory group (opalsStripAdjust)
2706  };
2707 
2708  /// Partial specialization for Names::dYaw _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
2709  template<class Opt, class... Opts>
2710  struct IAccS<Names::dYaw , Opt, Opts...> : ///< strip.trajectory group (opalsStripAdjust)
2711  IAcc<Opts...>
2712  {
2713  virtual const Opt& dYaw () const = 0; ///< strip.trajectory group (opalsStripAdjust)
2714  virtual Opt& dYaw () = 0; ///< strip.trajectory group (opalsStripAdjust)
2715  };
2716 
2717  /// Partial specialization for Names::value _OPALS_COMMENT_AFTER_("strip.trajectory.dX/dY/dZ/dRoll/dPitch/dYaw groups (opalsStripAdjust
2718  template<class Opt, class... Opts>
2719  struct IAccS<Names::value , Opt, Opts...> : ///< strip.trajectory.dX/dY/dZ/dRoll/dPitch/dYaw groups (opalsStripAdjust)
2720  IAcc<Opts...>
2721  {
2722  virtual const Opt& value () const = 0; ///< strip.trajectory.dX/dY/dZ/dRoll/dPitch/dYaw groups (opalsStripAdjust)
2723  virtual Opt& value () = 0; ///< strip.trajectory.dX/dY/dZ/dRoll/dPitch/dYaw groups (opalsStripAdjust)
2724  };
2725 
2726  /// Partial specialization for Names::normals _OPALS_COMMENT_AFTER_("normals group (opalsStripAdjust
2727  template<class Opt, class... Opts>
2728  struct IAccS<Names::normals , Opt, Opts...> : ///< normals group (opalsStripAdjust)
2729  IAcc<Opts...>
2730  {
2731  virtual const Opt& normals () const = 0; ///< normals group (opalsStripAdjust)
2732  virtual Opt& normals () = 0; ///< normals group (opalsStripAdjust)
2733  };
2734 
2735  /// Partial specialization for Names::maxPointDensity _OPALS_COMMENT_AFTER_("(opalsStripAdjust
2736  template<class Opt, class... Opts>
2737  struct IAccS<Names::maxPointDensity , Opt, Opts...> : ///< (opalsStripAdjust)
2738  IAcc<Opts...>
2739  {
2740  virtual const Opt& maxPointDensity () const = 0; ///< (opalsStripAdjust)
2741  virtual Opt& maxPointDensity () = 0; ///< (opalsStripAdjust)
2742  };
2743 
2744  /// Partial specialization for Names::controlPointClouds _OPALS_COMMENT_AFTER_("controlPointClouds group(opalsStripAdjust
2745  template<class Opt, class... Opts>
2746  struct IAccS<Names::controlPointClouds , Opt, Opts...> : ///< controlPointClouds group(opalsStripAdjust)
2747  IAcc<Opts...>
2748  {
2749  virtual const Opt& controlPointClouds () const = 0; ///< controlPointClouds group(opalsStripAdjust)
2750  virtual Opt& controlPointClouds () = 0; ///< controlPointClouds group(opalsStripAdjust)
2751  };
2752 
2753  /// Partial specialization for Names::groundControlPoints _OPALS_COMMENT_AFTER_("groundControlPoints group(opalsStripAdjust
2754  template<class Opt, class... Opts>
2755  struct IAccS<Names::groundControlPoints , Opt, Opts...> : ///< groundControlPoints group(opalsStripAdjust)
2756  IAcc<Opts...>
2757  {
2758  virtual const Opt& groundControlPoints () const = 0; ///< groundControlPoints group(opalsStripAdjust)
2759  virtual Opt& groundControlPoints () = 0; ///< groundControlPoints group(opalsStripAdjust)
2760  };
2761 
2762  /// Partial specialization for Names::timeLag _OPALS_COMMENT_AFTER_("sessions.trajectory group(opalsStripAdjust
2763  template<class Opt, class... Opts>
2764  struct IAccS<Names::timeLag , Opt, Opts...> : ///< sessions.trajectory group(opalsStripAdjust)
2765  IAcc<Opts...>
2766  {
2767  virtual const Opt& timeLag () const = 0; ///< sessions.trajectory group(opalsStripAdjust)
2768  virtual Opt& timeLag () = 0; ///< sessions.trajectory group(opalsStripAdjust)
2769  };
2770 
2771  /// Partial specialization for Names::leverArm _OPALS_COMMENT_AFTER_("sessions.adjustment group(opalsStripAdjust
2772  template<class Opt, class... Opts>
2773  struct IAccS<Names::leverArm , Opt, Opts...> : ///< sessions.adjustment group(opalsStripAdjust)
2774  IAcc<Opts...>
2775  {
2776  virtual const Opt& leverArm () const = 0; ///< sessions.adjustment group(opalsStripAdjust)
2777  virtual Opt& leverArm () = 0; ///< sessions.adjustment group(opalsStripAdjust)
2778  };
2779 
2780  /// Partial specialization for Names::X _OPALS_COMMENT_AFTER_("sessions.adjustment.leverArm group(opalsStripAdjust
2781  template<class Opt, class... Opts>
2782  struct IAccS<Names::X , Opt, Opts...> : ///< sessions.adjustment.leverArm group(opalsStripAdjust)
2783  IAcc<Opts...>
2784  {
2785  virtual const Opt& X () const = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
2786  virtual Opt& X () = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
2787  };
2788 
2789  /// Partial specialization for Names::Y _OPALS_COMMENT_AFTER_("sessions.adjustment.leverArm group(opalsStripAdjust
2790  template<class Opt, class... Opts>
2791  struct IAccS<Names::Y , Opt, Opts...> : ///< sessions.adjustment.leverArm group(opalsStripAdjust)
2792  IAcc<Opts...>
2793  {
2794  virtual const Opt& Y () const = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
2795  virtual Opt& Y () = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
2796  };
2797 
2798  /// Partial specialization for Names::Z _OPALS_COMMENT_AFTER_("sessions.adjustment.leverArm group(opalsStripAdjust
2799  template<class Opt, class... Opts>
2800  struct IAccS<Names::Z , Opt, Opts...> : ///< sessions.adjustment.leverArm group(opalsStripAdjust)
2801  IAcc<Opts...>
2802  {
2803  virtual const Opt& Z () const = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
2804  virtual Opt& Z () = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
2805  };
2806 
2807  /// Partial specialization for Names::misalignment _OPALS_COMMENT_AFTER_("sessions.adjustment.misalignment group(opalsStripAdjust
2808  template<class Opt, class... Opts>
2809  struct IAccS<Names::misalignment , Opt, Opts...> : ///< sessions.adjustment.misalignment group(opalsStripAdjust)
2810  IAcc<Opts...>
2811  {
2812  virtual const Opt& misalignment () const = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
2813  virtual Opt& misalignment () = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
2814  };
2815 
2816  /// Partial specialization for Names::omega _OPALS_COMMENT_AFTER_("sessions.adjustment.misalignment group(opalsStripAdjust
2817  template<class Opt, class... Opts>
2818  struct IAccS<Names::omega , Opt, Opts...> : ///< sessions.adjustment.misalignment group(opalsStripAdjust)
2819  IAcc<Opts...>
2820  {
2821  virtual const Opt& omega () const = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
2822  virtual Opt& omega () = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
2823  };
2824 
2825  /// Partial specialization for Names::phi _OPALS_COMMENT_AFTER_("sessions.adjustment.misalignment group(opalsStripAdjust
2826  template<class Opt, class... Opts>
2827  struct IAccS<Names::phi , Opt, Opts...> : ///< sessions.adjustment.misalignment group(opalsStripAdjust)
2828  IAcc<Opts...>
2829  {
2830  virtual const Opt& phi () const = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
2831  virtual Opt& phi () = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
2832  };
2833 
2834  /// Partial specialization for Names::kappa _OPALS_COMMENT_AFTER_("sessions.adjustment.misalignment group(opalsStripAdjust
2835  template<class Opt, class... Opts>
2836  struct IAccS<Names::kappa , Opt, Opts...> : ///< sessions.adjustment.misalignment group(opalsStripAdjust)
2837  IAcc<Opts...>
2838  {
2839  virtual const Opt& kappa () const = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
2840  virtual Opt& kappa () = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
2841  };
2842 
2843  /// Partial specialization for Names::scanner _OPALS_COMMENT_AFTER_("sessions.adjustment.scanner group(opalsStripAdjust
2844  template<class Opt, class... Opts>
2845  struct IAccS<Names::scanner , Opt, Opts...> : ///< sessions.adjustment.scanner group(opalsStripAdjust)
2846  IAcc<Opts...>
2847  {
2848  virtual const Opt& scanner () const = 0; ///< sessions.adjustment.scanner group(opalsStripAdjust)
2849  virtual Opt& scanner () = 0; ///< sessions.adjustment.scanner group(opalsStripAdjust)
2850  };
2851 
2852  /// Partial specialization for Names::range _OPALS_COMMENT_AFTER_("scanner range group (opalsStripAdjust
2853  template<class Opt, class... Opts>
2854  struct IAccS<Names::range , Opt, Opts...> : ///< scanner range group (opalsStripAdjust)
2855  IAcc<Opts...>
2856  {
2857  virtual const Opt& range () const = 0; ///< scanner range group (opalsStripAdjust)
2858  virtual Opt& range () = 0; ///< scanner range group (opalsStripAdjust)
2859  };
2860 
2861  /// Partial specialization for Names::offset _OPALS_COMMENT_AFTER_("scanner range offset (opalsStripAdjust
2862  template<class Opt, class... Opts>
2863  struct IAccS<Names::offset , Opt, Opts...> : ///< scanner range offset (opalsStripAdjust)
2864  IAcc<Opts...>
2865  {
2866  virtual const Opt& offset () const = 0; ///< scanner range offset (opalsStripAdjust)
2867  virtual Opt& offset () = 0; ///< scanner range offset (opalsStripAdjust)
2868  };
2869 
2870  /// Partial specialization for Names::scale _OPALS_COMMENT_AFTER_("scanner range scale (opalsStripAdjust
2871  template<class Opt, class... Opts>
2872  struct IAccS<Names::scale , Opt, Opts...> : ///< scanner range scale (opalsStripAdjust)
2873  IAcc<Opts...>
2874  {
2875  virtual const Opt& scale () const = 0; ///< scanner range scale (opalsStripAdjust)
2876  virtual Opt& scale () = 0; ///< scanner range scale (opalsStripAdjust)
2877  };
2878 
2879  /// Partial specialization for Names::scanAngle _OPALS_COMMENT_AFTER_("sessions.adjustment.scanner.scanAngleOffset group(opalsStripAdjust
2880  template<class Opt, class... Opts>
2881  struct IAccS<Names::scanAngle , Opt, Opts...> : ///< sessions.adjustment.scanner.scanAngleOffset group(opalsStripAdjust)
2882  IAcc<Opts...>
2883  {
2884  virtual const Opt& scanAngle () const = 0; ///< sessions.adjustment.scanner.scanAngleOffset group(opalsStripAdjust)
2885  virtual Opt& scanAngle () = 0; ///< sessions.adjustment.scanner.scanAngleOffset group(opalsStripAdjust)
2886  };
2887 
2888  /// Partial specialization for Names::tiltAngle _OPALS_COMMENT_AFTER_("sessions.adjustment.scanner.tiltAngleOffset group(opalsStripAdjust
2889  template<class Opt, class... Opts>
2890  struct IAccS<Names::tiltAngle , Opt, Opts...> : ///< sessions.adjustment.scanner.tiltAngleOffset group(opalsStripAdjust)
2891  IAcc<Opts...>
2892  {
2893  virtual const Opt& tiltAngle () const = 0; ///< sessions.adjustment.scanner.tiltAngleOffset group(opalsStripAdjust)
2894  virtual Opt& tiltAngle () = 0; ///< sessions.adjustment.scanner.tiltAngleOffset group(opalsStripAdjust)
2895  };
2896 
2897  /// Partial specialization for Names::datum _OPALS_COMMENT_AFTER_("sessions.adjustment.datum group(opalsStripAdjust
2898  template<class Opt, class... Opts>
2899  struct IAccS<Names::datum , Opt, Opts...> : ///< sessions.adjustment.datum group(opalsStripAdjust)
2900  IAcc<Opts...>
2901  {
2902  virtual const Opt& datum () const = 0; ///< sessions.adjustment.datum group(opalsStripAdjust)
2903  virtual Opt& datum () = 0; ///< sessions.adjustment.datum group(opalsStripAdjust)
2904  };
2905 
2906  /// Partial specialization for Names::correspondences _OPALS_COMMENT_AFTER_("correspondences group(opalsStripAdjust
2907  template<class Opt, class... Opts>
2908  struct IAccS<Names::correspondences , Opt, Opts...> : ///< correspondences group(opalsStripAdjust)
2909  IAcc<Opts...>
2910  {
2911  virtual const Opt& correspondences () const = 0; ///< correspondences group(opalsStripAdjust)
2912  virtual Opt& correspondences () = 0; ///< correspondences group(opalsStripAdjust)
2913  };
2914 
2915  /// Partial specialization for Names::strip2strip _OPALS_COMMENT_AFTER_("correspondences.strip2strip group(opalsStripAdjust
2916  template<class Opt, class... Opts>
2917  struct IAccS<Names::strip2strip , Opt, Opts...> : ///< correspondences.strip2strip group(opalsStripAdjust)
2918  IAcc<Opts...>
2919  {
2920  virtual const Opt& strip2strip () const = 0; ///< correspondences.strip2strip group(opalsStripAdjust)
2921  virtual Opt& strip2strip () = 0; ///< correspondences.strip2strip group(opalsStripAdjust)
2922  };
2923 
2924  /// Partial specialization for Names::selection _OPALS_COMMENT_AFTER_("correspondences.strip2strip.selection group(opalsStripAdjust
2925  template<class Opt, class... Opts>
2926  struct IAccS<Names::selection , Opt, Opts...> : ///< correspondences.strip2strip.selection group(opalsStripAdjust)
2927  IAcc<Opts...>
2928  {
2929  virtual const Opt& selection () const = 0; ///< correspondences.strip2strip.selection group(opalsStripAdjust)
2930  virtual Opt& selection () = 0; ///< correspondences.strip2strip.selection group(opalsStripAdjust)
2931  };
2932 
2933  /// Partial specialization for Names::subsamplingPercentPoi _OPALS_COMMENT_AFTER_("correspondences.strip2strip.selection group(opalsStripAdjust
2934  template<class Opt, class... Opts>
2935  struct IAccS<Names::subsamplingPercentPoi , Opt, Opts...> : ///< correspondences.strip2strip.selection group(opalsStripAdjust)
2936  IAcc<Opts...>
2937  {
2938  virtual const Opt& subsamplingPercentPoi () const = 0; ///< correspondences.strip2strip.selection group(opalsStripAdjust)
2939  virtual Opt& subsamplingPercentPoi () = 0; ///< correspondences.strip2strip.selection group(opalsStripAdjust)
2940  };
2941 
2942  /// Partial specialization for Names::weighting _OPALS_COMMENT_AFTER_("correspondences.strip2strip.weighting group(opalsStripAdjust
2943  template<class Opt, class... Opts>
2944  struct IAccS<Names::weighting , Opt, Opts...> : ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
2945  IAcc<Opts...>
2946  {
2947  virtual const Opt& weighting () const = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
2948  virtual Opt& weighting () = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
2949  };
2950 
2951  /// Partial specialization for Names::byDeltaAngle _OPALS_COMMENT_AFTER_("correspondences.strip2strip.weighting group(opalsStripAdjust
2952  template<class Opt, class... Opts>
2953  struct IAccS<Names::byDeltaAngle , Opt, Opts...> : ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
2954  IAcc<Opts...>
2955  {
2956  virtual const Opt& byDeltaAngle () const = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
2957  virtual Opt& byDeltaAngle () = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
2958  };
2959 
2960  /// Partial specialization for Names::byRoughness _OPALS_COMMENT_AFTER_("correspondences.strip2strip.weighting group(opalsStripAdjust
2961  template<class Opt, class... Opts>
2962  struct IAccS<Names::byRoughness , Opt, Opts...> : ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
2963  IAcc<Opts...>
2964  {
2965  virtual const Opt& byRoughness () const = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
2966  virtual Opt& byRoughness () = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
2967  };
2968 
2969  /// Partial specialization for Names::rejection _OPALS_COMMENT_AFTER_("correspondences.strip2strip.rejection group(opalsStripAdjust
2970  template<class Opt, class... Opts>
2971  struct IAccS<Names::rejection , Opt, Opts...> : ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
2972  IAcc<Opts...>
2973  {
2974  virtual const Opt& rejection () const = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
2975  virtual Opt& rejection () = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
2976  };
2977 
2978  /// Partial specialization for Names::maxRoughness _OPALS_COMMENT_AFTER_("correspondences.strip2strip.rejection group(opalsStripAdjust
2979  template<class Opt, class... Opts>
2980  struct IAccS<Names::maxRoughness , Opt, Opts...> : ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
2981  IAcc<Opts...>
2982  {
2983  virtual const Opt& maxRoughness () const = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
2984  virtual Opt& maxRoughness () = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
2985  };
2986 
2987  /// Partial specialization for Names::control2strip _OPALS_COMMENT_AFTER_("correspondences.control2strip group(opalsStripAdjust
2988  template<class Opt, class... Opts>
2989  struct IAccS<Names::control2strip , Opt, Opts...> : ///< correspondences.control2strip group(opalsStripAdjust)
2990  IAcc<Opts...>
2991  {
2992  virtual const Opt& control2strip () const = 0; ///< correspondences.control2strip group(opalsStripAdjust)
2993  virtual Opt& control2strip () = 0; ///< correspondences.control2strip group(opalsStripAdjust)
2994  };
2995 
2996  /// Partial specialization for Names::dpSigPriori _OPALS_COMMENT_AFTER_("correspondences.control2strip group(opalsStripAdjust
2997  template<class Opt, class... Opts>
2998  struct IAccS<Names::dpSigPriori , Opt, Opts...> : ///< correspondences.control2strip group(opalsStripAdjust)
2999  IAcc<Opts...>
3000  {
3001  virtual const Opt& dpSigPriori () const = 0; ///< correspondences.control2strip group(opalsStripAdjust)
3002  virtual Opt& dpSigPriori () = 0; ///< correspondences.control2strip group(opalsStripAdjust)
3003  };
3004 
3005  /// Partial specialization for Names::patchLength _OPALS_COMMENT_AFTER_("patch length for structure line modelling (opalsLineModeler
3006  template<class Opt, class... Opts>
3007  struct IAccS<Names::patchLength , Opt, Opts...> : ///< patch length for structure line modelling (opalsLineModeler)
3008  IAcc<Opts...>
3009  {
3010  virtual const Opt& patchLength () const = 0; ///< patch length for structure line modelling (opalsLineModeler)
3011  virtual Opt& patchLength () = 0; ///< patch length for structure line modelling (opalsLineModeler)
3012  };
3013 
3014  /// Partial specialization for Names::patchWidth _OPALS_COMMENT_AFTER_("patch width for structure line modelling (opalsLineModeler
3015  template<class Opt, class... Opts>
3016  struct IAccS<Names::patchWidth , Opt, Opts...> : ///< patch width for structure line modelling (opalsLineModeler)
3017  IAcc<Opts...>
3018  {
3019  virtual const Opt& patchWidth () const = 0; ///< patch width for structure line modelling (opalsLineModeler)
3020  virtual Opt& patchWidth () = 0; ///< patch width for structure line modelling (opalsLineModeler)
3021  };
3022 
3023  /// Partial specialization for Names::pointCount _OPALS_COMMENT_AFTER_("min und max point count for patches (opalsLineModeler
3024  template<class Opt, class... Opts>
3025  struct IAccS<Names::pointCount , Opt, Opts...> : ///< min und max point count for patches (opalsLineModeler)
3026  IAcc<Opts...>
3027  {
3028  virtual const Opt& pointCount () const = 0; ///< min und max point count for patches (opalsLineModeler)
3029  virtual Opt& pointCount () = 0; ///< min und max point count for patches (opalsLineModeler)
3030  };
3031 
3032  /// Partial specialization for Names::minAngle _OPALS_COMMENT_AFTER_("minimum intersection angle (opalsLineModeler
3033  template<class Opt, class... Opts>
3034  struct IAccS<Names::minAngle , Opt, Opts...> : ///< minimum intersection angle (opalsLineModeler)
3035  IAcc<Opts...>
3036  {
3037  virtual const Opt& minAngle () const = 0; ///< minimum intersection angle (opalsLineModeler)
3038  virtual Opt& minAngle () = 0; ///< minimum intersection angle (opalsLineModeler)
3039  };
3040 
3041  /// Partial specialization for Names::sigmaPoint _OPALS_COMMENT_AFTER_("height sigma of the point cloud data (opalsLineModeler
3042  template<class Opt, class... Opts>
3043  struct IAccS<Names::sigmaPoint , Opt, Opts...> : ///< height sigma of the point cloud data (opalsLineModeler)
3044  IAcc<Opts...>
3045  {
3046  virtual const Opt& sigmaPoint () const = 0; ///< height sigma of the point cloud data (opalsLineModeler)
3047  virtual Opt& sigmaPoint () = 0; ///< height sigma of the point cloud data (opalsLineModeler)
3048  };
3049 
3050  /// Partial specialization for Names::sigmaApprox _OPALS_COMMENT_AFTER_("2d sigma of the structure line approximation (opalsLineModeler
3051  template<class Opt, class... Opts>
3052  struct IAccS<Names::sigmaApprox , Opt, Opts...> : ///< 2d sigma of the structure line approximation (opalsLineModeler)
3053  IAcc<Opts...>
3054  {
3055  virtual const Opt& sigmaApprox () const = 0; ///< 2d sigma of the structure line approximation (opalsLineModeler)
3056  virtual Opt& sigmaApprox () = 0; ///< 2d sigma of the structure line approximation (opalsLineModeler)
3057  };
3058 
3059  /// Partial specialization for Names::approximative _OPALS_COMMENT_AFTER_("use precise(=slow
3060  template<class Opt, class... Opts>
3061  struct IAccS<Names::approximative , Opt, Opts...> : ///< use precise(=slow) or approximative(=fast) computation (opalsBounds)
3062  IAcc<Opts...>
3063  {
3064  virtual const Opt& approximative () const = 0; ///< use precise(=slow) or approximative(=fast) computation (opalsBounds)
3065  virtual Opt& approximative () = 0; ///< use precise(=slow) or approximative(=fast) computation (opalsBounds)
3066  };
3067 
3068  /// Partial specialization for Names::maxArea _OPALS_COMMENT_AFTER_("maximum area (opalsFillGaps
3069  template<class Opt, class... Opts>
3070  struct IAccS<Names::maxArea , Opt, Opts...> : ///< maximum area (opalsFillGaps)
3071  IAcc<Opts...>
3072  {
3073  virtual const Opt& maxArea () const = 0; ///< maximum area (opalsFillGaps)
3074  virtual Opt& maxArea () = 0; ///< maximum area (opalsFillGaps)
3075  };
3076 
3077  /// Partial specialization for Names::maxPixelRigorous _OPALS_COMMENT_AFTER_("maximum number of gap-pixel for rigorous adaptive fill (opalsFillGaps
3078  template<class Opt, class... Opts>
3079  struct IAccS<Names::maxPixelRigorous , Opt, Opts...> : ///< maximum number of gap-pixel for rigorous adaptive fill (opalsFillGaps)
3080  IAcc<Opts...>
3081  {
3082  virtual const Opt& maxPixelRigorous () const = 0; ///< maximum number of gap-pixel for rigorous adaptive fill (opalsFillGaps)
3083  virtual Opt& maxPixelRigorous () = 0; ///< maximum number of gap-pixel for rigorous adaptive fill (opalsFillGaps)
3084  };
3085 
3086  /// Partial specialization for Names::gapInfo _OPALS_COMMENT_AFTER_("write additional gap information to files (opalsFillGaps
3087  template<class Opt, class... Opts>
3088  struct IAccS<Names::gapInfo , Opt, Opts...> : ///< write additional gap information to files (opalsFillGaps)
3089  IAcc<Opts...>
3090  {
3091  virtual const Opt& gapInfo () const = 0; ///< write additional gap information to files (opalsFillGaps)
3092  virtual Opt& gapInfo () = 0; ///< write additional gap information to files (opalsFillGaps)
3093  };
3094 
3095  /// Partial specialization for Names::sigmaSmooth _OPALS_COMMENT_AFTER_("gaussian smoothing sigma (opalsEdgeDetect
3096  template<class Opt, class... Opts>
3097  struct IAccS<Names::sigmaSmooth , Opt, Opts...> : ///< gaussian smoothing sigma (opalsEdgeDetect)
3098  IAcc<Opts...>
3099  {
3100  virtual const Opt& sigmaSmooth () const = 0; ///< gaussian smoothing sigma (opalsEdgeDetect)
3101  virtual Opt& sigmaSmooth () = 0; ///< gaussian smoothing sigma (opalsEdgeDetect)
3102  };
3103 
3104  /// Partial specialization for Names::exportHeader _OPALS_COMMENT_AFTER_("export header features (opalsInfo
3105  template<class Opt, class... Opts>
3106  struct IAccS<Names::exportHeader , Opt, Opts...> : ///< export header features (opalsInfo) -> deprecated
3107  IAcc<Opts...>
3108  {
3109  virtual const Opt& exportHeader () const = 0; ///< export header features (opalsInfo) -> deprecated
3110  virtual Opt& exportHeader () = 0; ///< export header features (opalsInfo) -> deprecated
3111  };
3112 
3113  /// Partial specialization for Names::seedCalculator _OPALS_COMMENT_AFTER_("Calculator for seed point order (opalsSegmentation
3114  template<class Opt, class... Opts>
3115  struct IAccS<Names::seedCalculator , Opt, Opts...> : ///< Calculator for seed point order (opalsSegmentation)
3116  IAcc<Opts...>
3117  {
3118  virtual const Opt& seedCalculator () const = 0; ///< Calculator for seed point order (opalsSegmentation)
3119  virtual Opt& seedCalculator () = 0; ///< Calculator for seed point order (opalsSegmentation)
3120  };
3121 
3122  /// Partial specialization for Names::condClustering _OPALS_COMMENT_AFTER_("Parameter group 'condClustering' containing options for conditional clustering (opalsSegmentation
3123  template<class Opt, class... Opts>
3124  struct IAccS<Names::condClustering , Opt, Opts...> : ///< Parameter group 'condClustering' containing options for conditional clustering (opalsSegmentation)
3125  IAcc<Opts...>
3126  {
3127  virtual const Opt& condClustering () const = 0; ///< Parameter group 'condClustering' containing options for conditional clustering (opalsSegmentation)
3128  virtual Opt& condClustering () = 0; ///< Parameter group 'condClustering' containing options for conditional clustering (opalsSegmentation)
3129  };
3130 
3131  /// Partial specialization for Names::planeExtraction _OPALS_COMMENT_AFTER_("Parameter group 'planeExtraction' containing options for planar surface extraction (opalsSegmentation
3132  template<class Opt, class... Opts>
3133  struct IAccS<Names::planeExtraction , Opt, Opts...> : ///< Parameter group 'planeExtraction' containing options for planar surface extraction (opalsSegmentation)
3134  IAcc<Opts...>
3135  {
3136  virtual const Opt& planeExtraction () const = 0; ///< Parameter group 'planeExtraction' containing options for planar surface extraction (opalsSegmentation)
3137  virtual Opt& planeExtraction () = 0; ///< Parameter group 'planeExtraction' containing options for planar surface extraction (opalsSegmentation)
3138  };
3139 
3140  /// Partial specialization for Names::pyramidLevels _OPALS_COMMENT_AFTER_("Number of data/image pyramid levels (opalsTerrainFilter
3141  template<class Opt, class... Opts>
3142  struct IAccS<Names::pyramidLevels , Opt, Opts...> : ///< Number of data/image pyramid levels (opalsTerrainFilter)
3143  IAcc<Opts...>
3144  {
3145  virtual const Opt& pyramidLevels () const = 0; ///< Number of data/image pyramid levels (opalsTerrainFilter)
3146  virtual Opt& pyramidLevels () = 0; ///< Number of data/image pyramid levels (opalsTerrainFilter)
3147  };
3148 
3149  /// Partial specialization for Names::bulkPoints _OPALS_COMMENT_AFTER_("specific parameter for category bulk points (opalsTerrainFilter
3150  template<class Opt, class... Opts>
3151  struct IAccS<Names::bulkPoints , Opt, Opts...> : ///< specific parameter for category bulk points (opalsTerrainFilter)
3152  IAcc<Opts...>
3153  {
3154  virtual const Opt& bulkPoints () const = 0; ///< specific parameter for category bulk points (opalsTerrainFilter)
3155  virtual Opt& bulkPoints () = 0; ///< specific parameter for category bulk points (opalsTerrainFilter)
3156  };
3157 
3158  /// Partial specialization for Names::keyPoints _OPALS_COMMENT_AFTER_("specific parameter for category key points (opalsTerrainFilter
3159  template<class Opt, class... Opts>
3160  struct IAccS<Names::keyPoints , Opt, Opts...> : ///< specific parameter for category key points (opalsTerrainFilter)
3161  IAcc<Opts...>
3162  {
3163  virtual const Opt& keyPoints () const = 0; ///< specific parameter for category key points (opalsTerrainFilter)
3164  virtual Opt& keyPoints () = 0; ///< specific parameter for category key points (opalsTerrainFilter)
3165  };
3166 
3167  /// Partial specialization for Names::formLines _OPALS_COMMENT_AFTER_("specific parameter for category form lines (opalsTerrainFilter
3168  template<class Opt, class... Opts>
3169  struct IAccS<Names::formLines , Opt, Opts...> : ///< specific parameter for category form lines (opalsTerrainFilter)
3170  IAcc<Opts...>
3171  {
3172  virtual const Opt& formLines () const = 0; ///< specific parameter for category form lines (opalsTerrainFilter)
3173  virtual Opt& formLines () = 0; ///< specific parameter for category form lines (opalsTerrainFilter)
3174  };
3175 
3176  /// Partial specialization for Names::breakLines _OPALS_COMMENT_AFTER_("specific parameter for category break lines (opalsTerrainFilter
3177  template<class Opt, class... Opts>
3178  struct IAccS<Names::breakLines , Opt, Opts...> : ///< specific parameter for category break lines (opalsTerrainFilter)
3179  IAcc<Opts...>
3180  {
3181  virtual const Opt& breakLines () const = 0; ///< specific parameter for category break lines (opalsTerrainFilter)
3182  virtual Opt& breakLines () = 0; ///< specific parameter for category break lines (opalsTerrainFilter)
3183  };
3184 
3185  /// Partial specialization for Names::robustInterpolation _OPALS_COMMENT_AFTER_("group of specific parameters for robust interpolation (opalsTerrainFilter
3186  template<class Opt, class... Opts>
3187  struct IAccS<Names::robustInterpolation , Opt, Opts...> : ///< group of specific parameters for robust interpolation (opalsTerrainFilter)
3188  IAcc<Opts...>
3189  {
3190  virtual const Opt& robustInterpolation () const = 0; ///< group of specific parameters for robust interpolation (opalsTerrainFilter)
3191  virtual Opt& robustInterpolation () = 0; ///< group of specific parameters for robust interpolation (opalsTerrainFilter)
3192  };
3193 
3194  /// Partial specialization for Names::writeFilterInfo _OPALS_COMMENT_AFTER_("write filter information to odm (opalsTerrainFilter
3195  template<class Opt, class... Opts>
3196  struct IAccS<Names::writeFilterInfo , Opt, Opts...> : ///< write filter information to odm (opalsTerrainFilter)
3197  IAcc<Opts...>
3198  {
3199  virtual const Opt& writeFilterInfo () const = 0; ///< write filter information to odm (opalsTerrainFilter)
3200  virtual Opt& writeFilterInfo () = 0; ///< write filter information to odm (opalsTerrainFilter)
3201  };
3202 
3203  /// Partial specialization for Names::filterThresholds _OPALS_COMMENT_AFTER_("filter thresholds for hierarchical levels (opalsTerrainFilter
3204  template<class Opt, class... Opts>
3205  struct IAccS<Names::filterThresholds , Opt, Opts...> : ///< filter thresholds for hierarchical levels (opalsTerrainFilter)
3206  IAcc<Opts...>
3207  {
3208  virtual const Opt& filterThresholds () const = 0; ///< filter thresholds for hierarchical levels (opalsTerrainFilter)
3209  virtual Opt& filterThresholds () = 0; ///< filter thresholds for hierarchical levels (opalsTerrainFilter)
3210  };
3211 
3212  /// Partial specialization for Names::lowerThresholdScale _OPALS_COMMENT_AFTER_("scale for asymmetric filter thresholds (opalsTerrainFilter
3213  template<class Opt, class... Opts>
3214  struct IAccS<Names::lowerThresholdScale , Opt, Opts...> : ///< scale for asymmetric filter thresholds (opalsTerrainFilter)
3215  IAcc<Opts...>
3216  {
3217  virtual const Opt& lowerThresholdScale () const = 0; ///< scale for asymmetric filter thresholds (opalsTerrainFilter)
3218  virtual Opt& lowerThresholdScale () = 0; ///< scale for asymmetric filter thresholds (opalsTerrainFilter)
3219  };
3220 
3221  /// Partial specialization for Names::robustIter _OPALS_COMMENT_AFTER_("number of robust iterations (opalsStripAdjust
3222  template<class Opt, class... Opts>
3223  struct IAccS<Names::robustIter , Opt, Opts...> : ///< number of robust iterations (opalsStripAdjust)
3224  IAcc<Opts...>
3225  {
3226  virtual const Opt& robustIter () const = 0; ///< number of robust iterations (opalsStripAdjust)
3227  virtual Opt& robustIter () = 0; ///< number of robust iterations (opalsStripAdjust)
3228  };
3229 
3230  /// Partial specialization for Names::images _OPALS_COMMENT_AFTER_("images group (opalsStripAdjust
3231  template<class Opt, class... Opts>
3232  struct IAccS<Names::images , Opt, Opts...> : ///< images group (opalsStripAdjust)
3233  IAcc<Opts...>
3234  {
3235  virtual const Opt& images () const = 0; ///< images group (opalsStripAdjust)
3236  virtual Opt& images () = 0; ///< images group (opalsStripAdjust)
3237  };
3238 
3239  /// Partial specialization for Names::camera _OPALS_COMMENT_AFTER_("camera ID (opalsStripAdjust
3240  template<class Opt, class... Opts>
3241  struct IAccS<Names::camera , Opt, Opts...> : ///< camera ID (opalsStripAdjust)
3242  IAcc<Opts...>
3243  {
3244  virtual const Opt& camera () const = 0; ///< camera ID (opalsStripAdjust)
3245  virtual Opt& camera () = 0; ///< camera ID (opalsStripAdjust)
3246  };
3247 
3248  /// Partial specialization for Names::cameras _OPALS_COMMENT_AFTER_("cameras group (opalsStripAdjust
3249  template<class Opt, class... Opts>
3250  struct IAccS<Names::cameras , Opt, Opts...> : ///< cameras group (opalsStripAdjust)
3251  IAcc<Opts...>
3252  {
3253  virtual const Opt& cameras () const = 0; ///< cameras group (opalsStripAdjust)
3254  virtual Opt& cameras () = 0; ///< cameras group (opalsStripAdjust)
3255  };
3256 
3257  /// Partial specialization for Names::extOri _OPALS_COMMENT_AFTER_("exterior orientation (opalsStripAdjust
3258  template<class Opt, class... Opts>
3259  struct IAccS<Names::extOri , Opt, Opts...> : ///< exterior orientation (opalsStripAdjust)
3260  IAcc<Opts...>
3261  {
3262  virtual const Opt& extOri () const = 0; ///< exterior orientation (opalsStripAdjust)
3263  virtual Opt& extOri () = 0; ///< exterior orientation (opalsStripAdjust)
3264  };
3265 
3266  /// Partial specialization for Names::dExtOri _OPALS_COMMENT_AFTER_("delta exterior orientation (opalsStripAdjust
3267  template<class Opt, class... Opts>
3268  struct IAccS<Names::dExtOri , Opt, Opts...> : ///< delta exterior orientation (opalsStripAdjust)
3269  IAcc<Opts...>
3270  {
3271  virtual const Opt& dExtOri () const = 0; ///< delta exterior orientation (opalsStripAdjust)
3272  virtual Opt& dExtOri () = 0; ///< delta exterior orientation (opalsStripAdjust)
3273  };
3274 
3275  /// Partial specialization for Names::X0 _OPALS_COMMENT_AFTER_("Projection center's X-coordinate"
3276  template<class Opt, class... Opts>
3277  struct IAccS<Names::X0 , Opt, Opts...> : ///< Projection center's X-coordinate
3278  IAcc<Opts...>
3279  {
3280  virtual const Opt& X0 () const = 0; ///< Projection center's X-coordinate
3281  virtual Opt& X0 () = 0; ///< Projection center's X-coordinate
3282  };
3283 
3284  /// Partial specialization for Names::Y0 _OPALS_COMMENT_AFTER_("Projection center's Y-coordinate"
3285  template<class Opt, class... Opts>
3286  struct IAccS<Names::Y0 , Opt, Opts...> : ///< Projection center's Y-coordinate
3287  IAcc<Opts...>
3288  {
3289  virtual const Opt& Y0 () const = 0; ///< Projection center's Y-coordinate
3290  virtual Opt& Y0 () = 0; ///< Projection center's Y-coordinate
3291  };
3292 
3293  /// Partial specialization for Names::Z0 _OPALS_COMMENT_AFTER_("Projection center's Z-coordinate"
3294  template<class Opt, class... Opts>
3295  struct IAccS<Names::Z0 , Opt, Opts...> : ///< Projection center's Z-coordinate
3296  IAcc<Opts...>
3297  {
3298  virtual const Opt& Z0 () const = 0; ///< Projection center's Z-coordinate
3299  virtual Opt& Z0 () = 0; ///< Projection center's Z-coordinate
3300  };
3301 
3302  /// Partial specialization for Names::dX0 _OPALS_COMMENT_AFTER_("Projection center's X-coordinate offset (opalsStripAdjust
3303  template<class Opt, class... Opts>
3304  struct IAccS<Names::dX0 , Opt, Opts...> : ///< Projection center's X-coordinate offset (opalsStripAdjust)
3305  IAcc<Opts...>
3306  {
3307  virtual const Opt& dX0 () const = 0; ///< Projection center's X-coordinate offset (opalsStripAdjust)
3308  virtual Opt& dX0 () = 0; ///< Projection center's X-coordinate offset (opalsStripAdjust)
3309  };
3310 
3311  /// Partial specialization for Names::dY0 _OPALS_COMMENT_AFTER_("Projection center's Y-coordinate offset (opalsStripAdjust
3312  template<class Opt, class... Opts>
3313  struct IAccS<Names::dY0 , Opt, Opts...> : ///< Projection center's Y-coordinate offset (opalsStripAdjust)
3314  IAcc<Opts...>
3315  {
3316  virtual const Opt& dY0 () const = 0; ///< Projection center's Y-coordinate offset (opalsStripAdjust)
3317  virtual Opt& dY0 () = 0; ///< Projection center's Y-coordinate offset (opalsStripAdjust)
3318  };
3319 
3320  /// Partial specialization for Names::dZ0 _OPALS_COMMENT_AFTER_("Projection center's Z-coordinate offset (opalsStripAdjust
3321  template<class Opt, class... Opts>
3322  struct IAccS<Names::dZ0 , Opt, Opts...> : ///< Projection center's Z-coordinate offset (opalsStripAdjust)
3323  IAcc<Opts...>
3324  {
3325  virtual const Opt& dZ0 () const = 0; ///< Projection center's Z-coordinate offset (opalsStripAdjust)
3326  virtual Opt& dZ0 () = 0; ///< Projection center's Z-coordinate offset (opalsStripAdjust)
3327  };
3328 
3329  /// Partial specialization for Names::dOmega _OPALS_COMMENT_AFTER_("omega angle offset (opalsStripAdjust
3330  template<class Opt, class... Opts>
3331  struct IAccS<Names::dOmega , Opt, Opts...> : ///< omega angle offset (opalsStripAdjust)
3332  IAcc<Opts...>
3333  {
3334  virtual const Opt& dOmega () const = 0; ///< omega angle offset (opalsStripAdjust)
3335  virtual Opt& dOmega () = 0; ///< omega angle offset (opalsStripAdjust)
3336  };
3337 
3338  /// Partial specialization for Names::dPhi _OPALS_COMMENT_AFTER_("phi angle offset (opalsStripAdjust
3339  template<class Opt, class... Opts>
3340  struct IAccS<Names::dPhi , Opt, Opts...> : ///< phi angle offset (opalsStripAdjust)
3341  IAcc<Opts...>
3342  {
3343  virtual const Opt& dPhi () const = 0; ///< phi angle offset (opalsStripAdjust)
3344  virtual Opt& dPhi () = 0; ///< phi angle offset (opalsStripAdjust)
3345  };
3346 
3347  /// Partial specialization for Names::dKappa _OPALS_COMMENT_AFTER_("kappa angle offset (opalsStripAdjust
3348  template<class Opt, class... Opts>
3349  struct IAccS<Names::dKappa , Opt, Opts...> : ///< kappa angle offset (opalsStripAdjust)
3350  IAcc<Opts...>
3351  {
3352  virtual const Opt& dKappa () const = 0; ///< kappa angle offset (opalsStripAdjust)
3353  virtual Opt& dKappa () = 0; ///< kappa angle offset (opalsStripAdjust)
3354  };
3355 
3356  /// Partial specialization for Names::intOri _OPALS_COMMENT_AFTER_("interior orientation (opalsStripAdjust
3357  template<class Opt, class... Opts>
3358  struct IAccS<Names::intOri , Opt, Opts...> : ///< interior orientation (opalsStripAdjust)
3359  IAcc<Opts...>
3360  {
3361  virtual const Opt& intOri () const = 0; ///< interior orientation (opalsStripAdjust)
3362  virtual Opt& intOri () = 0; ///< interior orientation (opalsStripAdjust)
3363  };
3364 
3365  /// Partial specialization for Names::c _OPALS_COMMENT_AFTER_("focal length (opalsStripAdjust
3366  template<class Opt, class... Opts>
3367  struct IAccS<Names::c , Opt, Opts...> : ///< focal length (opalsStripAdjust)
3368  IAcc<Opts...>
3369  {
3370  virtual const Opt& c () const = 0; ///< focal length (opalsStripAdjust)
3371  virtual Opt& c () = 0; ///< focal length (opalsStripAdjust)
3372  };
3373 
3374  /// Partial specialization for Names::distortion _OPALS_COMMENT_AFTER_("lens distortion (opalsStripAdjust
3375  template<class Opt, class... Opts>
3376  struct IAccS<Names::distortion , Opt, Opts...> : ///< lens distortion (opalsStripAdjust)
3377  IAcc<Opts...>
3378  {
3379  virtual const Opt& distortion () const = 0; ///< lens distortion (opalsStripAdjust)
3380  virtual Opt& distortion () = 0; ///< lens distortion (opalsStripAdjust)
3381  };
3382 
3383  /// Partial specialization for Names::undistort _OPALS_COMMENT_AFTER_("create undistorted images (opalsStripAdjust
3384  template<class Opt, class... Opts>
3385  struct IAccS<Names::undistort , Opt, Opts...> : ///< create undistorted images (opalsStripAdjust)
3386  IAcc<Opts...>
3387  {
3388  virtual const Opt& undistort () const = 0; ///< create undistorted images (opalsStripAdjust)
3389  virtual Opt& undistort () = 0; ///< create undistorted images (opalsStripAdjust)
3390  };
3391 
3392  /// Partial specialization for Names::rho0 _OPALS_COMMENT_AFTER_("lens distortion normalization radius (opalsStripAdjust
3393  template<class Opt, class... Opts>
3394  struct IAccS<Names::rho0 , Opt, Opts...> : ///< lens distortion normalization radius (opalsStripAdjust)
3395  IAcc<Opts...>
3396  {
3397  virtual const Opt& rho0 () const = 0; ///< lens distortion normalization radius (opalsStripAdjust)
3398  virtual Opt& rho0 () = 0; ///< lens distortion normalization radius (opalsStripAdjust)
3399  };
3400 
3401  /// Partial specialization for Names::a3 _OPALS_COMMENT_AFTER_("radial lens distortion, 3rd degree ORIENT:3 (opalsStripAdjust
3402  template<class Opt, class... Opts>
3403  struct IAccS<Names::a3 , Opt, Opts...> : ///< radial lens distortion, 3rd degree ORIENT:3 (opalsStripAdjust)
3404  IAcc<Opts...>
3405  {
3406  virtual const Opt& a3 () const = 0; ///< radial lens distortion, 3rd degree ORIENT:3 (opalsStripAdjust)
3407  virtual Opt& a3 () = 0; ///< radial lens distortion, 3rd degree ORIENT:3 (opalsStripAdjust)
3408  };
3409 
3410  /// Partial specialization for Names::a4 _OPALS_COMMENT_AFTER_("radial lens distortion, 5th degree ORIENT:4 (opalsStripAdjust
3411  template<class Opt, class... Opts>
3412  struct IAccS<Names::a4 , Opt, Opts...> : ///< radial lens distortion, 5th degree ORIENT:4 (opalsStripAdjust)
3413  IAcc<Opts...>
3414  {
3415  virtual const Opt& a4 () const = 0; ///< radial lens distortion, 5th degree ORIENT:4 (opalsStripAdjust)
3416  virtual Opt& a4 () = 0; ///< radial lens distortion, 5th degree ORIENT:4 (opalsStripAdjust)
3417  };
3418 
3419  /// Partial specialization for Names::a5 _OPALS_COMMENT_AFTER_("tangential lens distortion, bilinear in y ORIENT:5 (opalsStripAdjust
3420  template<class Opt, class... Opts>
3421  struct IAccS<Names::a5 , Opt, Opts...> : ///< tangential lens distortion, bilinear in y ORIENT:5 (opalsStripAdjust)
3422  IAcc<Opts...>
3423  {
3424  virtual const Opt& a5 () const = 0; ///< tangential lens distortion, bilinear in y ORIENT:5 (opalsStripAdjust)
3425  virtual Opt& a5 () = 0; ///< tangential lens distortion, bilinear in y ORIENT:5 (opalsStripAdjust)
3426  };
3427 
3428  /// Partial specialization for Names::a6 _OPALS_COMMENT_AFTER_("tangential lens distortion, bilinear in x ORIENT:6 (opalsStripAdjust
3429  template<class Opt, class... Opts>
3430  struct IAccS<Names::a6 , Opt, Opts...> : ///< tangential lens distortion, bilinear in x ORIENT:6 (opalsStripAdjust)
3431  IAcc<Opts...>
3432  {
3433  virtual const Opt& a6 () const = 0; ///< tangential lens distortion, bilinear in x ORIENT:6 (opalsStripAdjust)
3434  virtual Opt& a6 () = 0; ///< tangential lens distortion, bilinear in x ORIENT:6 (opalsStripAdjust)
3435  };
3436 
3437  /// Partial specialization for Names::oriFile _OPALS_COMMENT_AFTER_("file with a priori exterior image orientation (opalsStripAdjust
3438  template<class Opt, class... Opts>
3439  struct IAccS<Names::oriFile , Opt, Opts...> : ///< file with a priori exterior image orientation (opalsStripAdjust)
3440  IAcc<Opts...>
3441  {
3442  virtual const Opt& oriFile () const = 0; ///< file with a priori exterior image orientation (opalsStripAdjust)
3443  virtual Opt& oriFile () = 0; ///< file with a priori exterior image orientation (opalsStripAdjust)
3444  };
3445 
3446  /// Partial specialization for Names::obsFile _OPALS_COMMENT_AFTER_("file with image point observations (opalsStripAdjust
3447  template<class Opt, class... Opts>
3448  struct IAccS<Names::obsFile , Opt, Opts...> : ///< file with image point observations (opalsStripAdjust)
3449  IAcc<Opts...>
3450  {
3451  virtual const Opt& obsFile () const = 0; ///< file with image point observations (opalsStripAdjust)
3452  virtual Opt& obsFile () = 0; ///< file with image point observations (opalsStripAdjust)
3453  };
3454 
3455  /// Partial specialization for Names::forwardIntersect _OPALS_COMMENT_AFTER_("forward intersection of tie points group (opalsStripAdjust
3456  template<class Opt, class... Opts>
3457  struct IAccS<Names::forwardIntersect , Opt, Opts...> : ///< forward intersection of tie points group (opalsStripAdjust)
3458  IAcc<Opts...>
3459  {
3460  virtual const Opt& forwardIntersect () const = 0; ///< forward intersection of tie points group (opalsStripAdjust)
3461  virtual Opt& forwardIntersect () = 0; ///< forward intersection of tie points group (opalsStripAdjust)
3462  };
3463 
3464  /// Partial specialization for Names::xSigPriori _OPALS_COMMENT_AFTER_("standard deviation a priori of x-coordinate (opalsStripAdjust
3465  template<class Opt, class... Opts>
3466  struct IAccS<Names::xSigPriori , Opt, Opts...> : ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
3467  IAcc<Opts...>
3468  {
3469  virtual const Opt& xSigPriori () const = 0; ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
3470  virtual Opt& xSigPriori () = 0; ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
3471  };
3472 
3473  /// Partial specialization for Names::ySigPriori _OPALS_COMMENT_AFTER_("standard deviation a priori of x-coordinate (opalsStripAdjust
3474  template<class Opt, class... Opts>
3475  struct IAccS<Names::ySigPriori , Opt, Opts...> : ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
3476  IAcc<Opts...>
3477  {
3478  virtual const Opt& ySigPriori () const = 0; ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
3479  virtual Opt& ySigPriori () = 0; ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
3480  };
3481 
3482  /// Partial specialization for Names::image2image _OPALS_COMMENT_AFTER_("image-to-image correspondences group (opalsStripAdjust
3483  template<class Opt, class... Opts>
3484  struct IAccS<Names::image2image , Opt, Opts...> : ///< image-to-image correspondences group (opalsStripAdjust)
3485  IAcc<Opts...>
3486  {
3487  virtual const Opt& image2image () const = 0; ///< image-to-image correspondences group (opalsStripAdjust)
3488  virtual Opt& image2image () = 0; ///< image-to-image correspondences group (opalsStripAdjust)
3489  };
3490 
3491  /// Partial specialization for Names::minImageCount _OPALS_COMMENT_AFTER_("minimum number of image points for a tie point (opalsStripAdjust
3492  template<class Opt, class... Opts>
3493  struct IAccS<Names::minImageCount , Opt, Opts...> : ///< minimum number of image points for a tie point (opalsStripAdjust)
3494  IAcc<Opts...>
3495  {
3496  virtual const Opt& minImageCount () const = 0; ///< minimum number of image points for a tie point (opalsStripAdjust)
3497  virtual Opt& minImageCount () = 0; ///< minimum number of image points for a tie point (opalsStripAdjust)
3498  };
3499 
3500  /// Partial specialization for Names::image2strip _OPALS_COMMENT_AFTER_("image-to-strip correspondences group (opalsStripAdjust
3501  template<class Opt, class... Opts>
3502  struct IAccS<Names::image2strip , Opt, Opts...> : ///< image-to-strip correspondences group (opalsStripAdjust)
3503  IAcc<Opts...>
3504  {
3505  virtual const Opt& image2strip () const = 0; ///< image-to-strip correspondences group (opalsStripAdjust)
3506  virtual Opt& image2strip () = 0; ///< image-to-strip correspondences group (opalsStripAdjust)
3507  };
3508 
3509  /// Partial specialization for Names::extrapolationCheck _OPALS_COMMENT_AFTER_("check for extrapolation (opalsGrid
3510  template<class Opt, class... Opts>
3511  struct IAccS<Names::extrapolationCheck , Opt, Opts...> : ///< check for extrapolation (opalsGrid)
3512  IAcc<Opts...>
3513  {
3514  virtual const Opt& extrapolationCheck () const = 0; ///< check for extrapolation (opalsGrid)
3515  virtual Opt& extrapolationCheck () = 0; ///< check for extrapolation (opalsGrid)
3516  };
3517 
3518  /// Partial specialization for Names::splitByAttribute _OPALS_COMMENT_AFTER_("split data set by a certain (integer-valued
3519  template<class Opt, class... Opts>
3520  struct IAccS<Names::splitByAttribute , Opt, Opts...> : ///< split data set by a certain (integer-valued) attribute(opalsTranslate)
3521  IAcc<Opts...>
3522  {
3523  virtual const Opt& splitByAttribute () const = 0; ///< split data set by a certain (integer-valued) attribute(opalsTranslate)
3524  virtual Opt& splitByAttribute () = 0; ///< split data set by a certain (integer-valued) attribute(opalsTranslate)
3525  };
3526 
3527  /// Partial specialization for Names::applyTrafo _OPALS_COMMENT_AFTER_("determines whether to apply transformation to first or second input file(opalsDiff
3528  template<class Opt, class... Opts>
3529  struct IAccS<Names::applyTrafo , Opt, Opts...> : ///< determines whether to apply transformation to first or second input file(opalsDiff)
3530  IAcc<Opts...>
3531  {
3532  virtual const Opt& applyTrafo () const = 0; ///< determines whether to apply transformation to first or second input file(opalsDiff)
3533  virtual Opt& applyTrafo () = 0; ///< determines whether to apply transformation to first or second input file(opalsDiff)
3534  };
3535 
3536  /// Partial specialization for Names::exactComputation _OPALS_COMMENT_AFTER_("flag for exact median computation (opalsHisto
3537  template<class Opt, class... Opts>
3538  struct IAccS<Names::exactComputation , Opt, Opts...> : ///< flag for exact median computation (opalsHisto)
3539  IAcc<Opts...>
3540  {
3541  virtual const Opt& exactComputation () const = 0; ///< flag for exact median computation (opalsHisto)
3542  virtual Opt& exactComputation () = 0; ///< flag for exact median computation (opalsHisto)
3543  };
3544 
3545  /// Partial specialization for Names::spikeRemoval _OPALS_COMMENT_AFTER_("flag for removing spikes in the final modelling result (opalsLineModeler
3546  template<class Opt, class... Opts>
3547  struct IAccS<Names::spikeRemoval , Opt, Opts...> : ///< flag for removing spikes in the final modelling result (opalsLineModeler)
3548  IAcc<Opts...>
3549  {
3550  virtual const Opt& spikeRemoval () const = 0; ///< flag for removing spikes in the final modelling result (opalsLineModeler)
3551  virtual Opt& spikeRemoval () = 0; ///< flag for removing spikes in the final modelling result (opalsLineModeler)
3552  };
3553 
3554  /// Partial specialization for Names::oriFormat _OPALS_COMMENT_AFTER_("file format for image orientations (opalsSnellius
3555  template<class Opt, class... Opts>
3556  struct IAccS<Names::oriFormat , Opt, Opts...> : ///< file format for image orientations (opalsSnellius)
3557  IAcc<Opts...>
3558  {
3559  virtual const Opt& oriFormat () const = 0; ///< file format for image orientations (opalsSnellius)
3560  virtual Opt& oriFormat () = 0; ///< file format for image orientations (opalsSnellius)
3561  };
3562 
3563  /// Partial specialization for Names::workflow _OPALS_COMMENT_AFTER_("group for workflow control (opalsStripAdjust
3564  template<class Opt, class... Opts>
3565  struct IAccS<Names::workflow , Opt, Opts...> : ///< group for workflow control (opalsStripAdjust)
3566  IAcc<Opts...>
3567  {
3568  virtual const Opt& workflow () const = 0; ///< group for workflow control (opalsStripAdjust)
3569  virtual Opt& workflow () = 0; ///< group for workflow control (opalsStripAdjust)
3570  };
3571 
3572  /// Partial specialization for Names::stages _OPALS_COMMENT_AFTER_("group to limit the stages to be processed (opalsStripAdjust
3573  template<class Opt, class... Opts>
3574  struct IAccS<Names::stages , Opt, Opts...> : ///< group to limit the stages to be processed (opalsStripAdjust)
3575  IAcc<Opts...>
3576  {
3577  virtual const Opt& stages () const = 0; ///< group to limit the stages to be processed (opalsStripAdjust)
3578  virtual Opt& stages () = 0; ///< group to limit the stages to be processed (opalsStripAdjust)
3579  };
3580 
3581  /// Partial specialization for Names::last _OPALS_COMMENT_AFTER_("last stage to be processed (opalsStripAdjust
3582  template<class Opt, class... Opts>
3583  struct IAccS<Names::last , Opt, Opts...> : ///< last stage to be processed (opalsStripAdjust)
3584  IAcc<Opts...>
3585  {
3586  virtual const Opt& last () const = 0; ///< last stage to be processed (opalsStripAdjust)
3587  virtual Opt& last () = 0; ///< last stage to be processed (opalsStripAdjust)
3588  };
3589 
3590  /// Partial specialization for Names::strip _OPALS_COMMENT_AFTER_("strip ID of an image (opalsStripAdjust
3591  template<class Opt, class... Opts>
3592  struct IAccS<Names::strip , Opt, Opts...> : ///< strip ID of an image (opalsStripAdjust)
3593  IAcc<Opts...>
3594  {
3595  virtual const Opt& strip () const = 0; ///< strip ID of an image (opalsStripAdjust)
3596  virtual Opt& strip () = 0; ///< strip ID of an image (opalsStripAdjust)
3597  };
3598 
3599  /// Partial specialization for Names::checkPoints _OPALS_COMMENT_AFTER_("IDs of check points (opalsStripAdjust
3600  template<class Opt, class... Opts>
3601  struct IAccS<Names::checkPoints , Opt, Opts...> : ///< IDs of check points (opalsStripAdjust)
3602  IAcc<Opts...>
3603  {
3604  virtual const Opt& checkPoints () const = 0; ///< IDs of check points (opalsStripAdjust)
3605  virtual Opt& checkPoints () = 0; ///< IDs of check points (opalsStripAdjust)
3606  };
3607 
3608  /// Partial specialization for Names::maxReprojectionError _OPALS_COMMENT_AFTER_("maximum reprojection error (opalsStripAdjust
3609  template<class Opt, class... Opts>
3610  struct IAccS<Names::maxReprojectionError , Opt, Opts...> : ///< maximum reprojection error (opalsStripAdjust)
3611  IAcc<Opts...>
3612  {
3613  virtual const Opt& maxReprojectionError () const = 0; ///< maximum reprojection error (opalsStripAdjust)
3614  virtual Opt& maxReprojectionError () = 0; ///< maximum reprojection error (opalsStripAdjust)
3615  };
3616 
3617  /// Partial specialization for Names::segments _OPALS_COMMENT_AFTER_("segment manager (opalsSegmentation
3618  template<class Opt, class... Opts>
3619  struct IAccS<Names::segments , Opt, Opts...> : ///< segment manager (opalsSegmentation)
3620  IAcc<Opts...>
3621  {
3622  virtual const Opt& segments () const = 0; ///< segment manager (opalsSegmentation)
3623  virtual Opt& segments () = 0; ///< segment manager (opalsSegmentation)
3624  };
3625 
3626  /// Partial specialization for Names::alphaShapeRefPlane _OPALS_COMMENT_AFTER_("reference plane for alpha shapes (opalsSegmentation
3627  template<class Opt, class... Opts>
3628  struct IAccS<Names::alphaShapeRefPlane , Opt, Opts...> : ///< reference plane for alpha shapes (opalsSegmentation)
3629  IAcc<Opts...>
3630  {
3631  virtual const Opt& alphaShapeRefPlane () const = 0; ///< reference plane for alpha shapes (opalsSegmentation)
3632  virtual Opt& alphaShapeRefPlane () = 0; ///< reference plane for alpha shapes (opalsSegmentation)
3633  };
3634 
3635  /// Partial specialization for Names::sort _OPALS_COMMENT_AFTER_("sorting method (opalsSegmentation: sorting of segments
3636  template<class Opt, class... Opts>
3637  struct IAccS<Names::sort , Opt, Opts...> : ///< sorting method (opalsSegmentation: sorting of segments)
3638  IAcc<Opts...>
3639  {
3640  virtual const Opt& sort () const = 0; ///< sorting method (opalsSegmentation: sorting of segments)
3641  virtual Opt& sort () = 0; ///< sorting method (opalsSegmentation: sorting of segments)
3642  };
3643 
3644  /// Partial specialization for Names::byproduct _OPALS_COMMENT_AFTER_("optional output that is not the central result of a module run (opalsSegmentation: segment odm representation
3645  template<class Opt, class... Opts>
3646  struct IAccS<Names::byproduct , Opt, Opts...> : ///< optional output that is not the central result of a module run (opalsSegmentation: segment odm representation)
3647  IAcc<Opts...>
3648  {
3649  virtual const Opt& byproduct () const = 0; ///< optional output that is not the central result of a module run (opalsSegmentation: segment odm representation)
3650  virtual Opt& byproduct () = 0; ///< optional output that is not the central result of a module run (opalsSegmentation: segment odm representation)
3651  };
3652 
3653  /// Partial specialization for Names::crsTrafo _OPALS_COMMENT_AFTER_("crs transformation group (opalsTranslate
3654  template<class Opt, class... Opts>
3655  struct IAccS<Names::crsTrafo , Opt, Opts...> : ///< crs transformation group (opalsTranslate)
3656  IAcc<Opts...>
3657  {
3658  virtual const Opt& crsTrafo () const = 0; ///< crs transformation group (opalsTranslate)
3659  virtual Opt& crsTrafo () = 0; ///< crs transformation group (opalsTranslate)
3660  };
3661 
3662  /// Partial specialization for Names::inCRS _OPALS_COMMENT_AFTER_("input coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate
3663  template<class Opt, class... Opts>
3664  struct IAccS<Names::inCRS , Opt, Opts...> : ///< input coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
3665  IAcc<Opts...>
3666  {
3667  virtual const Opt& inCRS () const = 0; ///< input coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
3668  virtual Opt& inCRS () = 0; ///< input coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
3669  };
3670 
3671  /// Partial specialization for Names::outCRS _OPALS_COMMENT_AFTER_("output coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate
3672  template<class Opt, class... Opts>
3673  struct IAccS<Names::outCRS , Opt, Opts...> : ///< output coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
3674  IAcc<Opts...>
3675  {
3676  virtual const Opt& outCRS () const = 0; ///< output coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
3677  virtual Opt& outCRS () = 0; ///< output coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
3678  };
3679 
3680  /// Partial specialization for Names::groundTiePoints _OPALS_COMMENT_AFTER_("group for tie object points (opalsStripAdjust
3681  template<class Opt, class... Opts>
3682  struct IAccS<Names::groundTiePoints , Opt, Opts...> : ///< group for tie object points (opalsStripAdjust)
3683  IAcc<Opts...>
3684  {
3685  virtual const Opt& groundTiePoints () const = 0; ///< group for tie object points (opalsStripAdjust)
3686  virtual Opt& groundTiePoints () = 0; ///< group for tie object points (opalsStripAdjust)
3687  };
3688 
3689  /// Partial specialization for Names::aFormat _OPALS_COMMENT_AFTER_("format for approximate file (opalsDBH
3690  template<class Opt, class... Opts>
3691  struct IAccS<Names::aFormat , Opt, Opts...> : ///< format for approximate file (opalsDBH)
3692  IAcc<Opts...>
3693  {
3694  virtual const Opt& aFormat () const = 0; ///< format for approximate file (opalsDBH)
3695  virtual Opt& aFormat () = 0; ///< format for approximate file (opalsDBH)
3696  };
3697 
3698  /// Partial specialization for Names::trace _OPALS_COMMENT_AFTER_("for tracing a stem up and downwards (opalsDBH
3699  template<class Opt, class... Opts>
3700  struct IAccS<Names::trace , Opt, Opts...> : ///< for tracing a stem up and downwards (opalsDBH)
3701  IAcc<Opts...>
3702  {
3703  virtual const Opt& trace () const = 0; ///< for tracing a stem up and downwards (opalsDBH)
3704  virtual Opt& trace () = 0; ///< for tracing a stem up and downwards (opalsDBH)
3705  };
3706 
3707  /// Partial specialization for Names::classifyOverlap _OPALS_COMMENT_AFTER_("test option for opalsTerrainFiler"
3708  template<class Opt, class... Opts>
3709  struct IAccS<Names::classifyOverlap , Opt, Opts...> : ///< test option for opalsTerrainFiler
3710  IAcc<Opts...>
3711  {
3712  virtual const Opt& classifyOverlap () const = 0; ///< test option for opalsTerrainFiler
3713  virtual Opt& classifyOverlap () = 0; ///< test option for opalsTerrainFiler
3714  };
3715 
3716  /// Partial specialization for Names::valueFrequency _OPALS_COMMENT_AFTER_("option for opalsInfo for extracting the value frequencies for certain attributes/bands"
3717  template<class Opt, class... Opts>
3718  struct IAccS<Names::valueFrequency , Opt, Opts...> : ///< option for opalsInfo for extracting the value frequencies for certain attributes/bands
3719  IAcc<Opts...>
3720  {
3721  virtual const Opt& valueFrequency () const = 0; ///< option for opalsInfo for extracting the value frequencies for certain attributes/bands
3722  virtual Opt& valueFrequency () = 0; ///< option for opalsInfo for extracting the value frequencies for certain attributes/bands
3723  };
3724 
3725  /// Partial specialization for Names::skipEmptyBins _OPALS_COMMENT_AFTER_("skips empty bin entries in the histogram (opalsHisto
3726  template<class Opt, class... Opts>
3727  struct IAccS<Names::skipEmptyBins , Opt, Opts...> : ///< skips empty bin entries in the histogram (opalsHisto)
3728  IAcc<Opts...>
3729  {
3730  virtual const Opt& skipEmptyBins () const = 0; ///< skips empty bin entries in the histogram (opalsHisto)
3731  virtual Opt& skipEmptyBins () = 0; ///< skips empty bin entries in the histogram (opalsHisto)
3732  };
3733 
3734  /// Partial specialization for Names::exportOverview _OPALS_COMMENT_AFTER_("export overview features (opalsInfo
3735  template<class Opt, class... Opts>
3736  struct IAccS<Names::exportOverview , Opt, Opts...> : ///< export overview features (opalsInfo)
3737  IAcc<Opts...>
3738  {
3739  virtual const Opt& exportOverview () const = 0; ///< export overview features (opalsInfo)
3740  virtual Opt& exportOverview () = 0; ///< export overview features (opalsInfo)
3741  };
3742 
3743  /// Partial specialization for Names::mergeWidth _OPALS_COMMENT_AFTER_("merge width defining the band for blending multiple raster (opalsGridMerge
3744  template<class Opt, class... Opts>
3745  struct IAccS<Names::mergeWidth , Opt, Opts...> : ///< merge width defining the band for blending multiple raster (opalsGridMerge)
3746  IAcc<Opts...>
3747  {
3748  virtual const Opt& mergeWidth () const = 0; ///< merge width defining the band for blending multiple raster (opalsGridMerge)
3749  virtual Opt& mergeWidth () = 0; ///< merge width defining the band for blending multiple raster (opalsGridMerge)
3750  };
3751 
3752  /// Partial specialization for Names::nonOverlapMerge _OPALS_COMMENT_AFTER_("merging non-overlapping datasets (opalsGridMerge
3753  template<class Opt, class... Opts>
3754  struct IAccS<Names::nonOverlapMerge , Opt, Opts...> : ///< merging non-overlapping datasets (opalsGridMerge)
3755  IAcc<Opts...>
3756  {
3757  virtual const Opt& nonOverlapMerge () const = 0; ///< merging non-overlapping datasets (opalsGridMerge)
3758  virtual Opt& nonOverlapMerge () = 0; ///< merging non-overlapping datasets (opalsGridMerge)
3759  };
3760 
3761  /// Partial specialization for Names::mergeFunc _OPALS_COMMENT_AFTER_("merge function for blending multiple raster (opalsGridMerge
3762  template<class Opt, class... Opts>
3763  struct IAccS<Names::mergeFunc , Opt, Opts...> : ///< merge function for blending multiple raster (opalsGridMerge)
3764  IAcc<Opts...>
3765  {
3766  virtual const Opt& mergeFunc () const = 0; ///< merge function for blending multiple raster (opalsGridMerge)
3767  virtual Opt& mergeFunc () = 0; ///< merge function for blending multiple raster (opalsGridMerge)
3768  };
3769 
3770  /// Partial specialization for Names::activateBorderMerge _OPALS_COMMENT_AFTER_("flag if grid files should be merged at the border (opalsGridMerge
3771  template<class Opt, class... Opts>
3772  struct IAccS<Names::activateBorderMerge , Opt, Opts...> : ///< flag if grid files should be merged at the border (opalsGridMerge)
3773  IAcc<Opts...>
3774  {
3775  virtual const Opt& activateBorderMerge () const = 0; ///< flag if grid files should be merged at the border (opalsGridMerge)
3776  virtual Opt& activateBorderMerge () = 0; ///< flag if grid files should be merged at the border (opalsGridMerge)
3777  };
3778 
3779  /// Partial specialization for Names::style _OPALS_COMMENT_AFTER_("Parameter group 'style' containing styling-options for isolines (opalsIsolines
3780  template<class Opt, class... Opts>
3781  struct IAccS<Names::style , Opt, Opts...> : ///< Parameter group 'style' containing styling-options for isolines (opalsIsolines)
3782  IAcc<Opts...>
3783  {
3784  virtual const Opt& style () const = 0; ///< Parameter group 'style' containing styling-options for isolines (opalsIsolines)
3785  virtual Opt& style () = 0; ///< Parameter group 'style' containing styling-options for isolines (opalsIsolines)
3786  };
3787 
3788  /// Partial specialization for Names::maxSlope _OPALS_COMMENT_AFTER_("defines maximum slope to consider (opalsIsolines
3789  template<class Opt, class... Opts>
3790  struct IAccS<Names::maxSlope , Opt, Opts...> : ///< defines maximum slope to consider (opalsIsolines)
3791  IAcc<Opts...>
3792  {
3793  virtual const Opt& maxSlope () const = 0; ///< defines maximum slope to consider (opalsIsolines)
3794  virtual Opt& maxSlope () = 0; ///< defines maximum slope to consider (opalsIsolines)
3795  };
3796 
3797  /// Partial specialization for Names::deviation _OPALS_COMMENT_AFTER_("byproduct deviation file (opalsGridMerge
3798  template<class Opt, class... Opts>
3799  struct IAccS<Names::deviation , Opt, Opts...> : ///< byproduct deviation file (opalsGridMerge)
3800  IAcc<Opts...>
3801  {
3802  virtual const Opt& deviation () const = 0; ///< byproduct deviation file (opalsGridMerge)
3803  virtual Opt& deviation () = 0; ///< byproduct deviation file (opalsGridMerge)
3804  };
3805 
3806  /// Partial specialization for Names::processStructure _OPALS_COMMENT_AFTER_("byproduct structure file (opalsGridMerge
3807  template<class Opt, class... Opts>
3808  struct IAccS<Names::processStructure , Opt, Opts...> : ///< byproduct structure file (opalsGridMerge)
3809  IAcc<Opts...>
3810  {
3811  virtual const Opt& processStructure () const = 0; ///< byproduct structure file (opalsGridMerge)
3812  virtual Opt& processStructure () = 0; ///< byproduct structure file (opalsGridMerge)
3813  };
3814 
3815  /// Partial specialization for Names::maxBridgeDist _OPALS_COMMENT_AFTER_("defines maximum distance to be bridged (opalsIsolines
3816  template<class Opt, class... Opts>
3817  struct IAccS<Names::maxBridgeDist , Opt, Opts...> : ///< defines maximum distance to be bridged (opalsIsolines)
3818  IAcc<Opts...>
3819  {
3820  virtual const Opt& maxBridgeDist () const = 0; ///< defines maximum distance to be bridged (opalsIsolines)
3821  virtual Opt& maxBridgeDist () = 0; ///< defines maximum distance to be bridged (opalsIsolines)
3822  };
3823 
3824  /// Partial specialization for Names::generateOFD _OPALS_COMMENT_AFTER_("defines maximum distance to be bridged (opalsInfo
3825  template<class Opt, class... Opts>
3826  struct IAccS<Names::generateOFD , Opt, Opts...> : ///< defines maximum distance to be bridged (opalsInfo)
3827  IAcc<Opts...>
3828  {
3829  virtual const Opt& generateOFD () const = 0; ///< defines maximum distance to be bridged (opalsInfo)
3830  virtual Opt& generateOFD () = 0; ///< defines maximum distance to be bridged (opalsInfo)
3831  };
3832 
3833  /// Partial specialization for Names::file _OPALS_COMMENT_AFTER_("generic file parameter (opalsInfo
3834  template<class Opt, class... Opts>
3835  struct IAccS<Names::file , Opt, Opts...> : ///< generic file parameter (opalsInfo)
3836  IAcc<Opts...>
3837  {
3838  virtual const Opt& file () const = 0; ///< generic file parameter (opalsInfo)
3839  virtual Opt& file () = 0; ///< generic file parameter (opalsInfo)
3840  };
3841 
3842  /// Partial specialization for Names::format _OPALS_COMMENT_AFTER_("generic format parameter (opalsInfo
3843  template<class Opt, class... Opts>
3844  struct IAccS<Names::format , Opt, Opts...> : ///< generic format parameter (opalsInfo)
3845  IAcc<Opts...>
3846  {
3847  virtual const Opt& format () const = 0; ///< generic format parameter (opalsInfo)
3848  virtual Opt& format () = 0; ///< generic format parameter (opalsInfo)
3849  };
3850 
3851  /// Partial specialization for Names::distributionFunc _OPALS_COMMENT_AFTER_("definition of reference distribution (opalsHisto
3852  template<class Opt, class... Opts>
3853  struct IAccS<Names::distributionFunc , Opt, Opts...> : ///< definition of reference distribution (opalsHisto)
3854  IAcc<Opts...>
3855  {
3856  virtual const Opt& distributionFunc () const = 0; ///< definition of reference distribution (opalsHisto)
3857  virtual Opt& distributionFunc () = 0; ///< definition of reference distribution (opalsHisto)
3858  };
3859 
3860  /// Partial specialization for Names::cumulativeHistogram _OPALS_COMMENT_AFTER_("flag for activating the cumulative histogram (opalsHisto
3861  template<class Opt, class... Opts>
3862  struct IAccS<Names::cumulativeHistogram , Opt, Opts...> : ///< flag for activating the cumulative histogram (opalsHisto)
3863  IAcc<Opts...>
3864  {
3865  virtual const Opt& cumulativeHistogram () const = 0; ///< flag for activating the cumulative histogram (opalsHisto)
3866  virtual Opt& cumulativeHistogram () = 0; ///< flag for activating the cumulative histogram (opalsHisto)
3867  };
3868 
3869  /// Partial specialization for Names::setAttribute _OPALS_COMMENT_AFTER_("generic ground point calculator setting (opalsTerrainFilter
3870  template<class Opt, class... Opts>
3871  struct IAccS<Names::setAttribute , Opt, Opts...> : ///< generic ground point calculator setting (opalsTerrainFilter)
3872  IAcc<Opts...>
3873  {
3874  virtual const Opt& setAttribute () const = 0; ///< generic ground point calculator setting (opalsTerrainFilter)
3875  virtual Opt& setAttribute () = 0; ///< generic ground point calculator setting (opalsTerrainFilter)
3876  };
3877 
3878  /// Partial specialization for Names::enduranceMode _OPALS_COMMENT_AFTER_("force to continue processing (with next file/dataset
3879  template<class Opt, class... Opts>
3880  struct IAccS<Names::enduranceMode , Opt, Opts...> : ///< force to continue processing (with next file/dataset) where normally an expcetions would be thrown (opalsInfo)
3881  IAcc<Opts...>
3882  {
3883  virtual const Opt& enduranceMode () const = 0; ///< force to continue processing (with next file/dataset) where normally an expcetions would be thrown (opalsInfo)
3884  virtual Opt& enduranceMode () = 0; ///< force to continue processing (with next file/dataset) where normally an expcetions would be thrown (opalsInfo)
3885  };
3886 
3887  /// Partial specialization for Names::refinePlanes _OPALS_COMMENT_AFTER_("activates refining step for plane extraction (opalsSegementation
3888  template<class Opt, class... Opts>
3889  struct IAccS<Names::refinePlanes , Opt, Opts...> : ///< activates refining step for plane extraction (opalsSegementation)
3890  IAcc<Opts...>
3891  {
3892  virtual const Opt& refinePlanes () const = 0; ///< activates refining step for plane extraction (opalsSegementation)
3893  virtual Opt& refinePlanes () = 0; ///< activates refining step for plane extraction (opalsSegementation)
3894  };
3895 
3896  }
3897 
3898  /// Ultimately, defines the specialization of IAcc in the namespace according to Opt's enumerator.
3899  /** IAcc derives from another specialization of itself (in the same namespace) for the subsequent options, and finally from IBase.
3900  It does so by help of IAcc in that namespace.
3901  \tparam Opt The first member of a group, the one to define the specialization of IAcc for.
3902  \tparam Opts The other members of that group. */
3903  template<class... Opts>
3904  struct IAcc_
3905  {
3906  using Type = IBase;
3907  };
3908 
3909  template<class Opt, class... Opts>
3910  struct IAcc_<Opt, Opts...>
3911  {
3912  using Name = typename Opt::Name;
3913  using Type = std::conditional_t<
3914  Name::value <= Names::LastShared,
3915  std::conditional_t<
3916  Name::value <= Names::LastGlobal,
3917  glob::IAcc<Opt, Opts...>,
3918  comm::IAcc<Opt, Opts...>
3919  >,
3920  spec::IAcc<Opt, Opts...>
3921  >;
3922  };
3923 
3924  /// The specialization of IAcc for the first member of a group.
3925  /** \tparam Opts The members of the group. */
3926  template<class... Opts>
3927  using IAcc = typename IAcc_<Opts...>::Type;
3928 
3929  }
3930 }
3931 
@ images
images group (opalsStripAdjust)
@ scale
scanner range scale (opalsStripAdjust)
@ echoWidthMax
strip.filter group (opalsStripAdjust)
@ nbThreads
number of concurrent threads
@ postfix_absKmaxDir
postfix for azimuth of maximum absolute curvature grid files
@ extOri
exterior orientation (opalsStripAdjust)
def thalweg_shapefile(self, th_en, logger)
Creates shapefile containing the thalweg.
Definition: hydThalweg.py:710
@ correctionModel
strip.trajectory group (opalsStripAdjust)
@ logFile
log file path
@ intOri
interior orientation (opalsStripAdjust)
@ alphaShapeRefPlane
reference plane for alpha shapes (opalsSegmentation)
@ lineVertexDist
Regular distance for vertex spacing along linear geometries.
@ dOmega
omega angle offset (opalsStripAdjust)
@ Y0
Projection center's Y-coordinate.
@ redPoint
defines the coordinates of a reduction point
@ transformData
boolean flag indicating whether or not to transform the input data (eg. opalsICP)
def cut_to_water_surface(self, wb_spl, outGeo)
Interpolates the water surface height for each section and restricts the spline to the water surface.
Definition: hydThalweg.py:431
@ statistic
general statistic information about a given input file (opalsInfo)
@ detector
edge detection method (opalsEdgeDetect)
@ perpDist
weight factor perpendicular distance (opalsLineTopology)
@ boundaryDerivativeIsZero
strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
@ mounting
compute 3D-shifts and flight direction aligned rotations (roll-pitch-yaw)
@ samplingInterval
trajectory sampling interval [s] strip.trajectory group (opalsStripAdjust)
@ postfix_slope
postfix for slope grid files (deprecated use slpPerc instead)
@ skipVoidAreas
skip all void parts of datasets for data processing (opalsALgebra)
@ postfix_sigma0
postfix for sigma0 grid files
typename IAcc_< Opts... >::Type IAcc
The specialization of IAcc_ according to the given options.
Definition: IAccess.hpp:571
@ cameras
cameras group (opalsStripAdjust)
@ maxWidth
maximum (object) width
def filter_secs(self, outGeo, logger=None)
Removes sections with not enough points and with points only in one half of the section.
Definition: hydThalweg.py:286
@ revertDist
revert distance (opalsLineTopology)
@ nonOverlapMerge
merging non-overlapping datasets (opalsGridMerge)
def P0P1(self, outGeo)
Extracts the origin and x-axis of each cross-section in global and local coordinates.
Definition: hydThalweg.py:630
@ storeMetaInfo
level of meta info that are stored (opalsNormals)
@ trace
for tracing a stem up and downwards (opalsDBH)
@ probabilities
(list of) proabability values [0..1] (opalsHisto))
@ a5
tangential lens distortion, bilinear in y ORIENT:5 (opalsStripAdjust)
@ postfix_ny
postfix for normal y grid files
@ xSigPriori
standard deviation a priori of x-coordinate (opalsStripAdjust)
@ adjustment
adjustment group (opalsStripAdjust)
@ minConsensus
minimum level of consensus
@ weighting
correspondences.strip2strip.weighting group(opalsStripAdjust)
@ postfix_slpPerc
postfix for slpPerc grid files
@ omega
sessions.adjustment.misalignment group(opalsStripAdjust)
@ outParamFile
final parameter export
@ trafo
affine 3-d transformation (opalsExport)
@ hollowingThresh
point count above which to not triangulate all data but only their outer regions or borders (opalsBou...
def plot_sections(self, outGeo, wb_spl, wb_th, logger, outGeoNonGround=None)
creates section plots, each plot contains the section points, the thalweg point and the spline of one...
Definition: hydThalweg.py:536
@ systemEchoWidth
echo width of system waveform - necessary for non FWF Data (opalsRadioCal)
@ scope
scope of execution
@ dRoll
strip.trajectory group (opalsStripAdjust)
@ postfix_pcount
postfix for point count grid files
typename IAcc_< Opts... >::Type IAcc
The specialization of IAcc_ according to the given options.
Definition: IAccess.hpp:708
@ mntCalFile
mounting calibration file (opalsAddTraj)
@ image2strip
image-to-strip correspondences group (opalsStripAdjust)
@ nBins
number of different bins (e.g. opalsHisto)
@ oformat_tin
default TIN output format
@ gridMask
grid mask file
@ binWidth
width of a single bin (e.g. opalsHisto)
@ Z0
Projection center's Z-coordinate.
logger
Definition: hydThalweg.py:745
@ borderFile
border file path (e.g. opalsTIN)
@ preventIntersection
prevent intersection of lines (opalsLineTopology)
@ postfix_shannon_entropy
postfix for shannon entropy grid files
@ closeMin
suppress closed contours with area < closeMin (opalsIsolines)
@ first
apply transformation to the first grid before subtracting
@ Y
sessions.adjustment.leverArm group(opalsStripAdjust)
@ postfix_pdens
postfix for point density grid files
@ approxFile
File containing approximation info.
@ convThreshold
adjustment convergence threshold (opalsGeorefApprox)
@ gridFile
grid model file
@ maxBridgeDist
defines maximum distance to be bridged (opalsIsolines)
@ dist
weight factor distance (opalsLineTopology)
typename IAcc_< Opts... >::Type IAcc
The specialization of IAcc_ according to the given options.
Definition: IAccess.hpp:38
@ postfix_mean
postfix for mean grid files
@ avgDist
average distance (opalsLineTopology)
@ ratioMode
echo ratio calculation mode
@ format
generic format parameter (opalsInfo)
@ obsTrafPars
input transformation parameters (opalsGeorefApprox)
@ postfix_center
postfix for closest-to-cell-center grid files
@ maxRoughness
correspondences.strip2strip.rejection group(opalsStripAdjust)
@ oriFile
file with a priori exterior image orientation (opalsStripAdjust)
@ sigmaPoint
height sigma of the point cloud data (opalsLineModeler)
@ sunPosition
sun position (opalsShade)
@ division
division mode for surface simplification (opalsSimplify)
@ paramMapping
mapping of parameters from file to own parameters
@ minHeight
minimum (object) height
@ postfix_exposDeg
postfix for expostion grid files
def thalweg_points(self, wb_spl)
Computes the thalweg point of each section as the median of the spline minima corresponding to self....
Definition: hydThalweg.py:498
@ suppressRungs
remove all one-pixel-diagonal line elements (opalsVectorize, toPolyline)
@ byRoughness
correspondences.strip2strip.weighting group(opalsStripAdjust)
@ second
apply transformation to the second grid before subtracting
@ maxArea
maximum area (opalsFillGaps)
@ file
generic file parameter (opalsInfo)
@ coord_ref_sys
default coordinate reference system (EPSG Code, WKT string or PRJ-File)
@ penetration
estimated penetration rate
@ criterion
defining the segment homogeneity criterion (opalsSegmentation)
@ task
String to replace $OPALS_TASK with.
@ debugNormalsLen
length of the normal vectors (opalsNormals)
@ postfix_quadratic_entropy
postfix for quadratic entropy grid files
@ phi
sessions.adjustment.misalignment group(opalsStripAdjust)
@ shading
shading algorithm (opalsShade)
@ inGeoid
input geoid model raster file (opalsReproject)
@ fixedFile
fixed dataset within adjustment (opalsICP)
@ modelPlaneThreshold
defines a vertical distance threshold between a model and a plane (opalsModelFormAxis)
@ postfix_excen
postfix for excentricity grid files
@ column_name_alias
column name alias
@ dExtOri
delta exterior orientation (opalsStripAdjust)
@ multiBand
used by opalsGrid to enable or disable multibans instead of multiple files for features....
@ condClustering
Parameter group 'condClustering' containing options for conditional clustering (opalsSegmentation)
@ robFactor
factor used for robust estimation(opalsLSM)
@ deleteTempData
Delete temporary / intermediate data (opalsTerrainFilter)
@ edgeHandling
controls pixel values beyond the image border (opalsConvolution)
@ byDeltaAngle
correspondences.strip2strip.weighting group(opalsStripAdjust)
@ iFilter
input filter (e.g. opalsTIN)
@ distributionFunc
definition of reference distribution (opalsHisto)
@ last
last stage to be processed (opalsStripAdjust)
@ band
raster band number/index in case of multi-layer rasters
@ trajectory
strip.trajectory group (opalsStripAdjust)
@ inSRS
input spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
@ obsFile
file with image point observations (opalsStripAdjust)
@ correspondences
correspondences group(opalsStripAdjust)
def knots(self, c_sort_sec, stepsize)
Evaluates the knots of one spline.
Definition: hydThalweg.py:371
@ fileLogLevel
verbosity level of log file output
@ postfix_min
postfix for minimum grid files
@ postfix_majority
postfix for majority grid files
@ revertInterval
revert interval (opalsLineTopology)
@ sectionRange
start/stop stationing along the axis(opalsSection))
@ relWeightLead
relative weight lead (opalsLineTopology)
@ kappa
sessions.adjustment.misalignment group(opalsStripAdjust)
@ onlyLastEchoes
strip group (opalsStripAdjust)
@ offsetPal
offset value to be applied to the given palette (opalsZcolor)
@ rejection
correspondences.strip2strip.rejection group(opalsStripAdjust)
@ maxSigmaMAD
correspondences.strip2strip.rejection group(opalsStripAdjust)
@ postfix_kminDir
postfix for azimuth of minimum curvature grid files
@ stages
group to limit the stages to be processed (opalsStripAdjust)
@ activateBorderMerge
flag if grid files should be merged at the border (opalsGridMerge)
@ direction
normals direction (e.g. opalsNormals)
@ tFormat
file format of the trajectory file (opalsImport)
@ postfix_median
postfix for median grid files
@ postfix_stdDev
postfix for standard deviation grid files
@ sigmaApriori
estimated accuracy of observations before adjustment (opalsRobFilter)
@ cfgFile
configuration file
@ lsmTrafo
LSM transformation type (opalsLSM)
@ workflow
group for workflow control (opalsStripAdjust)
def classify(self, buffered_odm, logger)
Classifies points of dataset into ground- and non-ground-points.
Definition: hydThalweg.py:136
@ perimeter
Calculate only the perimeter.
@ maxPixelRigorous
maximum number of gap-pixel for rigorous adaptive fill (opalsFillGaps)
@ ySigPriori
standard deviation a priori of x-coordinate (opalsStripAdjust)
@ a6
tangential lens distortion, bilinear in x ORIENT:6 (opalsStripAdjust)
@ pairList
a list strip pairs (e.g. opalsOverlap)
@ oformat_grid
default grid output format
def sec_stats(self, outGeo)
Extracts the stationing of each cross-section origin out of outGeo.
Definition: hydThalweg.py:263
@ legend
on / off / file=filename where legend in SVG format is to be written (opalsZcolor)
@ utm
UTM definition group (opalsStripAdjust)
@ ignoreId
defining a list of ids to be ignored (opalsLineModeler)
@ dY
strip.trajectory group (opalsStripAdjust)
@ strip2strip
correspondences.strip2strip group(opalsStripAdjust)
@ skipEmptyBins
skips empty bin entries in the histogram (opalsHisto)
@ Z
sessions.adjustment.leverArm group(opalsStripAdjust)
@ postfix_stdDevMad
postfix for standard deviation MAD grid files
@ intersectSnapDist
omit distance for missing intersections (opalsLineTopology)
@ refinePlanes
activates refining step for plane extraction (opalsSegementation)
@ forwardIntersect
forward intersection of tie points group (opalsStripAdjust)
@ wf
Parameter group 'wf' containing weight factor options (opalsLineTopology)
@ minArea
minimum area
@ samplingDist
defines a uniform sampling distance (eg, opalsICP)
@ dX0
Projection center's X-coordinate offset (opalsStripAdjust)
@ strip
strip ID of an image (opalsStripAdjust)
@ writeFilterInfo
write filter information to odm (opalsTerrainFilter)
@ inZOffset
height offset of input SRS (opalsReproject)
@ splitByAttribute
split data set by a certain (integer-valued) attribute(opalsTranslate)
@ subsamplingPercentPoi
correspondences.strip2strip.selection group(opalsStripAdjust)
@ control2strip
correspondences.control2strip group(opalsStripAdjust)
@ maxSlope
defines maximum slope to consider (opalsIsolines)
@ temp
File path to replace $OPALS_TEMP with.
@ session
strip group (opalsStripAdjust)
@ method
method of computation (opalsFillGaps, opalsLineTopology)
Ultimately, defines the specialization of IAcc in the namespace according to Opt's enumerator.
Definition: IAccess.hpp:3904
@ outGeoid
output geoid model raster file (opalsReproject)
@ cumulativeHistogram
flag for activating the cumulative histogram (opalsHisto)
@ crsTrafo
crs transformation group (opalsTranslate)
@ alphaRadius
circumcircle radius for alpha shape (opalsBounds)
Provides access method(s) to the first given option with name(s) according to that option's enumerato...
Definition: IAccess.hpp:690
def spline(self, outGeo, stepsize=1)
Fits a spline to the points of each (ground)-section.
Definition: hydThalweg.py:316
@ datum
sessions.adjustment.datum group(opalsStripAdjust)
@ spotData
file containing (2D) positions (opalsLSM))
@ misalignment
sessions.adjustment.misalignment group(opalsStripAdjust)
@ tiltAngle
sessions.adjustment.scanner.tiltAngleOffset group(opalsStripAdjust)
@ scalePal
scale factor to be applied to the given palette (opalsZcolor)
@ postfix_nx
postfix for normal x grid files
@ zone
UTM definition group (opalsStripAdjust)
@ zRange
range of z-values to be used for z-coloring (e.g. opalsZcolor)
@ maxPointDensity
(opalsStripAdjust)
@ pyramidLevels
Number of data/image pyramid levels (opalsTerrainFilter)
@ outCRS
output coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
@ threshold
threshold (opalsEdgeDetect)
Definition: hydThalweg.py:33
@ postfix_quantile
postfix for quantile grid files
@ scanner
sessions.adjustment.scanner group(opalsStripAdjust)
@ timeLag
sessions.trajectory group(opalsStripAdjust)
@ clean
Parameter group 'clean' (opalsLineTopology)
@ mergePolygon
merge polygon method (eg. opalsImport)
@ image2image
image-to-image correspondences group (opalsStripAdjust)
@ byproduct
optional output that is not the central result of a module run (opalsSegmentation: segment odm repres...
@ deviation
byproduct deviation file (opalsGridMerge)
@ lsmMode
LSM processing mode (opalsLSM)
@ createAlpha
indicator for grid mask creation as alpha channel (opalsMask)
@ segments
segment manager (opalsSegmentation)
Contains the public interface of OPALS.
Definition: AbsValueOrQuantile.hpp:8
@ postfix_range
postfix for differences between maximum and minimum grid files
@ mergeFunc
merge function for blending multiple raster (opalsGridMerge)
@ procMode
processing mode
@ inGeometry
input (OGC) gemeotry
@ normalize
normalize results (e.g. opalsConvolution)
@ lineBufferDist
Line buffer distance.
@ postfix_var
postfix for variance grid files
@ outSRS
output spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
@ refModel
defines a reference model (e.g., horizontal/tilted plane or raster model)
@ oriFormat
file format for image orientations (opalsSnellius)
@ distortion
lens distortion (opalsStripAdjust)
@ inParamFiles
parameters to import from file
@ postfix_kmin
postfix for minimum curvature grid files
@ densityRange
density range (e.g. opalsHisto)
@ breakLines
specific parameter for category break lines (opalsTerrainFilter)
@ robustIter
number of robust iterations (opalsStripAdjust)
@ postfix_nmin
postfix for n-minimum grid files
@ minImageCount
minimum number of image points for a tie point (opalsStripAdjust)
@ valueFrequency
option for opalsInfo for extracting the value frequencies for certain attributes/bands
@ force_coord_ref_sys
forces using CRS from coord_ref_sys option
@ exportOverview
export overview features (opalsInfo)
@ dpSigPriori
correspondences.control2strip group(opalsStripAdjust)
@ leverArm
sessions.adjustment group(opalsStripAdjust)
@ ignoreNoData
ignore no-data pixels withon kernel neighbourhood (opalsConvolution)
@ bulkPoints
specific parameter for category bulk points (opalsTerrainFilter)
@ trafoType
transformation type (opalsICP)
@ kernelSize
output grid size equals entire kernel size
def check_echo_attribute(self, odm)
Definition: hydThalweg.py:123
@ maxTol
maximum tolerance (e.g. opalsSimplify)
@ maxAngleDev
maximum angle between two elements (opalsICP, opalsLineTopology)
@ navFrame
navigation frame (opalsAddTraj)
@ sampleRange
sample (attribute) range (e.g. opalsHisto)
@ formLines
specific parameter for category form lines (opalsTerrainFilter)
@ lowerThresholdScale
scale for asymmetric filter thresholds (opalsTerrainFilter)
@ storeStatistics
used by zonal fit to store statistics as attribute in ODM file.
@ sigmaShift
sigma of additional shift observations (opalsGeorefApprox)
@ directory
Temporary / intermediate data directory path (opalsStripAdjust)
@ camera
camera ID (opalsStripAdjust)
@ patchWidth
patch width for structure line modelling (opalsLineModeler)
@ outTrafPars
output transformation parameters (opalsLSM, opalsGeorefApprox)
@ dKappa
kappa angle offset (opalsStripAdjust)
@ postfix_kmean
postfix for mean curvature grid files
@ coord_system
DEPRECATED OPTION: use option coord_ref_sys instead!
@ postfix_precision
forgotten to check-in by gm
@ levels
individual height levels (e.g. opalsIsolines)
@ robustWFAdpation
adaptions of the robust weight function (opalsRobFilter)
Provides access method(s) to the first given option with name(s) according to that option's enumerato...
Definition: IAccess.hpp:20
@ boundsType
boundary type to use (e.g. opalsBounds)
@ X
sessions.adjustment.leverArm group(opalsStripAdjust)
@ processStructure
byproduct structure file (opalsGridMerge)
Names
Enumerates all option names.
Definition: OptionNames.hpp:19
@ aFormat
format for approximate file (opalsDBH)
@ processId
defining a list of ids to process (opalsLineModeler)
@ undistort
create undistorted images (opalsStripAdjust)
def sections_non_ground(self, classified_odm, logger)
Creates cross-sections of (non-ground-)points.
Definition: hydThalweg.py:225
@ adaptive
Uses adaptive plane fit with inverse distance weighting.
@ tempDirectory
name of temporary directory
@ extrapolationCheck
check for extrapolation (opalsGrid)
@ c
focal length (opalsStripAdjust)
@ filter
string to be parsed in construction of DM::IFilter (various modules)
def thalweg_en(self, outGeo, wb_th)
Computes the global coordinates of each thalweg point.
Definition: hydThalweg.py:690
@ minWeight
minimum weight (opalsLineTopology)
@ postfix_max
postfix for maximum grid files
@ covariance
estimate covariance? (opalsStripAdjust)
@ merge
Parameter group 'merge' (opalsLineTopology)
@ offset
scanner range offset (opalsStripAdjust)
@ oformat_lidar
default lidar output format
def transformation_parameters(self, outGeo)
Computes the parameters of a similarity transformation.
Definition: hydThalweg.py:655
@ nClasses
number of different classes (e.g. opalsZColor)
@ fillMask
input file (vector or raster) containing the data mask (e.g. result of opalsBounds) (opalsFillGaps)
@ controlPointClouds
controlPointClouds group(opalsStripAdjust)
@ scannerOrientation
strip group (opalsStripAdjust)
@ robustInterpolation
group of specific parameters for robust interpolation (opalsTerrainFilter)
@ exactComputation
flag for exact median computation (opalsHisto)
@ inCRS
input coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
@ outGeometry
output (OGC) gemeotry
@ scanAngleMaxAbs
strip.filter group (opalsStripAdjust)
@ outDirectory
name of output directory
@ area
Calculate only the area.
@ max_log_file_mb
Maximum log file size [MB].
def cse(self, outGeo)
Extracts cross-distances, stationings and elevations of the points in each section out of outGeo.
Definition: hydThalweg.py:243
@ range
scanner range group (opalsStripAdjust)
@ oformat_vector
default vector output format
@ dZ
strip.trajectory group (opalsStripAdjust)
@ groundTiePoints
group for tie object points (opalsStripAdjust)
@ storeBeamInfo
defines beam information that is attached during import (opalsImport)
@ gapInfo
write additional gap information to files (opalsFillGaps)
@ snapRadius
snap radius (e.g. opalsTIN: used for connecting close line endings)
def buffer(self, logger)
Creates a buffer-shapefile out of the axisfile and the section width.
Definition: hydThalweg.py:81
@ postfix_attribute
postfix for grid files repesenting an abitrary attribute
For an empty parameter pack, IAcc_ defines IBase as its Type.
Definition: IAccess.hpp:24
@ calcScanAngle
strip group (opalsStripAdjust)
Provides access method(s) to the first given option with name(s) according to that option's enumerato...
Definition: IAccess.hpp:553
@ dPhi
phi angle offset (opalsStripAdjust)
@ scanAngle
sessions.adjustment.scanner.scanAngleOffset group(opalsStripAdjust)
@ restoreOrder
restore natural order of data (opalsExport)
@ sigmaSmooth
gaussian smoothing sigma (opalsEdgeDetect)
@ dX
strip.trajectory group (opalsStripAdjust)
@ tempData
Temporary / intermediate data group (opalsStripAdjust)
@ stripList
a list strip (opalsGeorefApprox)
@ postfix_z
postfix for grid files representing z
@ searchMode
dimension of nearest neighbor search (opalsNormals)
@ exportHeader
export header features (opalsInfo) -> deprecated
@ approximative
use precise(=slow) or approximative(=fast) computation (opalsBounds)
@ X0
Projection center's X-coordinate.
@ condition
condition formula string for grid mask computation (opalsMask)
@ straightness
weight factor straightness (opalsLineTopology)
@ timeRange
process only a subset of the data the given time range (opalsFullwave)
@ feature
Use a statistic feature of the boundary gap points for filling.
@ style
Parameter group 'style' containing styling-options for isolines (opalsIsolines)
@ dY0
Projection center's Y-coordinate offset (opalsStripAdjust)
@ oFilter
output filter (e.g. opalsTIN)
@ rho0
lens distortion normalization radius (opalsStripAdjust)
@ refractiveIndex
refractive index (e.g. opalsSnellius)
@ mtaZone
defines the MTA zone to resolve ambiguties of multiple-pluses-in-air-scanners (opalsFullwave)
@ outZOffset
height offset of output SRS (opalsReproject)
@ sort
sorting method (opalsSegmentation: sorting of segments)
@ seedCalculator
Calculator for seed point order (opalsSegmentation)
@ postfix_nmax
postfix for n-maximum grid files
@ dPitch
strip.trajectory group (opalsStripAdjust)
@ histogram
generic histogram (opalsHisto)
@ filterThresholds
filter thresholds for hierarchical levels (opalsTerrainFilter)
@ sigmaApprox
2d sigma of the structure line approximation (opalsLineModeler)
classifyGroundPoints
Definition: hydThalweg.py:138
@ overlap
specifies the overlap for sequential operations
@ maxReprojectionError
maximum reprojection error (opalsStripAdjust)
def sections(self, classified_odm, logger)
Creates cross-sections of (ground-)points.
Definition: hydThalweg.py:187
@ plotFile
name of plot file (e.g. opalsHisto)
@ minAngle
minimum intersection angle (opalsLineModeler)
@ postfix_kmaxDir
postfix for azimuth of maximum curvature grid files
@ selection
correspondences.strip2strip.selection group(opalsStripAdjust)
@ formula
formula string for albegraic grid computations (opalsAlgebra)
@ points_in_memory
limit number of points kept in memory by the ODM
@ postfix_rms
postfix for rms grid files
@ cleanup
Cleanup / delete temporary / intermediate data (opalsStripAdjust)
@ planeExtraction
Parameter group 'planeExtraction' containing options for planar surface extraction (opalsSegmentation...
@ checkPoints
IDs of check points (opalsStripAdjust)
@ postfix_exposRad
postfix for expostion grid files
@ mergeWidth
merge width defining the band for blending multiple raster (opalsGridMerge)
@ compressCollinear
export/store first and last vertices only of a series of collinear vertices (e.g. opalsContouring)
@ enduranceMode
force to continue processing (with next file/dataset) where normally an expcetions would be thrown (o...
@ data_type_grid
default output grid/raster data type
@ angle
weight factor angle (Hz, V) (opalsLineTopology)
For an empty parameter pack, IAcc_ defines IBase as its Type.
Definition: IAccess.hpp:694
scriptName
Definition: hydThalweg.py:747
@ alphaFile
output file path for alpha shape (opalsTIN)
@ postfix_slpRad
postfix for slpRad grid files
typename IAcc_< Opts... >::Type IAcc
The specialization of IAcc for the first member of a group.
Definition: IAccess.hpp:3927
@ fixedStrip
fixed strip within the adjustment (opalsGeorefApprox)
@ screenLogLevel
verbosity level of screen output
@ deleteUselessOutFile
delete useless output file
@ initValue
initialization value for specified cell (eg, opalsRasterize)
@ strips
strip group (opalsStripAdjust)
@ dYaw
strip.trajectory group (opalsStripAdjust)
@ hemisphere
UTM definition group (opalsStripAdjust)
@ applyTrafo
determines whether to apply transformation to first or second input file(opalsDiff)
@ voxelSize
defines the size (edge length) of voxel cube)
@ postfix_expos
postfix for expostion grid files (deprecated use exposRad instead)
@ postfix_sum
postfix for sum grid files
@ create_option
dataset create options
@ maxMemory
amount of memory [MB] to be used by (various) modules
@ postfix_openness
postfix for openness grid files
@ palFile
palette file (opalsZcolor)
@ groundControlPoints
groundControlPoints group(opalsStripAdjust)
@ densification
densification mode (opalsIsolines)
@ searchGeneration
search generation (opalsLineTopology)
@ generateOFD
defines maximum distance to be bridged (opalsInfo)
@ maxDist
maximum point distance (e.g. opalsSimplify, opalsSegmentation)
@ operation
coordinate operation for crs transformations (opalsTranslate)
def section_outlines(self, outGeo, logger)
Creates the section outlines and stores them in a shp-file.
Definition: hydThalweg.py:594
@ boundaryRatio
ratio between the valid boundary pixel of a gap and the number of gap-pixel that lie on the image bou...
@ pointCount
min und max point count for patches (opalsLineModeler)
@ setAttribute
generic ground point calculator setting (opalsTerrainFilter)
For an empty parameter pack, IAcc_ defines IBase as its Type.
Definition: IAccess.hpp:557
@ postfix_slpDeg
postfix for slpDeg grid files
@ compress
Compress temporary / intermediate data (opalsStripAdjust)
@ spikeRemoval
flag for removing spikes in the final modelling result (opalsLineModeler)
@ keyPoints
specific parameter for category key points (opalsTerrainFilter)
@ patchLength
patch length for structure line modelling (opalsLineModeler)
@ classifyOverlap
test option for opalsTerrainFiler
@ postfix_kgauss
postfix for gaussian curvature grid files
@ lineBufferedScreenLog
line buffered log output to screen
@ overlapFile
overlap file path (e.g. opalsOverlap )
@ maxIter
maximum number of iterations (various modules)
Base class of all option types.
Definition: IOption.hpp:39
@ postfix_minority
postfix for minority grid files
@ minLength
minimum length
@ postfix_sigmaz
postfix for sigmaZ grid files
@ sessions
sessions group (opalsStripAdjust)
@ dZ0
Projection center's Z-coordinate offset (opalsStripAdjust)
@ postfix_kmax
postfix for maximum curvature grid files