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 rdOnly_ If true, provides a constant access method only. Constant and non-constant methods otherwise.
19  \tparam Opts_ The parameter pack of the current and remaining options. IAcc derives from itself for the remaining options. */
20  template< Names name_, bool rdOnly_, class... Opts_ >
21  struct IAcc;
22 
23  /// For an empty parameter pack, GetIAcc_ defines IBase as its Type.
24  template< bool, class... >
25  struct GetIAcc_
26  {
27  typedef IBase Type;
28  };
29 
30  /// For a non-empty parameter pack, GetIAcc_ defines IAcc as its Type, specialized for the first and remaining options.
31  template< bool rdOnly, class Opt, class... Opts >
32  struct GetIAcc_< rdOnly, Opt, Opts... >
33  {
34  typedef IAcc< Opt::Name::value, rdOnly, Opt, Opts... > Type;
35  };
36 
37  /// The specialization of GetIAcc_ according to the given options.
38  template< bool rdOnly, class... Opts >
39  using GetIAcc = typename GetIAcc_< rdOnly, Opts... >::Type;
40 
41  /// Partial specialization for Names::force_coord_ref_sys and read-only access
42  template< class Opt, class... Opts >
43  struct IAcc< Names::force_coord_ref_sys , true, Opt, Opts... >
44  : GetIAcc< true, Opts... >
45  {
46  virtual const Opt& force_coord_ref_sys () const = 0;
47  };
48 
49  /// Partial specialization for Names::force_coord_ref_sys and read-write access
50  template< class Opt, class... Opts >
51  struct IAcc< Names::force_coord_ref_sys , false, Opt, Opts... >
52  : GetIAcc< false, 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 and read-only access
59  template< class Opt, class... Opts >
60  struct IAcc< Names::coord_ref_sys , true, Opt, Opts... >
61  : GetIAcc< true, Opts... >
62  {
63  virtual const Opt& coord_ref_sys () const = 0;
64  };
65 
66  /// Partial specialization for Names::coord_ref_sys and read-write access
67  template< class Opt, class... Opts >
68  struct IAcc< Names::coord_ref_sys , false, Opt, Opts... >
69  : GetIAcc< false, Opts... >
70  {
71  virtual const Opt& coord_ref_sys () const = 0;
72  virtual Opt& coord_ref_sys () = 0;
73  };
74 
75  /// Partial specialization for Names::coord_system and read-only access
76  template< class Opt, class... Opts >
77  struct IAcc< Names::coord_system , true, Opt, Opts... >
78  : GetIAcc< true, Opts... >
79  {
80  virtual const Opt& coord_system () const = 0;
81  };
82 
83  /// Partial specialization for Names::coord_system and read-write access
84  template< class Opt, class... Opts >
85  struct IAcc< Names::coord_system , false, Opt, Opts... >
86  : GetIAcc< false, Opts... >
87  {
88  virtual const Opt& coord_system () const = 0;
89  virtual Opt& coord_system () = 0;
90  };
91 
92  /// Partial specialization for Names::points_in_memory and read-only access
93  template< class Opt, class... Opts >
94  struct IAcc< Names::points_in_memory , true, Opt, Opts... >
95  : GetIAcc< true, Opts... >
96  {
97  virtual const Opt& points_in_memory () const = 0;
98  };
99 
100  /// Partial specialization for Names::points_in_memory and read-write access
101  template< class Opt, class... Opts >
102  struct IAcc< Names::points_in_memory , false, Opt, Opts... >
103  : GetIAcc< false, Opts... >
104  {
105  virtual const Opt& points_in_memory () const = 0;
106  virtual Opt& points_in_memory () = 0;
107  };
108 
109  /// Partial specialization for Names::max_log_file_mb and read-only access
110  template< class Opt, class... Opts >
111  struct IAcc< Names::max_log_file_mb , true, Opt, Opts... >
112  : GetIAcc< true, Opts... >
113  {
114  virtual const Opt& max_log_file_mb () const = 0;
115  };
116 
117  /// Partial specialization for Names::max_log_file_mb and read-write access
118  template< class Opt, class... Opts >
119  struct IAcc< Names::max_log_file_mb , false, Opt, Opts... >
120  : GetIAcc< false, Opts... >
121  {
122  virtual const Opt& max_log_file_mb () const = 0;
123  virtual Opt& max_log_file_mb () = 0;
124  };
125 
126  /// Partial specialization for Names::oformat_grid and read-only access
127  template< class Opt, class... Opts >
128  struct IAcc< Names::oformat_grid , true, Opt, Opts... >
129  : GetIAcc< true, Opts... >
130  {
131  virtual const Opt& oformat_grid () const = 0;
132  };
133 
134  /// Partial specialization for Names::oformat_grid and read-write access
135  template< class Opt, class... Opts >
136  struct IAcc< Names::oformat_grid , false, Opt, Opts... >
137  : GetIAcc< false, Opts... >
138  {
139  virtual const Opt& oformat_grid () const = 0;
140  virtual Opt& oformat_grid () = 0;
141  };
142 
143  /// Partial specialization for Names::oformat_vector and read-only access
144  template< class Opt, class... Opts >
145  struct IAcc< Names::oformat_vector , true, Opt, Opts... >
146  : GetIAcc< true, Opts... >
147  {
148  virtual const Opt& oformat_vector () const = 0;
149  };
150 
151  /// Partial specialization for Names::oformat_vector and read-write access
152  template< class Opt, class... Opts >
153  struct IAcc< Names::oformat_vector , false, Opt, Opts... >
154  : GetIAcc< false, Opts... >
155  {
156  virtual const Opt& oformat_vector () const = 0;
157  virtual Opt& oformat_vector () = 0;
158  };
159 
160  /// Partial specialization for Names::oformat_tin and read-only access
161  template< class Opt, class... Opts >
162  struct IAcc< Names::oformat_tin , true, Opt, Opts... >
163  : GetIAcc< true, Opts... >
164  {
165  virtual const Opt& oformat_tin () const = 0;
166  };
167 
168  /// Partial specialization for Names::oformat_tin and read-write access
169  template< class Opt, class... Opts >
170  struct IAcc< Names::oformat_tin , false, Opt, Opts... >
171  : GetIAcc< false, Opts... >
172  {
173  virtual const Opt& oformat_tin () const = 0;
174  virtual Opt& oformat_tin () = 0;
175  };
176 
177  /// Partial specialization for Names::oformat_lidar and read-only access
178  template< class Opt, class... Opts >
179  struct IAcc< Names::oformat_lidar , true, Opt, Opts... >
180  : GetIAcc< true, Opts... >
181  {
182  virtual const Opt& oformat_lidar () const = 0;
183  };
184 
185  /// Partial specialization for Names::oformat_lidar and read-write access
186  template< class Opt, class... Opts >
187  struct IAcc< Names::oformat_lidar , false, Opt, Opts... >
188  : GetIAcc< false, Opts... >
189  {
190  virtual const Opt& oformat_lidar () const = 0;
191  virtual Opt& oformat_lidar () = 0;
192  };
193 
194  /// Partial specialization for Names::data_type_grid and read-only access
195  template< class Opt, class... Opts >
196  struct IAcc< Names::data_type_grid , true, Opt, Opts... >
197  : GetIAcc< true, Opts... >
198  {
199  virtual const Opt& data_type_grid () const = 0;
200  };
201 
202  /// Partial specialization for Names::data_type_grid and read-write access
203  template< class Opt, class... Opts >
204  struct IAcc< Names::data_type_grid , false, Opt, Opts... >
205  : GetIAcc< false, Opts... >
206  {
207  virtual const Opt& data_type_grid () const = 0;
208  virtual Opt& data_type_grid () = 0;
209  };
210 
211  /// Partial specialization for Names::create_option and read-only access
212  template< class Opt, class... Opts >
213  struct IAcc< Names::create_option , true, Opt, Opts... >
214  : GetIAcc< true, Opts... >
215  {
216  virtual const Opt& create_option () const = 0;
217  };
218 
219  /// Partial specialization for Names::create_option and read-write access
220  template< class Opt, class... Opts >
221  struct IAcc< Names::create_option , false, Opt, Opts... >
222  : GetIAcc< false, Opts... >
223  {
224  virtual const Opt& create_option () const = 0;
225  virtual Opt& create_option () = 0;
226  };
227 
228  /// Partial specialization for Names::postfix_z and read-only access
229  template< class Opt, class... Opts >
230  struct IAcc< Names::postfix_z , true, Opt, Opts... >
231  : GetIAcc< true, Opts... >
232  {
233  virtual const Opt& postfix_z () const = 0;
234  };
235 
236  /// Partial specialization for Names::postfix_z and read-write access
237  template< class Opt, class... Opts >
238  struct IAcc< Names::postfix_z , false, Opt, Opts... >
239  : GetIAcc< false, Opts... >
240  {
241  virtual const Opt& postfix_z () const = 0;
242  virtual Opt& postfix_z () = 0;
243  };
244 
245  /// Partial specialization for Names::postfix_attribute and read-only access
246  template< class Opt, class... Opts >
247  struct IAcc< Names::postfix_attribute , true, Opt, Opts... >
248  : GetIAcc< true, Opts... >
249  {
250  virtual const Opt& postfix_attribute () const = 0;
251  };
252 
253  /// Partial specialization for Names::postfix_attribute and read-write access
254  template< class Opt, class... Opts >
255  struct IAcc< Names::postfix_attribute , false, Opt, Opts... >
256  : GetIAcc< false, Opts... >
257  {
258  virtual const Opt& postfix_attribute () const = 0;
259  virtual Opt& postfix_attribute () = 0;
260  };
261 
262  /// Partial specialization for Names::postfix_min and read-only access
263  template< class Opt, class... Opts >
264  struct IAcc< Names::postfix_min , true, Opt, Opts... >
265  : GetIAcc< true, Opts... >
266  {
267  virtual const Opt& postfix_min () const = 0;
268  };
269 
270  /// Partial specialization for Names::postfix_min and read-write access
271  template< class Opt, class... Opts >
272  struct IAcc< Names::postfix_min , false, Opt, Opts... >
273  : GetIAcc< false, Opts... >
274  {
275  virtual const Opt& postfix_min () const = 0;
276  virtual Opt& postfix_min () = 0;
277  };
278 
279  /// Partial specialization for Names::postfix_max and read-only access
280  template< class Opt, class... Opts >
281  struct IAcc< Names::postfix_max , true, Opt, Opts... >
282  : GetIAcc< true, Opts... >
283  {
284  virtual const Opt& postfix_max () const = 0;
285  };
286 
287  /// Partial specialization for Names::postfix_max and read-write access
288  template< class Opt, class... Opts >
289  struct IAcc< Names::postfix_max , false, Opt, Opts... >
290  : GetIAcc< false, Opts... >
291  {
292  virtual const Opt& postfix_max () const = 0;
293  virtual Opt& postfix_max () = 0;
294  };
295 
296  /// Partial specialization for Names::postfix_range and read-only access
297  template< class Opt, class... Opts >
298  struct IAcc< Names::postfix_range , true, Opt, Opts... >
299  : GetIAcc< true, Opts... >
300  {
301  virtual const Opt& postfix_range () const = 0;
302  };
303 
304  /// Partial specialization for Names::postfix_range and read-write access
305  template< class Opt, class... Opts >
306  struct IAcc< Names::postfix_range , false, Opt, Opts... >
307  : GetIAcc< false, Opts... >
308  {
309  virtual const Opt& postfix_range () const = 0;
310  virtual Opt& postfix_range () = 0;
311  };
312 
313  /// Partial specialization for Names::postfix_nmin and read-only access
314  template< class Opt, class... Opts >
315  struct IAcc< Names::postfix_nmin , true, Opt, Opts... >
316  : GetIAcc< true, Opts... >
317  {
318  virtual const Opt& postfix_nmin () const = 0;
319  };
320 
321  /// Partial specialization for Names::postfix_nmin and read-write access
322  template< class Opt, class... Opts >
323  struct IAcc< Names::postfix_nmin , false, Opt, Opts... >
324  : GetIAcc< false, Opts... >
325  {
326  virtual const Opt& postfix_nmin () const = 0;
327  virtual Opt& postfix_nmin () = 0;
328  };
329 
330  /// Partial specialization for Names::postfix_nmax and read-only access
331  template< class Opt, class... Opts >
332  struct IAcc< Names::postfix_nmax , true, Opt, Opts... >
333  : GetIAcc< true, Opts... >
334  {
335  virtual const Opt& postfix_nmax () const = 0;
336  };
337 
338  /// Partial specialization for Names::postfix_nmax and read-write access
339  template< class Opt, class... Opts >
340  struct IAcc< Names::postfix_nmax , false, Opt, Opts... >
341  : GetIAcc< false, Opts... >
342  {
343  virtual const Opt& postfix_nmax () const = 0;
344  virtual Opt& postfix_nmax () = 0;
345  };
346 
347  /// Partial specialization for Names::postfix_rms and read-only access
348  template< class Opt, class... Opts >
349  struct IAcc< Names::postfix_rms , true, Opt, Opts... >
350  : GetIAcc< true, Opts... >
351  {
352  virtual const Opt& postfix_rms () const = 0;
353  };
354 
355  /// Partial specialization for Names::postfix_rms and read-write access
356  template< class Opt, class... Opts >
357  struct IAcc< Names::postfix_rms , false, Opt, Opts... >
358  : GetIAcc< false, Opts... >
359  {
360  virtual const Opt& postfix_rms () const = 0;
361  virtual Opt& postfix_rms () = 0;
362  };
363 
364  /// Partial specialization for Names::postfix_stdDev and read-only access
365  template< class Opt, class... Opts >
366  struct IAcc< Names::postfix_stdDev , true, Opt, Opts... >
367  : GetIAcc< true, Opts... >
368  {
369  virtual const Opt& postfix_stdDev () const = 0;
370  };
371 
372  /// Partial specialization for Names::postfix_stdDev and read-write access
373  template< class Opt, class... Opts >
374  struct IAcc< Names::postfix_stdDev , false, Opt, Opts... >
375  : GetIAcc< false, Opts... >
376  {
377  virtual const Opt& postfix_stdDev () const = 0;
378  virtual Opt& postfix_stdDev () = 0;
379  };
380 
381  /// Partial specialization for Names::postfix_var and read-only access
382  template< class Opt, class... Opts >
383  struct IAcc< Names::postfix_var , true, Opt, Opts... >
384  : GetIAcc< true, Opts... >
385  {
386  virtual const Opt& postfix_var () const = 0;
387  };
388 
389  /// Partial specialization for Names::postfix_var and read-write access
390  template< class Opt, class... Opts >
391  struct IAcc< Names::postfix_var , false, Opt, Opts... >
392  : GetIAcc< false, Opts... >
393  {
394  virtual const Opt& postfix_var () const = 0;
395  virtual Opt& postfix_var () = 0;
396  };
397 
398  /// Partial specialization for Names::postfix_stdDevMad and read-only access
399  template< class Opt, class... Opts >
400  struct IAcc< Names::postfix_stdDevMad , true, Opt, Opts... >
401  : GetIAcc< true, Opts... >
402  {
403  virtual const Opt& postfix_stdDevMad () const = 0;
404  };
405 
406  /// Partial specialization for Names::postfix_stdDevMad and read-write access
407  template< class Opt, class... Opts >
408  struct IAcc< Names::postfix_stdDevMad , false, Opt, Opts... >
409  : GetIAcc< false, Opts... >
410  {
411  virtual const Opt& postfix_stdDevMad () const = 0;
412  virtual Opt& postfix_stdDevMad () = 0;
413  };
414 
415  /// Partial specialization for Names::postfix_mean and read-only access
416  template< class Opt, class... Opts >
417  struct IAcc< Names::postfix_mean , true, Opt, Opts... >
418  : GetIAcc< true, Opts... >
419  {
420  virtual const Opt& postfix_mean () const = 0;
421  };
422 
423  /// Partial specialization for Names::postfix_mean and read-write access
424  template< class Opt, class... Opts >
425  struct IAcc< Names::postfix_mean , false, Opt, Opts... >
426  : GetIAcc< false, Opts... >
427  {
428  virtual const Opt& postfix_mean () const = 0;
429  virtual Opt& postfix_mean () = 0;
430  };
431 
432  /// Partial specialization for Names::postfix_median and read-only access
433  template< class Opt, class... Opts >
434  struct IAcc< Names::postfix_median , true, Opt, Opts... >
435  : GetIAcc< true, Opts... >
436  {
437  virtual const Opt& postfix_median () const = 0;
438  };
439 
440  /// Partial specialization for Names::postfix_median and read-write access
441  template< class Opt, class... Opts >
442  struct IAcc< Names::postfix_median , false, Opt, Opts... >
443  : GetIAcc< false, Opts... >
444  {
445  virtual const Opt& postfix_median () const = 0;
446  virtual Opt& postfix_median () = 0;
447  };
448 
449  /// Partial specialization for Names::postfix_sum and read-only access
450  template< class Opt, class... Opts >
451  struct IAcc< Names::postfix_sum , true, Opt, Opts... >
452  : GetIAcc< true, Opts... >
453  {
454  virtual const Opt& postfix_sum () const = 0;
455  };
456 
457  /// Partial specialization for Names::postfix_sum and read-write access
458  template< class Opt, class... Opts >
459  struct IAcc< Names::postfix_sum , false, Opt, Opts... >
460  : GetIAcc< false, Opts... >
461  {
462  virtual const Opt& postfix_sum () const = 0;
463  virtual Opt& postfix_sum () = 0;
464  };
465 
466  /// Partial specialization for Names::postfix_minority and read-only access
467  template< class Opt, class... Opts >
468  struct IAcc< Names::postfix_minority , true, Opt, Opts... >
469  : GetIAcc< true, Opts... >
470  {
471  virtual const Opt& postfix_minority () const = 0;
472  };
473 
474  /// Partial specialization for Names::postfix_minority and read-write access
475  template< class Opt, class... Opts >
476  struct IAcc< Names::postfix_minority , false, Opt, Opts... >
477  : GetIAcc< false, Opts... >
478  {
479  virtual const Opt& postfix_minority () const = 0;
480  virtual Opt& postfix_minority () = 0;
481  };
482 
483  /// Partial specialization for Names::postfix_majority and read-only access
484  template< class Opt, class... Opts >
485  struct IAcc< Names::postfix_majority , true, Opt, Opts... >
486  : GetIAcc< true, Opts... >
487  {
488  virtual const Opt& postfix_majority () const = 0;
489  };
490 
491  /// Partial specialization for Names::postfix_majority and read-write access
492  template< class Opt, class... Opts >
493  struct IAcc< Names::postfix_majority , false, Opt, Opts... >
494  : GetIAcc< false, Opts... >
495  {
496  virtual const Opt& postfix_majority () const = 0;
497  virtual Opt& postfix_majority () = 0;
498  };
499 
500  /// Partial specialization for Names::postfix_shannon_entropy and read-only access
501  template< class Opt, class... Opts >
502  struct IAcc< Names::postfix_shannon_entropy , true, Opt, Opts... >
503  : GetIAcc< true, Opts... >
504  {
505  virtual const Opt& postfix_shannon_entropy () const = 0;
506  };
507 
508  /// Partial specialization for Names::postfix_shannon_entropy and read-write access
509  template< class Opt, class... Opts >
510  struct IAcc< Names::postfix_shannon_entropy , false, Opt, Opts... >
511  : GetIAcc< false, Opts... >
512  {
513  virtual const Opt& postfix_shannon_entropy () const = 0;
514  virtual Opt& postfix_shannon_entropy () = 0;
515  };
516 
517  /// Partial specialization for Names::postfix_quadratic_entropy and read-only access
518  template< class Opt, class... Opts >
519  struct IAcc< Names::postfix_quadratic_entropy , true, Opt, Opts... >
520  : GetIAcc< true, Opts... >
521  {
522  virtual const Opt& postfix_quadratic_entropy () const = 0;
523  };
524 
525  /// Partial specialization for Names::postfix_quadratic_entropy and read-write access
526  template< class Opt, class... Opts >
527  struct IAcc< Names::postfix_quadratic_entropy , false, Opt, Opts... >
528  : GetIAcc< false, Opts... >
529  {
530  virtual const Opt& postfix_quadratic_entropy () const = 0;
531  virtual Opt& postfix_quadratic_entropy () = 0;
532  };
533 
534  /// Partial specialization for Names::postfix_center and read-only access
535  template< class Opt, class... Opts >
536  struct IAcc< Names::postfix_center , true, Opt, Opts... >
537  : GetIAcc< true, Opts... >
538  {
539  virtual const Opt& postfix_center () const = 0;
540  };
541 
542  /// Partial specialization for Names::postfix_center and read-write access
543  template< class Opt, class... Opts >
544  struct IAcc< Names::postfix_center , false, Opt, Opts... >
545  : GetIAcc< false, Opts... >
546  {
547  virtual const Opt& postfix_center () const = 0;
548  virtual Opt& postfix_center () = 0;
549  };
550 
551  /// Partial specialization for Names::postfix_pdens and read-only access
552  template< class Opt, class... Opts >
553  struct IAcc< Names::postfix_pdens , true, Opt, Opts... >
554  : GetIAcc< true, Opts... >
555  {
556  virtual const Opt& postfix_pdens () const = 0;
557  };
558 
559  /// Partial specialization for Names::postfix_pdens and read-write access
560  template< class Opt, class... Opts >
561  struct IAcc< Names::postfix_pdens , false, Opt, Opts... >
562  : GetIAcc< false, Opts... >
563  {
564  virtual const Opt& postfix_pdens () const = 0;
565  virtual Opt& postfix_pdens () = 0;
566  };
567 
568  /// Partial specialization for Names::postfix_pcount and read-only access
569  template< class Opt, class... Opts >
570  struct IAcc< Names::postfix_pcount , true, Opt, Opts... >
571  : GetIAcc< true, Opts... >
572  {
573  virtual const Opt& postfix_pcount () const = 0;
574  };
575 
576  /// Partial specialization for Names::postfix_pcount and read-write access
577  template< class Opt, class... Opts >
578  struct IAcc< Names::postfix_pcount , false, Opt, Opts... >
579  : GetIAcc< false, Opts... >
580  {
581  virtual const Opt& postfix_pcount () const = 0;
582  virtual Opt& postfix_pcount () = 0;
583  };
584 
585  /// Partial specialization for Names::postfix_quantile and read-only access
586  template< class Opt, class... Opts >
587  struct IAcc< Names::postfix_quantile , true, Opt, Opts... >
588  : GetIAcc< true, Opts... >
589  {
590  virtual const Opt& postfix_quantile () const = 0;
591  };
592 
593  /// Partial specialization for Names::postfix_quantile and read-write access
594  template< class Opt, class... Opts >
595  struct IAcc< Names::postfix_quantile , false, Opt, Opts... >
596  : GetIAcc< false, Opts... >
597  {
598  virtual const Opt& postfix_quantile () const = 0;
599  virtual Opt& postfix_quantile () = 0;
600  };
601 
602  /// Partial specialization for Names::postfix_sigmaz and read-only access
603  template< class Opt, class... Opts >
604  struct IAcc< Names::postfix_sigmaz , true, Opt, Opts... >
605  : GetIAcc< true, Opts... >
606  {
607  virtual const Opt& postfix_sigmaz () const = 0;
608  };
609 
610  /// Partial specialization for Names::postfix_sigmaz and read-write access
611  template< class Opt, class... Opts >
612  struct IAcc< Names::postfix_sigmaz , false, Opt, Opts... >
613  : GetIAcc< false, Opts... >
614  {
615  virtual const Opt& postfix_sigmaz () const = 0;
616  virtual Opt& postfix_sigmaz () = 0;
617  };
618 
619  /// Partial specialization for Names::postfix_sigma0 and read-only access
620  template< class Opt, class... Opts >
621  struct IAcc< Names::postfix_sigma0 , true, Opt, Opts... >
622  : GetIAcc< true, Opts... >
623  {
624  virtual const Opt& postfix_sigma0 () const = 0;
625  };
626 
627  /// Partial specialization for Names::postfix_sigma0 and read-write access
628  template< class Opt, class... Opts >
629  struct IAcc< Names::postfix_sigma0 , false, Opt, Opts... >
630  : GetIAcc< false, Opts... >
631  {
632  virtual const Opt& postfix_sigma0 () const = 0;
633  virtual Opt& postfix_sigma0 () = 0;
634  };
635 
636  /// Partial specialization for Names::postfix_excen and read-only access
637  template< class Opt, class... Opts >
638  struct IAcc< Names::postfix_excen , true, Opt, Opts... >
639  : GetIAcc< true, Opts... >
640  {
641  virtual const Opt& postfix_excen () const = 0;
642  };
643 
644  /// Partial specialization for Names::postfix_excen and read-write access
645  template< class Opt, class... Opts >
646  struct IAcc< Names::postfix_excen , false, Opt, Opts... >
647  : GetIAcc< false, Opts... >
648  {
649  virtual const Opt& postfix_excen () const = 0;
650  virtual Opt& postfix_excen () = 0;
651  };
652 
653  /// Partial specialization for Names::postfix_slope and read-only access
654  template< class Opt, class... Opts >
655  struct IAcc< Names::postfix_slope , true, Opt, Opts... >
656  : GetIAcc< true, Opts... >
657  {
658  virtual const Opt& postfix_slope () const = 0;
659  };
660 
661  /// Partial specialization for Names::postfix_slope and read-write access
662  template< class Opt, class... Opts >
663  struct IAcc< Names::postfix_slope , false, Opt, Opts... >
664  : GetIAcc< false, Opts... >
665  {
666  virtual const Opt& postfix_slope () const = 0;
667  virtual Opt& postfix_slope () = 0;
668  };
669 
670  /// Partial specialization for Names::postfix_slpDeg and read-only access
671  template< class Opt, class... Opts >
672  struct IAcc< Names::postfix_slpDeg , true, Opt, Opts... >
673  : GetIAcc< true, Opts... >
674  {
675  virtual const Opt& postfix_slpDeg () const = 0;
676  };
677 
678  /// Partial specialization for Names::postfix_slpDeg and read-write access
679  template< class Opt, class... Opts >
680  struct IAcc< Names::postfix_slpDeg , false, Opt, Opts... >
681  : GetIAcc< false, Opts... >
682  {
683  virtual const Opt& postfix_slpDeg () const = 0;
684  virtual Opt& postfix_slpDeg () = 0;
685  };
686 
687  /// Partial specialization for Names::postfix_slpRad and read-only access
688  template< class Opt, class... Opts >
689  struct IAcc< Names::postfix_slpRad , true, Opt, Opts... >
690  : GetIAcc< true, Opts... >
691  {
692  virtual const Opt& postfix_slpRad () const = 0;
693  };
694 
695  /// Partial specialization for Names::postfix_slpRad and read-write access
696  template< class Opt, class... Opts >
697  struct IAcc< Names::postfix_slpRad , false, Opt, Opts... >
698  : GetIAcc< false, Opts... >
699  {
700  virtual const Opt& postfix_slpRad () const = 0;
701  virtual Opt& postfix_slpRad () = 0;
702  };
703 
704  /// Partial specialization for Names::postfix_expos and read-only access
705  template< class Opt, class... Opts >
706  struct IAcc< Names::postfix_expos , true, Opt, Opts... >
707  : GetIAcc< true, Opts... >
708  {
709  virtual const Opt& postfix_expos () const = 0;
710  };
711 
712  /// Partial specialization for Names::postfix_expos and read-write access
713  template< class Opt, class... Opts >
714  struct IAcc< Names::postfix_expos , false, Opt, Opts... >
715  : GetIAcc< false, Opts... >
716  {
717  virtual const Opt& postfix_expos () const = 0;
718  virtual Opt& postfix_expos () = 0;
719  };
720 
721  /// Partial specialization for Names::postfix_nx and read-only access
722  template< class Opt, class... Opts >
723  struct IAcc< Names::postfix_nx , true, Opt, Opts... >
724  : GetIAcc< true, Opts... >
725  {
726  virtual const Opt& postfix_nx () const = 0;
727  };
728 
729  /// Partial specialization for Names::postfix_nx and read-write access
730  template< class Opt, class... Opts >
731  struct IAcc< Names::postfix_nx , false, Opt, Opts... >
732  : GetIAcc< false, Opts... >
733  {
734  virtual const Opt& postfix_nx () const = 0;
735  virtual Opt& postfix_nx () = 0;
736  };
737 
738  /// Partial specialization for Names::postfix_ny and read-only access
739  template< class Opt, class... Opts >
740  struct IAcc< Names::postfix_ny , true, Opt, Opts... >
741  : GetIAcc< true, Opts... >
742  {
743  virtual const Opt& postfix_ny () const = 0;
744  };
745 
746  /// Partial specialization for Names::postfix_ny and read-write access
747  template< class Opt, class... Opts >
748  struct IAcc< Names::postfix_ny , false, Opt, Opts... >
749  : GetIAcc< false, Opts... >
750  {
751  virtual const Opt& postfix_ny () const = 0;
752  virtual Opt& postfix_ny () = 0;
753  };
754 
755  /// Partial specialization for Names::postfix_openness and read-only access
756  template< class Opt, class... Opts >
757  struct IAcc< Names::postfix_openness , true, Opt, Opts... >
758  : GetIAcc< true, Opts... >
759  {
760  virtual const Opt& postfix_openness () const = 0;
761  };
762 
763  /// Partial specialization for Names::postfix_openness and read-write access
764  template< class Opt, class... Opts >
765  struct IAcc< Names::postfix_openness , false, Opt, Opts... >
766  : GetIAcc< false, Opts... >
767  {
768  virtual const Opt& postfix_openness () const = 0;
769  virtual Opt& postfix_openness () = 0;
770  };
771 
772  /// Partial specialization for Names::column_name_alias and read-only access
773  template< class Opt, class... Opts >
774  struct IAcc< Names::column_name_alias , true, Opt, Opts... >
775  : GetIAcc< true, Opts... >
776  {
777  virtual const Opt& column_name_alias () const = 0;
778  };
779 
780  /// Partial specialization for Names::column_name_alias and read-write access
781  template< class Opt, class... Opts >
782  struct IAcc< Names::column_name_alias , false, Opt, Opts... >
783  : GetIAcc< false, Opts... >
784  {
785  virtual const Opt& column_name_alias () const = 0;
786  virtual Opt& column_name_alias () = 0;
787  };
788 
789  /// Partial specialization for Names::postfix_kmin and read-only access
790  template< class Opt, class... Opts >
791  struct IAcc< Names::postfix_kmin , true, Opt, Opts... >
792  : GetIAcc< true, Opts... >
793  {
794  virtual const Opt& postfix_kmin () const = 0;
795  };
796 
797  /// Partial specialization for Names::postfix_kmin and read-write access
798  template< class Opt, class... Opts >
799  struct IAcc< Names::postfix_kmin , false, Opt, Opts... >
800  : GetIAcc< false, Opts... >
801  {
802  virtual const Opt& postfix_kmin () const = 0;
803  virtual Opt& postfix_kmin () = 0;
804  };
805 
806  /// Partial specialization for Names::postfix_kmax and read-only access
807  template< class Opt, class... Opts >
808  struct IAcc< Names::postfix_kmax , true, Opt, Opts... >
809  : GetIAcc< true, Opts... >
810  {
811  virtual const Opt& postfix_kmax () const = 0;
812  };
813 
814  /// Partial specialization for Names::postfix_kmax and read-write access
815  template< class Opt, class... Opts >
816  struct IAcc< Names::postfix_kmax , false, Opt, Opts... >
817  : GetIAcc< false, Opts... >
818  {
819  virtual const Opt& postfix_kmax () const = 0;
820  virtual Opt& postfix_kmax () = 0;
821  };
822 
823  /// Partial specialization for Names::postfix_kmean and read-only access
824  template< class Opt, class... Opts >
825  struct IAcc< Names::postfix_kmean , true, Opt, Opts... >
826  : GetIAcc< true, Opts... >
827  {
828  virtual const Opt& postfix_kmean () const = 0;
829  };
830 
831  /// Partial specialization for Names::postfix_kmean and read-write access
832  template< class Opt, class... Opts >
833  struct IAcc< Names::postfix_kmean , false, Opt, Opts... >
834  : GetIAcc< false, Opts... >
835  {
836  virtual const Opt& postfix_kmean () const = 0;
837  virtual Opt& postfix_kmean () = 0;
838  };
839 
840  /// Partial specialization for Names::postfix_kgauss and read-only access
841  template< class Opt, class... Opts >
842  struct IAcc< Names::postfix_kgauss , true, Opt, Opts... >
843  : GetIAcc< true, Opts... >
844  {
845  virtual const Opt& postfix_kgauss () const = 0;
846  };
847 
848  /// Partial specialization for Names::postfix_kgauss and read-write access
849  template< class Opt, class... Opts >
850  struct IAcc< Names::postfix_kgauss , false, Opt, Opts... >
851  : GetIAcc< false, Opts... >
852  {
853  virtual const Opt& postfix_kgauss () const = 0;
854  virtual Opt& postfix_kgauss () = 0;
855  };
856 
857  /// Partial specialization for Names::postfix_kminDir and read-only access
858  template< class Opt, class... Opts >
859  struct IAcc< Names::postfix_kminDir , true, Opt, Opts... >
860  : GetIAcc< true, Opts... >
861  {
862  virtual const Opt& postfix_kminDir () const = 0;
863  };
864 
865  /// Partial specialization for Names::postfix_kminDir and read-write access
866  template< class Opt, class... Opts >
867  struct IAcc< Names::postfix_kminDir , false, Opt, Opts... >
868  : GetIAcc< false, Opts... >
869  {
870  virtual const Opt& postfix_kminDir () const = 0;
871  virtual Opt& postfix_kminDir () = 0;
872  };
873 
874  /// Partial specialization for Names::postfix_kmaxDir and read-only access
875  template< class Opt, class... Opts >
876  struct IAcc< Names::postfix_kmaxDir , true, Opt, Opts... >
877  : GetIAcc< true, Opts... >
878  {
879  virtual const Opt& postfix_kmaxDir () const = 0;
880  };
881 
882  /// Partial specialization for Names::postfix_kmaxDir and read-write access
883  template< class Opt, class... Opts >
884  struct IAcc< Names::postfix_kmaxDir , false, Opt, Opts... >
885  : GetIAcc< false, Opts... >
886  {
887  virtual const Opt& postfix_kmaxDir () const = 0;
888  virtual Opt& postfix_kmaxDir () = 0;
889  };
890 
891  /// Partial specialization for Names::postfix_absKmaxDir and read-only access
892  template< class Opt, class... Opts >
893  struct IAcc< Names::postfix_absKmaxDir , true, Opt, Opts... >
894  : GetIAcc< true, Opts... >
895  {
896  virtual const Opt& postfix_absKmaxDir () const = 0;
897  };
898 
899  /// Partial specialization for Names::postfix_absKmaxDir and read-write access
900  template< class Opt, class... Opts >
901  struct IAcc< Names::postfix_absKmaxDir , false, Opt, Opts... >
902  : GetIAcc< false, Opts... >
903  {
904  virtual const Opt& postfix_absKmaxDir () const = 0;
905  virtual Opt& postfix_absKmaxDir () = 0;
906  };
907 
908  /// Partial specialization for Names::postfix_precision and read-only access
909  template< class Opt, class... Opts >
910  struct IAcc< Names::postfix_precision , true, Opt, Opts... >
911  : GetIAcc< true, Opts... >
912  {
913  virtual const Opt& postfix_precision () const = 0;
914  };
915 
916  /// Partial specialization for Names::postfix_precision and read-write access
917  template< class Opt, class... Opts >
918  struct IAcc< Names::postfix_precision , false, Opt, Opts... >
919  : GetIAcc< false, Opts... >
920  {
921  virtual const Opt& postfix_precision () const = 0;
922  virtual Opt& postfix_precision () = 0;
923  };
924 
925  }
926 
927  /// Defines common options
928  namespace comm
929  {
930  /// Provides access method(s) to the first given option with name(s) according to that option's enumerator.
931  /** \tparam name_ The enumerator of the option to provide access to.
932  \tparam rdOnly_ If true, provides a constant access method only. Constant and non-constant methods otherwise.
933  \tparam Opts_ The parameter pack of the current and remaining options. IAcc derives from itself for the remaining options. */
934  template< Names name_, bool rdOnly_, class... Opts_ >
935  struct IAcc;
936 
937  /// For an empty parameter pack, GetIAcc_ defines IBase as its Type.
938  template< bool, class... >
939  struct GetIAcc_
940  {
941  typedef IBase Type;
942  };
943 
944  /// For a non-empty parameter pack, GetIAcc_ defines IAcc as its Type, specialized for the first and remaining options.
945  template< bool rdOnly, class Opt, class... Opts >
946  struct GetIAcc_< rdOnly, Opt, Opts... >
947  {
948  typedef IAcc< Opt::Name::value, rdOnly, Opt, Opts... > Type;
949  };
950 
951  /// The specialization of GetIAcc_ according to the given options.
952  template< bool rdOnly, class... Opts >
953  using GetIAcc = typename GetIAcc_< rdOnly, Opts... >::Type;
954 
955  /// Partial specialization for Names::nbThreads and read-only access
956  template< class Opt, class... Opts >
957  struct IAcc< Names::nbThreads , true, Opt, Opts... >
958  : GetIAcc< true, Opts... >
959  {
960  virtual const Opt& nbThreads () const = 0;
961  };
962 
963  /// Partial specialization for Names::nbThreads and read-write access
964  template< class Opt, class... Opts >
965  struct IAcc< Names::nbThreads , false, Opt, Opts... >
966  : GetIAcc< false, Opts... >
967  {
968  virtual const Opt& nbThreads () const = 0;
969  virtual Opt& nbThreads () = 0;
970  };
971 
972  /// Partial specialization for Names::screenLogLevel and read-only access
973  template< class Opt, class... Opts >
974  struct IAcc< Names::screenLogLevel , true, Opt, Opts... >
975  : GetIAcc< true, Opts... >
976  {
977  virtual const Opt& screenLogLevel () const = 0;
978  };
979 
980  /// Partial specialization for Names::screenLogLevel and read-write access
981  template< class Opt, class... Opts >
982  struct IAcc< Names::screenLogLevel , false, Opt, Opts... >
983  : GetIAcc< false, Opts... >
984  {
985  virtual const Opt& screenLogLevel () const = 0;
986  virtual Opt& screenLogLevel () = 0;
987  };
988 
989  /// Partial specialization for Names::fileLogLevel and read-only access
990  template< class Opt, class... Opts >
991  struct IAcc< Names::fileLogLevel , true, Opt, Opts... >
992  : GetIAcc< true, Opts... >
993  {
994  virtual const Opt& fileLogLevel () const = 0;
995  };
996 
997  /// Partial specialization for Names::fileLogLevel and read-write access
998  template< class Opt, class... Opts >
999  struct IAcc< Names::fileLogLevel , false, Opt, Opts... >
1000  : GetIAcc< false, Opts... >
1001  {
1002  virtual const Opt& fileLogLevel () const = 0;
1003  virtual Opt& fileLogLevel () = 0;
1004  };
1005 
1006  /// Partial specialization for Names::lineBufferedScreenLog and read-only access
1007  template< class Opt, class... Opts >
1008  struct IAcc< Names::lineBufferedScreenLog , true, Opt, Opts... >
1009  : GetIAcc< true, Opts... >
1010  {
1011  virtual const Opt& lineBufferedScreenLog () const = 0;
1012  };
1013 
1014  /// Partial specialization for Names::lineBufferedScreenLog and read-write access
1015  template< class Opt, class... Opts >
1016  struct IAcc< Names::lineBufferedScreenLog , false, Opt, Opts... >
1017  : GetIAcc< false, Opts... >
1018  {
1019  virtual const Opt& lineBufferedScreenLog () const = 0;
1020  virtual Opt& lineBufferedScreenLog () = 0;
1021  };
1022 
1023  /// Partial specialization for Names::logFile and read-only access
1024  template< class Opt, class... Opts >
1025  struct IAcc< Names::logFile , true, Opt, Opts... >
1026  : GetIAcc< true, Opts... >
1027  {
1028  virtual const Opt& logFile () const = 0;
1029  };
1030 
1031  /// Partial specialization for Names::logFile and read-write access
1032  template< class Opt, class... Opts >
1033  struct IAcc< Names::logFile , false, Opt, Opts... >
1034  : GetIAcc< false, Opts... >
1035  {
1036  virtual const Opt& logFile () const = 0;
1037  virtual Opt& logFile () = 0;
1038  };
1039 
1040  /// Partial specialization for Names::cfgFile and read-only access
1041  template< class Opt, class... Opts >
1042  struct IAcc< Names::cfgFile , true, Opt, Opts... >
1043  : GetIAcc< true, Opts... >
1044  {
1045  virtual const Opt& cfgFile () const = 0;
1046  };
1047 
1048  /// Partial specialization for Names::cfgFile and read-write access
1049  template< class Opt, class... Opts >
1050  struct IAcc< Names::cfgFile , false, Opt, Opts... >
1051  : GetIAcc< false, Opts... >
1052  {
1053  virtual const Opt& cfgFile () const = 0;
1054  virtual Opt& cfgFile () = 0;
1055  };
1056 
1057  /// Partial specialization for Names::paramMapping and read-only access
1058  template< class Opt, class... Opts >
1059  struct IAcc< Names::paramMapping , true, Opt, Opts... >
1060  : GetIAcc< true, Opts... >
1061  {
1062  virtual const Opt& paramMapping () const = 0;
1063  };
1064 
1065  /// Partial specialization for Names::paramMapping and read-write access
1066  template< class Opt, class... Opts >
1067  struct IAcc< Names::paramMapping , false, Opt, Opts... >
1068  : GetIAcc< false, Opts... >
1069  {
1070  virtual const Opt& paramMapping () const = 0;
1071  virtual Opt& paramMapping () = 0;
1072  };
1073 
1074  /// Partial specialization for Names::inParamFiles and read-only access
1075  template< class Opt, class... Opts >
1076  struct IAcc< Names::inParamFiles , true, Opt, Opts... >
1077  : GetIAcc< true, Opts... >
1078  {
1079  virtual const Opt& inParamFiles () const = 0;
1080  };
1081 
1082  /// Partial specialization for Names::inParamFiles and read-write access
1083  template< class Opt, class... Opts >
1084  struct IAcc< Names::inParamFiles , false, Opt, Opts... >
1085  : GetIAcc< false, Opts... >
1086  {
1087  virtual const Opt& inParamFiles () const = 0;
1088  virtual Opt& inParamFiles () = 0;
1089  };
1090 
1091  /// Partial specialization for Names::outParamFile and read-only access
1092  template< class Opt, class... Opts >
1093  struct IAcc< Names::outParamFile , true, Opt, Opts... >
1094  : GetIAcc< true, Opts... >
1095  {
1096  virtual const Opt& outParamFile () const = 0;
1097  };
1098 
1099  /// Partial specialization for Names::outParamFile and read-write access
1100  template< class Opt, class... Opts >
1101  struct IAcc< Names::outParamFile , false, Opt, Opts... >
1102  : GetIAcc< false, Opts... >
1103  {
1104  virtual const Opt& outParamFile () const = 0;
1105  virtual Opt& outParamFile () = 0;
1106  };
1107 
1108  /// Partial specialization for Names::scope and read-only access
1109  template< class Opt, class... Opts >
1110  struct IAcc< Names::scope , true, Opt, Opts... >
1111  : GetIAcc< true, Opts... >
1112  {
1113  virtual const Opt& scope () const = 0;
1114  };
1115 
1116  /// Partial specialization for Names::scope and read-write access
1117  template< class Opt, class... Opts >
1118  struct IAcc< Names::scope , false, Opt, Opts... >
1119  : GetIAcc< false, Opts... >
1120  {
1121  virtual const Opt& scope () const = 0;
1122  virtual Opt& scope () = 0;
1123  };
1124 
1125  /// Partial specialization for Names::deleteEmptyOutFile and read-only access
1126  template< class Opt, class... Opts >
1127  struct IAcc< Names::deleteEmptyOutFile , true, Opt, Opts... >
1128  : GetIAcc< true, Opts... >
1129  {
1130  virtual const Opt& deleteEmptyOutFile () const = 0;
1131  };
1132 
1133  /// Partial specialization for Names::deleteEmptyOutFile and read-write access
1134  template< class Opt, class... Opts >
1135  struct IAcc< Names::deleteEmptyOutFile , false, Opt, Opts... >
1136  : GetIAcc< false, Opts... >
1137  {
1138  virtual const Opt& deleteEmptyOutFile () const = 0;
1139  virtual Opt& deleteEmptyOutFile () = 0;
1140  };
1141 
1142  }
1143 
1144  /// Defines specific options
1145  namespace spec
1146  {
1147  /// Provides access method(s) to the first given option with name(s) according to that option's enumerator.
1148  /** \tparam name_ The enumerator of the option to provide access to.
1149  \tparam rdOnly_ If true, provides a constant access method only. Constant and non-constant methods otherwise.
1150  \tparam Opts_ The parameter pack of the current and remaining options. IAcc derives from itself for the remaining options. */
1151  template< Names name_, bool rdOnly_, class... Opts_ >
1152  struct IAcc;
1153 
1154  /// For an empty parameter pack, GetIAcc_ defines IBase as its Type.
1155  template< bool, class... >
1156  struct GetIAcc_
1157  {
1158  typedef IBase Type;
1159  };
1160 
1161  /// For a non-empty parameter pack, GetIAcc_ defines IAcc as its Type, specialized for the first and remaining options.
1162  template< bool rdOnly, class Opt, class... Opts >
1163  struct GetIAcc_< rdOnly, Opt, Opts... >
1164  {
1165  typedef IAcc< Opt::Name::value, rdOnly, Opt, Opts... > Type;
1166  };
1167 
1168  /// The specialization of GetIAcc_ according to the given options.
1169  template< bool rdOnly, class... Opts >
1170  using GetIAcc = typename GetIAcc_< rdOnly, Opts... >::Type;
1171 
1172  /// Partial specialization for Names::inFile and read-only access
1173  template< class Opt, class... Opts >
1174  struct IAcc< Names::inFile , true, Opt, Opts... >
1175  : GetIAcc< true, Opts... >
1176  {
1177  virtual const Opt& inFile () const = 0;
1178  };
1179 
1180  /// Partial specialization for Names::inFile and read-write access
1181  template< class Opt, class... Opts >
1182  struct IAcc< Names::inFile , false, Opt, Opts... >
1183  : GetIAcc< false, Opts... >
1184  {
1185  virtual const Opt& inFile () const = 0;
1186  virtual Opt& inFile () = 0;
1187  };
1188 
1189  /// Partial specialization for Names::outFile and read-only access
1190  template< class Opt, class... Opts >
1191  struct IAcc< Names::outFile , true, Opt, Opts... >
1192  : GetIAcc< true, Opts... >
1193  {
1194  virtual const Opt& outFile () const = 0;
1195  };
1196 
1197  /// Partial specialization for Names::outFile and read-write access
1198  template< class Opt, class... Opts >
1199  struct IAcc< Names::outFile , false, Opt, Opts... >
1200  : GetIAcc< false, Opts... >
1201  {
1202  virtual const Opt& outFile () const = 0;
1203  virtual Opt& outFile () = 0;
1204  };
1205 
1206  /// Partial specialization for Names::axisFile and read-only access
1207  template< class Opt, class... Opts >
1208  struct IAcc< Names::axisFile , true, Opt, Opts... >
1209  : GetIAcc< true, Opts... >
1210  {
1211  virtual const Opt& axisFile () const = 0;
1212  };
1213 
1214  /// Partial specialization for Names::axisFile and read-write access
1215  template< class Opt, class... Opts >
1216  struct IAcc< Names::axisFile , false, Opt, Opts... >
1217  : GetIAcc< false, Opts... >
1218  {
1219  virtual const Opt& axisFile () const = 0;
1220  virtual Opt& axisFile () = 0;
1221  };
1222 
1223  /// Partial specialization for Names::controlFile and read-only access
1224  template< class Opt, class... Opts >
1225  struct IAcc< Names::controlFile , true, Opt, Opts... >
1226  : GetIAcc< true, Opts... >
1227  {
1228  virtual const Opt& controlFile () const = 0;
1229  };
1230 
1231  /// Partial specialization for Names::controlFile and read-write access
1232  template< class Opt, class... Opts >
1233  struct IAcc< Names::controlFile , false, Opt, Opts... >
1234  : GetIAcc< false, Opts... >
1235  {
1236  virtual const Opt& controlFile () const = 0;
1237  virtual Opt& controlFile () = 0;
1238  };
1239 
1240  /// Partial specialization for Names::iFormat and read-only access
1241  template< class Opt, class... Opts >
1242  struct IAcc< Names::iFormat , true, Opt, Opts... >
1243  : GetIAcc< true, Opts... >
1244  {
1245  virtual const Opt& iFormat () const = 0;
1246  };
1247 
1248  /// Partial specialization for Names::iFormat and read-write access
1249  template< class Opt, class... Opts >
1250  struct IAcc< Names::iFormat , false, Opt, Opts... >
1251  : GetIAcc< false, Opts... >
1252  {
1253  virtual const Opt& iFormat () const = 0;
1254  virtual Opt& iFormat () = 0;
1255  };
1256 
1257  /// Partial specialization for Names::oFormat and read-only access
1258  template< class Opt, class... Opts >
1259  struct IAcc< Names::oFormat , true, Opt, Opts... >
1260  : GetIAcc< true, Opts... >
1261  {
1262  virtual const Opt& oFormat () const = 0;
1263  };
1264 
1265  /// Partial specialization for Names::oFormat and read-write access
1266  template< class Opt, class... Opts >
1267  struct IAcc< Names::oFormat , false, Opt, Opts... >
1268  : GetIAcc< false, Opts... >
1269  {
1270  virtual const Opt& oFormat () const = 0;
1271  virtual Opt& oFormat () = 0;
1272  };
1273 
1274  /// Partial specialization for Names::trjFile and read-only access
1275  template< class Opt, class... Opts >
1276  struct IAcc< Names::trjFile , true, Opt, Opts... >
1277  : GetIAcc< true, Opts... >
1278  {
1279  virtual const Opt& trjFile () const = 0;
1280  };
1281 
1282  /// Partial specialization for Names::trjFile and read-write access
1283  template< class Opt, class... Opts >
1284  struct IAcc< Names::trjFile , false, Opt, Opts... >
1285  : GetIAcc< false, Opts... >
1286  {
1287  virtual const Opt& trjFile () const = 0;
1288  virtual Opt& trjFile () = 0;
1289  };
1290 
1291  /// Partial specialization for Names::limit and read-only access
1292  template< class Opt, class... Opts >
1293  struct IAcc< Names::limit , true, Opt, Opts... >
1294  : GetIAcc< true, Opts... >
1295  {
1296  virtual const Opt& limit () const = 0;
1297  };
1298 
1299  /// Partial specialization for Names::limit and read-write access
1300  template< class Opt, class... Opts >
1301  struct IAcc< Names::limit , false, Opt, Opts... >
1302  : GetIAcc< false, Opts... >
1303  {
1304  virtual const Opt& limit () const = 0;
1305  virtual Opt& limit () = 0;
1306  };
1307 
1308  /// Partial specialization for Names::band _OPALS_COMMENT_AFTER_("raster band number/index in case of multi-layer rasters"
1309  template< class Opt, class... Opts >
1310  struct IAcc< Names::band , true, Opt, Opts... > ///< raster band number/index in case of multi-layer rasters
1311  : GetIAcc< true, Opts... >
1312  {
1313  virtual const Opt& band () const = 0; ///< raster band number/index in case of multi-layer rasters
1314  };
1315 
1316  /// Partial specialization for Names::band _OPALS_COMMENT_AFTER_("raster band number/index in case of multi-layer rasters"
1317  template< class Opt, class... Opts >
1318  struct IAcc< Names::band , false, Opt, Opts... > ///< raster band number/index in case of multi-layer rasters
1319  : GetIAcc< false, Opts... >
1320  {
1321  virtual const Opt& band () const = 0; ///< raster band number/index in case of multi-layer rasters
1322  virtual Opt& band () = 0; ///< raster band number/index in case of multi-layer rasters
1323  };
1324 
1325  /// Partial specialization for Names::storeOrder and read-only access
1326  template< class Opt, class... Opts >
1327  struct IAcc< Names::storeOrder , true, Opt, Opts... >
1328  : GetIAcc< true, Opts... >
1329  {
1330  virtual const Opt& storeOrder () const = 0;
1331  };
1332 
1333  /// Partial specialization for Names::storeOrder and read-write access
1334  template< class Opt, class... Opts >
1335  struct IAcc< Names::storeOrder , false, Opt, Opts... >
1336  : GetIAcc< false, Opts... >
1337  {
1338  virtual const Opt& storeOrder () const = 0;
1339  virtual Opt& storeOrder () = 0;
1340  };
1341 
1342  /// Partial specialization for Names::restoreOrder _OPALS_COMMENT_AFTER_("restore natural order of data (opalsExport
1343  template< class Opt, class... Opts >
1344  struct IAcc< Names::restoreOrder , true, Opt, Opts... > ///< restore natural order of data (opalsExport)
1345  : GetIAcc< true, Opts... >
1346  {
1347  virtual const Opt& restoreOrder () const = 0; ///< restore natural order of data (opalsExport)
1348  };
1349 
1350  /// Partial specialization for Names::restoreOrder _OPALS_COMMENT_AFTER_("restore natural order of data (opalsExport
1351  template< class Opt, class... Opts >
1352  struct IAcc< Names::restoreOrder , false, Opt, Opts... > ///< restore natural order of data (opalsExport)
1353  : GetIAcc< false, Opts... >
1354  {
1355  virtual const Opt& restoreOrder () const = 0; ///< restore natural order of data (opalsExport)
1356  virtual Opt& restoreOrder () = 0; ///< restore natural order of data (opalsExport)
1357  };
1358 
1359  /// Partial specialization for Names::tilePointCount and read-only access
1360  template< class Opt, class... Opts >
1361  struct IAcc< Names::tilePointCount , true, Opt, Opts... >
1362  : GetIAcc< true, Opts... >
1363  {
1364  virtual const Opt& tilePointCount () const = 0;
1365  };
1366 
1367  /// Partial specialization for Names::tilePointCount and read-write access
1368  template< class Opt, class... Opts >
1369  struct IAcc< Names::tilePointCount , false, Opt, Opts... >
1370  : GetIAcc< false, Opts... >
1371  {
1372  virtual const Opt& tilePointCount () const = 0;
1373  virtual Opt& tilePointCount () = 0;
1374  };
1375 
1376  /// Partial specialization for Names::tileSize and read-only access
1377  template< class Opt, class... Opts >
1378  struct IAcc< Names::tileSize , true, Opt, Opts... >
1379  : GetIAcc< true, Opts... >
1380  {
1381  virtual const Opt& tileSize () const = 0;
1382  };
1383 
1384  /// Partial specialization for Names::tileSize and read-write access
1385  template< class Opt, class... Opts >
1386  struct IAcc< Names::tileSize , false, Opt, Opts... >
1387  : GetIAcc< false, Opts... >
1388  {
1389  virtual const Opt& tileSize () const = 0;
1390  virtual Opt& tileSize () = 0;
1391  };
1392 
1393  /// Partial specialization for Names::gridSize and read-only access
1394  template< class Opt, class... Opts >
1395  struct IAcc< Names::gridSize , true, Opt, Opts... >
1396  : GetIAcc< true, Opts... >
1397  {
1398  virtual const Opt& gridSize () const = 0;
1399  };
1400 
1401  /// Partial specialization for Names::gridSize and read-write access
1402  template< class Opt, class... Opts >
1403  struct IAcc< Names::gridSize , false, Opt, Opts... >
1404  : GetIAcc< false, Opts... >
1405  {
1406  virtual const Opt& gridSize () const = 0;
1407  virtual Opt& gridSize () = 0;
1408  };
1409 
1410  /// Partial specialization for Names::neighbours and read-only access
1411  template< class Opt, class... Opts >
1412  struct IAcc< Names::neighbours , true, Opt, Opts... >
1413  : GetIAcc< true, Opts... >
1414  {
1415  virtual const Opt& neighbours () const = 0;
1416  };
1417 
1418  /// Partial specialization for Names::neighbours and read-write access
1419  template< class Opt, class... Opts >
1420  struct IAcc< Names::neighbours , false, Opt, Opts... >
1421  : GetIAcc< false, Opts... >
1422  {
1423  virtual const Opt& neighbours () const = 0;
1424  virtual Opt& neighbours () = 0;
1425  };
1426 
1427  /// Partial specialization for Names::searchRadius and read-only access
1428  template< class Opt, class... Opts >
1429  struct IAcc< Names::searchRadius , true, Opt, Opts... >
1430  : GetIAcc< true, Opts... >
1431  {
1432  virtual const Opt& searchRadius () const = 0;
1433  };
1434 
1435  /// Partial specialization for Names::searchRadius and read-write access
1436  template< class Opt, class... Opts >
1437  struct IAcc< Names::searchRadius , false, Opt, Opts... >
1438  : GetIAcc< false, Opts... >
1439  {
1440  virtual const Opt& searchRadius () const = 0;
1441  virtual Opt& searchRadius () = 0;
1442  };
1443 
1444  /// Partial specialization for Names::debugOutFile and read-only access
1445  template< class Opt, class... Opts >
1446  struct IAcc< Names::debugOutFile , true, Opt, Opts... >
1447  : GetIAcc< true, Opts... >
1448  {
1449  virtual const Opt& debugOutFile () const = 0;
1450  };
1451 
1452  /// Partial specialization for Names::debugOutFile and read-write access
1453  template< class Opt, class... Opts >
1454  struct IAcc< Names::debugOutFile , false, Opt, Opts... >
1455  : GetIAcc< false, Opts... >
1456  {
1457  virtual const Opt& debugOutFile () const = 0;
1458  virtual Opt& debugOutFile () = 0;
1459  };
1460 
1461  /// Partial specialization for Names::interpolation and read-only access
1462  template< class Opt, class... Opts >
1463  struct IAcc< Names::interpolation , true, Opt, Opts... >
1464  : GetIAcc< true, Opts... >
1465  {
1466  virtual const Opt& interpolation () const = 0;
1467  };
1468 
1469  /// Partial specialization for Names::interpolation and read-write access
1470  template< class Opt, class... Opts >
1471  struct IAcc< Names::interpolation , false, Opt, Opts... >
1472  : GetIAcc< false, Opts... >
1473  {
1474  virtual const Opt& interpolation () const = 0;
1475  virtual Opt& interpolation () = 0;
1476  };
1477 
1478  /// Partial specialization for Names::interval and read-only access
1479  template< class Opt, class... Opts >
1480  struct IAcc< Names::interval , true, Opt, Opts... >
1481  : GetIAcc< true, Opts... >
1482  {
1483  virtual const Opt& interval () const = 0;
1484  };
1485 
1486  /// Partial specialization for Names::interval and read-write access
1487  template< class Opt, class... Opts >
1488  struct IAcc< Names::interval , false, Opt, Opts... >
1489  : GetIAcc< false, Opts... >
1490  {
1491  virtual const Opt& interval () const = 0;
1492  virtual Opt& interval () = 0;
1493  };
1494 
1495  /// Partial specialization for Names::levels _OPALS_COMMENT_AFTER_("individual height levels (e.g. opalsIsolines
1496  template< class Opt, class... Opts >
1497  struct IAcc< Names::levels , true, Opt, Opts... > ///< individual height levels (e.g. opalsIsolines)
1498  : GetIAcc< true, Opts... >
1499  {
1500  virtual const Opt& levels () const = 0; ///< individual height levels (e.g. opalsIsolines)
1501  };
1502 
1503  /// Partial specialization for Names::levels _OPALS_COMMENT_AFTER_("individual height levels (e.g. opalsIsolines
1504  template< class Opt, class... Opts >
1505  struct IAcc< Names::levels , false, Opt, Opts... > ///< individual height levels (e.g. opalsIsolines)
1506  : GetIAcc< false, Opts... >
1507  {
1508  virtual const Opt& levels () const = 0; ///< individual height levels (e.g. opalsIsolines)
1509  virtual Opt& levels () = 0; ///< individual height levels (e.g. opalsIsolines)
1510  };
1511 
1512  /// Partial specialization for Names::nClasses _OPALS_COMMENT_AFTER_("number of different classes (e.g. opalsZColor
1513  template< class Opt, class... Opts >
1514  struct IAcc< Names::nClasses , true, Opt, Opts... > ///< number of different classes (e.g. opalsZColor)
1515  : GetIAcc< true, Opts... >
1516  {
1517  virtual const Opt& nClasses () const = 0; ///< number of different classes (e.g. opalsZColor)
1518  };
1519 
1520  /// Partial specialization for Names::nClasses _OPALS_COMMENT_AFTER_("number of different classes (e.g. opalsZColor
1521  template< class Opt, class... Opts >
1522  struct IAcc< Names::nClasses , false, Opt, Opts... > ///< number of different classes (e.g. opalsZColor)
1523  : GetIAcc< false, Opts... >
1524  {
1525  virtual const Opt& nClasses () const = 0; ///< number of different classes (e.g. opalsZColor)
1526  virtual Opt& nClasses () = 0; ///< number of different classes (e.g. opalsZColor)
1527  };
1528 
1529  /// Partial specialization for Names::nBins _OPALS_COMMENT_AFTER_("number of different bins (e.g. opalsHisto
1530  template< class Opt, class... Opts >
1531  struct IAcc< Names::nBins , true, Opt, Opts... > ///< number of different bins (e.g. opalsHisto)
1532  : GetIAcc< true, Opts... >
1533  {
1534  virtual const Opt& nBins () const = 0; ///< number of different bins (e.g. opalsHisto)
1535  };
1536 
1537  /// Partial specialization for Names::nBins _OPALS_COMMENT_AFTER_("number of different bins (e.g. opalsHisto
1538  template< class Opt, class... Opts >
1539  struct IAcc< Names::nBins , false, Opt, Opts... > ///< number of different bins (e.g. opalsHisto)
1540  : GetIAcc< false, Opts... >
1541  {
1542  virtual const Opt& nBins () const = 0; ///< number of different bins (e.g. opalsHisto)
1543  virtual Opt& nBins () = 0; ///< number of different bins (e.g. opalsHisto)
1544  };
1545 
1546  /// Partial specialization for Names::binWidth _OPALS_COMMENT_AFTER_("width of a single bin (e.g. opalsHisto
1547  template< class Opt, class... Opts >
1548  struct IAcc< Names::binWidth , true, Opt, Opts... > ///< width of a single bin (e.g. opalsHisto)
1549  : GetIAcc< true, Opts... >
1550  {
1551  virtual const Opt& binWidth () const = 0; ///< width of a single bin (e.g. opalsHisto)
1552  };
1553 
1554  /// Partial specialization for Names::binWidth _OPALS_COMMENT_AFTER_("width of a single bin (e.g. opalsHisto
1555  template< class Opt, class... Opts >
1556  struct IAcc< Names::binWidth , false, Opt, Opts... > ///< width of a single bin (e.g. opalsHisto)
1557  : GetIAcc< false, Opts... >
1558  {
1559  virtual const Opt& binWidth () const = 0; ///< width of a single bin (e.g. opalsHisto)
1560  virtual Opt& binWidth () = 0; ///< width of a single bin (e.g. opalsHisto)
1561  };
1562 
1563  /// Partial specialization for Names::palFile _OPALS_COMMENT_AFTER_("palette file (opalsZcolor
1564  template< class Opt, class... Opts >
1565  struct IAcc< Names::palFile , true, Opt, Opts... > ///< palette file (opalsZcolor)
1566  : GetIAcc< true, Opts... >
1567  {
1568  virtual const Opt& palFile () const = 0; ///< palette file (opalsZcolor)
1569  };
1570 
1571  /// Partial specialization for Names::palFile _OPALS_COMMENT_AFTER_("palette file (opalsZcolor
1572  template< class Opt, class... Opts >
1573  struct IAcc< Names::palFile , false, Opt, Opts... > ///< palette file (opalsZcolor)
1574  : GetIAcc< false, Opts... >
1575  {
1576  virtual const Opt& palFile () const = 0; ///< palette file (opalsZcolor)
1577  virtual Opt& palFile () = 0; ///< palette file (opalsZcolor)
1578  };
1579 
1580  /// Partial specialization for Names::legend _OPALS_COMMENT_AFTER_("on / off / file=filename where legend in SVG format is to be written (opalsZcolor
1581  template< class Opt, class... Opts >
1582  struct IAcc< Names::legend , true, Opt, Opts... > ///< on / off / file=filename where legend in SVG format is to be written (opalsZcolor)
1583  : GetIAcc< true, Opts... >
1584  {
1585  virtual const Opt& legend () const = 0; ///< on / off / file=filename where legend in SVG format is to be written (opalsZcolor)
1586  };
1587 
1588  /// Partial specialization for Names::legend _OPALS_COMMENT_AFTER_("on / off / file=filename where legend in SVG format is to be written (opalsZcolor
1589  template< class Opt, class... Opts >
1590  struct IAcc< Names::legend , false, Opt, Opts... > ///< on / off / file=filename where legend in SVG format is to be written (opalsZcolor)
1591  : GetIAcc< false, Opts... >
1592  {
1593  virtual const Opt& legend () const = 0; ///< on / off / file=filename where legend in SVG format is to be written (opalsZcolor)
1594  virtual Opt& legend () = 0; ///< on / off / file=filename where legend in SVG format is to be written (opalsZcolor)
1595  };
1596 
1597  /// Partial specialization for Names::scalePal _OPALS_COMMENT_AFTER_("scale factor to be applied to the given palette (opalsZcolor
1598  template< class Opt, class... Opts >
1599  struct IAcc< Names::scalePal , true, Opt, Opts... > ///< scale factor to be applied to the given palette (opalsZcolor)
1600  : GetIAcc< true, Opts... >
1601  {
1602  virtual const Opt& scalePal () const = 0; ///< scale factor to be applied to the given palette (opalsZcolor)
1603  };
1604 
1605  /// Partial specialization for Names::scalePal _OPALS_COMMENT_AFTER_("scale factor to be applied to the given palette (opalsZcolor
1606  template< class Opt, class... Opts >
1607  struct IAcc< Names::scalePal , false, Opt, Opts... > ///< scale factor to be applied to the given palette (opalsZcolor)
1608  : GetIAcc< false, Opts... >
1609  {
1610  virtual const Opt& scalePal () const = 0; ///< scale factor to be applied to the given palette (opalsZcolor)
1611  virtual Opt& scalePal () = 0; ///< scale factor to be applied to the given palette (opalsZcolor)
1612  };
1613 
1614  /// Partial specialization for Names::offsetPal _OPALS_COMMENT_AFTER_("offset value to be applied to the given palette (opalsZcolor
1615  template< class Opt, class... Opts >
1616  struct IAcc< Names::offsetPal , true, Opt, Opts... > ///< offset value to be applied to the given palette (opalsZcolor)
1617  : GetIAcc< true, Opts... >
1618  {
1619  virtual const Opt& offsetPal () const = 0; ///< offset value to be applied to the given palette (opalsZcolor)
1620  };
1621 
1622  /// Partial specialization for Names::offsetPal _OPALS_COMMENT_AFTER_("offset value to be applied to the given palette (opalsZcolor
1623  template< class Opt, class... Opts >
1624  struct IAcc< Names::offsetPal , false, Opt, Opts... > ///< offset value to be applied to the given palette (opalsZcolor)
1625  : GetIAcc< false, Opts... >
1626  {
1627  virtual const Opt& offsetPal () const = 0; ///< offset value to be applied to the given palette (opalsZcolor)
1628  virtual Opt& offsetPal () = 0; ///< offset value to be applied to the given palette (opalsZcolor)
1629  };
1630 
1631  /// Partial specialization for Names::zRange _OPALS_COMMENT_AFTER_("range of z-values to be used for z-coloring (e.g. opalsZcolor
1632  template< class Opt, class... Opts >
1633  struct IAcc< Names::zRange , true, Opt, Opts... > ///< range of z-values to be used for z-coloring (e.g. opalsZcolor)
1634  : GetIAcc< true, Opts... >
1635  {
1636  virtual const Opt& zRange () const = 0; ///< range of z-values to be used for z-coloring (e.g. opalsZcolor)
1637  };
1638 
1639  /// Partial specialization for Names::zRange _OPALS_COMMENT_AFTER_("range of z-values to be used for z-coloring (e.g. opalsZcolor
1640  template< class Opt, class... Opts >
1641  struct IAcc< Names::zRange , false, Opt, Opts... > ///< range of z-values to be used for z-coloring (e.g. opalsZcolor)
1642  : GetIAcc< false, Opts... >
1643  {
1644  virtual const Opt& zRange () const = 0; ///< range of z-values to be used for z-coloring (e.g. opalsZcolor)
1645  virtual Opt& zRange () = 0; ///< range of z-values to be used for z-coloring (e.g. opalsZcolor)
1646  };
1647 
1648  /// Partial specialization for Names::sampleRange _OPALS_COMMENT_AFTER_("sample (attribute
1649  template< class Opt, class... Opts >
1650  struct IAcc< Names::sampleRange , true, Opt, Opts... > ///< sample (attribute) range (e.g. opalsHisto)
1651  : GetIAcc< true, Opts... >
1652  {
1653  virtual const Opt& sampleRange () const = 0; ///< sample (attribute) range (e.g. opalsHisto)
1654  };
1655 
1656  /// Partial specialization for Names::sampleRange _OPALS_COMMENT_AFTER_("sample (attribute
1657  template< class Opt, class... Opts >
1658  struct IAcc< Names::sampleRange , false, Opt, Opts... > ///< sample (attribute) range (e.g. opalsHisto)
1659  : GetIAcc< false, Opts... >
1660  {
1661  virtual const Opt& sampleRange () const = 0; ///< sample (attribute) range (e.g. opalsHisto)
1662  virtual Opt& sampleRange () = 0; ///< sample (attribute) range (e.g. opalsHisto)
1663  };
1664 
1665  /// Partial specialization for Names::densityRange _OPALS_COMMENT_AFTER_("density range (e.g. opalsHisto
1666  template< class Opt, class... Opts >
1667  struct IAcc< Names::densityRange , true, Opt, Opts... > ///< density range (e.g. opalsHisto)
1668  : GetIAcc< true, Opts... >
1669  {
1670  virtual const Opt& densityRange () const = 0; ///< density range (e.g. opalsHisto)
1671  };
1672 
1673  /// Partial specialization for Names::densityRange _OPALS_COMMENT_AFTER_("density range (e.g. opalsHisto
1674  template< class Opt, class... Opts >
1675  struct IAcc< Names::densityRange , false, Opt, Opts... > ///< density range (e.g. opalsHisto)
1676  : GetIAcc< false, Opts... >
1677  {
1678  virtual const Opt& densityRange () const = 0; ///< density range (e.g. opalsHisto)
1679  virtual Opt& densityRange () = 0; ///< density range (e.g. opalsHisto)
1680  };
1681 
1682  /// Partial specialization for Names::resampling and read-only access
1683  template< class Opt, class... Opts >
1684  struct IAcc< Names::resampling , true, Opt, Opts... >
1685  : GetIAcc< true, Opts... >
1686  {
1687  virtual const Opt& resampling () const = 0;
1688  };
1689 
1690  /// Partial specialization for Names::resampling and read-write access
1691  template< class Opt, class... Opts >
1692  struct IAcc< Names::resampling , false, Opt, Opts... >
1693  : GetIAcc< false, Opts... >
1694  {
1695  virtual const Opt& resampling () const = 0;
1696  virtual Opt& resampling () = 0;
1697  };
1698 
1699  /// Partial specialization for Names::rasterType and read-only access
1700  template< class Opt, class... Opts >
1701  struct IAcc< Names::rasterType , true, Opt, Opts... >
1702  : GetIAcc< true, Opts... >
1703  {
1704  virtual const Opt& rasterType () const = 0;
1705  };
1706 
1707  /// Partial specialization for Names::rasterType and read-write access
1708  template< class Opt, class... Opts >
1709  struct IAcc< Names::rasterType , false, Opt, Opts... >
1710  : GetIAcc< false, Opts... >
1711  {
1712  virtual const Opt& rasterType () const = 0;
1713  virtual Opt& rasterType () = 0;
1714  };
1715 
1716  /// Partial specialization for Names::selMode and read-only access
1717  template< class Opt, class... Opts >
1718  struct IAcc< Names::selMode , true, Opt, Opts... >
1719  : GetIAcc< true, Opts... >
1720  {
1721  virtual const Opt& selMode () const = 0;
1722  };
1723 
1724  /// Partial specialization for Names::selMode and read-write access
1725  template< class Opt, class... Opts >
1726  struct IAcc< Names::selMode , false, Opt, Opts... >
1727  : GetIAcc< false, Opts... >
1728  {
1729  virtual const Opt& selMode () const = 0;
1730  virtual Opt& selMode () = 0;
1731  };
1732 
1733  /// Partial specialization for Names::feature and read-only access
1734  template< class Opt, class... Opts >
1735  struct IAcc< Names::feature , true, Opt, Opts... >
1736  : GetIAcc< true, Opts... >
1737  {
1738  virtual const Opt& feature () const = 0;
1739  };
1740 
1741  /// Partial specialization for Names::feature and read-write access
1742  template< class Opt, class... Opts >
1743  struct IAcc< Names::feature , false, Opt, Opts... >
1744  : GetIAcc< false, Opts... >
1745  {
1746  virtual const Opt& feature () const = 0;
1747  virtual Opt& feature () = 0;
1748  };
1749 
1750  /// Partial specialization for Names::calRegionFile and read-only access
1751  template< class Opt, class... Opts >
1752  struct IAcc< Names::calRegionFile , true, Opt, Opts... >
1753  : GetIAcc< true, Opts... >
1754  {
1755  virtual const Opt& calRegionFile () const = 0;
1756  };
1757 
1758  /// Partial specialization for Names::calRegionFile and read-write access
1759  template< class Opt, class... Opts >
1760  struct IAcc< Names::calRegionFile , false, Opt, Opts... >
1761  : GetIAcc< false, Opts... >
1762  {
1763  virtual const Opt& calRegionFile () const = 0;
1764  virtual Opt& calRegionFile () = 0;
1765  };
1766 
1767  /// Partial specialization for Names::reflectivityFile and read-only access
1768  template< class Opt, class... Opts >
1769  struct IAcc< Names::reflectivityFile , true, Opt, Opts... >
1770  : GetIAcc< true, Opts... >
1771  {
1772  virtual const Opt& reflectivityFile () const = 0;
1773  };
1774 
1775  /// Partial specialization for Names::reflectivityFile and read-write access
1776  template< class Opt, class... Opts >
1777  struct IAcc< Names::reflectivityFile , false, Opt, Opts... >
1778  : GetIAcc< false, Opts... >
1779  {
1780  virtual const Opt& reflectivityFile () const = 0;
1781  virtual Opt& reflectivityFile () = 0;
1782  };
1783 
1784  /// Partial specialization for Names::atmosphericAtt and read-only access
1785  template< class Opt, class... Opts >
1786  struct IAcc< Names::atmosphericAtt , true, Opt, Opts... >
1787  : GetIAcc< true, Opts... >
1788  {
1789  virtual const Opt& atmosphericAtt () const = 0;
1790  };
1791 
1792  /// Partial specialization for Names::atmosphericAtt and read-write access
1793  template< class Opt, class... Opts >
1794  struct IAcc< Names::atmosphericAtt , false, Opt, Opts... >
1795  : GetIAcc< false, Opts... >
1796  {
1797  virtual const Opt& atmosphericAtt () const = 0;
1798  virtual Opt& atmosphericAtt () = 0;
1799  };
1800 
1801  /// Partial specialization for Names::beamDivergence and read-only access
1802  template< class Opt, class... Opts >
1803  struct IAcc< Names::beamDivergence , true, Opt, Opts... >
1804  : GetIAcc< true, Opts... >
1805  {
1806  virtual const Opt& beamDivergence () const = 0;
1807  };
1808 
1809  /// Partial specialization for Names::beamDivergence and read-write access
1810  template< class Opt, class... Opts >
1811  struct IAcc< Names::beamDivergence , false, Opt, Opts... >
1812  : GetIAcc< false, Opts... >
1813  {
1814  virtual const Opt& beamDivergence () const = 0;
1815  virtual Opt& beamDivergence () = 0;
1816  };
1817 
1818  /// Partial specialization for Names::echoWidthFlag and read-only access
1819  template< class Opt, class... Opts >
1820  struct IAcc< Names::echoWidthFlag , true, Opt, Opts... >
1821  : GetIAcc< true, Opts... >
1822  {
1823  virtual const Opt& echoWidthFlag () const = 0;
1824  };
1825 
1826  /// Partial specialization for Names::echoWidthFlag and read-write access
1827  template< class Opt, class... Opts >
1828  struct IAcc< Names::echoWidthFlag , false, Opt, Opts... >
1829  : GetIAcc< false, Opts... >
1830  {
1831  virtual const Opt& echoWidthFlag () const = 0;
1832  virtual Opt& echoWidthFlag () = 0;
1833  };
1834 
1835  /// Partial specialization for Names::radioCal and read-only access
1836  template< class Opt, class... Opts >
1837  struct IAcc< Names::radioCal , true, Opt, Opts... >
1838  : GetIAcc< true, Opts... >
1839  {
1840  virtual const Opt& radioCal () const = 0;
1841  };
1842 
1843  /// Partial specialization for Names::radioCal and read-write access
1844  template< class Opt, class... Opts >
1845  struct IAcc< Names::radioCal , false, Opt, Opts... >
1846  : GetIAcc< false, Opts... >
1847  {
1848  virtual const Opt& radioCal () const = 0;
1849  virtual Opt& radioCal () = 0;
1850  };
1851 
1852  /// Partial specialization for Names::cellSize and read-only access
1853  template< class Opt, class... Opts >
1854  struct IAcc< Names::cellSize , true, Opt, Opts... >
1855  : GetIAcc< true, Opts... >
1856  {
1857  virtual const Opt& cellSize () const = 0;
1858  };
1859 
1860  /// Partial specialization for Names::cellSize and read-write access
1861  template< class Opt, class... Opts >
1862  struct IAcc< Names::cellSize , false, Opt, Opts... >
1863  : GetIAcc< false, Opts... >
1864  {
1865  virtual const Opt& cellSize () const = 0;
1866  virtual Opt& cellSize () = 0;
1867  };
1868 
1869  /// Partial specialization for Names::pixelSize and read-only access
1870  template< class Opt, class... Opts >
1871  struct IAcc< Names::pixelSize , true, Opt, Opts... >
1872  : GetIAcc< true, Opts... >
1873  {
1874  virtual const Opt& pixelSize () const = 0;
1875  };
1876 
1877  /// Partial specialization for Names::pixelSize and read-write access
1878  template< class Opt, class... Opts >
1879  struct IAcc< Names::pixelSize , false, Opt, Opts... >
1880  : GetIAcc< false, Opts... >
1881  {
1882  virtual const Opt& pixelSize () const = 0;
1883  virtual Opt& pixelSize () = 0;
1884  };
1885 
1886  /// Partial specialization for Names::patchSize and read-only access
1887  template< class Opt, class... Opts >
1888  struct IAcc< Names::patchSize , true, Opt, Opts... >
1889  : GetIAcc< true, Opts... >
1890  {
1891  virtual const Opt& patchSize () const = 0;
1892  };
1893 
1894  /// Partial specialization for Names::patchSize and read-write access
1895  template< class Opt, class... Opts >
1896  struct IAcc< Names::patchSize , false, Opt, Opts... >
1897  : GetIAcc< false, Opts... >
1898  {
1899  virtual const Opt& patchSize () const = 0;
1900  virtual Opt& patchSize () = 0;
1901  };
1902 
1903  /// Partial specialization for Names::voxelSize _OPALS_COMMENT_AFTER_("defines the size (edge length
1904  template< class Opt, class... Opts >
1905  struct IAcc< Names::voxelSize , true, Opt, Opts... > ///< defines the size (edge length) of voxel cube)
1906  : GetIAcc< true, Opts... >
1907  {
1908  virtual const Opt& voxelSize () const = 0; ///< defines the size (edge length) of voxel cube)
1909  };
1910 
1911  /// Partial specialization for Names::voxelSize _OPALS_COMMENT_AFTER_("defines the size (edge length
1912  template< class Opt, class... Opts >
1913  struct IAcc< Names::voxelSize , false, Opt, Opts... > ///< defines the size (edge length) of voxel cube)
1914  : GetIAcc< false, Opts... >
1915  {
1916  virtual const Opt& voxelSize () const = 0; ///< defines the size (edge length) of voxel cube)
1917  virtual Opt& voxelSize () = 0; ///< defines the size (edge length) of voxel cube)
1918  };
1919 
1920  /// Partial specialization for Names::attribute and read-only access
1921  template< class Opt, class... Opts >
1922  struct IAcc< Names::attribute , true, Opt, Opts... >
1923  : GetIAcc< true, Opts... >
1924  {
1925  virtual const Opt& attribute () const = 0;
1926  };
1927 
1928  /// Partial specialization for Names::attribute and read-write access
1929  template< class Opt, class... Opts >
1930  struct IAcc< Names::attribute , false, Opt, Opts... >
1931  : GetIAcc< false, Opts... >
1932  {
1933  virtual const Opt& attribute () const = 0;
1934  virtual Opt& attribute () = 0;
1935  };
1936 
1937  /// Partial specialization for Names::noData and read-only access
1938  template< class Opt, class... Opts >
1939  struct IAcc< Names::noData , true, Opt, Opts... >
1940  : GetIAcc< true, Opts... >
1941  {
1942  virtual const Opt& noData () const = 0;
1943  };
1944 
1945  /// Partial specialization for Names::noData and read-write access
1946  template< class Opt, class... Opts >
1947  struct IAcc< Names::noData , false, Opt, Opts... >
1948  : GetIAcc< false, Opts... >
1949  {
1950  virtual const Opt& noData () const = 0;
1951  virtual Opt& noData () = 0;
1952  };
1953 
1954  /// Partial specialization for Names::normalsAlg and read-only access
1955  template< class Opt, class... Opts >
1956  struct IAcc< Names::normalsAlg , true, Opt, Opts... >
1957  : GetIAcc< true, Opts... >
1958  {
1959  virtual const Opt& normalsAlg () const = 0;
1960  };
1961 
1962  /// Partial specialization for Names::normalsAlg and read-write access
1963  template< class Opt, class... Opts >
1964  struct IAcc< Names::normalsAlg , false, Opt, Opts... >
1965  : GetIAcc< false, Opts... >
1966  {
1967  virtual const Opt& normalsAlg () const = 0;
1968  virtual Opt& normalsAlg () = 0;
1969  };
1970 
1971  /// Partial specialization for Names::fullWaveAlg and read-only access
1972  template< class Opt, class... Opts >
1973  struct IAcc< Names::fullWaveAlg , true, Opt, Opts... >
1974  : GetIAcc< true, Opts... >
1975  {
1976  virtual const Opt& fullWaveAlg () const = 0;
1977  };
1978 
1979  /// Partial specialization for Names::fullWaveAlg and read-write access
1980  template< class Opt, class... Opts >
1981  struct IAcc< Names::fullWaveAlg , false, Opt, Opts... >
1982  : GetIAcc< false, Opts... >
1983  {
1984  virtual const Opt& fullWaveAlg () const = 0;
1985  virtual Opt& fullWaveAlg () = 0;
1986  };
1987 
1988  /// Partial specialization for Names::detectThrLow and read-only access
1989  template< class Opt, class... Opts >
1990  struct IAcc< Names::detectThrLow , true, Opt, Opts... >
1991  : GetIAcc< true, Opts... >
1992  {
1993  virtual const Opt& detectThrLow () const = 0;
1994  };
1995 
1996  /// Partial specialization for Names::detectThrLow and read-write access
1997  template< class Opt, class... Opts >
1998  struct IAcc< Names::detectThrLow , false, Opt, Opts... >
1999  : GetIAcc< false, Opts... >
2000  {
2001  virtual const Opt& detectThrLow () const = 0;
2002  virtual Opt& detectThrLow () = 0;
2003  };
2004 
2005  /// Partial specialization for Names::filter _OPALS_COMMENT_AFTER_("string to be parsed in construction of DM::IFilter (various modules
2006  template< class Opt, class... Opts >
2007  struct IAcc< Names::filter , true, Opt, Opts... > ///< string to be parsed in construction of DM::IFilter (various modules)
2008  : GetIAcc< true, Opts... >
2009  {
2010  virtual const Opt& filter () const = 0; ///< string to be parsed in construction of DM::IFilter (various modules)
2011  };
2012 
2013  /// Partial specialization for Names::filter _OPALS_COMMENT_AFTER_("string to be parsed in construction of DM::IFilter (various modules
2014  template< class Opt, class... Opts >
2015  struct IAcc< Names::filter , false, Opt, Opts... > ///< string to be parsed in construction of DM::IFilter (various modules)
2016  : GetIAcc< false, Opts... >
2017  {
2018  virtual const Opt& filter () const = 0; ///< string to be parsed in construction of DM::IFilter (various modules)
2019  virtual Opt& filter () = 0; ///< string to be parsed in construction of DM::IFilter (various modules)
2020  };
2021 
2022  /// Partial specialization for Names::iFilter _OPALS_COMMENT_AFTER_("input filter (e.g. opalsTIN
2023  template< class Opt, class... Opts >
2024  struct IAcc< Names::iFilter , true, Opt, Opts... > ///< input filter (e.g. opalsTIN)
2025  : GetIAcc< true, Opts... >
2026  {
2027  virtual const Opt& iFilter () const = 0; ///< input filter (e.g. opalsTIN)
2028  };
2029 
2030  /// Partial specialization for Names::iFilter _OPALS_COMMENT_AFTER_("input filter (e.g. opalsTIN
2031  template< class Opt, class... Opts >
2032  struct IAcc< Names::iFilter , false, Opt, Opts... > ///< input filter (e.g. opalsTIN)
2033  : GetIAcc< false, Opts... >
2034  {
2035  virtual const Opt& iFilter () const = 0; ///< input filter (e.g. opalsTIN)
2036  virtual Opt& iFilter () = 0; ///< input filter (e.g. opalsTIN)
2037  };
2038 
2039  /// Partial specialization for Names::oFilter _OPALS_COMMENT_AFTER_("output filter (e.g. opalsTIN
2040  template< class Opt, class... Opts >
2041  struct IAcc< Names::oFilter , true, Opt, Opts... > ///< output filter (e.g. opalsTIN)
2042  : GetIAcc< true, Opts... >
2043  {
2044  virtual const Opt& oFilter () const = 0; ///< output filter (e.g. opalsTIN)
2045  };
2046 
2047  /// Partial specialization for Names::oFilter _OPALS_COMMENT_AFTER_("output filter (e.g. opalsTIN
2048  template< class Opt, class... Opts >
2049  struct IAcc< Names::oFilter , false, Opt, Opts... > ///< output filter (e.g. opalsTIN)
2050  : GetIAcc< false, Opts... >
2051  {
2052  virtual const Opt& oFilter () const = 0; ///< output filter (e.g. opalsTIN)
2053  virtual Opt& oFilter () = 0; ///< output filter (e.g. opalsTIN)
2054  };
2055 
2056  /// Partial specialization for Names::alphaFile _OPALS_COMMENT_AFTER_("output file path for alpha shape (opalsTIN
2057  template< class Opt, class... Opts >
2058  struct IAcc< Names::alphaFile , true, Opt, Opts... > ///< output file path for alpha shape (opalsTIN)
2059  : GetIAcc< true, Opts... >
2060  {
2061  virtual const Opt& alphaFile () const = 0; ///< output file path for alpha shape (opalsTIN)
2062  };
2063 
2064  /// Partial specialization for Names::alphaFile _OPALS_COMMENT_AFTER_("output file path for alpha shape (opalsTIN
2065  template< class Opt, class... Opts >
2066  struct IAcc< Names::alphaFile , false, Opt, Opts... > ///< output file path for alpha shape (opalsTIN)
2067  : GetIAcc< false, Opts... >
2068  {
2069  virtual const Opt& alphaFile () const = 0; ///< output file path for alpha shape (opalsTIN)
2070  virtual Opt& alphaFile () = 0; ///< output file path for alpha shape (opalsTIN)
2071  };
2072 
2073  /// Partial specialization for Names::alphaRadius _OPALS_COMMENT_AFTER_("circumcircle radius for alpha shape (opalsBounds
2074  template< class Opt, class... Opts >
2075  struct IAcc< Names::alphaRadius , true, Opt, Opts... > ///< circumcircle radius for alpha shape (opalsBounds)
2076  : GetIAcc< true, Opts... >
2077  {
2078  virtual const Opt& alphaRadius () const = 0; ///< circumcircle radius for alpha shape (opalsBounds)
2079  };
2080 
2081  /// Partial specialization for Names::alphaRadius _OPALS_COMMENT_AFTER_("circumcircle radius for alpha shape (opalsBounds
2082  template< class Opt, class... Opts >
2083  struct IAcc< Names::alphaRadius , false, Opt, Opts... > ///< circumcircle radius for alpha shape (opalsBounds)
2084  : GetIAcc< false, Opts... >
2085  {
2086  virtual const Opt& alphaRadius () const = 0; ///< circumcircle radius for alpha shape (opalsBounds)
2087  virtual Opt& alphaRadius () = 0; ///< circumcircle radius for alpha shape (opalsBounds)
2088  };
2089 
2090  /// 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
2091  template< class Opt, class... Opts >
2092  struct IAcc< Names::hollowingThresh , true, Opt, Opts... > ///< point count above which to not triangulate all data but only their outer regions or borders (opalsBounds)
2093  : GetIAcc< true, Opts... >
2094  {
2095  virtual const Opt& hollowingThresh () const = 0; ///< point count above which to not triangulate all data but only their outer regions or borders (opalsBounds)
2096  };
2097 
2098  /// 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
2099  template< class Opt, class... Opts >
2100  struct IAcc< Names::hollowingThresh , false, Opt, Opts... > ///< point count above which to not triangulate all data but only their outer regions or borders (opalsBounds)
2101  : GetIAcc< false, Opts... >
2102  {
2103  virtual const Opt& hollowingThresh () const = 0; ///< point count above which to not triangulate all data but only their outer regions or borders (opalsBounds)
2104  virtual Opt& hollowingThresh () = 0; ///< point count above which to not triangulate all data but only their outer regions or borders (opalsBounds)
2105  };
2106 
2107  /// Partial specialization for Names::condition _OPALS_COMMENT_AFTER_("condition formula string for grid mask computation (opalsMask
2108  template< class Opt, class... Opts >
2109  struct IAcc< Names::condition , true, Opt, Opts... > ///< condition formula string for grid mask computation (opalsMask)
2110  : GetIAcc< true, Opts... >
2111  {
2112  virtual const Opt& condition () const = 0; ///< condition formula string for grid mask computation (opalsMask)
2113  };
2114 
2115  /// Partial specialization for Names::condition _OPALS_COMMENT_AFTER_("condition formula string for grid mask computation (opalsMask
2116  template< class Opt, class... Opts >
2117  struct IAcc< Names::condition , false, Opt, Opts... > ///< condition formula string for grid mask computation (opalsMask)
2118  : GetIAcc< false, Opts... >
2119  {
2120  virtual const Opt& condition () const = 0; ///< condition formula string for grid mask computation (opalsMask)
2121  virtual Opt& condition () = 0; ///< condition formula string for grid mask computation (opalsMask)
2122  };
2123 
2124  /// Partial specialization for Names::formula _OPALS_COMMENT_AFTER_("formula string for albegraic grid computations (opalsAlgebra
2125  template< class Opt, class... Opts >
2126  struct IAcc< Names::formula , true, Opt, Opts... > ///< formula string for albegraic grid computations (opalsAlgebra)
2127  : GetIAcc< true, Opts... >
2128  {
2129  virtual const Opt& formula () const = 0; ///< formula string for albegraic grid computations (opalsAlgebra)
2130  };
2131 
2132  /// Partial specialization for Names::formula _OPALS_COMMENT_AFTER_("formula string for albegraic grid computations (opalsAlgebra
2133  template< class Opt, class... Opts >
2134  struct IAcc< Names::formula , false, Opt, Opts... > ///< formula string for albegraic grid computations (opalsAlgebra)
2135  : GetIAcc< false, Opts... >
2136  {
2137  virtual const Opt& formula () const = 0; ///< formula string for albegraic grid computations (opalsAlgebra)
2138  virtual Opt& formula () = 0; ///< formula string for albegraic grid computations (opalsAlgebra)
2139  };
2140 
2141  /// Partial specialization for Names::createAlpha _OPALS_COMMENT_AFTER_("indicator for grid mask creation as alpha channel (opalsMask
2142  template< class Opt, class... Opts >
2143  struct IAcc< Names::createAlpha , true, Opt, Opts... > ///< indicator for grid mask creation as alpha channel (opalsMask)
2144  : GetIAcc< true, Opts... >
2145  {
2146  virtual const Opt& createAlpha () const = 0; ///< indicator for grid mask creation as alpha channel (opalsMask)
2147  };
2148 
2149  /// Partial specialization for Names::createAlpha _OPALS_COMMENT_AFTER_("indicator for grid mask creation as alpha channel (opalsMask
2150  template< class Opt, class... Opts >
2151  struct IAcc< Names::createAlpha , false, Opt, Opts... > ///< indicator for grid mask creation as alpha channel (opalsMask)
2152  : GetIAcc< false, Opts... >
2153  {
2154  virtual const Opt& createAlpha () const = 0; ///< indicator for grid mask creation as alpha channel (opalsMask)
2155  virtual Opt& createAlpha () = 0; ///< indicator for grid mask creation as alpha channel (opalsMask)
2156  };
2157 
2158  /// Partial specialization for Names::ratioMode _OPALS_COMMENT_AFTER_("echo ratio calculation mode"
2159  template< class Opt, class... Opts >
2160  struct IAcc< Names::ratioMode , true, Opt, Opts... > ///< echo ratio calculation mode
2161  : GetIAcc< true, Opts... >
2162  {
2163  virtual const Opt& ratioMode () const = 0; ///< echo ratio calculation mode
2164  };
2165 
2166  /// Partial specialization for Names::ratioMode _OPALS_COMMENT_AFTER_("echo ratio calculation mode"
2167  template< class Opt, class... Opts >
2168  struct IAcc< Names::ratioMode , false, Opt, Opts... > ///< echo ratio calculation mode
2169  : GetIAcc< false, Opts... >
2170  {
2171  virtual const Opt& ratioMode () const = 0; ///< echo ratio calculation mode
2172  virtual Opt& ratioMode () = 0; ///< echo ratio calculation mode
2173  };
2174 
2175  /// Partial specialization for Names::minArea _OPALS_COMMENT_AFTER_("minimum area"
2176  template< class Opt, class... Opts >
2177  struct IAcc< Names::minArea , true, Opt, Opts... > ///< minimum area
2178  : GetIAcc< true, Opts... >
2179  {
2180  virtual const Opt& minArea () const = 0; ///< minimum area
2181  };
2182 
2183  /// Partial specialization for Names::minArea _OPALS_COMMENT_AFTER_("minimum area"
2184  template< class Opt, class... Opts >
2185  struct IAcc< Names::minArea , false, Opt, Opts... > ///< minimum area
2186  : GetIAcc< false, Opts... >
2187  {
2188  virtual const Opt& minArea () const = 0; ///< minimum area
2189  virtual Opt& minArea () = 0; ///< minimum area
2190  };
2191 
2192  /// Partial specialization for Names::minLength _OPALS_COMMENT_AFTER_("minimum length"
2193  template< class Opt, class... Opts >
2194  struct IAcc< Names::minLength , true, Opt, Opts... > ///< minimum length
2195  : GetIAcc< true, Opts... >
2196  {
2197  virtual const Opt& minLength () const = 0; ///< minimum length
2198  };
2199 
2200  /// Partial specialization for Names::minLength _OPALS_COMMENT_AFTER_("minimum length"
2201  template< class Opt, class... Opts >
2202  struct IAcc< Names::minLength , false, Opt, Opts... > ///< minimum length
2203  : GetIAcc< false, Opts... >
2204  {
2205  virtual const Opt& minLength () const = 0; ///< minimum length
2206  virtual Opt& minLength () = 0; ///< minimum length
2207  };
2208 
2209  /// Partial specialization for Names::overlap _OPALS_COMMENT_AFTER_("specifies the overlap for sequential operations"
2210  template< class Opt, class... Opts >
2211  struct IAcc< Names::overlap , true, Opt, Opts... > ///< specifies the overlap for sequential operations
2212  : GetIAcc< true, Opts... >
2213  {
2214  virtual const Opt& overlap () const = 0; ///< specifies the overlap for sequential operations
2215  };
2216 
2217  /// Partial specialization for Names::overlap _OPALS_COMMENT_AFTER_("specifies the overlap for sequential operations"
2218  template< class Opt, class... Opts >
2219  struct IAcc< Names::overlap , false, Opt, Opts... > ///< specifies the overlap for sequential operations
2220  : GetIAcc< false, Opts... >
2221  {
2222  virtual const Opt& overlap () const = 0; ///< specifies the overlap for sequential operations
2223  virtual Opt& overlap () = 0; ///< specifies the overlap for sequential operations
2224  };
2225 
2226  /// Partial specialization for Names::contours and read-only access
2227  template< class Opt, class... Opts >
2228  struct IAcc< Names::contours , true, Opt, Opts... >
2229  : GetIAcc< true, Opts... >
2230  {
2231  virtual const Opt& contours () const = 0;
2232  };
2233 
2234  /// Partial specialization for Names::contours and read-write access
2235  template< class Opt, class... Opts >
2236  struct IAcc< Names::contours , false, Opt, Opts... >
2237  : GetIAcc< false, Opts... >
2238  {
2239  virtual const Opt& contours () const = 0;
2240  virtual Opt& contours () = 0;
2241  };
2242 
2243  /// Partial specialization for Names::sections and read-only access
2244  template< class Opt, class... Opts >
2245  struct IAcc< Names::sections , true, Opt, Opts... >
2246  : GetIAcc< true, Opts... >
2247  {
2248  virtual const Opt& sections () const = 0;
2249  };
2250 
2251  /// Partial specialization for Names::sections and read-write access
2252  template< class Opt, class... Opts >
2253  struct IAcc< Names::sections , false, Opt, Opts... >
2254  : GetIAcc< false, Opts... >
2255  {
2256  virtual const Opt& sections () const = 0;
2257  virtual Opt& sections () = 0;
2258  };
2259 
2260  /// Partial specialization for Names::maxSigma and read-only access
2261  template< class Opt, class... Opts >
2262  struct IAcc< Names::maxSigma , true, Opt, Opts... >
2263  : GetIAcc< true, Opts... >
2264  {
2265  virtual const Opt& maxSigma () const = 0;
2266  };
2267 
2268  /// Partial specialization for Names::maxSigma and read-write access
2269  template< class Opt, class... Opts >
2270  struct IAcc< Names::maxSigma , false, Opt, Opts... >
2271  : GetIAcc< false, Opts... >
2272  {
2273  virtual const Opt& maxSigma () const = 0;
2274  virtual Opt& maxSigma () = 0;
2275  };
2276 
2277  /// Partial specialization for Names::maxSigmaMAD _OPALS_COMMENT_AFTER_("correspondences.strip2strip.rejection group(opalsStripAdjust
2278  template< class Opt, class... Opts >
2279  struct IAcc< Names::maxSigmaMAD , true, Opt, Opts... > ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
2280  : GetIAcc< true, Opts... >
2281  {
2282  virtual const Opt& maxSigmaMAD () const = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
2283  };
2284 
2285  /// Partial specialization for Names::maxSigmaMAD _OPALS_COMMENT_AFTER_("correspondences.strip2strip.rejection group(opalsStripAdjust
2286  template< class Opt, class... Opts >
2287  struct IAcc< Names::maxSigmaMAD , false, Opt, Opts... > ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
2288  : GetIAcc< false, Opts... >
2289  {
2290  virtual const Opt& maxSigmaMAD () const = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
2291  virtual Opt& maxSigmaMAD () = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
2292  };
2293 
2294  /// Partial specialization for Names::maxDev and read-only access
2295  template< class Opt, class... Opts >
2296  struct IAcc< Names::maxDev , true, Opt, Opts... >
2297  : GetIAcc< true, Opts... >
2298  {
2299  virtual const Opt& maxDev () const = 0;
2300  };
2301 
2302  /// Partial specialization for Names::maxDev and read-write access
2303  template< class Opt, class... Opts >
2304  struct IAcc< Names::maxDev , false, Opt, Opts... >
2305  : GetIAcc< false, Opts... >
2306  {
2307  virtual const Opt& maxDev () const = 0;
2308  virtual Opt& maxDev () = 0;
2309  };
2310 
2311  /// Partial specialization for Names::maxAngleDev _OPALS_COMMENT_AFTER_("maximum angle between two elements (opalsICP, opalsLineTopology
2312  template< class Opt, class... Opts >
2313  struct IAcc< Names::maxAngleDev , true, Opt, Opts... > ///< maximum angle between two elements (opalsICP, opalsLineTopology)
2314  : GetIAcc< true, Opts... >
2315  {
2316  virtual const Opt& maxAngleDev () const = 0; ///< maximum angle between two elements (opalsICP, opalsLineTopology)
2317  };
2318 
2319  /// Partial specialization for Names::maxAngleDev _OPALS_COMMENT_AFTER_("maximum angle between two elements (opalsICP, opalsLineTopology
2320  template< class Opt, class... Opts >
2321  struct IAcc< Names::maxAngleDev , false, Opt, Opts... > ///< maximum angle between two elements (opalsICP, opalsLineTopology)
2322  : GetIAcc< false, Opts... >
2323  {
2324  virtual const Opt& maxAngleDev () const = 0; ///< maximum angle between two elements (opalsICP, opalsLineTopology)
2325  virtual Opt& maxAngleDev () = 0; ///< maximum angle between two elements (opalsICP, opalsLineTopology)
2326  };
2327 
2328  /// Partial specialization for Names::maxMemory _OPALS_COMMENT_AFTER_("amount of memory [MB] to be used by (various
2329  template< class Opt, class... Opts >
2330  struct IAcc< Names::maxMemory , true, Opt, Opts... > ///< amount of memory [MB] to be used by (various) modules
2331  : GetIAcc< true, Opts... >
2332  {
2333  virtual const Opt& maxMemory () const = 0; ///< amount of memory [MB] to be used by (various) modules
2334  };
2335 
2336  /// Partial specialization for Names::maxMemory _OPALS_COMMENT_AFTER_("amount of memory [MB] to be used by (various
2337  template< class Opt, class... Opts >
2338  struct IAcc< Names::maxMemory , false, Opt, Opts... > ///< amount of memory [MB] to be used by (various) modules
2339  : GetIAcc< false, Opts... >
2340  {
2341  virtual const Opt& maxMemory () const = 0; ///< amount of memory [MB] to be used by (various) modules
2342  virtual Opt& maxMemory () = 0; ///< amount of memory [MB] to be used by (various) modules
2343  };
2344 
2345  /// Partial specialization for Names::maxTol _OPALS_COMMENT_AFTER_("maximum tolerance (e.g. opalsSimplify
2346  template< class Opt, class... Opts >
2347  struct IAcc< Names::maxTol , true, Opt, Opts... > ///< maximum tolerance (e.g. opalsSimplify)
2348  : GetIAcc< true, Opts... >
2349  {
2350  virtual const Opt& maxTol () const = 0; ///< maximum tolerance (e.g. opalsSimplify)
2351  };
2352 
2353  /// Partial specialization for Names::maxTol _OPALS_COMMENT_AFTER_("maximum tolerance (e.g. opalsSimplify
2354  template< class Opt, class... Opts >
2355  struct IAcc< Names::maxTol , false, Opt, Opts... > ///< maximum tolerance (e.g. opalsSimplify)
2356  : GetIAcc< false, Opts... >
2357  {
2358  virtual const Opt& maxTol () const = 0; ///< maximum tolerance (e.g. opalsSimplify)
2359  virtual Opt& maxTol () = 0; ///< maximum tolerance (e.g. opalsSimplify)
2360  };
2361 
2362  /// Partial specialization for Names::maxDist _OPALS_COMMENT_AFTER_("maximum point distance (e.g. opalsSimplify, opalsSegmentation
2363  template< class Opt, class... Opts >
2364  struct IAcc< Names::maxDist , true, Opt, Opts... > ///< maximum point distance (e.g. opalsSimplify, opalsSegmentation)
2365  : GetIAcc< true, Opts... >
2366  {
2367  virtual const Opt& maxDist () const = 0; ///< maximum point distance (e.g. opalsSimplify, opalsSegmentation)
2368  };
2369 
2370  /// Partial specialization for Names::maxDist _OPALS_COMMENT_AFTER_("maximum point distance (e.g. opalsSimplify, opalsSegmentation
2371  template< class Opt, class... Opts >
2372  struct IAcc< Names::maxDist , false, Opt, Opts... > ///< maximum point distance (e.g. opalsSimplify, opalsSegmentation)
2373  : GetIAcc< false, Opts... >
2374  {
2375  virtual const Opt& maxDist () const = 0; ///< maximum point distance (e.g. opalsSimplify, opalsSegmentation)
2376  virtual Opt& maxDist () = 0; ///< maximum point distance (e.g. opalsSimplify, opalsSegmentation)
2377  };
2378 
2379  /// Partial specialization for Names::maxIter _OPALS_COMMENT_AFTER_("maximum number of iterations (various modules
2380  template< class Opt, class... Opts >
2381  struct IAcc< Names::maxIter , true, Opt, Opts... > ///< maximum number of iterations (various modules)
2382  : GetIAcc< true, Opts... >
2383  {
2384  virtual const Opt& maxIter () const = 0; ///< maximum number of iterations (various modules)
2385  };
2386 
2387  /// Partial specialization for Names::maxIter _OPALS_COMMENT_AFTER_("maximum number of iterations (various modules
2388  template< class Opt, class... Opts >
2389  struct IAcc< Names::maxIter , false, Opt, Opts... > ///< maximum number of iterations (various modules)
2390  : GetIAcc< false, Opts... >
2391  {
2392  virtual const Opt& maxIter () const = 0; ///< maximum number of iterations (various modules)
2393  virtual Opt& maxIter () = 0; ///< maximum number of iterations (various modules)
2394  };
2395 
2396  /// Partial specialization for Names::gridMask _OPALS_COMMENT_AFTER_("grid mask file"
2397  template< class Opt, class... Opts >
2398  struct IAcc< Names::gridMask , true, Opt, Opts... > ///< grid mask file
2399  : GetIAcc< true, Opts... >
2400  {
2401  virtual const Opt& gridMask () const = 0; ///< grid mask file
2402  };
2403 
2404  /// Partial specialization for Names::gridMask _OPALS_COMMENT_AFTER_("grid mask file"
2405  template< class Opt, class... Opts >
2406  struct IAcc< Names::gridMask , false, Opt, Opts... > ///< grid mask file
2407  : GetIAcc< false, Opts... >
2408  {
2409  virtual const Opt& gridMask () const = 0; ///< grid mask file
2410  virtual Opt& gridMask () = 0; ///< grid mask file
2411  };
2412 
2413  /// Partial specialization for Names::gridFile _OPALS_COMMENT_AFTER_("grid model file"
2414  template< class Opt, class... Opts >
2415  struct IAcc< Names::gridFile , true, Opt, Opts... > ///< grid model file
2416  : GetIAcc< true, Opts... >
2417  {
2418  virtual const Opt& gridFile () const = 0; ///< grid model file
2419  };
2420 
2421  /// Partial specialization for Names::gridFile _OPALS_COMMENT_AFTER_("grid model file"
2422  template< class Opt, class... Opts >
2423  struct IAcc< Names::gridFile , false, Opt, Opts... > ///< grid model file
2424  : GetIAcc< false, Opts... >
2425  {
2426  virtual const Opt& gridFile () const = 0; ///< grid model file
2427  virtual Opt& gridFile () = 0; ///< grid model file
2428  };
2429 
2430  /// Partial specialization for Names::spotData _OPALS_COMMENT_AFTER_("file containing (2D
2431  template< class Opt, class... Opts >
2432  struct IAcc< Names::spotData , true, Opt, Opts... > ///< file containing (2D) positions (opalsLSM))
2433  : GetIAcc< true, Opts... >
2434  {
2435  virtual const Opt& spotData () const = 0; ///< file containing (2D) positions (opalsLSM))
2436  };
2437 
2438  /// Partial specialization for Names::spotData _OPALS_COMMENT_AFTER_("file containing (2D
2439  template< class Opt, class... Opts >
2440  struct IAcc< Names::spotData , false, Opt, Opts... > ///< file containing (2D) positions (opalsLSM))
2441  : GetIAcc< false, Opts... >
2442  {
2443  virtual const Opt& spotData () const = 0; ///< file containing (2D) positions (opalsLSM))
2444  virtual Opt& spotData () = 0; ///< file containing (2D) positions (opalsLSM))
2445  };
2446 
2447  /// Partial specialization for Names::lsmMode _OPALS_COMMENT_AFTER_("LSM processing mode (opalsLSM
2448  template< class Opt, class... Opts >
2449  struct IAcc< Names::lsmMode , true, Opt, Opts... > ///< LSM processing mode (opalsLSM)
2450  : GetIAcc< true, Opts... >
2451  {
2452  virtual const Opt& lsmMode () const = 0; ///< LSM processing mode (opalsLSM)
2453  };
2454 
2455  /// Partial specialization for Names::lsmMode _OPALS_COMMENT_AFTER_("LSM processing mode (opalsLSM
2456  template< class Opt, class... Opts >
2457  struct IAcc< Names::lsmMode , false, Opt, Opts... > ///< LSM processing mode (opalsLSM)
2458  : GetIAcc< false, Opts... >
2459  {
2460  virtual const Opt& lsmMode () const = 0; ///< LSM processing mode (opalsLSM)
2461  virtual Opt& lsmMode () = 0; ///< LSM processing mode (opalsLSM)
2462  };
2463 
2464  /// Partial specialization for Names::lsmTrafo _OPALS_COMMENT_AFTER_("LSM transformation type (opalsLSM
2465  template< class Opt, class... Opts >
2466  struct IAcc< Names::lsmTrafo , true, Opt, Opts... > ///< LSM transformation type (opalsLSM)
2467  : GetIAcc< true, Opts... >
2468  {
2469  virtual const Opt& lsmTrafo () const = 0; ///< LSM transformation type (opalsLSM)
2470  };
2471 
2472  /// Partial specialization for Names::lsmTrafo _OPALS_COMMENT_AFTER_("LSM transformation type (opalsLSM
2473  template< class Opt, class... Opts >
2474  struct IAcc< Names::lsmTrafo , false, Opt, Opts... > ///< LSM transformation type (opalsLSM)
2475  : GetIAcc< false, Opts... >
2476  {
2477  virtual const Opt& lsmTrafo () const = 0; ///< LSM transformation type (opalsLSM)
2478  virtual Opt& lsmTrafo () = 0; ///< LSM transformation type (opalsLSM)
2479  };
2480 
2481  /// Partial specialization for Names::trafoType _OPALS_COMMENT_AFTER_("transformation type (opalsICP
2482  template< class Opt, class... Opts >
2483  struct IAcc< Names::trafoType , true, Opt, Opts... > ///< transformation type (opalsICP)
2484  : GetIAcc< true, Opts... >
2485  {
2486  virtual const Opt& trafoType () const = 0; ///< transformation type (opalsICP)
2487  };
2488 
2489  /// Partial specialization for Names::trafoType _OPALS_COMMENT_AFTER_("transformation type (opalsICP
2490  template< class Opt, class... Opts >
2491  struct IAcc< Names::trafoType , false, Opt, Opts... > ///< transformation type (opalsICP)
2492  : GetIAcc< false, Opts... >
2493  {
2494  virtual const Opt& trafoType () const = 0; ///< transformation type (opalsICP)
2495  virtual Opt& trafoType () = 0; ///< transformation type (opalsICP)
2496  };
2497 
2498  /// Partial specialization for Names::robFactor _OPALS_COMMENT_AFTER_("factor used for robust estimation(opalsLSM
2499  template< class Opt, class... Opts >
2500  struct IAcc< Names::robFactor , true, Opt, Opts... > ///< factor used for robust estimation(opalsLSM)
2501  : GetIAcc< true, Opts... >
2502  {
2503  virtual const Opt& robFactor () const = 0; ///< factor used for robust estimation(opalsLSM)
2504  };
2505 
2506  /// Partial specialization for Names::robFactor _OPALS_COMMENT_AFTER_("factor used for robust estimation(opalsLSM
2507  template< class Opt, class... Opts >
2508  struct IAcc< Names::robFactor , false, Opt, Opts... > ///< factor used for robust estimation(opalsLSM)
2509  : GetIAcc< false, Opts... >
2510  {
2511  virtual const Opt& robFactor () const = 0; ///< factor used for robust estimation(opalsLSM)
2512  virtual Opt& robFactor () = 0; ///< factor used for robust estimation(opalsLSM)
2513  };
2514 
2515  /// Partial specialization for Names::outTrafPars _OPALS_COMMENT_AFTER_("output transformation parameters (opalsLSM, opalsGeorefApprox
2516  template< class Opt, class... Opts >
2517  struct IAcc< Names::outTrafPars , true, Opt, Opts... > ///< output transformation parameters (opalsLSM, opalsGeorefApprox)
2518  : GetIAcc< true, Opts... >
2519  {
2520  virtual const Opt& outTrafPars () const = 0; ///< output transformation parameters (opalsLSM, opalsGeorefApprox)
2521  };
2522 
2523  /// Partial specialization for Names::outTrafPars _OPALS_COMMENT_AFTER_("output transformation parameters (opalsLSM, opalsGeorefApprox
2524  template< class Opt, class... Opts >
2525  struct IAcc< Names::outTrafPars , false, Opt, Opts... > ///< output transformation parameters (opalsLSM, opalsGeorefApprox)
2526  : GetIAcc< false, Opts... >
2527  {
2528  virtual const Opt& outTrafPars () const = 0; ///< output transformation parameters (opalsLSM, opalsGeorefApprox)
2529  virtual Opt& outTrafPars () = 0; ///< output transformation parameters (opalsLSM, opalsGeorefApprox)
2530  };
2531 
2532  /// Partial specialization for Names::navFrame _OPALS_COMMENT_AFTER_("navigation frame (opalsAddTraj
2533  template< class Opt, class... Opts >
2534  struct IAcc< Names::navFrame , true, Opt, Opts... > ///< navigation frame (opalsAddTraj)
2535  : GetIAcc< true, Opts... >
2536  {
2537  virtual const Opt& navFrame () const = 0; ///< navigation frame (opalsAddTraj)
2538  };
2539 
2540  /// Partial specialization for Names::navFrame _OPALS_COMMENT_AFTER_("navigation frame (opalsAddTraj
2541  template< class Opt, class... Opts >
2542  struct IAcc< Names::navFrame , false, Opt, Opts... > ///< navigation frame (opalsAddTraj)
2543  : GetIAcc< false, Opts... >
2544  {
2545  virtual const Opt& navFrame () const = 0; ///< navigation frame (opalsAddTraj)
2546  virtual Opt& navFrame () = 0; ///< navigation frame (opalsAddTraj)
2547  };
2548 
2549  /// Partial specialization for Names::mntCalFile _OPALS_COMMENT_AFTER_("mounting calibration file (opalsAddTraj
2550  template< class Opt, class... Opts >
2551  struct IAcc< Names::mntCalFile , true, Opt, Opts... > ///< mounting calibration file (opalsAddTraj)
2552  : GetIAcc< true, Opts... >
2553  {
2554  virtual const Opt& mntCalFile () const = 0; ///< mounting calibration file (opalsAddTraj)
2555  };
2556 
2557  /// Partial specialization for Names::mntCalFile _OPALS_COMMENT_AFTER_("mounting calibration file (opalsAddTraj
2558  template< class Opt, class... Opts >
2559  struct IAcc< Names::mntCalFile , false, Opt, Opts... > ///< mounting calibration file (opalsAddTraj)
2560  : GetIAcc< false, Opts... >
2561  {
2562  virtual const Opt& mntCalFile () const = 0; ///< mounting calibration file (opalsAddTraj)
2563  virtual Opt& mntCalFile () = 0; ///< mounting calibration file (opalsAddTraj)
2564  };
2565 
2566  /// Partial specialization for Names::obsTrafPars _OPALS_COMMENT_AFTER_("input transformation parameters (opalsGeorefApprox
2567  template< class Opt, class... Opts >
2568  struct IAcc< Names::obsTrafPars , true, Opt, Opts... > ///< input transformation parameters (opalsGeorefApprox)
2569  : GetIAcc< true, Opts... >
2570  {
2571  virtual const Opt& obsTrafPars () const = 0; ///< input transformation parameters (opalsGeorefApprox)
2572  };
2573 
2574  /// Partial specialization for Names::obsTrafPars _OPALS_COMMENT_AFTER_("input transformation parameters (opalsGeorefApprox
2575  template< class Opt, class... Opts >
2576  struct IAcc< Names::obsTrafPars , false, Opt, Opts... > ///< input transformation parameters (opalsGeorefApprox)
2577  : GetIAcc< false, Opts... >
2578  {
2579  virtual const Opt& obsTrafPars () const = 0; ///< input transformation parameters (opalsGeorefApprox)
2580  virtual Opt& obsTrafPars () = 0; ///< input transformation parameters (opalsGeorefApprox)
2581  };
2582 
2583  /// Partial specialization for Names::stripList _OPALS_COMMENT_AFTER_("a list strip (opalsGeorefApprox
2584  template< class Opt, class... Opts >
2585  struct IAcc< Names::stripList , true, Opt, Opts... > ///< a list strip (opalsGeorefApprox)
2586  : GetIAcc< true, Opts... >
2587  {
2588  virtual const Opt& stripList () const = 0; ///< a list strip (opalsGeorefApprox)
2589  };
2590 
2591  /// Partial specialization for Names::stripList _OPALS_COMMENT_AFTER_("a list strip (opalsGeorefApprox
2592  template< class Opt, class... Opts >
2593  struct IAcc< Names::stripList , false, Opt, Opts... > ///< a list strip (opalsGeorefApprox)
2594  : GetIAcc< false, Opts... >
2595  {
2596  virtual const Opt& stripList () const = 0; ///< a list strip (opalsGeorefApprox)
2597  virtual Opt& stripList () = 0; ///< a list strip (opalsGeorefApprox)
2598  };
2599 
2600  /// Partial specialization for Names::pairList _OPALS_COMMENT_AFTER_("a list strip pairs (e.g. opalsOverlap
2601  template< class Opt, class... Opts >
2602  struct IAcc< Names::pairList , true, Opt, Opts... > ///< a list strip pairs (e.g. opalsOverlap)
2603  : GetIAcc< true, Opts... >
2604  {
2605  virtual const Opt& pairList () const = 0; ///< a list strip pairs (e.g. opalsOverlap)
2606  };
2607 
2608  /// Partial specialization for Names::pairList _OPALS_COMMENT_AFTER_("a list strip pairs (e.g. opalsOverlap
2609  template< class Opt, class... Opts >
2610  struct IAcc< Names::pairList , false, Opt, Opts... > ///< a list strip pairs (e.g. opalsOverlap)
2611  : GetIAcc< false, Opts... >
2612  {
2613  virtual const Opt& pairList () const = 0; ///< a list strip pairs (e.g. opalsOverlap)
2614  virtual Opt& pairList () = 0; ///< a list strip pairs (e.g. opalsOverlap)
2615  };
2616 
2617  /// Partial specialization for Names::fixedStrip _OPALS_COMMENT_AFTER_("fixed strip within the adjustment (opalsGeorefApprox
2618  template< class Opt, class... Opts >
2619  struct IAcc< Names::fixedStrip , true, Opt, Opts... > ///< fixed strip within the adjustment (opalsGeorefApprox)
2620  : GetIAcc< true, Opts... >
2621  {
2622  virtual const Opt& fixedStrip () const = 0; ///< fixed strip within the adjustment (opalsGeorefApprox)
2623  };
2624 
2625  /// Partial specialization for Names::fixedStrip _OPALS_COMMENT_AFTER_("fixed strip within the adjustment (opalsGeorefApprox
2626  template< class Opt, class... Opts >
2627  struct IAcc< Names::fixedStrip , false, Opt, Opts... > ///< fixed strip within the adjustment (opalsGeorefApprox)
2628  : GetIAcc< false, Opts... >
2629  {
2630  virtual const Opt& fixedStrip () const = 0; ///< fixed strip within the adjustment (opalsGeorefApprox)
2631  virtual Opt& fixedStrip () = 0; ///< fixed strip within the adjustment (opalsGeorefApprox)
2632  };
2633 
2634  /// Partial specialization for Names::sigmaShift _OPALS_COMMENT_AFTER_("sigma of additional shift observations (opalsGeorefApprox
2635  template< class Opt, class... Opts >
2636  struct IAcc< Names::sigmaShift , true, Opt, Opts... > ///< sigma of additional shift observations (opalsGeorefApprox)
2637  : GetIAcc< true, Opts... >
2638  {
2639  virtual const Opt& sigmaShift () const = 0; ///< sigma of additional shift observations (opalsGeorefApprox)
2640  };
2641 
2642  /// Partial specialization for Names::sigmaShift _OPALS_COMMENT_AFTER_("sigma of additional shift observations (opalsGeorefApprox
2643  template< class Opt, class... Opts >
2644  struct IAcc< Names::sigmaShift , false, Opt, Opts... > ///< sigma of additional shift observations (opalsGeorefApprox)
2645  : GetIAcc< false, Opts... >
2646  {
2647  virtual const Opt& sigmaShift () const = 0; ///< sigma of additional shift observations (opalsGeorefApprox)
2648  virtual Opt& sigmaShift () = 0; ///< sigma of additional shift observations (opalsGeorefApprox)
2649  };
2650 
2651  /// Partial specialization for Names::storeMetaInfo _OPALS_COMMENT_AFTER_("level of meta info that are stored (opalsNormals
2652  template< class Opt, class... Opts >
2653  struct IAcc< Names::storeMetaInfo , true, Opt, Opts... > ///< level of meta info that are stored (opalsNormals)
2654  : GetIAcc< true, Opts... >
2655  {
2656  virtual const Opt& storeMetaInfo () const = 0; ///< level of meta info that are stored (opalsNormals)
2657  };
2658 
2659  /// Partial specialization for Names::storeMetaInfo _OPALS_COMMENT_AFTER_("level of meta info that are stored (opalsNormals
2660  template< class Opt, class... Opts >
2661  struct IAcc< Names::storeMetaInfo , false, Opt, Opts... > ///< level of meta info that are stored (opalsNormals)
2662  : GetIAcc< false, Opts... >
2663  {
2664  virtual const Opt& storeMetaInfo () const = 0; ///< level of meta info that are stored (opalsNormals)
2665  virtual Opt& storeMetaInfo () = 0; ///< level of meta info that are stored (opalsNormals)
2666  };
2667 
2668  /// Partial specialization for Names::searchMode _OPALS_COMMENT_AFTER_("dimension of nearest neighbor search (opalsNormals
2669  template< class Opt, class... Opts >
2670  struct IAcc< Names::searchMode , true, Opt, Opts... > ///< dimension of nearest neighbor search (opalsNormals)
2671  : GetIAcc< true, Opts... >
2672  {
2673  virtual const Opt& searchMode () const = 0; ///< dimension of nearest neighbor search (opalsNormals)
2674  };
2675 
2676  /// Partial specialization for Names::searchMode _OPALS_COMMENT_AFTER_("dimension of nearest neighbor search (opalsNormals
2677  template< class Opt, class... Opts >
2678  struct IAcc< Names::searchMode , false, Opt, Opts... > ///< dimension of nearest neighbor search (opalsNormals)
2679  : GetIAcc< false, Opts... >
2680  {
2681  virtual const Opt& searchMode () const = 0; ///< dimension of nearest neighbor search (opalsNormals)
2682  virtual Opt& searchMode () = 0; ///< dimension of nearest neighbor search (opalsNormals)
2683  };
2684 
2685  /// Partial specialization for Names::division _OPALS_COMMENT_AFTER_("division mode for surface simplification (opalsSimplify
2686  template< class Opt, class... Opts >
2687  struct IAcc< Names::division , true, Opt, Opts... > ///< division mode for surface simplification (opalsSimplify)
2688  : GetIAcc< true, Opts... >
2689  {
2690  virtual const Opt& division () const = 0; ///< division mode for surface simplification (opalsSimplify)
2691  };
2692 
2693  /// Partial specialization for Names::division _OPALS_COMMENT_AFTER_("division mode for surface simplification (opalsSimplify
2694  template< class Opt, class... Opts >
2695  struct IAcc< Names::division , false, Opt, Opts... > ///< division mode for surface simplification (opalsSimplify)
2696  : GetIAcc< false, Opts... >
2697  {
2698  virtual const Opt& division () const = 0; ///< division mode for surface simplification (opalsSimplify)
2699  virtual Opt& division () = 0; ///< division mode for surface simplification (opalsSimplify)
2700  };
2701 
2702  /// Partial specialization for Names::operation _OPALS_COMMENT_AFTER_("coordinate operation for crs transformations (opalsTranslate
2703  template< class Opt, class... Opts >
2704  struct IAcc< Names::operation , true, Opt, Opts... > ///< coordinate operation for crs transformations (opalsTranslate)
2705  : GetIAcc< true, Opts... >
2706  {
2707  virtual const Opt& operation () const = 0; ///< coordinate operation for crs transformations (opalsTranslate)
2708  };
2709 
2710  /// Partial specialization for Names::operation _OPALS_COMMENT_AFTER_("coordinate operation for crs transformations (opalsTranslate
2711  template< class Opt, class... Opts >
2712  struct IAcc< Names::operation , false, Opt, Opts... > ///< coordinate operation for crs transformations (opalsTranslate)
2713  : GetIAcc< false, Opts... >
2714  {
2715  virtual const Opt& operation () const = 0; ///< coordinate operation for crs transformations (opalsTranslate)
2716  virtual Opt& operation () = 0; ///< coordinate operation for crs transformations (opalsTranslate)
2717  };
2718 
2719  /// Partial specialization for Names::kernel and read-only access
2720  template< class Opt, class... Opts >
2721  struct IAcc< Names::kernel , true, Opt, Opts... >
2722  : GetIAcc< true, Opts... >
2723  {
2724  virtual const Opt& kernel () const = 0;
2725  };
2726 
2727  /// Partial specialization for Names::kernel and read-write access
2728  template< class Opt, class... Opts >
2729  struct IAcc< Names::kernel , false, Opt, Opts... >
2730  : GetIAcc< false, Opts... >
2731  {
2732  virtual const Opt& kernel () const = 0;
2733  virtual Opt& kernel () = 0;
2734  };
2735 
2736  /// Partial specialization for Names::kernelSize and read-only access
2737  template< class Opt, class... Opts >
2738  struct IAcc< Names::kernelSize , true, Opt, Opts... >
2739  : GetIAcc< true, Opts... >
2740  {
2741  virtual const Opt& kernelSize () const = 0;
2742  };
2743 
2744  /// Partial specialization for Names::kernelSize and read-write access
2745  template< class Opt, class... Opts >
2746  struct IAcc< Names::kernelSize , false, Opt, Opts... >
2747  : GetIAcc< false, Opts... >
2748  {
2749  virtual const Opt& kernelSize () const = 0;
2750  virtual Opt& kernelSize () = 0;
2751  };
2752 
2753  /// Partial specialization for Names::kernelShape and read-only access
2754  template< class Opt, class... Opts >
2755  struct IAcc< Names::kernelShape , true, Opt, Opts... >
2756  : GetIAcc< true, Opts... >
2757  {
2758  virtual const Opt& kernelShape () const = 0;
2759  };
2760 
2761  /// Partial specialization for Names::kernelShape and read-write access
2762  template< class Opt, class... Opts >
2763  struct IAcc< Names::kernelShape , false, Opt, Opts... >
2764  : GetIAcc< false, Opts... >
2765  {
2766  virtual const Opt& kernelShape () const = 0;
2767  virtual Opt& kernelShape () = 0;
2768  };
2769 
2770  /// Partial specialization for Names::histogram _OPALS_COMMENT_AFTER_("generic histogram (opalsHisto
2771  template< class Opt, class... Opts >
2772  struct IAcc< Names::histogram , true, Opt, Opts... > ///< generic histogram (opalsHisto)
2773  : GetIAcc< true, Opts... >
2774  {
2775  virtual const Opt& histogram () const = 0; ///< generic histogram (opalsHisto)
2776  };
2777 
2778  /// Partial specialization for Names::histogram _OPALS_COMMENT_AFTER_("generic histogram (opalsHisto
2779  template< class Opt, class... Opts >
2780  struct IAcc< Names::histogram , false, Opt, Opts... > ///< generic histogram (opalsHisto)
2781  : GetIAcc< false, Opts... >
2782  {
2783  virtual const Opt& histogram () const = 0; ///< generic histogram (opalsHisto)
2784  virtual Opt& histogram () = 0; ///< generic histogram (opalsHisto)
2785  };
2786 
2787  /// Partial specialization for Names::plotFile _OPALS_COMMENT_AFTER_("name of plot file (e.g. opalsHisto
2788  template< class Opt, class... Opts >
2789  struct IAcc< Names::plotFile , true, Opt, Opts... > ///< name of plot file (e.g. opalsHisto)
2790  : GetIAcc< true, Opts... >
2791  {
2792  virtual const Opt& plotFile () const = 0; ///< name of plot file (e.g. opalsHisto)
2793  };
2794 
2795  /// Partial specialization for Names::plotFile _OPALS_COMMENT_AFTER_("name of plot file (e.g. opalsHisto
2796  template< class Opt, class... Opts >
2797  struct IAcc< Names::plotFile , false, Opt, Opts... > ///< name of plot file (e.g. opalsHisto)
2798  : GetIAcc< false, Opts... >
2799  {
2800  virtual const Opt& plotFile () const = 0; ///< name of plot file (e.g. opalsHisto)
2801  virtual Opt& plotFile () = 0; ///< name of plot file (e.g. opalsHisto)
2802  };
2803 
2804  /// Partial specialization for Names::boundsType _OPALS_COMMENT_AFTER_("boundary type to use (e.g. opalsBounds
2805  template< class Opt, class... Opts >
2806  struct IAcc< Names::boundsType , true, Opt, Opts... > ///< boundary type to use (e.g. opalsBounds)
2807  : GetIAcc< true, Opts... >
2808  {
2809  virtual const Opt& boundsType () const = 0; ///< boundary type to use (e.g. opalsBounds)
2810  };
2811 
2812  /// Partial specialization for Names::boundsType _OPALS_COMMENT_AFTER_("boundary type to use (e.g. opalsBounds
2813  template< class Opt, class... Opts >
2814  struct IAcc< Names::boundsType , false, Opt, Opts... > ///< boundary type to use (e.g. opalsBounds)
2815  : GetIAcc< false, Opts... >
2816  {
2817  virtual const Opt& boundsType () const = 0; ///< boundary type to use (e.g. opalsBounds)
2818  virtual Opt& boundsType () = 0; ///< boundary type to use (e.g. opalsBounds)
2819  };
2820 
2821  /// Partial specialization for Names::fillMask _OPALS_COMMENT_AFTER_("input file (vector or raster
2822  template< class Opt, class... Opts >
2823  struct IAcc< Names::fillMask , true, Opt, Opts... > ///< input file (vector or raster) containing the data mask (e.g. result of opalsBounds) (opalsFillGaps)
2824  : GetIAcc< true, Opts... >
2825  {
2826  virtual const Opt& fillMask () const = 0; ///< input file (vector or raster) containing the data mask (e.g. result of opalsBounds) (opalsFillGaps)
2827  };
2828 
2829  /// Partial specialization for Names::fillMask _OPALS_COMMENT_AFTER_("input file (vector or raster
2830  template< class Opt, class... Opts >
2831  struct IAcc< Names::fillMask , false, Opt, Opts... > ///< input file (vector or raster) containing the data mask (e.g. result of opalsBounds) (opalsFillGaps)
2832  : GetIAcc< false, Opts... >
2833  {
2834  virtual const Opt& fillMask () const = 0; ///< input file (vector or raster) containing the data mask (e.g. result of opalsBounds) (opalsFillGaps)
2835  virtual Opt& fillMask () = 0; ///< input file (vector or raster) containing the data mask (e.g. result of opalsBounds) (opalsFillGaps)
2836  };
2837 
2838  /// Partial specialization for Names::adaptive _OPALS_COMMENT_AFTER_("group name for opalsFillGaps fill method 'adaptive'"
2839  template< class Opt, class... Opts >
2840  struct IAcc< Names::adaptive , true, Opt, Opts... > ///< group name for opalsFillGaps fill method 'adaptive'
2841  : GetIAcc< true, Opts... >
2842  {
2843  virtual const Opt& adaptive () const = 0; ///< group name for opalsFillGaps fill method 'adaptive'
2844  };
2845 
2846  /// Partial specialization for Names::adaptive _OPALS_COMMENT_AFTER_("group name for opalsFillGaps fill method 'adaptive'"
2847  template< class Opt, class... Opts >
2848  struct IAcc< Names::adaptive , false, Opt, Opts... > ///< group name for opalsFillGaps fill method 'adaptive'
2849  : GetIAcc< false, Opts... >
2850  {
2851  virtual const Opt& adaptive () const = 0; ///< group name for opalsFillGaps fill method 'adaptive'
2852  virtual Opt& adaptive () = 0; ///< group name for opalsFillGaps fill method 'adaptive'
2853  };
2854 
2855  /// Partial specialization for Names::shading _OPALS_COMMENT_AFTER_("shading algorithm (opalsShade
2856  template< class Opt, class... Opts >
2857  struct IAcc< Names::shading , true, Opt, Opts... > ///< shading algorithm (opalsShade)
2858  : GetIAcc< true, Opts... >
2859  {
2860  virtual const Opt& shading () const = 0; ///< shading algorithm (opalsShade)
2861  };
2862 
2863  /// Partial specialization for Names::shading _OPALS_COMMENT_AFTER_("shading algorithm (opalsShade
2864  template< class Opt, class... Opts >
2865  struct IAcc< Names::shading , false, Opt, Opts... > ///< shading algorithm (opalsShade)
2866  : GetIAcc< false, Opts... >
2867  {
2868  virtual const Opt& shading () const = 0; ///< shading algorithm (opalsShade)
2869  virtual Opt& shading () = 0; ///< shading algorithm (opalsShade)
2870  };
2871 
2872  /// Partial specialization for Names::sunPosition _OPALS_COMMENT_AFTER_("sun position (opalsShade
2873  template< class Opt, class... Opts >
2874  struct IAcc< Names::sunPosition , true, Opt, Opts... > ///< sun position (opalsShade)
2875  : GetIAcc< true, Opts... >
2876  {
2877  virtual const Opt& sunPosition () const = 0; ///< sun position (opalsShade)
2878  };
2879 
2880  /// Partial specialization for Names::sunPosition _OPALS_COMMENT_AFTER_("sun position (opalsShade
2881  template< class Opt, class... Opts >
2882  struct IAcc< Names::sunPosition , false, Opt, Opts... > ///< sun position (opalsShade)
2883  : GetIAcc< false, Opts... >
2884  {
2885  virtual const Opt& sunPosition () const = 0; ///< sun position (opalsShade)
2886  virtual Opt& sunPosition () = 0; ///< sun position (opalsShade)
2887  };
2888 
2889  /// Partial specialization for Names::systemEchoWidth _OPALS_COMMENT_AFTER_("echo width of system waveform - necessary for non FWF Data (opalsRadioCal
2890  template< class Opt, class... Opts >
2891  struct IAcc< Names::systemEchoWidth , true, Opt, Opts... > ///< echo width of system waveform - necessary for non FWF Data (opalsRadioCal)
2892  : GetIAcc< true, Opts... >
2893  {
2894  virtual const Opt& systemEchoWidth () const = 0; ///< echo width of system waveform - necessary for non FWF Data (opalsRadioCal)
2895  };
2896 
2897  /// Partial specialization for Names::systemEchoWidth _OPALS_COMMENT_AFTER_("echo width of system waveform - necessary for non FWF Data (opalsRadioCal
2898  template< class Opt, class... Opts >
2899  struct IAcc< Names::systemEchoWidth , false, Opt, Opts... > ///< echo width of system waveform - necessary for non FWF Data (opalsRadioCal)
2900  : GetIAcc< false, Opts... >
2901  {
2902  virtual const Opt& systemEchoWidth () const = 0; ///< echo width of system waveform - necessary for non FWF Data (opalsRadioCal)
2903  virtual Opt& systemEchoWidth () = 0; ///< echo width of system waveform - necessary for non FWF Data (opalsRadioCal)
2904  };
2905 
2906  /// Partial specialization for Names::trafo _OPALS_COMMENT_AFTER_("affine 3-d transformation (opalsExport
2907  template< class Opt, class... Opts >
2908  struct IAcc< Names::trafo , true, Opt, Opts... > ///< affine 3-d transformation (opalsExport)
2909  : GetIAcc< true, Opts... >
2910  {
2911  virtual const Opt& trafo () const = 0; ///< affine 3-d transformation (opalsExport)
2912  };
2913 
2914  /// Partial specialization for Names::trafo _OPALS_COMMENT_AFTER_("affine 3-d transformation (opalsExport
2915  template< class Opt, class... Opts >
2916  struct IAcc< Names::trafo , false, Opt, Opts... > ///< affine 3-d transformation (opalsExport)
2917  : GetIAcc< false, Opts... >
2918  {
2919  virtual const Opt& trafo () const = 0; ///< affine 3-d transformation (opalsExport)
2920  virtual Opt& trafo () = 0; ///< affine 3-d transformation (opalsExport)
2921  };
2922 
2923  /// Partial specialization for Names::ignoreNoData _OPALS_COMMENT_AFTER_("ignore no-data pixels withon kernel neighbourhood (opalsConvolution
2924  template< class Opt, class... Opts >
2925  struct IAcc< Names::ignoreNoData , true, Opt, Opts... > ///< ignore no-data pixels withon kernel neighbourhood (opalsConvolution)
2926  : GetIAcc< true, Opts... >
2927  {
2928  virtual const Opt& ignoreNoData () const = 0; ///< ignore no-data pixels withon kernel neighbourhood (opalsConvolution)
2929  };
2930 
2931  /// Partial specialization for Names::ignoreNoData _OPALS_COMMENT_AFTER_("ignore no-data pixels withon kernel neighbourhood (opalsConvolution
2932  template< class Opt, class... Opts >
2933  struct IAcc< Names::ignoreNoData , false, Opt, Opts... > ///< ignore no-data pixels withon kernel neighbourhood (opalsConvolution)
2934  : GetIAcc< false, Opts... >
2935  {
2936  virtual const Opt& ignoreNoData () const = 0; ///< ignore no-data pixels withon kernel neighbourhood (opalsConvolution)
2937  virtual Opt& ignoreNoData () = 0; ///< ignore no-data pixels withon kernel neighbourhood (opalsConvolution)
2938  };
2939 
2940  /// Partial specialization for Names::edgeHandling _OPALS_COMMENT_AFTER_("controls pixel values beyond the image border (opalsConvolution
2941  template< class Opt, class... Opts >
2942  struct IAcc< Names::edgeHandling , true, Opt, Opts... > ///< controls pixel values beyond the image border (opalsConvolution)
2943  : GetIAcc< true, Opts... >
2944  {
2945  virtual const Opt& edgeHandling () const = 0; ///< controls pixel values beyond the image border (opalsConvolution)
2946  };
2947 
2948  /// Partial specialization for Names::edgeHandling _OPALS_COMMENT_AFTER_("controls pixel values beyond the image border (opalsConvolution
2949  template< class Opt, class... Opts >
2950  struct IAcc< Names::edgeHandling , false, Opt, Opts... > ///< controls pixel values beyond the image border (opalsConvolution)
2951  : GetIAcc< false, Opts... >
2952  {
2953  virtual const Opt& edgeHandling () const = 0; ///< controls pixel values beyond the image border (opalsConvolution)
2954  virtual Opt& edgeHandling () = 0; ///< controls pixel values beyond the image border (opalsConvolution)
2955  };
2956 
2957  /// Partial specialization for Names::normalize _OPALS_COMMENT_AFTER_("normalize results (e.g. opalsConvolution
2958  template< class Opt, class... Opts >
2959  struct IAcc< Names::normalize , true, Opt, Opts... > ///< normalize results (e.g. opalsConvolution)
2960  : GetIAcc< true, Opts... >
2961  {
2962  virtual const Opt& normalize () const = 0; ///< normalize results (e.g. opalsConvolution)
2963  };
2964 
2965  /// Partial specialization for Names::normalize _OPALS_COMMENT_AFTER_("normalize results (e.g. opalsConvolution
2966  template< class Opt, class... Opts >
2967  struct IAcc< Names::normalize , false, Opt, Opts... > ///< normalize results (e.g. opalsConvolution)
2968  : GetIAcc< false, Opts... >
2969  {
2970  virtual const Opt& normalize () const = 0; ///< normalize results (e.g. opalsConvolution)
2971  virtual Opt& normalize () = 0; ///< normalize results (e.g. opalsConvolution)
2972  };
2973 
2974  /// Partial specialization for Names::mounting _OPALS_COMMENT_AFTER_("mounting calibration parameters (e.g. opalsDirectGeoref
2975  template< class Opt, class... Opts >
2976  struct IAcc< Names::mounting , true, Opt, Opts... > ///< mounting calibration parameters (e.g. opalsDirectGeoref))
2977  : GetIAcc< true, Opts... >
2978  {
2979  virtual const Opt& mounting () const = 0; ///< mounting calibration parameters (e.g. opalsDirectGeoref))
2980  };
2981 
2982  /// Partial specialization for Names::mounting _OPALS_COMMENT_AFTER_("mounting calibration parameters (e.g. opalsDirectGeoref
2983  template< class Opt, class... Opts >
2984  struct IAcc< Names::mounting , false, Opt, Opts... > ///< mounting calibration parameters (e.g. opalsDirectGeoref))
2985  : GetIAcc< false, Opts... >
2986  {
2987  virtual const Opt& mounting () const = 0; ///< mounting calibration parameters (e.g. opalsDirectGeoref))
2988  virtual Opt& mounting () = 0; ///< mounting calibration parameters (e.g. opalsDirectGeoref))
2989  };
2990 
2991  /// Partial specialization for Names::resetSegId and read-only access
2992  template< class Opt, class... Opts >
2993  struct IAcc< Names::resetSegId , true, Opt, Opts... >
2994  : GetIAcc< true, Opts... >
2995  {
2996  virtual const Opt& resetSegId () const = 0;
2997  };
2998 
2999  /// Partial specialization for Names::resetSegId and read-write access
3000  template< class Opt, class... Opts >
3001  struct IAcc< Names::resetSegId , false, Opt, Opts... >
3002  : GetIAcc< false, Opts... >
3003  {
3004  virtual const Opt& resetSegId () const = 0;
3005  virtual Opt& resetSegId () = 0;
3006  };
3007 
3008  /// Partial specialization for Names::minSegSize and read-only access
3009  template< class Opt, class... Opts >
3010  struct IAcc< Names::minSegSize , true, Opt, Opts... >
3011  : GetIAcc< true, Opts... >
3012  {
3013  virtual const Opt& minSegSize () const = 0;
3014  };
3015 
3016  /// Partial specialization for Names::minSegSize and read-write access
3017  template< class Opt, class... Opts >
3018  struct IAcc< Names::minSegSize , false, Opt, Opts... >
3019  : GetIAcc< false, Opts... >
3020  {
3021  virtual const Opt& minSegSize () const = 0;
3022  virtual Opt& minSegSize () = 0;
3023  };
3024 
3025  /// Partial specialization for Names::weightFunc and read-only access
3026  template< class Opt, class... Opts >
3027  struct IAcc< Names::weightFunc , true, Opt, Opts... >
3028  : GetIAcc< true, Opts... >
3029  {
3030  virtual const Opt& weightFunc () const = 0;
3031  };
3032 
3033  /// Partial specialization for Names::weightFunc and read-write access
3034  template< class Opt, class... Opts >
3035  struct IAcc< Names::weightFunc , false, Opt, Opts... >
3036  : GetIAcc< false, Opts... >
3037  {
3038  virtual const Opt& weightFunc () const = 0;
3039  virtual Opt& weightFunc () = 0;
3040  };
3041 
3042  /// Partial specialization for Names::sigmaApriori _OPALS_COMMENT_AFTER_("estimated accuracy of observations before adjustment (opalsRobFilter
3043  template< class Opt, class... Opts >
3044  struct IAcc< Names::sigmaApriori , true, Opt, Opts... > ///< estimated accuracy of observations before adjustment (opalsRobFilter)
3045  : GetIAcc< true, Opts... >
3046  {
3047  virtual const Opt& sigmaApriori () const = 0; ///< estimated accuracy of observations before adjustment (opalsRobFilter)
3048  };
3049 
3050  /// Partial specialization for Names::sigmaApriori _OPALS_COMMENT_AFTER_("estimated accuracy of observations before adjustment (opalsRobFilter
3051  template< class Opt, class... Opts >
3052  struct IAcc< Names::sigmaApriori , false, Opt, Opts... > ///< estimated accuracy of observations before adjustment (opalsRobFilter)
3053  : GetIAcc< false, Opts... >
3054  {
3055  virtual const Opt& sigmaApriori () const = 0; ///< estimated accuracy of observations before adjustment (opalsRobFilter)
3056  virtual Opt& sigmaApriori () = 0; ///< estimated accuracy of observations before adjustment (opalsRobFilter)
3057  };
3058 
3059  /// Partial specialization for Names::robustWFAdpation _OPALS_COMMENT_AFTER_("adaptions of the robust weight function (opalsRobFilter
3060  template< class Opt, class... Opts >
3061  struct IAcc< Names::robustWFAdpation , true, Opt, Opts... > ///< adaptions of the robust weight function (opalsRobFilter)
3062  : GetIAcc< true, Opts... >
3063  {
3064  virtual const Opt& robustWFAdpation () const = 0; ///< adaptions of the robust weight function (opalsRobFilter)
3065  };
3066 
3067  /// Partial specialization for Names::robustWFAdpation _OPALS_COMMENT_AFTER_("adaptions of the robust weight function (opalsRobFilter
3068  template< class Opt, class... Opts >
3069  struct IAcc< Names::robustWFAdpation , false, Opt, Opts... > ///< adaptions of the robust weight function (opalsRobFilter)
3070  : GetIAcc< false, Opts... >
3071  {
3072  virtual const Opt& robustWFAdpation () const = 0; ///< adaptions of the robust weight function (opalsRobFilter)
3073  virtual Opt& robustWFAdpation () = 0; ///< adaptions of the robust weight function (opalsRobFilter)
3074  };
3075 
3076  /// Partial specialization for Names::penetration _OPALS_COMMENT_AFTER_("estimated penetration rate"
3077  template< class Opt, class... Opts >
3078  struct IAcc< Names::penetration , true, Opt, Opts... > ///< estimated penetration rate
3079  : GetIAcc< true, Opts... >
3080  {
3081  virtual const Opt& penetration () const = 0; ///< estimated penetration rate
3082  };
3083 
3084  /// Partial specialization for Names::penetration _OPALS_COMMENT_AFTER_("estimated penetration rate"
3085  template< class Opt, class... Opts >
3086  struct IAcc< Names::penetration , false, Opt, Opts... > ///< estimated penetration rate
3087  : GetIAcc< false, Opts... >
3088  {
3089  virtual const Opt& penetration () const = 0; ///< estimated penetration rate
3090  virtual Opt& penetration () = 0; ///< estimated penetration rate
3091  };
3092 
3093  /// Partial specialization for Names::direction _OPALS_COMMENT_AFTER_("normals direction (e.g. opalsNormals
3094  template< class Opt, class... Opts >
3095  struct IAcc< Names::direction , true, Opt, Opts... > ///< normals direction (e.g. opalsNormals)
3096  : GetIAcc< true, Opts... >
3097  {
3098  virtual const Opt& direction () const = 0; ///< normals direction (e.g. opalsNormals)
3099  };
3100 
3101  /// Partial specialization for Names::direction _OPALS_COMMENT_AFTER_("normals direction (e.g. opalsNormals
3102  template< class Opt, class... Opts >
3103  struct IAcc< Names::direction , false, Opt, Opts... > ///< normals direction (e.g. opalsNormals)
3104  : GetIAcc< false, Opts... >
3105  {
3106  virtual const Opt& direction () const = 0; ///< normals direction (e.g. opalsNormals)
3107  virtual Opt& direction () = 0; ///< normals direction (e.g. opalsNormals)
3108  };
3109 
3110  /// Partial specialization for Names::snapRadius _OPALS_COMMENT_AFTER_("snap radius (e.g. opalsTIN: used for connecting close line endings
3111  template< class Opt, class... Opts >
3112  struct IAcc< Names::snapRadius , true, Opt, Opts... > ///< snap radius (e.g. opalsTIN: used for connecting close line endings)
3113  : GetIAcc< true, Opts... >
3114  {
3115  virtual const Opt& snapRadius () const = 0; ///< snap radius (e.g. opalsTIN: used for connecting close line endings)
3116  };
3117 
3118  /// Partial specialization for Names::snapRadius _OPALS_COMMENT_AFTER_("snap radius (e.g. opalsTIN: used for connecting close line endings
3119  template< class Opt, class... Opts >
3120  struct IAcc< Names::snapRadius , false, Opt, Opts... > ///< snap radius (e.g. opalsTIN: used for connecting close line endings)
3121  : GetIAcc< false, Opts... >
3122  {
3123  virtual const Opt& snapRadius () const = 0; ///< snap radius (e.g. opalsTIN: used for connecting close line endings)
3124  virtual Opt& snapRadius () = 0; ///< snap radius (e.g. opalsTIN: used for connecting close line endings)
3125  };
3126 
3127  /// Partial specialization for Names::borderFile _OPALS_COMMENT_AFTER_("border file path (e.g. opalsTIN
3128  template< class Opt, class... Opts >
3129  struct IAcc< Names::borderFile , true, Opt, Opts... > ///< border file path (e.g. opalsTIN)
3130  : GetIAcc< true, Opts... >
3131  {
3132  virtual const Opt& borderFile () const = 0; ///< border file path (e.g. opalsTIN)
3133  };
3134 
3135  /// Partial specialization for Names::borderFile _OPALS_COMMENT_AFTER_("border file path (e.g. opalsTIN
3136  template< class Opt, class... Opts >
3137  struct IAcc< Names::borderFile , false, Opt, Opts... > ///< border file path (e.g. opalsTIN)
3138  : GetIAcc< false, Opts... >
3139  {
3140  virtual const Opt& borderFile () const = 0; ///< border file path (e.g. opalsTIN)
3141  virtual Opt& borderFile () = 0; ///< border file path (e.g. opalsTIN)
3142  };
3143 
3144  /// Partial specialization for Names::overlapFile _OPALS_COMMENT_AFTER_("overlap file path (e.g. opalsOverlap
3145  template< class Opt, class... Opts >
3146  struct IAcc< Names::overlapFile , true, Opt, Opts... > ///< overlap file path (e.g. opalsOverlap )
3147  : GetIAcc< true, Opts... >
3148  {
3149  virtual const Opt& overlapFile () const = 0; ///< overlap file path (e.g. opalsOverlap )
3150  };
3151 
3152  /// Partial specialization for Names::overlapFile _OPALS_COMMENT_AFTER_("overlap file path (e.g. opalsOverlap
3153  template< class Opt, class... Opts >
3154  struct IAcc< Names::overlapFile , false, Opt, Opts... > ///< overlap file path (e.g. opalsOverlap )
3155  : GetIAcc< false, Opts... >
3156  {
3157  virtual const Opt& overlapFile () const = 0; ///< overlap file path (e.g. opalsOverlap )
3158  virtual Opt& overlapFile () = 0; ///< overlap file path (e.g. opalsOverlap )
3159  };
3160 
3161  /// Partial specialization for Names::compressCollinear _OPALS_COMMENT_AFTER_("export/store first and last vertices only of a series of collinear vertices (e.g. opalsContouring
3162  template< class Opt, class... Opts >
3163  struct IAcc< Names::compressCollinear , true, Opt, Opts... > ///< export/store first and last vertices only of a series of collinear vertices (e.g. opalsContouring)
3164  : GetIAcc< true, Opts... >
3165  {
3166  virtual const Opt& compressCollinear () const = 0; ///< export/store first and last vertices only of a series of collinear vertices (e.g. opalsContouring)
3167  };
3168 
3169  /// Partial specialization for Names::compressCollinear _OPALS_COMMENT_AFTER_("export/store first and last vertices only of a series of collinear vertices (e.g. opalsContouring
3170  template< class Opt, class... Opts >
3171  struct IAcc< Names::compressCollinear , false, Opt, Opts... > ///< export/store first and last vertices only of a series of collinear vertices (e.g. opalsContouring)
3172  : GetIAcc< false, Opts... >
3173  {
3174  virtual const Opt& compressCollinear () const = 0; ///< export/store first and last vertices only of a series of collinear vertices (e.g. opalsContouring)
3175  virtual Opt& compressCollinear () = 0; ///< export/store first and last vertices only of a series of collinear vertices (e.g. opalsContouring)
3176  };
3177 
3178  /// Partial specialization for Names::statistic _OPALS_COMMENT_AFTER_("general statistic information about a given input file (opalsInfo
3179  template< class Opt, class... Opts >
3180  struct IAcc< Names::statistic , true, Opt, Opts... > ///< general statistic information about a given input file (opalsInfo)
3181  : GetIAcc< true, Opts... >
3182  {
3183  virtual const Opt& statistic () const = 0; ///< general statistic information about a given input file (opalsInfo)
3184  };
3185 
3186  /// Partial specialization for Names::statistic _OPALS_COMMENT_AFTER_("general statistic information about a given input file (opalsInfo
3187  template< class Opt, class... Opts >
3188  struct IAcc< Names::statistic , false, Opt, Opts... > ///< general statistic information about a given input file (opalsInfo)
3189  : GetIAcc< false, Opts... >
3190  {
3191  virtual const Opt& statistic () const = 0; ///< general statistic information about a given input file (opalsInfo)
3192  virtual Opt& statistic () = 0; ///< general statistic information about a given input file (opalsInfo)
3193  };
3194 
3195  /// Partial specialization for Names::convThreshold _OPALS_COMMENT_AFTER_("adjustment convergence threshold (opalsGeorefApprox
3196  template< class Opt, class... Opts >
3197  struct IAcc< Names::convThreshold , true, Opt, Opts... > ///< adjustment convergence threshold (opalsGeorefApprox)
3198  : GetIAcc< true, Opts... >
3199  {
3200  virtual const Opt& convThreshold () const = 0; ///< adjustment convergence threshold (opalsGeorefApprox)
3201  };
3202 
3203  /// Partial specialization for Names::convThreshold _OPALS_COMMENT_AFTER_("adjustment convergence threshold (opalsGeorefApprox
3204  template< class Opt, class... Opts >
3205  struct IAcc< Names::convThreshold , false, Opt, Opts... > ///< adjustment convergence threshold (opalsGeorefApprox)
3206  : GetIAcc< false, Opts... >
3207  {
3208  virtual const Opt& convThreshold () const = 0; ///< adjustment convergence threshold (opalsGeorefApprox)
3209  virtual Opt& convThreshold () = 0; ///< adjustment convergence threshold (opalsGeorefApprox)
3210  };
3211 
3212  /// Partial specialization for Names::refModel _OPALS_COMMENT_AFTER_("defines a reference model (e.g., horizontal/tilted plane or raster model
3213  template< class Opt, class... Opts >
3214  struct IAcc< Names::refModel , true, Opt, Opts... > ///< defines a reference model (e.g., horizontal/tilted plane or raster model)
3215  : GetIAcc< true, Opts... >
3216  {
3217  virtual const Opt& refModel () const = 0; ///< defines a reference model (e.g., horizontal/tilted plane or raster model)
3218  };
3219 
3220  /// Partial specialization for Names::refModel _OPALS_COMMENT_AFTER_("defines a reference model (e.g., horizontal/tilted plane or raster model
3221  template< class Opt, class... Opts >
3222  struct IAcc< Names::refModel , false, Opt, Opts... > ///< defines a reference model (e.g., horizontal/tilted plane or raster model)
3223  : GetIAcc< false, Opts... >
3224  {
3225  virtual const Opt& refModel () const = 0; ///< defines a reference model (e.g., horizontal/tilted plane or raster model)
3226  virtual Opt& refModel () = 0; ///< defines a reference model (e.g., horizontal/tilted plane or raster model)
3227  };
3228 
3229  /// Partial specialization for Names::inSRS _OPALS_COMMENT_AFTER_("input spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject
3230  template< class Opt, class... Opts >
3231  struct IAcc< Names::inSRS , true, Opt, Opts... > ///< input spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
3232  : GetIAcc< true, Opts... >
3233  {
3234  virtual const Opt& inSRS () const = 0; ///< input spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
3235  };
3236 
3237  /// Partial specialization for Names::inSRS _OPALS_COMMENT_AFTER_("input spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject
3238  template< class Opt, class... Opts >
3239  struct IAcc< Names::inSRS , false, Opt, Opts... > ///< input spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
3240  : GetIAcc< false, Opts... >
3241  {
3242  virtual const Opt& inSRS () const = 0; ///< input spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
3243  virtual Opt& inSRS () = 0; ///< input spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
3244  };
3245 
3246  /// Partial specialization for Names::outSRS _OPALS_COMMENT_AFTER_("output spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject
3247  template< class Opt, class... Opts >
3248  struct IAcc< Names::outSRS , true, Opt, Opts... > ///< output spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
3249  : GetIAcc< true, Opts... >
3250  {
3251  virtual const Opt& outSRS () const = 0; ///< output spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
3252  };
3253 
3254  /// Partial specialization for Names::outSRS _OPALS_COMMENT_AFTER_("output spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject
3255  template< class Opt, class... Opts >
3256  struct IAcc< Names::outSRS , false, Opt, Opts... > ///< output spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
3257  : GetIAcc< false, Opts... >
3258  {
3259  virtual const Opt& outSRS () const = 0; ///< output spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
3260  virtual Opt& outSRS () = 0; ///< output spatial reference system as WKT/proj4 description string or EPSG code (opalsReproject)
3261  };
3262 
3263  /// Partial specialization for Names::inGeoid _OPALS_COMMENT_AFTER_("input geoid model raster file (opalsReproject
3264  template< class Opt, class... Opts >
3265  struct IAcc< Names::inGeoid , true, Opt, Opts... > ///< input geoid model raster file (opalsReproject)
3266  : GetIAcc< true, Opts... >
3267  {
3268  virtual const Opt& inGeoid () const = 0; ///< input geoid model raster file (opalsReproject)
3269  };
3270 
3271  /// Partial specialization for Names::inGeoid _OPALS_COMMENT_AFTER_("input geoid model raster file (opalsReproject
3272  template< class Opt, class... Opts >
3273  struct IAcc< Names::inGeoid , false, Opt, Opts... > ///< input geoid model raster file (opalsReproject)
3274  : GetIAcc< false, Opts... >
3275  {
3276  virtual const Opt& inGeoid () const = 0; ///< input geoid model raster file (opalsReproject)
3277  virtual Opt& inGeoid () = 0; ///< input geoid model raster file (opalsReproject)
3278  };
3279 
3280  /// Partial specialization for Names::outGeoid _OPALS_COMMENT_AFTER_("output geoid model raster file (opalsReproject
3281  template< class Opt, class... Opts >
3282  struct IAcc< Names::outGeoid , true, Opt, Opts... > ///< output geoid model raster file (opalsReproject)
3283  : GetIAcc< true, Opts... >
3284  {
3285  virtual const Opt& outGeoid () const = 0; ///< output geoid model raster file (opalsReproject)
3286  };
3287 
3288  /// Partial specialization for Names::outGeoid _OPALS_COMMENT_AFTER_("output geoid model raster file (opalsReproject
3289  template< class Opt, class... Opts >
3290  struct IAcc< Names::outGeoid , false, Opt, Opts... > ///< output geoid model raster file (opalsReproject)
3291  : GetIAcc< false, Opts... >
3292  {
3293  virtual const Opt& outGeoid () const = 0; ///< output geoid model raster file (opalsReproject)
3294  virtual Opt& outGeoid () = 0; ///< output geoid model raster file (opalsReproject)
3295  };
3296 
3297  /// Partial specialization for Names::inZOffset _OPALS_COMMENT_AFTER_("height offset of input SRS (opalsReproject
3298  template< class Opt, class... Opts >
3299  struct IAcc< Names::inZOffset , true, Opt, Opts... > ///< height offset of input SRS (opalsReproject)
3300  : GetIAcc< true, Opts... >
3301  {
3302  virtual const Opt& inZOffset () const = 0; ///< height offset of input SRS (opalsReproject)
3303  };
3304 
3305  /// Partial specialization for Names::inZOffset _OPALS_COMMENT_AFTER_("height offset of input SRS (opalsReproject
3306  template< class Opt, class... Opts >
3307  struct IAcc< Names::inZOffset , false, Opt, Opts... > ///< height offset of input SRS (opalsReproject)
3308  : GetIAcc< false, Opts... >
3309  {
3310  virtual const Opt& inZOffset () const = 0; ///< height offset of input SRS (opalsReproject)
3311  virtual Opt& inZOffset () = 0; ///< height offset of input SRS (opalsReproject)
3312  };
3313 
3314  /// Partial specialization for Names::outZOffset _OPALS_COMMENT_AFTER_("height offset of output SRS (opalsReproject
3315  template< class Opt, class... Opts >
3316  struct IAcc< Names::outZOffset , true, Opt, Opts... > ///< height offset of output SRS (opalsReproject)
3317  : GetIAcc< true, Opts... >
3318  {
3319  virtual const Opt& outZOffset () const = 0; ///< height offset of output SRS (opalsReproject)
3320  };
3321 
3322  /// Partial specialization for Names::outZOffset _OPALS_COMMENT_AFTER_("height offset of output SRS (opalsReproject
3323  template< class Opt, class... Opts >
3324  struct IAcc< Names::outZOffset , false, Opt, Opts... > ///< height offset of output SRS (opalsReproject)
3325  : GetIAcc< false, Opts... >
3326  {
3327  virtual const Opt& outZOffset () const = 0; ///< height offset of output SRS (opalsReproject)
3328  virtual Opt& outZOffset () = 0; ///< height offset of output SRS (opalsReproject)
3329  };
3330 
3331  /// Partial specialization for Names::debugNormalsLen _OPALS_COMMENT_AFTER_("length of the normal vectors (opalsNormals
3332  template< class Opt, class... Opts >
3333  struct IAcc< Names::debugNormalsLen , true, Opt, Opts... > ///< length of the normal vectors (opalsNormals)
3334  : GetIAcc< true, Opts... >
3335  {
3336  virtual const Opt& debugNormalsLen () const = 0; ///< length of the normal vectors (opalsNormals)
3337  };
3338 
3339  /// Partial specialization for Names::debugNormalsLen _OPALS_COMMENT_AFTER_("length of the normal vectors (opalsNormals
3340  template< class Opt, class... Opts >
3341  struct IAcc< Names::debugNormalsLen , false, Opt, Opts... > ///< length of the normal vectors (opalsNormals)
3342  : GetIAcc< false, Opts... >
3343  {
3344  virtual const Opt& debugNormalsLen () const = 0; ///< length of the normal vectors (opalsNormals)
3345  virtual Opt& debugNormalsLen () = 0; ///< length of the normal vectors (opalsNormals)
3346  };
3347 
3348  /// Partial specialization for Names::refractiveIndex _OPALS_COMMENT_AFTER_("refractive index (e.g. opalsSnellius
3349  template< class Opt, class... Opts >
3350  struct IAcc< Names::refractiveIndex , true, Opt, Opts... > ///< refractive index (e.g. opalsSnellius)
3351  : GetIAcc< true, Opts... >
3352  {
3353  virtual const Opt& refractiveIndex () const = 0; ///< refractive index (e.g. opalsSnellius)
3354  };
3355 
3356  /// Partial specialization for Names::refractiveIndex _OPALS_COMMENT_AFTER_("refractive index (e.g. opalsSnellius
3357  template< class Opt, class... Opts >
3358  struct IAcc< Names::refractiveIndex , false, Opt, Opts... > ///< refractive index (e.g. opalsSnellius)
3359  : GetIAcc< false, Opts... >
3360  {
3361  virtual const Opt& refractiveIndex () const = 0; ///< refractive index (e.g. opalsSnellius)
3362  virtual Opt& refractiveIndex () = 0; ///< refractive index (e.g. opalsSnellius)
3363  };
3364 
3365  /// Partial specialization for Names::mtaZone _OPALS_COMMENT_AFTER_("defines the MTA zone to resolve ambiguties of multiple-pluses-in-air-scanners (opalsFullwave
3366  template< class Opt, class... Opts >
3367  struct IAcc< Names::mtaZone , true, Opt, Opts... > ///< defines the MTA zone to resolve ambiguties of multiple-pluses-in-air-scanners (opalsFullwave)
3368  : GetIAcc< true, Opts... >
3369  {
3370  virtual const Opt& mtaZone () const = 0; ///< defines the MTA zone to resolve ambiguties of multiple-pluses-in-air-scanners (opalsFullwave)
3371  };
3372 
3373  /// Partial specialization for Names::mtaZone _OPALS_COMMENT_AFTER_("defines the MTA zone to resolve ambiguties of multiple-pluses-in-air-scanners (opalsFullwave
3374  template< class Opt, class... Opts >
3375  struct IAcc< Names::mtaZone , false, Opt, Opts... > ///< defines the MTA zone to resolve ambiguties of multiple-pluses-in-air-scanners (opalsFullwave)
3376  : GetIAcc< false, Opts... >
3377  {
3378  virtual const Opt& mtaZone () const = 0; ///< defines the MTA zone to resolve ambiguties of multiple-pluses-in-air-scanners (opalsFullwave)
3379  virtual Opt& mtaZone () = 0; ///< defines the MTA zone to resolve ambiguties of multiple-pluses-in-air-scanners (opalsFullwave)
3380  };
3381 
3382  /// Partial specialization for Names::timeRange _OPALS_COMMENT_AFTER_("process only a subset of the data the given time range (opalsFullwave
3383  template< class Opt, class... Opts >
3384  struct IAcc< Names::timeRange , true, Opt, Opts... > ///< process only a subset of the data the given time range (opalsFullwave)
3385  : GetIAcc< true, Opts... >
3386  {
3387  virtual const Opt& timeRange () const = 0; ///< process only a subset of the data the given time range (opalsFullwave)
3388  };
3389 
3390  /// Partial specialization for Names::timeRange _OPALS_COMMENT_AFTER_("process only a subset of the data the given time range (opalsFullwave
3391  template< class Opt, class... Opts >
3392  struct IAcc< Names::timeRange , false, Opt, Opts... > ///< process only a subset of the data the given time range (opalsFullwave)
3393  : GetIAcc< false, Opts... >
3394  {
3395  virtual const Opt& timeRange () const = 0; ///< process only a subset of the data the given time range (opalsFullwave)
3396  virtual Opt& timeRange () = 0; ///< process only a subset of the data the given time range (opalsFullwave)
3397  };
3398 
3399  /// Partial specialization for Names::skipVoidAreas _OPALS_COMMENT_AFTER_("skip all void parts of datasets for data processing (opalsALgebra
3400  template< class Opt, class... Opts >
3401  struct IAcc< Names::skipVoidAreas , true, Opt, Opts... > ///< skip all void parts of datasets for data processing (opalsALgebra)
3402  : GetIAcc< true, Opts... >
3403  {
3404  virtual const Opt& skipVoidAreas () const = 0; ///< skip all void parts of datasets for data processing (opalsALgebra)
3405  };
3406 
3407  /// Partial specialization for Names::skipVoidAreas _OPALS_COMMENT_AFTER_("skip all void parts of datasets for data processing (opalsALgebra
3408  template< class Opt, class... Opts >
3409  struct IAcc< Names::skipVoidAreas , false, Opt, Opts... > ///< skip all void parts of datasets for data processing (opalsALgebra)
3410  : GetIAcc< false, Opts... >
3411  {
3412  virtual const Opt& skipVoidAreas () const = 0; ///< skip all void parts of datasets for data processing (opalsALgebra)
3413  virtual Opt& skipVoidAreas () = 0; ///< skip all void parts of datasets for data processing (opalsALgebra)
3414  };
3415 
3416  /// Partial specialization for Names::tFormat _OPALS_COMMENT_AFTER_("file format of the trajectory file (opalsImport
3417  template< class Opt, class... Opts >
3418  struct IAcc< Names::tFormat , true, Opt, Opts... > ///< file format of the trajectory file (opalsImport)
3419  : GetIAcc< true, Opts... >
3420  {
3421  virtual const Opt& tFormat () const = 0; ///< file format of the trajectory file (opalsImport)
3422  };
3423 
3424  /// Partial specialization for Names::tFormat _OPALS_COMMENT_AFTER_("file format of the trajectory file (opalsImport
3425  template< class Opt, class... Opts >
3426  struct IAcc< Names::tFormat , false, Opt, Opts... > ///< file format of the trajectory file (opalsImport)
3427  : GetIAcc< false, Opts... >
3428  {
3429  virtual const Opt& tFormat () const = 0; ///< file format of the trajectory file (opalsImport)
3430  virtual Opt& tFormat () = 0; ///< file format of the trajectory file (opalsImport)
3431  };
3432 
3433  /// Partial specialization for Names::storeBeamInfo _OPALS_COMMENT_AFTER_("defines beam information that is attached during import (opalsImport
3434  template< class Opt, class... Opts >
3435  struct IAcc< Names::storeBeamInfo , true, Opt, Opts... > ///< defines beam information that is attached during import (opalsImport)
3436  : GetIAcc< true, Opts... >
3437  {
3438  virtual const Opt& storeBeamInfo () const = 0; ///< defines beam information that is attached during import (opalsImport)
3439  };
3440 
3441  /// Partial specialization for Names::storeBeamInfo _OPALS_COMMENT_AFTER_("defines beam information that is attached during import (opalsImport
3442  template< class Opt, class... Opts >
3443  struct IAcc< Names::storeBeamInfo , false, Opt, Opts... > ///< defines beam information that is attached during import (opalsImport)
3444  : GetIAcc< false, Opts... >
3445  {
3446  virtual const Opt& storeBeamInfo () const = 0; ///< defines beam information that is attached during import (opalsImport)
3447  virtual Opt& storeBeamInfo () = 0; ///< defines beam information that is attached during import (opalsImport)
3448  };
3449 
3450  /// Partial specialization for Names::inGeometry _OPALS_COMMENT_AFTER_("input (OGC
3451  template< class Opt, class... Opts >
3452  struct IAcc< Names::inGeometry , true, Opt, Opts... > ///< input (OGC) gemeotry
3453  : GetIAcc< true, Opts... >
3454  {
3455  virtual const Opt& inGeometry () const = 0; ///< input (OGC) gemeotry
3456  };
3457 
3458  /// Partial specialization for Names::inGeometry _OPALS_COMMENT_AFTER_("input (OGC
3459  template< class Opt, class... Opts >
3460  struct IAcc< Names::inGeometry , false, Opt, Opts... > ///< input (OGC) gemeotry
3461  : GetIAcc< false, Opts... >
3462  {
3463  virtual const Opt& inGeometry () const = 0; ///< input (OGC) gemeotry
3464  virtual Opt& inGeometry () = 0; ///< input (OGC) gemeotry
3465  };
3466 
3467  /// Partial specialization for Names::outGeometry _OPALS_COMMENT_AFTER_("output (OGC
3468  template< class Opt, class... Opts >
3469  struct IAcc< Names::outGeometry , true, Opt, Opts... > ///< output (OGC) gemeotry
3470  : GetIAcc< true, Opts... >
3471  {
3472  virtual const Opt& outGeometry () const = 0; ///< output (OGC) gemeotry
3473  };
3474 
3475  /// Partial specialization for Names::outGeometry _OPALS_COMMENT_AFTER_("output (OGC
3476  template< class Opt, class... Opts >
3477  struct IAcc< Names::outGeometry , false, Opt, Opts... > ///< output (OGC) gemeotry
3478  : GetIAcc< false, Opts... >
3479  {
3480  virtual const Opt& outGeometry () const = 0; ///< output (OGC) gemeotry
3481  virtual Opt& outGeometry () = 0; ///< output (OGC) gemeotry
3482  };
3483 
3484  /// Partial specialization for Names::probabilities _OPALS_COMMENT_AFTER_("(list of
3485  template< class Opt, class... Opts >
3486  struct IAcc< Names::probabilities , true, Opt, Opts... > ///< (list of) proabability values [0..1] (opalsHisto))
3487  : GetIAcc< true, Opts... >
3488  {
3489  virtual const Opt& probabilities () const = 0; ///< (list of) proabability values [0..1] (opalsHisto))
3490  };
3491 
3492  /// Partial specialization for Names::probabilities _OPALS_COMMENT_AFTER_("(list of
3493  template< class Opt, class... Opts >
3494  struct IAcc< Names::probabilities , false, Opt, Opts... > ///< (list of) proabability values [0..1] (opalsHisto))
3495  : GetIAcc< false, Opts... >
3496  {
3497  virtual const Opt& probabilities () const = 0; ///< (list of) proabability values [0..1] (opalsHisto))
3498  virtual Opt& probabilities () = 0; ///< (list of) proabability values [0..1] (opalsHisto))
3499  };
3500 
3501  /// Partial specialization for Names::sectionRange _OPALS_COMMENT_AFTER_("start/stop stationing along the axis(opalsSection
3502  template< class Opt, class... Opts >
3503  struct IAcc< Names::sectionRange , true, Opt, Opts... > ///< start/stop stationing along the axis(opalsSection))
3504  : GetIAcc< true, Opts... >
3505  {
3506  virtual const Opt& sectionRange () const = 0; ///< start/stop stationing along the axis(opalsSection))
3507  };
3508 
3509  /// Partial specialization for Names::sectionRange _OPALS_COMMENT_AFTER_("start/stop stationing along the axis(opalsSection
3510  template< class Opt, class... Opts >
3511  struct IAcc< Names::sectionRange , false, Opt, Opts... > ///< start/stop stationing along the axis(opalsSection))
3512  : GetIAcc< false, Opts... >
3513  {
3514  virtual const Opt& sectionRange () const = 0; ///< start/stop stationing along the axis(opalsSection))
3515  virtual Opt& sectionRange () = 0; ///< start/stop stationing along the axis(opalsSection))
3516  };
3517 
3518  /// Partial specialization for Names::aoi and read-only access
3519  template< class Opt, class... Opts >
3520  struct IAcc< Names::aoi , true, Opt, Opts... >
3521  : GetIAcc< true, Opts... >
3522  {
3523  virtual const Opt& aoi () const = 0;
3524  };
3525 
3526  /// Partial specialization for Names::aoi and read-write access
3527  template< class Opt, class... Opts >
3528  struct IAcc< Names::aoi , false, Opt, Opts... >
3529  : GetIAcc< false, Opts... >
3530  {
3531  virtual const Opt& aoi () const = 0;
3532  virtual Opt& aoi () = 0;
3533  };
3534 
3535  /// Partial specialization for Names::inDimension and read-only access
3536  template< class Opt, class... Opts >
3537  struct IAcc< Names::inDimension , true, Opt, Opts... >
3538  : GetIAcc< true, Opts... >
3539  {
3540  virtual const Opt& inDimension () const = 0;
3541  };
3542 
3543  /// Partial specialization for Names::inDimension and read-write access
3544  template< class Opt, class... Opts >
3545  struct IAcc< Names::inDimension , false, Opt, Opts... >
3546  : GetIAcc< false, Opts... >
3547  {
3548  virtual const Opt& inDimension () const = 0;
3549  virtual Opt& inDimension () = 0;
3550  };
3551 
3552  /// Partial specialization for Names::outResults and read-only access
3553  template< class Opt, class... Opts >
3554  struct IAcc< Names::outResults , true, Opt, Opts... >
3555  : GetIAcc< true, Opts... >
3556  {
3557  virtual const Opt& outResults () const = 0;
3558  };
3559 
3560  /// Partial specialization for Names::outResults and read-write access
3561  template< class Opt, class... Opts >
3562  struct IAcc< Names::outResults , false, Opt, Opts... >
3563  : GetIAcc< false, Opts... >
3564  {
3565  virtual const Opt& outResults () const = 0;
3566  virtual Opt& outResults () = 0;
3567  };
3568 
3569  /// Partial specialization for Names::geometryModel and read-only access
3570  template< class Opt, class... Opts >
3571  struct IAcc< Names::geometryModel , true, Opt, Opts... >
3572  : GetIAcc< true, Opts... >
3573  {
3574  virtual const Opt& geometryModel () const = 0;
3575  };
3576 
3577  /// Partial specialization for Names::geometryModel and read-write access
3578  template< class Opt, class... Opts >
3579  struct IAcc< Names::geometryModel , false, Opt, Opts... >
3580  : GetIAcc< false, Opts... >
3581  {
3582  virtual const Opt& geometryModel () const = 0;
3583  virtual Opt& geometryModel () = 0;
3584  };
3585 
3586  /// Partial specialization for Names::calculationMode and read-only access
3587  template< class Opt, class... Opts >
3588  struct IAcc< Names::calculationMode , true, Opt, Opts... >
3589  : GetIAcc< true, Opts... >
3590  {
3591  virtual const Opt& calculationMode () const = 0;
3592  };
3593 
3594  /// Partial specialization for Names::calculationMode and read-write access
3595  template< class Opt, class... Opts >
3596  struct IAcc< Names::calculationMode , false, Opt, Opts... >
3597  : GetIAcc< false, Opts... >
3598  {
3599  virtual const Opt& calculationMode () const = 0;
3600  virtual Opt& calculationMode () = 0;
3601  };
3602 
3603  /// Partial specialization for Names::perimeter and read-only access
3604  template< class Opt, class... Opts >
3605  struct IAcc< Names::perimeter , true, Opt, Opts... >
3606  : GetIAcc< true, Opts... >
3607  {
3608  virtual const Opt& perimeter () const = 0;
3609  };
3610 
3611  /// Partial specialization for Names::perimeter and read-write access
3612  template< class Opt, class... Opts >
3613  struct IAcc< Names::perimeter , false, Opt, Opts... >
3614  : GetIAcc< false, Opts... >
3615  {
3616  virtual const Opt& perimeter () const = 0;
3617  virtual Opt& perimeter () = 0;
3618  };
3619 
3620  /// Partial specialization for Names::area and read-only access
3621  template< class Opt, class... Opts >
3622  struct IAcc< Names::area , true, Opt, Opts... >
3623  : GetIAcc< true, Opts... >
3624  {
3625  virtual const Opt& area () const = 0;
3626  };
3627 
3628  /// Partial specialization for Names::area and read-write access
3629  template< class Opt, class... Opts >
3630  struct IAcc< Names::area , false, Opt, Opts... >
3631  : GetIAcc< false, Opts... >
3632  {
3633  virtual const Opt& area () const = 0;
3634  virtual Opt& area () = 0;
3635  };
3636 
3637  /// Partial specialization for Names::initValue _OPALS_COMMENT_AFTER_("initialization value for specified cell (eg, opalsRasterize
3638  template< class Opt, class... Opts >
3639  struct IAcc< Names::initValue , true, Opt, Opts... > ///< initialization value for specified cell (eg, opalsRasterize)
3640  : GetIAcc< true, Opts... >
3641  {
3642  virtual const Opt& initValue () const = 0; ///< initialization value for specified cell (eg, opalsRasterize)
3643  };
3644 
3645  /// Partial specialization for Names::initValue _OPALS_COMMENT_AFTER_("initialization value for specified cell (eg, opalsRasterize
3646  template< class Opt, class... Opts >
3647  struct IAcc< Names::initValue , false, Opt, Opts... > ///< initialization value for specified cell (eg, opalsRasterize)
3648  : GetIAcc< false, Opts... >
3649  {
3650  virtual const Opt& initValue () const = 0; ///< initialization value for specified cell (eg, opalsRasterize)
3651  virtual Opt& initValue () = 0; ///< initialization value for specified cell (eg, opalsRasterize)
3652  };
3653 
3654  /// Partial specialization for Names::samplingDist _OPALS_COMMENT_AFTER_("defines a uniform sampling distance (eg, opalsICP
3655  template< class Opt, class... Opts >
3656  struct IAcc< Names::samplingDist , true, Opt, Opts... > ///< defines a uniform sampling distance (eg, opalsICP)
3657  : GetIAcc< true, Opts... >
3658  {
3659  virtual const Opt& samplingDist () const = 0; ///< defines a uniform sampling distance (eg, opalsICP)
3660  };
3661 
3662  /// Partial specialization for Names::samplingDist _OPALS_COMMENT_AFTER_("defines a uniform sampling distance (eg, opalsICP
3663  template< class Opt, class... Opts >
3664  struct IAcc< Names::samplingDist , false, Opt, Opts... > ///< defines a uniform sampling distance (eg, opalsICP)
3665  : GetIAcc< false, Opts... >
3666  {
3667  virtual const Opt& samplingDist () const = 0; ///< defines a uniform sampling distance (eg, opalsICP)
3668  virtual Opt& samplingDist () = 0; ///< defines a uniform sampling distance (eg, opalsICP)
3669  };
3670 
3671  /// Partial specialization for Names::lineVertexDist _OPALS_COMMENT_AFTER_("Regular distance for vertex spacing along linear geometries"
3672  template< class Opt, class... Opts >
3673  struct IAcc< Names::lineVertexDist , true, Opt, Opts... > ///< Regular distance for vertex spacing along linear geometries
3674  : GetIAcc< true, Opts... >
3675  {
3676  virtual const Opt& lineVertexDist () const = 0; ///< Regular distance for vertex spacing along linear geometries
3677  };
3678 
3679  /// Partial specialization for Names::lineVertexDist _OPALS_COMMENT_AFTER_("Regular distance for vertex spacing along linear geometries"
3680  template< class Opt, class... Opts >
3681  struct IAcc< Names::lineVertexDist , false, Opt, Opts... > ///< Regular distance for vertex spacing along linear geometries
3682  : GetIAcc< false, Opts... >
3683  {
3684  virtual const Opt& lineVertexDist () const = 0; ///< Regular distance for vertex spacing along linear geometries
3685  virtual Opt& lineVertexDist () = 0; ///< Regular distance for vertex spacing along linear geometries
3686  };
3687 
3688  /// Partial specialization for Names::lineBufferDist _OPALS_COMMENT_AFTER_("Line buffer distance "
3689  template< class Opt, class... Opts >
3690  struct IAcc< Names::lineBufferDist , true, Opt, Opts... > ///< Line buffer distance
3691  : GetIAcc< true, Opts... >
3692  {
3693  virtual const Opt& lineBufferDist () const = 0; ///< Line buffer distance
3694  };
3695 
3696  /// Partial specialization for Names::lineBufferDist _OPALS_COMMENT_AFTER_("Line buffer distance "
3697  template< class Opt, class... Opts >
3698  struct IAcc< Names::lineBufferDist , false, Opt, Opts... > ///< Line buffer distance
3699  : GetIAcc< false, Opts... >
3700  {
3701  virtual const Opt& lineBufferDist () const = 0; ///< Line buffer distance
3702  virtual Opt& lineBufferDist () = 0; ///< Line buffer distance
3703  };
3704 
3705  /// Partial specialization for Names::modelPlaneThreshold _OPALS_COMMENT_AFTER_("defines a vertical distance threshold between a model and a plane (opalsModelFormAxis
3706  template< class Opt, class... Opts >
3707  struct IAcc< Names::modelPlaneThreshold , true, Opt, Opts... > ///< defines a vertical distance threshold between a model and a plane (opalsModelFormAxis)
3708  : GetIAcc< true, Opts... >
3709  {
3710  virtual const Opt& modelPlaneThreshold () const = 0; ///< defines a vertical distance threshold between a model and a plane (opalsModelFormAxis)
3711  };
3712 
3713  /// Partial specialization for Names::modelPlaneThreshold _OPALS_COMMENT_AFTER_("defines a vertical distance threshold between a model and a plane (opalsModelFormAxis
3714  template< class Opt, class... Opts >
3715  struct IAcc< Names::modelPlaneThreshold , false, Opt, Opts... > ///< defines a vertical distance threshold between a model and a plane (opalsModelFormAxis)
3716  : GetIAcc< false, Opts... >
3717  {
3718  virtual const Opt& modelPlaneThreshold () const = 0; ///< defines a vertical distance threshold between a model and a plane (opalsModelFormAxis)
3719  virtual Opt& modelPlaneThreshold () = 0; ///< defines a vertical distance threshold between a model and a plane (opalsModelFormAxis)
3720  };
3721 
3722  /// Partial specialization for Names::redPoint _OPALS_COMMENT_AFTER_("defines the coordinates of a reduction point"
3723  template< class Opt, class... Opts >
3724  struct IAcc< Names::redPoint , true, Opt, Opts... > ///< defines the coordinates of a reduction point
3725  : GetIAcc< true, Opts... >
3726  {
3727  virtual const Opt& redPoint () const = 0; ///< defines the coordinates of a reduction point
3728  };
3729 
3730  /// Partial specialization for Names::redPoint _OPALS_COMMENT_AFTER_("defines the coordinates of a reduction point"
3731  template< class Opt, class... Opts >
3732  struct IAcc< Names::redPoint , false, Opt, Opts... > ///< defines the coordinates of a reduction point
3733  : GetIAcc< false, Opts... >
3734  {
3735  virtual const Opt& redPoint () const = 0; ///< defines the coordinates of a reduction point
3736  virtual Opt& redPoint () = 0; ///< defines the coordinates of a reduction point
3737  };
3738 
3739  /// Partial specialization for Names::plot and read-only access
3740  template< class Opt, class... Opts >
3741  struct IAcc< Names::plot , true, Opt, Opts... >
3742  : GetIAcc< true, Opts... >
3743  {
3744  virtual const Opt& plot () const = 0;
3745  };
3746 
3747  /// Partial specialization for Names::plot and read-write access
3748  template< class Opt, class... Opts >
3749  struct IAcc< Names::plot , false, Opt, Opts... >
3750  : GetIAcc< false, Opts... >
3751  {
3752  virtual const Opt& plot () const = 0;
3753  virtual Opt& plot () = 0;
3754  };
3755 
3756  /// Partial specialization for Names::subsetRadius and read-only access
3757  template< class Opt, class... Opts >
3758  struct IAcc< Names::subsetRadius , true, Opt, Opts... >
3759  : GetIAcc< true, Opts... >
3760  {
3761  virtual const Opt& subsetRadius () const = 0;
3762  };
3763 
3764  /// Partial specialization for Names::subsetRadius and read-write access
3765  template< class Opt, class... Opts >
3766  struct IAcc< Names::subsetRadius , false, Opt, Opts... >
3767  : GetIAcc< false, Opts... >
3768  {
3769  virtual const Opt& subsetRadius () const = 0;
3770  virtual Opt& subsetRadius () = 0;
3771  };
3772 
3773  /// Partial specialization for Names::outDirectory _OPALS_COMMENT_AFTER_("name of output directory"
3774  template< class Opt, class... Opts >
3775  struct IAcc< Names::outDirectory , true, Opt, Opts... > ///< name of output directory
3776  : GetIAcc< true, Opts... >
3777  {
3778  virtual const Opt& outDirectory () const = 0; ///< name of output directory
3779  };
3780 
3781  /// Partial specialization for Names::outDirectory _OPALS_COMMENT_AFTER_("name of output directory"
3782  template< class Opt, class... Opts >
3783  struct IAcc< Names::outDirectory , false, Opt, Opts... > ///< name of output directory
3784  : GetIAcc< false, Opts... >
3785  {
3786  virtual const Opt& outDirectory () const = 0; ///< name of output directory
3787  virtual Opt& outDirectory () = 0; ///< name of output directory
3788  };
3789 
3790  /// Partial specialization for Names::tempDirectory _OPALS_COMMENT_AFTER_("name of temporary directory"
3791  template< class Opt, class... Opts >
3792  struct IAcc< Names::tempDirectory , true, Opt, Opts... > ///< name of temporary directory
3793  : GetIAcc< true, Opts... >
3794  {
3795  virtual const Opt& tempDirectory () const = 0; ///< name of temporary directory
3796  };
3797 
3798  /// Partial specialization for Names::tempDirectory _OPALS_COMMENT_AFTER_("name of temporary directory"
3799  template< class Opt, class... Opts >
3800  struct IAcc< Names::tempDirectory , false, Opt, Opts... > ///< name of temporary directory
3801  : GetIAcc< false, Opts... >
3802  {
3803  virtual const Opt& tempDirectory () const = 0; ///< name of temporary directory
3804  virtual Opt& tempDirectory () = 0; ///< name of temporary directory
3805  };
3806 
3807  /// Partial specialization for Names::transformData _OPALS_COMMENT_AFTER_("boolean flag indicating whether or not to transform the input data (eg. opalsICP
3808  template< class Opt, class... Opts >
3809  struct IAcc< Names::transformData , true, Opt, Opts... > ///< boolean flag indicating whether or not to transform the input data (eg. opalsICP)
3810  : GetIAcc< true, Opts... >
3811  {
3812  virtual const Opt& transformData () const = 0; ///< boolean flag indicating whether or not to transform the input data (eg. opalsICP)
3813  };
3814 
3815  /// Partial specialization for Names::transformData _OPALS_COMMENT_AFTER_("boolean flag indicating whether or not to transform the input data (eg. opalsICP
3816  template< class Opt, class... Opts >
3817  struct IAcc< Names::transformData , false, Opt, Opts... > ///< boolean flag indicating whether or not to transform the input data (eg. opalsICP)
3818  : GetIAcc< false, Opts... >
3819  {
3820  virtual const Opt& transformData () const = 0; ///< boolean flag indicating whether or not to transform the input data (eg. opalsICP)
3821  virtual Opt& transformData () = 0; ///< boolean flag indicating whether or not to transform the input data (eg. opalsICP)
3822  };
3823 
3824  /// Partial specialization for Names::fixedFile _OPALS_COMMENT_AFTER_("fixed dataset within adjustment (opalsICP
3825  template< class Opt, class... Opts >
3826  struct IAcc< Names::fixedFile , true, Opt, Opts... > ///< fixed dataset within adjustment (opalsICP)
3827  : GetIAcc< true, Opts... >
3828  {
3829  virtual const Opt& fixedFile () const = 0; ///< fixed dataset within adjustment (opalsICP)
3830  };
3831 
3832  /// Partial specialization for Names::fixedFile _OPALS_COMMENT_AFTER_("fixed dataset within adjustment (opalsICP
3833  template< class Opt, class... Opts >
3834  struct IAcc< Names::fixedFile , false, Opt, Opts... > ///< fixed dataset within adjustment (opalsICP)
3835  : GetIAcc< false, Opts... >
3836  {
3837  virtual const Opt& fixedFile () const = 0; ///< fixed dataset within adjustment (opalsICP)
3838  virtual Opt& fixedFile () = 0; ///< fixed dataset within adjustment (opalsICP)
3839  };
3840 
3841  /// Partial specialization for Names::normalSpaceSampling and read-only access
3842  template< class Opt, class... Opts >
3843  struct IAcc< Names::normalSpaceSampling , true, Opt, Opts... >
3844  : GetIAcc< true, Opts... >
3845  {
3846  virtual const Opt& normalSpaceSampling () const = 0;
3847  };
3848 
3849  /// Partial specialization for Names::normalSpaceSampling and read-write access
3850  template< class Opt, class... Opts >
3851  struct IAcc< Names::normalSpaceSampling , false, Opt, Opts... >
3852  : GetIAcc< false, Opts... >
3853  {
3854  virtual const Opt& normalSpaceSampling () const = 0;
3855  virtual Opt& normalSpaceSampling () = 0;
3856  };
3857 
3858  /// Partial specialization for Names::maxLeverageSampling and read-only access
3859  template< class Opt, class... Opts >
3860  struct IAcc< Names::maxLeverageSampling , true, Opt, Opts... >
3861  : GetIAcc< true, Opts... >
3862  {
3863  virtual const Opt& maxLeverageSampling () const = 0;
3864  };
3865 
3866  /// Partial specialization for Names::maxLeverageSampling and read-write access
3867  template< class Opt, class... Opts >
3868  struct IAcc< Names::maxLeverageSampling , false, Opt, Opts... >
3869  : GetIAcc< false, Opts... >
3870  {
3871  virtual const Opt& maxLeverageSampling () const = 0;
3872  virtual Opt& maxLeverageSampling () = 0;
3873  };
3874 
3875  /// Partial specialization for Names::multiBand _OPALS_COMMENT_AFTER_("used by opalsGrid to enable or disable multibans instead of multiple files for features.."
3876  template< class Opt, class... Opts >
3877  struct IAcc< Names::multiBand , true, Opt, Opts... > ///< used by opalsGrid to enable or disable multibans instead of multiple files for features..
3878  : GetIAcc< true, Opts... >
3879  {
3880  virtual const Opt& multiBand () const = 0; ///< used by opalsGrid to enable or disable multibans instead of multiple files for features..
3881  };
3882 
3883  /// Partial specialization for Names::multiBand _OPALS_COMMENT_AFTER_("used by opalsGrid to enable or disable multibans instead of multiple files for features.."
3884  template< class Opt, class... Opts >
3885  struct IAcc< Names::multiBand , false, Opt, Opts... > ///< used by opalsGrid to enable or disable multibans instead of multiple files for features..
3886  : GetIAcc< false, Opts... >
3887  {
3888  virtual const Opt& multiBand () const = 0; ///< used by opalsGrid to enable or disable multibans instead of multiple files for features..
3889  virtual Opt& multiBand () = 0; ///< used by opalsGrid to enable or disable multibans instead of multiple files for features..
3890  };
3891 
3892  /// Partial specialization for Names::storeStatistics _OPALS_COMMENT_AFTER_("used by zonal fit to store statistics as attribute in ODM file."
3893  template< class Opt, class... Opts >
3894  struct IAcc< Names::storeStatistics , true, Opt, Opts... > ///< used by zonal fit to store statistics as attribute in ODM file.
3895  : GetIAcc< true, Opts... >
3896  {
3897  virtual const Opt& storeStatistics () const = 0; ///< used by zonal fit to store statistics as attribute in ODM file.
3898  };
3899 
3900  /// Partial specialization for Names::storeStatistics _OPALS_COMMENT_AFTER_("used by zonal fit to store statistics as attribute in ODM file."
3901  template< class Opt, class... Opts >
3902  struct IAcc< Names::storeStatistics , false, Opt, Opts... > ///< used by zonal fit to store statistics as attribute in ODM file.
3903  : GetIAcc< false, Opts... >
3904  {
3905  virtual const Opt& storeStatistics () const = 0; ///< used by zonal fit to store statistics as attribute in ODM file.
3906  virtual Opt& storeStatistics () = 0; ///< used by zonal fit to store statistics as attribute in ODM file.
3907  };
3908 
3909  /// Partial specialization for Names::approxFile _OPALS_COMMENT_AFTER_("File containing approximation info."
3910  template< class Opt, class... Opts >
3911  struct IAcc< Names::approxFile , true, Opt, Opts... > ///< File containing approximation info.
3912  : GetIAcc< true, Opts... >
3913  {
3914  virtual const Opt& approxFile () const = 0; ///< File containing approximation info.
3915  };
3916 
3917  /// Partial specialization for Names::approxFile _OPALS_COMMENT_AFTER_("File containing approximation info."
3918  template< class Opt, class... Opts >
3919  struct IAcc< Names::approxFile , false, Opt, Opts... > ///< File containing approximation info.
3920  : GetIAcc< false, Opts... >
3921  {
3922  virtual const Opt& approxFile () const = 0; ///< File containing approximation info.
3923  virtual Opt& approxFile () = 0; ///< File containing approximation info.
3924  };
3925 
3926  /// Partial specialization for Names::procMode _OPALS_COMMENT_AFTER_("processing mode"
3927  template< class Opt, class... Opts >
3928  struct IAcc< Names::procMode , true, Opt, Opts... > ///< processing mode
3929  : GetIAcc< true, Opts... >
3930  {
3931  virtual const Opt& procMode () const = 0; ///< processing mode
3932  };
3933 
3934  /// Partial specialization for Names::procMode _OPALS_COMMENT_AFTER_("processing mode"
3935  template< class Opt, class... Opts >
3936  struct IAcc< Names::procMode , false, Opt, Opts... > ///< processing mode
3937  : GetIAcc< false, Opts... >
3938  {
3939  virtual const Opt& procMode () const = 0; ///< processing mode
3940  virtual Opt& procMode () = 0; ///< processing mode
3941  };
3942 
3943  /// Partial specialization for Names::suppressRungs _OPALS_COMMENT_AFTER_("remove all one-pixel-diagonal line elements (opalsVectorize, toPolyline
3944  template< class Opt, class... Opts >
3945  struct IAcc< Names::suppressRungs , true, Opt, Opts... > ///< remove all one-pixel-diagonal line elements (opalsVectorize, toPolyline)
3946  : GetIAcc< true, Opts... >
3947  {
3948  virtual const Opt& suppressRungs () const = 0; ///< remove all one-pixel-diagonal line elements (opalsVectorize, toPolyline)
3949  };
3950 
3951  /// Partial specialization for Names::suppressRungs _OPALS_COMMENT_AFTER_("remove all one-pixel-diagonal line elements (opalsVectorize, toPolyline
3952  template< class Opt, class... Opts >
3953  struct IAcc< Names::suppressRungs , false, Opt, Opts... > ///< remove all one-pixel-diagonal line elements (opalsVectorize, toPolyline)
3954  : GetIAcc< false, Opts... >
3955  {
3956  virtual const Opt& suppressRungs () const = 0; ///< remove all one-pixel-diagonal line elements (opalsVectorize, toPolyline)
3957  virtual Opt& suppressRungs () = 0; ///< remove all one-pixel-diagonal line elements (opalsVectorize, toPolyline)
3958  };
3959 
3960  /// Partial specialization for Names::processId _OPALS_COMMENT_AFTER_("defining a list of ids to process (opalsLineModeler
3961  template< class Opt, class... Opts >
3962  struct IAcc< Names::processId , true, Opt, Opts... > ///< defining a list of ids to process (opalsLineModeler)
3963  : GetIAcc< true, Opts... >
3964  {
3965  virtual const Opt& processId () const = 0; ///< defining a list of ids to process (opalsLineModeler)
3966  };
3967 
3968  /// Partial specialization for Names::processId _OPALS_COMMENT_AFTER_("defining a list of ids to process (opalsLineModeler
3969  template< class Opt, class... Opts >
3970  struct IAcc< Names::processId , false, Opt, Opts... > ///< defining a list of ids to process (opalsLineModeler)
3971  : GetIAcc< false, Opts... >
3972  {
3973  virtual const Opt& processId () const = 0; ///< defining a list of ids to process (opalsLineModeler)
3974  virtual Opt& processId () = 0; ///< defining a list of ids to process (opalsLineModeler)
3975  };
3976 
3977  /// Partial specialization for Names::ignoreId _OPALS_COMMENT_AFTER_("defining a list of ids to be ignored (opalsLineModeler
3978  template< class Opt, class... Opts >
3979  struct IAcc< Names::ignoreId , true, Opt, Opts... > ///< defining a list of ids to be ignored (opalsLineModeler)
3980  : GetIAcc< true, Opts... >
3981  {
3982  virtual const Opt& ignoreId () const = 0; ///< defining a list of ids to be ignored (opalsLineModeler)
3983  };
3984 
3985  /// Partial specialization for Names::ignoreId _OPALS_COMMENT_AFTER_("defining a list of ids to be ignored (opalsLineModeler
3986  template< class Opt, class... Opts >
3987  struct IAcc< Names::ignoreId , false, Opt, Opts... > ///< defining a list of ids to be ignored (opalsLineModeler)
3988  : GetIAcc< false, Opts... >
3989  {
3990  virtual const Opt& ignoreId () const = 0; ///< defining a list of ids to be ignored (opalsLineModeler)
3991  virtual Opt& ignoreId () = 0; ///< defining a list of ids to be ignored (opalsLineModeler)
3992  };
3993 
3994  /// Partial specialization for Names::criterion _OPALS_COMMENT_AFTER_("defining the segment homogeneity criterion (opalsSegmentation
3995  template< class Opt, class... Opts >
3996  struct IAcc< Names::criterion , true, Opt, Opts... > ///< defining the segment homogeneity criterion (opalsSegmentation)
3997  : GetIAcc< true, Opts... >
3998  {
3999  virtual const Opt& criterion () const = 0; ///< defining the segment homogeneity criterion (opalsSegmentation)
4000  };
4001 
4002  /// Partial specialization for Names::criterion _OPALS_COMMENT_AFTER_("defining the segment homogeneity criterion (opalsSegmentation
4003  template< class Opt, class... Opts >
4004  struct IAcc< Names::criterion , false, Opt, Opts... > ///< defining the segment homogeneity criterion (opalsSegmentation)
4005  : GetIAcc< false, Opts... >
4006  {
4007  virtual const Opt& criterion () const = 0; ///< defining the segment homogeneity criterion (opalsSegmentation)
4008  virtual Opt& criterion () = 0; ///< defining the segment homogeneity criterion (opalsSegmentation)
4009  };
4010 
4011  /// Partial specialization for Names::minHeight _OPALS_COMMENT_AFTER_("minimum (object
4012  template< class Opt, class... Opts >
4013  struct IAcc< Names::minHeight , true, Opt, Opts... > ///< minimum (object) height
4014  : GetIAcc< true, Opts... >
4015  {
4016  virtual const Opt& minHeight () const = 0; ///< minimum (object) height
4017  };
4018 
4019  /// Partial specialization for Names::minHeight _OPALS_COMMENT_AFTER_("minimum (object
4020  template< class Opt, class... Opts >
4021  struct IAcc< Names::minHeight , false, Opt, Opts... > ///< minimum (object) height
4022  : GetIAcc< false, Opts... >
4023  {
4024  virtual const Opt& minHeight () const = 0; ///< minimum (object) height
4025  virtual Opt& minHeight () = 0; ///< minimum (object) height
4026  };
4027 
4028  /// Partial specialization for Names::maxWidth _OPALS_COMMENT_AFTER_("maximum (object
4029  template< class Opt, class... Opts >
4030  struct IAcc< Names::maxWidth , true, Opt, Opts... > ///< maximum (object) width
4031  : GetIAcc< true, Opts... >
4032  {
4033  virtual const Opt& maxWidth () const = 0; ///< maximum (object) width
4034  };
4035 
4036  /// Partial specialization for Names::maxWidth _OPALS_COMMENT_AFTER_("maximum (object
4037  template< class Opt, class... Opts >
4038  struct IAcc< Names::maxWidth , false, Opt, Opts... > ///< maximum (object) width
4039  : GetIAcc< false, Opts... >
4040  {
4041  virtual const Opt& maxWidth () const = 0; ///< maximum (object) width
4042  virtual Opt& maxWidth () = 0; ///< maximum (object) width
4043  };
4044 
4045  /// Partial specialization for Names::minConsensus _OPALS_COMMENT_AFTER_("minimum level of consensus"
4046  template< class Opt, class... Opts >
4047  struct IAcc< Names::minConsensus , true, Opt, Opts... > ///< minimum level of consensus
4048  : GetIAcc< true, Opts... >
4049  {
4050  virtual const Opt& minConsensus () const = 0; ///< minimum level of consensus
4051  };
4052 
4053  /// Partial specialization for Names::minConsensus _OPALS_COMMENT_AFTER_("minimum level of consensus"
4054  template< class Opt, class... Opts >
4055  struct IAcc< Names::minConsensus , false, Opt, Opts... > ///< minimum level of consensus
4056  : GetIAcc< false, Opts... >
4057  {
4058  virtual const Opt& minConsensus () const = 0; ///< minimum level of consensus
4059  virtual Opt& minConsensus () = 0; ///< minimum level of consensus
4060  };
4061 
4062  /// Partial specialization for Names::mergePolygon _OPALS_COMMENT_AFTER_("merge polygon method (eg. opalsImport
4063  template< class Opt, class... Opts >
4064  struct IAcc< Names::mergePolygon , true, Opt, Opts... > ///< merge polygon method (eg. opalsImport)
4065  : GetIAcc< true, Opts... >
4066  {
4067  virtual const Opt& mergePolygon () const = 0; ///< merge polygon method (eg. opalsImport)
4068  };
4069 
4070  /// Partial specialization for Names::mergePolygon _OPALS_COMMENT_AFTER_("merge polygon method (eg. opalsImport
4071  template< class Opt, class... Opts >
4072  struct IAcc< Names::mergePolygon , false, Opt, Opts... > ///< merge polygon method (eg. opalsImport)
4073  : GetIAcc< false, Opts... >
4074  {
4075  virtual const Opt& mergePolygon () const = 0; ///< merge polygon method (eg. opalsImport)
4076  virtual Opt& mergePolygon () = 0; ///< merge polygon method (eg. opalsImport)
4077  };
4078 
4079  /// Partial specialization for Names::thinOut _OPALS_COMMENT_AFTER_("thin out contour lines (opalsIsolines
4080  template< class Opt, class... Opts >
4081  struct IAcc< Names::thinOut , true, Opt, Opts... > ///< thin out contour lines (opalsIsolines)
4082  : GetIAcc< true, Opts... >
4083  {
4084  virtual const Opt& thinOut () const = 0; ///< thin out contour lines (opalsIsolines)
4085  };
4086 
4087  /// Partial specialization for Names::thinOut _OPALS_COMMENT_AFTER_("thin out contour lines (opalsIsolines
4088  template< class Opt, class... Opts >
4089  struct IAcc< Names::thinOut , false, Opt, Opts... > ///< thin out contour lines (opalsIsolines)
4090  : GetIAcc< false, Opts... >
4091  {
4092  virtual const Opt& thinOut () const = 0; ///< thin out contour lines (opalsIsolines)
4093  virtual Opt& thinOut () = 0; ///< thin out contour lines (opalsIsolines)
4094  };
4095 
4096  /// Partial specialization for Names::closeMin _OPALS_COMMENT_AFTER_("suppress closed contours with area < closeMin (opalsIsolines
4097  template< class Opt, class... Opts >
4098  struct IAcc< Names::closeMin , true, Opt, Opts... > ///< suppress closed contours with area < closeMin (opalsIsolines)
4099  : GetIAcc< true, Opts... >
4100  {
4101  virtual const Opt& closeMin () const = 0; ///< suppress closed contours with area < closeMin (opalsIsolines)
4102  };
4103 
4104  /// Partial specialization for Names::closeMin _OPALS_COMMENT_AFTER_("suppress closed contours with area < closeMin (opalsIsolines
4105  template< class Opt, class... Opts >
4106  struct IAcc< Names::closeMin , false, Opt, Opts... > ///< suppress closed contours with area < closeMin (opalsIsolines)
4107  : GetIAcc< false, Opts... >
4108  {
4109  virtual const Opt& closeMin () const = 0; ///< suppress closed contours with area < closeMin (opalsIsolines)
4110  virtual Opt& closeMin () = 0; ///< suppress closed contours with area < closeMin (opalsIsolines)
4111  };
4112 
4113  /// Partial specialization for Names::densification _OPALS_COMMENT_AFTER_("densification mode (opalsIsolines
4114  template< class Opt, class... Opts >
4115  struct IAcc< Names::densification , true, Opt, Opts... > ///< densification mode (opalsIsolines)
4116  : GetIAcc< true, Opts... >
4117  {
4118  virtual const Opt& densification () const = 0; ///< densification mode (opalsIsolines)
4119  };
4120 
4121  /// Partial specialization for Names::densification _OPALS_COMMENT_AFTER_("densification mode (opalsIsolines
4122  template< class Opt, class... Opts >
4123  struct IAcc< Names::densification , false, Opt, Opts... > ///< densification mode (opalsIsolines)
4124  : GetIAcc< false, Opts... >
4125  {
4126  virtual const Opt& densification () const = 0; ///< densification mode (opalsIsolines)
4127  virtual Opt& densification () = 0; ///< densification mode (opalsIsolines)
4128  };
4129 
4130  /// Partial specialization for Names::detector _OPALS_COMMENT_AFTER_("edge detection method (opalsEdgeDetect
4131  template< class Opt, class... Opts >
4132  struct IAcc< Names::detector , true, Opt, Opts... > ///< edge detection method (opalsEdgeDetect)
4133  : GetIAcc< true, Opts... >
4134  {
4135  virtual const Opt& detector () const = 0; ///< edge detection method (opalsEdgeDetect)
4136  };
4137 
4138  /// Partial specialization for Names::detector _OPALS_COMMENT_AFTER_("edge detection method (opalsEdgeDetect
4139  template< class Opt, class... Opts >
4140  struct IAcc< Names::detector , false, Opt, Opts... > ///< edge detection method (opalsEdgeDetect)
4141  : GetIAcc< false, Opts... >
4142  {
4143  virtual const Opt& detector () const = 0; ///< edge detection method (opalsEdgeDetect)
4144  virtual Opt& detector () = 0; ///< edge detection method (opalsEdgeDetect)
4145  };
4146 
4147  /// Partial specialization for Names::threshold _OPALS_COMMENT_AFTER_("threshold (opalsEdgeDetect
4148  template< class Opt, class... Opts >
4149  struct IAcc< Names::threshold , true, Opt, Opts... > ///< threshold (opalsEdgeDetect)
4150  : GetIAcc< true, Opts... >
4151  {
4152  virtual const Opt& threshold () const = 0; ///< threshold (opalsEdgeDetect)
4153  };
4154 
4155  /// Partial specialization for Names::threshold _OPALS_COMMENT_AFTER_("threshold (opalsEdgeDetect
4156  template< class Opt, class... Opts >
4157  struct IAcc< Names::threshold , false, Opt, Opts... > ///< threshold (opalsEdgeDetect)
4158  : GetIAcc< false, Opts... >
4159  {
4160  virtual const Opt& threshold () const = 0; ///< threshold (opalsEdgeDetect)
4161  virtual Opt& threshold () = 0; ///< threshold (opalsEdgeDetect)
4162  };
4163 
4164  /// Partial specialization for Names::method _OPALS_COMMENT_AFTER_("method of computation (opalsFillGaps, opalsLineTopology
4165  template< class Opt, class... Opts >
4166  struct IAcc< Names::method , true, Opt, Opts... > ///< method of computation (opalsFillGaps, opalsLineTopology)
4167  : GetIAcc< true, Opts... >
4168  {
4169  virtual const Opt& method () const = 0; ///< method of computation (opalsFillGaps, opalsLineTopology)
4170  };
4171 
4172  /// Partial specialization for Names::method _OPALS_COMMENT_AFTER_("method of computation (opalsFillGaps, opalsLineTopology
4173  template< class Opt, class... Opts >
4174  struct IAcc< Names::method , false, Opt, Opts... > ///< method of computation (opalsFillGaps, opalsLineTopology)
4175  : GetIAcc< false, Opts... >
4176  {
4177  virtual const Opt& method () const = 0; ///< method of computation (opalsFillGaps, opalsLineTopology)
4178  virtual Opt& method () = 0; ///< method of computation (opalsFillGaps, opalsLineTopology)
4179  };
4180 
4181  /// 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
4182  template< class Opt, class... Opts >
4183  struct IAcc< Names::boundaryRatio , true, Opt, Opts... > ///< ratio between the valid boundary pixel of a gap and the number of gap-pixel that lie on the image boundary (opalsFillGaps)
4184  : GetIAcc< true, Opts... >
4185  {
4186  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)
4187  };
4188 
4189  /// 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
4190  template< class Opt, class... Opts >
4191  struct IAcc< Names::boundaryRatio , false, Opt, Opts... > ///< ratio between the valid boundary pixel of a gap and the number of gap-pixel that lie on the image boundary (opalsFillGaps)
4192  : GetIAcc< false, Opts... >
4193  {
4194  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)
4195  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)
4196  };
4197 
4198  /// Partial specialization for Names::avgDist _OPALS_COMMENT_AFTER_("average distance (opalsLineTopology
4199  template< class Opt, class... Opts >
4200  struct IAcc< Names::avgDist , true, Opt, Opts... > ///< average distance (opalsLineTopology)
4201  : GetIAcc< true, Opts... >
4202  {
4203  virtual const Opt& avgDist () const = 0; ///< average distance (opalsLineTopology)
4204  };
4205 
4206  /// Partial specialization for Names::avgDist _OPALS_COMMENT_AFTER_("average distance (opalsLineTopology
4207  template< class Opt, class... Opts >
4208  struct IAcc< Names::avgDist , false, Opt, Opts... > ///< average distance (opalsLineTopology)
4209  : GetIAcc< false, Opts... >
4210  {
4211  virtual const Opt& avgDist () const = 0; ///< average distance (opalsLineTopology)
4212  virtual Opt& avgDist () = 0; ///< average distance (opalsLineTopology)
4213  };
4214 
4215  /// Partial specialization for Names::merge _OPALS_COMMENT_AFTER_("Parameter group 'merge' (opalsLineTopology
4216  template< class Opt, class... Opts >
4217  struct IAcc< Names::merge , true, Opt, Opts... > ///< Parameter group 'merge' (opalsLineTopology)
4218  : GetIAcc< true, Opts... >
4219  {
4220  virtual const Opt& merge () const = 0; ///< Parameter group 'merge' (opalsLineTopology)
4221  };
4222 
4223  /// Partial specialization for Names::merge _OPALS_COMMENT_AFTER_("Parameter group 'merge' (opalsLineTopology
4224  template< class Opt, class... Opts >
4225  struct IAcc< Names::merge , false, Opt, Opts... > ///< Parameter group 'merge' (opalsLineTopology)
4226  : GetIAcc< false, Opts... >
4227  {
4228  virtual const Opt& merge () const = 0; ///< Parameter group 'merge' (opalsLineTopology)
4229  virtual Opt& merge () = 0; ///< Parameter group 'merge' (opalsLineTopology)
4230  };
4231 
4232  /// Partial specialization for Names::minWeight _OPALS_COMMENT_AFTER_("minimum weight (opalsLineTopology
4233  template< class Opt, class... Opts >
4234  struct IAcc< Names::minWeight , true, Opt, Opts... > ///< minimum weight (opalsLineTopology)
4235  : GetIAcc< true, Opts... >
4236  {
4237  virtual const Opt& minWeight () const = 0; ///< minimum weight (opalsLineTopology)
4238  };
4239 
4240  /// Partial specialization for Names::minWeight _OPALS_COMMENT_AFTER_("minimum weight (opalsLineTopology
4241  template< class Opt, class... Opts >
4242  struct IAcc< Names::minWeight , false, Opt, Opts... > ///< minimum weight (opalsLineTopology)
4243  : GetIAcc< false, Opts... >
4244  {
4245  virtual const Opt& minWeight () const = 0; ///< minimum weight (opalsLineTopology)
4246  virtual Opt& minWeight () = 0; ///< minimum weight (opalsLineTopology)
4247  };
4248 
4249  /// Partial specialization for Names::relWeightLead _OPALS_COMMENT_AFTER_("relative weight lead (opalsLineTopology
4250  template< class Opt, class... Opts >
4251  struct IAcc< Names::relWeightLead , true, Opt, Opts... > ///< relative weight lead (opalsLineTopology)
4252  : GetIAcc< true, Opts... >
4253  {
4254  virtual const Opt& relWeightLead () const = 0; ///< relative weight lead (opalsLineTopology)
4255  };
4256 
4257  /// Partial specialization for Names::relWeightLead _OPALS_COMMENT_AFTER_("relative weight lead (opalsLineTopology
4258  template< class Opt, class... Opts >
4259  struct IAcc< Names::relWeightLead , false, Opt, Opts... > ///< relative weight lead (opalsLineTopology)
4260  : GetIAcc< false, Opts... >
4261  {
4262  virtual const Opt& relWeightLead () const = 0; ///< relative weight lead (opalsLineTopology)
4263  virtual Opt& relWeightLead () = 0; ///< relative weight lead (opalsLineTopology)
4264  };
4265 
4266  /// Partial specialization for Names::revertDist _OPALS_COMMENT_AFTER_("revert distance (opalsLineTopology
4267  template< class Opt, class... Opts >
4268  struct IAcc< Names::revertDist , true, Opt, Opts... > ///< revert distance (opalsLineTopology)
4269  : GetIAcc< true, Opts... >
4270  {
4271  virtual const Opt& revertDist () const = 0; ///< revert distance (opalsLineTopology)
4272  };
4273 
4274  /// Partial specialization for Names::revertDist _OPALS_COMMENT_AFTER_("revert distance (opalsLineTopology
4275  template< class Opt, class... Opts >
4276  struct IAcc< Names::revertDist , false, Opt, Opts... > ///< revert distance (opalsLineTopology)
4277  : GetIAcc< false, Opts... >
4278  {
4279  virtual const Opt& revertDist () const = 0; ///< revert distance (opalsLineTopology)
4280  virtual Opt& revertDist () = 0; ///< revert distance (opalsLineTopology)
4281  };
4282 
4283  /// Partial specialization for Names::revertInterval _OPALS_COMMENT_AFTER_("revert interval (opalsLineTopology
4284  template< class Opt, class... Opts >
4285  struct IAcc< Names::revertInterval , true, Opt, Opts... > ///< revert interval (opalsLineTopology)
4286  : GetIAcc< true, Opts... >
4287  {
4288  virtual const Opt& revertInterval () const = 0; ///< revert interval (opalsLineTopology)
4289  };
4290 
4291  /// Partial specialization for Names::revertInterval _OPALS_COMMENT_AFTER_("revert interval (opalsLineTopology
4292  template< class Opt, class... Opts >
4293  struct IAcc< Names::revertInterval , false, Opt, Opts... > ///< revert interval (opalsLineTopology)
4294  : GetIAcc< false, Opts... >
4295  {
4296  virtual const Opt& revertInterval () const = 0; ///< revert interval (opalsLineTopology)
4297  virtual Opt& revertInterval () = 0; ///< revert interval (opalsLineTopology)
4298  };
4299 
4300  /// Partial specialization for Names::searchGeneration _OPALS_COMMENT_AFTER_("search generation (opalsLineTopology
4301  template< class Opt, class... Opts >
4302  struct IAcc< Names::searchGeneration , true, Opt, Opts... > ///< search generation (opalsLineTopology)
4303  : GetIAcc< true, Opts... >
4304  {
4305  virtual const Opt& searchGeneration () const = 0; ///< search generation (opalsLineTopology)
4306  };
4307 
4308  /// Partial specialization for Names::searchGeneration _OPALS_COMMENT_AFTER_("search generation (opalsLineTopology
4309  template< class Opt, class... Opts >
4310  struct IAcc< Names::searchGeneration , false, Opt, Opts... > ///< search generation (opalsLineTopology)
4311  : GetIAcc< false, Opts... >
4312  {
4313  virtual const Opt& searchGeneration () const = 0; ///< search generation (opalsLineTopology)
4314  virtual Opt& searchGeneration () = 0; ///< search generation (opalsLineTopology)
4315  };
4316 
4317  /// Partial specialization for Names::preventIntersection _OPALS_COMMENT_AFTER_("prevent intersection of lines (opalsLineTopology
4318  template< class Opt, class... Opts >
4319  struct IAcc< Names::preventIntersection , true, Opt, Opts... > ///< prevent intersection of lines (opalsLineTopology)
4320  : GetIAcc< true, Opts... >
4321  {
4322  virtual const Opt& preventIntersection () const = 0; ///< prevent intersection of lines (opalsLineTopology)
4323  };
4324 
4325  /// Partial specialization for Names::preventIntersection _OPALS_COMMENT_AFTER_("prevent intersection of lines (opalsLineTopology
4326  template< class Opt, class... Opts >
4327  struct IAcc< Names::preventIntersection , false, Opt, Opts... > ///< prevent intersection of lines (opalsLineTopology)
4328  : GetIAcc< false, Opts... >
4329  {
4330  virtual const Opt& preventIntersection () const = 0; ///< prevent intersection of lines (opalsLineTopology)
4331  virtual Opt& preventIntersection () = 0; ///< prevent intersection of lines (opalsLineTopology)
4332  };
4333 
4334  /// Partial specialization for Names::wf _OPALS_COMMENT_AFTER_("Parameter group 'wf' containing weight factor options (opalsLineTopology
4335  template< class Opt, class... Opts >
4336  struct IAcc< Names::wf , true, Opt, Opts... > ///< Parameter group 'wf' containing weight factor options (opalsLineTopology)
4337  : GetIAcc< true, Opts... >
4338  {
4339  virtual const Opt& wf () const = 0; ///< Parameter group 'wf' containing weight factor options (opalsLineTopology)
4340  };
4341 
4342  /// Partial specialization for Names::wf _OPALS_COMMENT_AFTER_("Parameter group 'wf' containing weight factor options (opalsLineTopology
4343  template< class Opt, class... Opts >
4344  struct IAcc< Names::wf , false, Opt, Opts... > ///< Parameter group 'wf' containing weight factor options (opalsLineTopology)
4345  : GetIAcc< false, Opts... >
4346  {
4347  virtual const Opt& wf () const = 0; ///< Parameter group 'wf' containing weight factor options (opalsLineTopology)
4348  virtual Opt& wf () = 0; ///< Parameter group 'wf' containing weight factor options (opalsLineTopology)
4349  };
4350 
4351  /// Partial specialization for Names::dist _OPALS_COMMENT_AFTER_("weight factor distance (opalsLineTopology
4352  template< class Opt, class... Opts >
4353  struct IAcc< Names::dist , true, Opt, Opts... > ///< weight factor distance (opalsLineTopology)
4354  : GetIAcc< true, Opts... >
4355  {
4356  virtual const Opt& dist () const = 0; ///< weight factor distance (opalsLineTopology)
4357  };
4358 
4359  /// Partial specialization for Names::dist _OPALS_COMMENT_AFTER_("weight factor distance (opalsLineTopology
4360  template< class Opt, class... Opts >
4361  struct IAcc< Names::dist , false, Opt, Opts... > ///< weight factor distance (opalsLineTopology)
4362  : GetIAcc< false, Opts... >
4363  {
4364  virtual const Opt& dist () const = 0; ///< weight factor distance (opalsLineTopology)
4365  virtual Opt& dist () = 0; ///< weight factor distance (opalsLineTopology)
4366  };
4367 
4368  /// Partial specialization for Names::angle _OPALS_COMMENT_AFTER_("weight factor angle (Hz, V
4369  template< class Opt, class... Opts >
4370  struct IAcc< Names::angle , true, Opt, Opts... > ///< weight factor angle (Hz, V) (opalsLineTopology)
4371  : GetIAcc< true, Opts... >
4372  {
4373  virtual const Opt& angle () const = 0; ///< weight factor angle (Hz, V) (opalsLineTopology)
4374  };
4375 
4376  /// Partial specialization for Names::angle _OPALS_COMMENT_AFTER_("weight factor angle (Hz, V
4377  template< class Opt, class... Opts >
4378  struct IAcc< Names::angle , false, Opt, Opts... > ///< weight factor angle (Hz, V) (opalsLineTopology)
4379  : GetIAcc< false, Opts... >
4380  {
4381  virtual const Opt& angle () const = 0; ///< weight factor angle (Hz, V) (opalsLineTopology)
4382  virtual Opt& angle () = 0; ///< weight factor angle (Hz, V) (opalsLineTopology)
4383  };
4384 
4385  /// Partial specialization for Names::straightness _OPALS_COMMENT_AFTER_("weight factor straightness (opalsLineTopology
4386  template< class Opt, class... Opts >
4387  struct IAcc< Names::straightness , true, Opt, Opts... > ///< weight factor straightness (opalsLineTopology)
4388  : GetIAcc< true, Opts... >
4389  {
4390  virtual const Opt& straightness () const = 0; ///< weight factor straightness (opalsLineTopology)
4391  };
4392 
4393  /// Partial specialization for Names::straightness _OPALS_COMMENT_AFTER_("weight factor straightness (opalsLineTopology
4394  template< class Opt, class... Opts >
4395  struct IAcc< Names::straightness , false, Opt, Opts... > ///< weight factor straightness (opalsLineTopology)
4396  : GetIAcc< false, Opts... >
4397  {
4398  virtual const Opt& straightness () const = 0; ///< weight factor straightness (opalsLineTopology)
4399  virtual Opt& straightness () = 0; ///< weight factor straightness (opalsLineTopology)
4400  };
4401 
4402  /// Partial specialization for Names::perpDist _OPALS_COMMENT_AFTER_("weight factor perpendicular distance (opalsLineTopology
4403  template< class Opt, class... Opts >
4404  struct IAcc< Names::perpDist , true, Opt, Opts... > ///< weight factor perpendicular distance (opalsLineTopology)
4405  : GetIAcc< true, Opts... >
4406  {
4407  virtual const Opt& perpDist () const = 0; ///< weight factor perpendicular distance (opalsLineTopology)
4408  };
4409 
4410  /// Partial specialization for Names::perpDist _OPALS_COMMENT_AFTER_("weight factor perpendicular distance (opalsLineTopology
4411  template< class Opt, class... Opts >
4412  struct IAcc< Names::perpDist , false, Opt, Opts... > ///< weight factor perpendicular distance (opalsLineTopology)
4413  : GetIAcc< false, Opts... >
4414  {
4415  virtual const Opt& perpDist () const = 0; ///< weight factor perpendicular distance (opalsLineTopology)
4416  virtual Opt& perpDist () = 0; ///< weight factor perpendicular distance (opalsLineTopology)
4417  };
4418 
4419  /// Partial specialization for Names::clean _OPALS_COMMENT_AFTER_("Parameter group 'clean' (opalsLineTopology
4420  template< class Opt, class... Opts >
4421  struct IAcc< Names::clean , true, Opt, Opts... > ///< Parameter group 'clean' (opalsLineTopology)
4422  : GetIAcc< true, Opts... >
4423  {
4424  virtual const Opt& clean () const = 0; ///< Parameter group 'clean' (opalsLineTopology)
4425  };
4426 
4427  /// Partial specialization for Names::clean _OPALS_COMMENT_AFTER_("Parameter group 'clean' (opalsLineTopology
4428  template< class Opt, class... Opts >
4429  struct IAcc< Names::clean , false, Opt, Opts... > ///< Parameter group 'clean' (opalsLineTopology)
4430  : GetIAcc< false, Opts... >
4431  {
4432  virtual const Opt& clean () const = 0; ///< Parameter group 'clean' (opalsLineTopology)
4433  virtual Opt& clean () = 0; ///< Parameter group 'clean' (opalsLineTopology)
4434  };
4435 
4436  /// Partial specialization for Names::intersectSnapDist _OPALS_COMMENT_AFTER_("omit distance for missing intersections (opalsLineTopology
4437  template< class Opt, class... Opts >
4438  struct IAcc< Names::intersectSnapDist , true, Opt, Opts... > ///< omit distance for missing intersections (opalsLineTopology)
4439  : GetIAcc< true, Opts... >
4440  {
4441  virtual const Opt& intersectSnapDist () const = 0; ///< omit distance for missing intersections (opalsLineTopology)
4442  };
4443 
4444  /// Partial specialization for Names::intersectSnapDist _OPALS_COMMENT_AFTER_("omit distance for missing intersections (opalsLineTopology
4445  template< class Opt, class... Opts >
4446  struct IAcc< Names::intersectSnapDist , false, Opt, Opts... > ///< omit distance for missing intersections (opalsLineTopology)
4447  : GetIAcc< false, Opts... >
4448  {
4449  virtual const Opt& intersectSnapDist () const = 0; ///< omit distance for missing intersections (opalsLineTopology)
4450  virtual Opt& intersectSnapDist () = 0; ///< omit distance for missing intersections (opalsLineTopology)
4451  };
4452 
4453  /// Partial specialization for Names::deleteTempData _OPALS_COMMENT_AFTER_("Delete temporary / intermediate data (opalsStripAdjust
4454  template< class Opt, class... Opts >
4455  struct IAcc< Names::deleteTempData , true, Opt, Opts... > ///< Delete temporary / intermediate data (opalsStripAdjust)
4456  : GetIAcc< true, Opts... >
4457  {
4458  virtual const Opt& deleteTempData () const = 0; ///< Delete temporary / intermediate data (opalsStripAdjust)
4459  };
4460 
4461  /// Partial specialization for Names::deleteTempData _OPALS_COMMENT_AFTER_("Delete temporary / intermediate data (opalsStripAdjust
4462  template< class Opt, class... Opts >
4463  struct IAcc< Names::deleteTempData , false, Opt, Opts... > ///< Delete temporary / intermediate data (opalsStripAdjust)
4464  : GetIAcc< false, Opts... >
4465  {
4466  virtual const Opt& deleteTempData () const = 0; ///< Delete temporary / intermediate data (opalsStripAdjust)
4467  virtual Opt& deleteTempData () = 0; ///< Delete temporary / intermediate data (opalsStripAdjust)
4468  };
4469 
4470  /// Partial specialization for Names::utm _OPALS_COMMENT_AFTER_("UTM definition group (opalsStripAdjust
4471  template< class Opt, class... Opts >
4472  struct IAcc< Names::utm , true, Opt, Opts... > ///< UTM definition group (opalsStripAdjust)
4473  : GetIAcc< true, Opts... >
4474  {
4475  virtual const Opt& utm () const = 0; ///< UTM definition group (opalsStripAdjust)
4476  };
4477 
4478  /// Partial specialization for Names::utm _OPALS_COMMENT_AFTER_("UTM definition group (opalsStripAdjust
4479  template< class Opt, class... Opts >
4480  struct IAcc< Names::utm , false, Opt, Opts... > ///< UTM definition group (opalsStripAdjust)
4481  : GetIAcc< false, Opts... >
4482  {
4483  virtual const Opt& utm () const = 0; ///< UTM definition group (opalsStripAdjust)
4484  virtual Opt& utm () = 0; ///< UTM definition group (opalsStripAdjust)
4485  };
4486 
4487  /// Partial specialization for Names::zone _OPALS_COMMENT_AFTER_("UTM definition group (opalsStripAdjust
4488  template< class Opt, class... Opts >
4489  struct IAcc< Names::zone , true, Opt, Opts... > ///< UTM definition group (opalsStripAdjust)
4490  : GetIAcc< true, Opts... >
4491  {
4492  virtual const Opt& zone () const = 0; ///< UTM definition group (opalsStripAdjust)
4493  };
4494 
4495  /// Partial specialization for Names::zone _OPALS_COMMENT_AFTER_("UTM definition group (opalsStripAdjust
4496  template< class Opt, class... Opts >
4497  struct IAcc< Names::zone , false, Opt, Opts... > ///< UTM definition group (opalsStripAdjust)
4498  : GetIAcc< false, Opts... >
4499  {
4500  virtual const Opt& zone () const = 0; ///< UTM definition group (opalsStripAdjust)
4501  virtual Opt& zone () = 0; ///< UTM definition group (opalsStripAdjust)
4502  };
4503 
4504  /// Partial specialization for Names::hemisphere _OPALS_COMMENT_AFTER_("UTM definition group (opalsStripAdjust
4505  template< class Opt, class... Opts >
4506  struct IAcc< Names::hemisphere , true, Opt, Opts... > ///< UTM definition group (opalsStripAdjust)
4507  : GetIAcc< true, Opts... >
4508  {
4509  virtual const Opt& hemisphere () const = 0; ///< UTM definition group (opalsStripAdjust)
4510  };
4511 
4512  /// Partial specialization for Names::hemisphere _OPALS_COMMENT_AFTER_("UTM definition group (opalsStripAdjust
4513  template< class Opt, class... Opts >
4514  struct IAcc< Names::hemisphere , false, Opt, Opts... > ///< UTM definition group (opalsStripAdjust)
4515  : GetIAcc< false, Opts... >
4516  {
4517  virtual const Opt& hemisphere () const = 0; ///< UTM definition group (opalsStripAdjust)
4518  virtual Opt& hemisphere () = 0; ///< UTM definition group (opalsStripAdjust)
4519  };
4520 
4521  /// Partial specialization for Names::adjustment _OPALS_COMMENT_AFTER_("adjustment group (opalsStripAdjust
4522  template< class Opt, class... Opts >
4523  struct IAcc< Names::adjustment , true, Opt, Opts... > ///< adjustment group (opalsStripAdjust)
4524  : GetIAcc< true, Opts... >
4525  {
4526  virtual const Opt& adjustment () const = 0; ///< adjustment group (opalsStripAdjust)
4527  };
4528 
4529  /// Partial specialization for Names::adjustment _OPALS_COMMENT_AFTER_("adjustment group (opalsStripAdjust
4530  template< class Opt, class... Opts >
4531  struct IAcc< Names::adjustment , false, Opt, Opts... > ///< adjustment group (opalsStripAdjust)
4532  : GetIAcc< false, Opts... >
4533  {
4534  virtual const Opt& adjustment () const = 0; ///< adjustment group (opalsStripAdjust)
4535  virtual Opt& adjustment () = 0; ///< adjustment group (opalsStripAdjust)
4536  };
4537 
4538  /// Partial specialization for Names::covariance _OPALS_COMMENT_AFTER_("estimate covariance? (opalsStripAdjust
4539  template< class Opt, class... Opts >
4540  struct IAcc< Names::covariance , true, Opt, Opts... > ///< estimate covariance? (opalsStripAdjust)
4541  : GetIAcc< true, Opts... >
4542  {
4543  virtual const Opt& covariance () const = 0; ///< estimate covariance? (opalsStripAdjust)
4544  };
4545 
4546  /// Partial specialization for Names::covariance _OPALS_COMMENT_AFTER_("estimate covariance? (opalsStripAdjust
4547  template< class Opt, class... Opts >
4548  struct IAcc< Names::covariance , false, Opt, Opts... > ///< estimate covariance? (opalsStripAdjust)
4549  : GetIAcc< false, Opts... >
4550  {
4551  virtual const Opt& covariance () const = 0; ///< estimate covariance? (opalsStripAdjust)
4552  virtual Opt& covariance () = 0; ///< estimate covariance? (opalsStripAdjust)
4553  };
4554 
4555  /// Partial specialization for Names::strips _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
4556  template< class Opt, class... Opts >
4557  struct IAcc< Names::strips , true, Opt, Opts... > ///< strip group (opalsStripAdjust)
4558  : GetIAcc< true, Opts... >
4559  {
4560  virtual const Opt& strips () const = 0; ///< strip group (opalsStripAdjust)
4561  };
4562 
4563  /// Partial specialization for Names::strips _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
4564  template< class Opt, class... Opts >
4565  struct IAcc< Names::strips , false, Opt, Opts... > ///< strip group (opalsStripAdjust)
4566  : GetIAcc< false, Opts... >
4567  {
4568  virtual const Opt& strips () const = 0; ///< strip group (opalsStripAdjust)
4569  virtual Opt& strips () = 0; ///< strip group (opalsStripAdjust)
4570  };
4571 
4572  /// Partial specialization for Names::calcScanAngle _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
4573  template< class Opt, class... Opts >
4574  struct IAcc< Names::calcScanAngle , true, Opt, Opts... > ///< strip group (opalsStripAdjust)
4575  : GetIAcc< true, Opts... >
4576  {
4577  virtual const Opt& calcScanAngle () const = 0; ///< strip group (opalsStripAdjust)
4578  };
4579 
4580  /// Partial specialization for Names::calcScanAngle _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
4581  template< class Opt, class... Opts >
4582  struct IAcc< Names::calcScanAngle , false, Opt, Opts... > ///< strip group (opalsStripAdjust)
4583  : GetIAcc< false, Opts... >
4584  {
4585  virtual const Opt& calcScanAngle () const = 0; ///< strip group (opalsStripAdjust)
4586  virtual Opt& calcScanAngle () = 0; ///< strip group (opalsStripAdjust)
4587  };
4588 
4589  /// Partial specialization for Names::scannerOrientation _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
4590  template< class Opt, class... Opts >
4591  struct IAcc< Names::scannerOrientation , true, Opt, Opts... > ///< strip group (opalsStripAdjust)
4592  : GetIAcc< true, Opts... >
4593  {
4594  virtual const Opt& scannerOrientation () const = 0; ///< strip group (opalsStripAdjust)
4595  };
4596 
4597  /// Partial specialization for Names::scannerOrientation _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
4598  template< class Opt, class... Opts >
4599  struct IAcc< Names::scannerOrientation , false, Opt, Opts... > ///< strip group (opalsStripAdjust)
4600  : GetIAcc< false, Opts... >
4601  {
4602  virtual const Opt& scannerOrientation () const = 0; ///< strip group (opalsStripAdjust)
4603  virtual Opt& scannerOrientation () = 0; ///< strip group (opalsStripAdjust)
4604  };
4605 
4606  /// Partial specialization for Names::session _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
4607  template< class Opt, class... Opts >
4608  struct IAcc< Names::session , true, Opt, Opts... > ///< strip group (opalsStripAdjust)
4609  : GetIAcc< true, Opts... >
4610  {
4611  virtual const Opt& session () const = 0; ///< strip group (opalsStripAdjust)
4612  };
4613 
4614  /// Partial specialization for Names::session _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
4615  template< class Opt, class... Opts >
4616  struct IAcc< Names::session , false, Opt, Opts... > ///< strip group (opalsStripAdjust)
4617  : GetIAcc< false, Opts... >
4618  {
4619  virtual const Opt& session () const = 0; ///< strip group (opalsStripAdjust)
4620  virtual Opt& session () = 0; ///< strip group (opalsStripAdjust)
4621  };
4622 
4623  /// Partial specialization for Names::sessions _OPALS_COMMENT_AFTER_("sessions group (opalsStripAdjust
4624  template< class Opt, class... Opts >
4625  struct IAcc< Names::sessions , true, Opt, Opts... > ///< sessions group (opalsStripAdjust)
4626  : GetIAcc< true, Opts... >
4627  {
4628  virtual const Opt& sessions () const = 0; ///< sessions group (opalsStripAdjust)
4629  };
4630 
4631  /// Partial specialization for Names::sessions _OPALS_COMMENT_AFTER_("sessions group (opalsStripAdjust
4632  template< class Opt, class... Opts >
4633  struct IAcc< Names::sessions , false, Opt, Opts... > ///< sessions group (opalsStripAdjust)
4634  : GetIAcc< false, Opts... >
4635  {
4636  virtual const Opt& sessions () const = 0; ///< sessions group (opalsStripAdjust)
4637  virtual Opt& sessions () = 0; ///< sessions group (opalsStripAdjust)
4638  };
4639 
4640  /// Partial specialization for Names::onlyLastEchoes _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
4641  template< class Opt, class... Opts >
4642  struct IAcc< Names::onlyLastEchoes , true, Opt, Opts... > ///< strip group (opalsStripAdjust)
4643  : GetIAcc< true, Opts... >
4644  {
4645  virtual const Opt& onlyLastEchoes () const = 0; ///< strip group (opalsStripAdjust)
4646  };
4647 
4648  /// Partial specialization for Names::onlyLastEchoes _OPALS_COMMENT_AFTER_("strip group (opalsStripAdjust
4649  template< class Opt, class... Opts >
4650  struct IAcc< Names::onlyLastEchoes , false, Opt, Opts... > ///< strip group (opalsStripAdjust)
4651  : GetIAcc< false, Opts... >
4652  {
4653  virtual const Opt& onlyLastEchoes () const = 0; ///< strip group (opalsStripAdjust)
4654  virtual Opt& onlyLastEchoes () = 0; ///< strip group (opalsStripAdjust)
4655  };
4656 
4657  /// Partial specialization for Names::echoWidthMax _OPALS_COMMENT_AFTER_("strip.filter group (opalsStripAdjust
4658  template< class Opt, class... Opts >
4659  struct IAcc< Names::echoWidthMax , true, Opt, Opts... > ///< strip.filter group (opalsStripAdjust)
4660  : GetIAcc< true, Opts... >
4661  {
4662  virtual const Opt& echoWidthMax () const = 0; ///< strip.filter group (opalsStripAdjust)
4663  };
4664 
4665  /// Partial specialization for Names::echoWidthMax _OPALS_COMMENT_AFTER_("strip.filter group (opalsStripAdjust
4666  template< class Opt, class... Opts >
4667  struct IAcc< Names::echoWidthMax , false, Opt, Opts... > ///< strip.filter group (opalsStripAdjust)
4668  : GetIAcc< false, Opts... >
4669  {
4670  virtual const Opt& echoWidthMax () const = 0; ///< strip.filter group (opalsStripAdjust)
4671  virtual Opt& echoWidthMax () = 0; ///< strip.filter group (opalsStripAdjust)
4672  };
4673 
4674  /// Partial specialization for Names::scanAngleMaxAbs _OPALS_COMMENT_AFTER_("strip.filter group (opalsStripAdjust
4675  template< class Opt, class... Opts >
4676  struct IAcc< Names::scanAngleMaxAbs , true, Opt, Opts... > ///< strip.filter group (opalsStripAdjust)
4677  : GetIAcc< true, Opts... >
4678  {
4679  virtual const Opt& scanAngleMaxAbs () const = 0; ///< strip.filter group (opalsStripAdjust)
4680  };
4681 
4682  /// Partial specialization for Names::scanAngleMaxAbs _OPALS_COMMENT_AFTER_("strip.filter group (opalsStripAdjust
4683  template< class Opt, class... Opts >
4684  struct IAcc< Names::scanAngleMaxAbs , false, Opt, Opts... > ///< strip.filter group (opalsStripAdjust)
4685  : GetIAcc< false, Opts... >
4686  {
4687  virtual const Opt& scanAngleMaxAbs () const = 0; ///< strip.filter group (opalsStripAdjust)
4688  virtual Opt& scanAngleMaxAbs () = 0; ///< strip.filter group (opalsStripAdjust)
4689  };
4690 
4691  /// Partial specialization for Names::trajectory _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4692  template< class Opt, class... Opts >
4693  struct IAcc< Names::trajectory , true, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4694  : GetIAcc< true, Opts... >
4695  {
4696  virtual const Opt& trajectory () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4697  };
4698 
4699  /// Partial specialization for Names::trajectory _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4700  template< class Opt, class... Opts >
4701  struct IAcc< Names::trajectory , false, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4702  : GetIAcc< false, Opts... >
4703  {
4704  virtual const Opt& trajectory () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4705  virtual Opt& trajectory () = 0; ///< strip.trajectory group (opalsStripAdjust)
4706  };
4707 
4708  /// Partial specialization for Names::correctionModel _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4709  template< class Opt, class... Opts >
4710  struct IAcc< Names::correctionModel , true, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4711  : GetIAcc< true, Opts... >
4712  {
4713  virtual const Opt& correctionModel () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4714  };
4715 
4716  /// Partial specialization for Names::correctionModel _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4717  template< class Opt, class... Opts >
4718  struct IAcc< Names::correctionModel , false, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4719  : GetIAcc< false, Opts... >
4720  {
4721  virtual const Opt& correctionModel () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4722  virtual Opt& correctionModel () = 0; ///< strip.trajectory group (opalsStripAdjust)
4723  };
4724 
4725  /// Partial specialization for Names::samplingInterval _OPALS_COMMENT_AFTER_("trajectory sampling interval [s] strip.trajectory group (opalsStripAdjust
4726  template< class Opt, class... Opts >
4727  struct IAcc< Names::samplingInterval , true, Opt, Opts... > ///< trajectory sampling interval [s] strip.trajectory group (opalsStripAdjust)
4728  : GetIAcc< true, Opts... >
4729  {
4730  virtual const Opt& samplingInterval () const = 0; ///< trajectory sampling interval [s] strip.trajectory group (opalsStripAdjust)
4731  };
4732 
4733  /// Partial specialization for Names::samplingInterval _OPALS_COMMENT_AFTER_("trajectory sampling interval [s] strip.trajectory group (opalsStripAdjust
4734  template< class Opt, class... Opts >
4735  struct IAcc< Names::samplingInterval , false, Opt, Opts... > ///< trajectory sampling interval [s] strip.trajectory group (opalsStripAdjust)
4736  : GetIAcc< false, Opts... >
4737  {
4738  virtual const Opt& samplingInterval () const = 0; ///< trajectory sampling interval [s] strip.trajectory group (opalsStripAdjust)
4739  virtual Opt& samplingInterval () = 0; ///< trajectory sampling interval [s] strip.trajectory group (opalsStripAdjust)
4740  };
4741 
4742  /// Partial specialization for Names::boundaryDerivativeIsZero _OPALS_COMMENT_AFTER_("strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust
4743  template< class Opt, class... Opts >
4744  struct IAcc< Names::boundaryDerivativeIsZero , true, Opt, Opts... > ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
4745  : GetIAcc< true, Opts... >
4746  {
4747  virtual const Opt& boundaryDerivativeIsZero () const = 0; ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
4748  };
4749 
4750  /// Partial specialization for Names::boundaryDerivativeIsZero _OPALS_COMMENT_AFTER_("strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust
4751  template< class Opt, class... Opts >
4752  struct IAcc< Names::boundaryDerivativeIsZero , false, Opt, Opts... > ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
4753  : GetIAcc< false, Opts... >
4754  {
4755  virtual const Opt& boundaryDerivativeIsZero () const = 0; ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
4756  virtual Opt& boundaryDerivativeIsZero () = 0; ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
4757  };
4758 
4759  /// Partial specialization for Names::first _OPALS_COMMENT_AFTER_("strip.trajectory.boundaryDerivativeIsZero group; first stage to be processed (opalsStripAdjust
4760  template< class Opt, class... Opts >
4761  struct IAcc< Names::first , true, Opt, Opts... > ///< strip.trajectory.boundaryDerivativeIsZero group; first stage to be processed (opalsStripAdjust)
4762  : GetIAcc< true, Opts... >
4763  {
4764  virtual const Opt& first () const = 0; ///< strip.trajectory.boundaryDerivativeIsZero group; first stage to be processed (opalsStripAdjust)
4765  };
4766 
4767  /// Partial specialization for Names::first _OPALS_COMMENT_AFTER_("strip.trajectory.boundaryDerivativeIsZero group; first stage to be processed (opalsStripAdjust
4768  template< class Opt, class... Opts >
4769  struct IAcc< Names::first , false, Opt, Opts... > ///< strip.trajectory.boundaryDerivativeIsZero group; first stage to be processed (opalsStripAdjust)
4770  : GetIAcc< false, Opts... >
4771  {
4772  virtual const Opt& first () const = 0; ///< strip.trajectory.boundaryDerivativeIsZero group; first stage to be processed (opalsStripAdjust)
4773  virtual Opt& first () = 0; ///< strip.trajectory.boundaryDerivativeIsZero group; first stage to be processed (opalsStripAdjust)
4774  };
4775 
4776  /// Partial specialization for Names::second _OPALS_COMMENT_AFTER_("strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust
4777  template< class Opt, class... Opts >
4778  struct IAcc< Names::second , true, Opt, Opts... > ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
4779  : GetIAcc< true, Opts... >
4780  {
4781  virtual const Opt& second () const = 0; ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
4782  };
4783 
4784  /// Partial specialization for Names::second _OPALS_COMMENT_AFTER_("strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust
4785  template< class Opt, class... Opts >
4786  struct IAcc< Names::second , false, Opt, Opts... > ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
4787  : GetIAcc< false, Opts... >
4788  {
4789  virtual const Opt& second () const = 0; ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
4790  virtual Opt& second () = 0; ///< strip.trajectory.boundaryDerivativeIsZero group (opalsStripAdjust)
4791  };
4792 
4793  /// Partial specialization for Names::dX _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4794  template< class Opt, class... Opts >
4795  struct IAcc< Names::dX , true, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4796  : GetIAcc< true, Opts... >
4797  {
4798  virtual const Opt& dX () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4799  };
4800 
4801  /// Partial specialization for Names::dX _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4802  template< class Opt, class... Opts >
4803  struct IAcc< Names::dX , false, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4804  : GetIAcc< false, Opts... >
4805  {
4806  virtual const Opt& dX () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4807  virtual Opt& dX () = 0; ///< strip.trajectory group (opalsStripAdjust)
4808  };
4809 
4810  /// Partial specialization for Names::dY _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4811  template< class Opt, class... Opts >
4812  struct IAcc< Names::dY , true, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4813  : GetIAcc< true, Opts... >
4814  {
4815  virtual const Opt& dY () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4816  };
4817 
4818  /// Partial specialization for Names::dY _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4819  template< class Opt, class... Opts >
4820  struct IAcc< Names::dY , false, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4821  : GetIAcc< false, Opts... >
4822  {
4823  virtual const Opt& dY () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4824  virtual Opt& dY () = 0; ///< strip.trajectory group (opalsStripAdjust)
4825  };
4826 
4827  /// Partial specialization for Names::dZ _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4828  template< class Opt, class... Opts >
4829  struct IAcc< Names::dZ , true, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4830  : GetIAcc< true, Opts... >
4831  {
4832  virtual const Opt& dZ () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4833  };
4834 
4835  /// Partial specialization for Names::dZ _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4836  template< class Opt, class... Opts >
4837  struct IAcc< Names::dZ , false, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4838  : GetIAcc< false, Opts... >
4839  {
4840  virtual const Opt& dZ () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4841  virtual Opt& dZ () = 0; ///< strip.trajectory group (opalsStripAdjust)
4842  };
4843 
4844  /// Partial specialization for Names::dRoll _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4845  template< class Opt, class... Opts >
4846  struct IAcc< Names::dRoll , true, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4847  : GetIAcc< true, Opts... >
4848  {
4849  virtual const Opt& dRoll () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4850  };
4851 
4852  /// Partial specialization for Names::dRoll _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4853  template< class Opt, class... Opts >
4854  struct IAcc< Names::dRoll , false, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4855  : GetIAcc< false, Opts... >
4856  {
4857  virtual const Opt& dRoll () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4858  virtual Opt& dRoll () = 0; ///< strip.trajectory group (opalsStripAdjust)
4859  };
4860 
4861  /// Partial specialization for Names::dPitch _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4862  template< class Opt, class... Opts >
4863  struct IAcc< Names::dPitch , true, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4864  : GetIAcc< true, Opts... >
4865  {
4866  virtual const Opt& dPitch () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4867  };
4868 
4869  /// Partial specialization for Names::dPitch _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4870  template< class Opt, class... Opts >
4871  struct IAcc< Names::dPitch , false, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4872  : GetIAcc< false, Opts... >
4873  {
4874  virtual const Opt& dPitch () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4875  virtual Opt& dPitch () = 0; ///< strip.trajectory group (opalsStripAdjust)
4876  };
4877 
4878  /// Partial specialization for Names::dYaw _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4879  template< class Opt, class... Opts >
4880  struct IAcc< Names::dYaw , true, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4881  : GetIAcc< true, Opts... >
4882  {
4883  virtual const Opt& dYaw () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4884  };
4885 
4886  /// Partial specialization for Names::dYaw _OPALS_COMMENT_AFTER_("strip.trajectory group (opalsStripAdjust
4887  template< class Opt, class... Opts >
4888  struct IAcc< Names::dYaw , false, Opt, Opts... > ///< strip.trajectory group (opalsStripAdjust)
4889  : GetIAcc< false, Opts... >
4890  {
4891  virtual const Opt& dYaw () const = 0; ///< strip.trajectory group (opalsStripAdjust)
4892  virtual Opt& dYaw () = 0; ///< strip.trajectory group (opalsStripAdjust)
4893  };
4894 
4895  /// Partial specialization for Names::value _OPALS_COMMENT_AFTER_("strip.trajectory.dX/dY/dZ/dRoll/dPitch/dYaw groups (opalsStripAdjust
4896  template< class Opt, class... Opts >
4897  struct IAcc< Names::value , true, Opt, Opts... > ///< strip.trajectory.dX/dY/dZ/dRoll/dPitch/dYaw groups (opalsStripAdjust)
4898  : GetIAcc< true, Opts... >
4899  {
4900  virtual const Opt& value () const = 0; ///< strip.trajectory.dX/dY/dZ/dRoll/dPitch/dYaw groups (opalsStripAdjust)
4901  };
4902 
4903  /// Partial specialization for Names::value _OPALS_COMMENT_AFTER_("strip.trajectory.dX/dY/dZ/dRoll/dPitch/dYaw groups (opalsStripAdjust
4904  template< class Opt, class... Opts >
4905  struct IAcc< Names::value , false, Opt, Opts... > ///< strip.trajectory.dX/dY/dZ/dRoll/dPitch/dYaw groups (opalsStripAdjust)
4906  : GetIAcc< false, Opts... >
4907  {
4908  virtual const Opt& value () const = 0; ///< strip.trajectory.dX/dY/dZ/dRoll/dPitch/dYaw groups (opalsStripAdjust)
4909  virtual Opt& value () = 0; ///< strip.trajectory.dX/dY/dZ/dRoll/dPitch/dYaw groups (opalsStripAdjust)
4910  };
4911 
4912  /// Partial specialization for Names::normals _OPALS_COMMENT_AFTER_("normals group (opalsStripAdjust
4913  template< class Opt, class... Opts >
4914  struct IAcc< Names::normals , true, Opt, Opts... > ///< normals group (opalsStripAdjust)
4915  : GetIAcc< true, Opts... >
4916  {
4917  virtual const Opt& normals () const = 0; ///< normals group (opalsStripAdjust)
4918  };
4919 
4920  /// Partial specialization for Names::normals _OPALS_COMMENT_AFTER_("normals group (opalsStripAdjust
4921  template< class Opt, class... Opts >
4922  struct IAcc< Names::normals , false, Opt, Opts... > ///< normals group (opalsStripAdjust)
4923  : GetIAcc< false, Opts... >
4924  {
4925  virtual const Opt& normals () const = 0; ///< normals group (opalsStripAdjust)
4926  virtual Opt& normals () = 0; ///< normals group (opalsStripAdjust)
4927  };
4928 
4929  /// Partial specialization for Names::maxPointDensity _OPALS_COMMENT_AFTER_("(opalsStripAdjust
4930  template< class Opt, class... Opts >
4931  struct IAcc< Names::maxPointDensity , true, Opt, Opts... > ///< (opalsStripAdjust)
4932  : GetIAcc< true, Opts... >
4933  {
4934  virtual const Opt& maxPointDensity () const = 0; ///< (opalsStripAdjust)
4935  };
4936 
4937  /// Partial specialization for Names::maxPointDensity _OPALS_COMMENT_AFTER_("(opalsStripAdjust
4938  template< class Opt, class... Opts >
4939  struct IAcc< Names::maxPointDensity , false, Opt, Opts... > ///< (opalsStripAdjust)
4940  : GetIAcc< false, Opts... >
4941  {
4942  virtual const Opt& maxPointDensity () const = 0; ///< (opalsStripAdjust)
4943  virtual Opt& maxPointDensity () = 0; ///< (opalsStripAdjust)
4944  };
4945 
4946  /// Partial specialization for Names::controlPointClouds _OPALS_COMMENT_AFTER_("controlPointClouds group(opalsStripAdjust
4947  template< class Opt, class... Opts >
4948  struct IAcc< Names::controlPointClouds , true, Opt, Opts... > ///< controlPointClouds group(opalsStripAdjust)
4949  : GetIAcc< true, Opts... >
4950  {
4951  virtual const Opt& controlPointClouds () const = 0; ///< controlPointClouds group(opalsStripAdjust)
4952  };
4953 
4954  /// Partial specialization for Names::controlPointClouds _OPALS_COMMENT_AFTER_("controlPointClouds group(opalsStripAdjust
4955  template< class Opt, class... Opts >
4956  struct IAcc< Names::controlPointClouds , false, Opt, Opts... > ///< controlPointClouds group(opalsStripAdjust)
4957  : GetIAcc< false, Opts... >
4958  {
4959  virtual const Opt& controlPointClouds () const = 0; ///< controlPointClouds group(opalsStripAdjust)
4960  virtual Opt& controlPointClouds () = 0; ///< controlPointClouds group(opalsStripAdjust)
4961  };
4962 
4963  /// Partial specialization for Names::groundControlPoints _OPALS_COMMENT_AFTER_("groundControlPoints group(opalsStripAdjust
4964  template< class Opt, class... Opts >
4965  struct IAcc< Names::groundControlPoints , true, Opt, Opts... > ///< groundControlPoints group(opalsStripAdjust)
4966  : GetIAcc< true, Opts... >
4967  {
4968  virtual const Opt& groundControlPoints () const = 0; ///< groundControlPoints group(opalsStripAdjust)
4969  };
4970 
4971  /// Partial specialization for Names::groundControlPoints _OPALS_COMMENT_AFTER_("groundControlPoints group(opalsStripAdjust
4972  template< class Opt, class... Opts >
4973  struct IAcc< Names::groundControlPoints , false, Opt, Opts... > ///< groundControlPoints group(opalsStripAdjust)
4974  : GetIAcc< false, Opts... >
4975  {
4976  virtual const Opt& groundControlPoints () const = 0; ///< groundControlPoints group(opalsStripAdjust)
4977  virtual Opt& groundControlPoints () = 0; ///< groundControlPoints group(opalsStripAdjust)
4978  };
4979 
4980  /// Partial specialization for Names::timeLag _OPALS_COMMENT_AFTER_("sessions.trajectory group(opalsStripAdjust
4981  template< class Opt, class... Opts >
4982  struct IAcc< Names::timeLag , true, Opt, Opts... > ///< sessions.trajectory group(opalsStripAdjust)
4983  : GetIAcc< true, Opts... >
4984  {
4985  virtual const Opt& timeLag () const = 0; ///< sessions.trajectory group(opalsStripAdjust)
4986  };
4987 
4988  /// Partial specialization for Names::timeLag _OPALS_COMMENT_AFTER_("sessions.trajectory group(opalsStripAdjust
4989  template< class Opt, class... Opts >
4990  struct IAcc< Names::timeLag , false, Opt, Opts... > ///< sessions.trajectory group(opalsStripAdjust)
4991  : GetIAcc< false, Opts... >
4992  {
4993  virtual const Opt& timeLag () const = 0; ///< sessions.trajectory group(opalsStripAdjust)
4994  virtual Opt& timeLag () = 0; ///< sessions.trajectory group(opalsStripAdjust)
4995  };
4996 
4997  /// Partial specialization for Names::leverArm _OPALS_COMMENT_AFTER_("sessions.adjustment group(opalsStripAdjust
4998  template< class Opt, class... Opts >
4999  struct IAcc< Names::leverArm , true, Opt, Opts... > ///< sessions.adjustment group(opalsStripAdjust)
5000  : GetIAcc< true, Opts... >
5001  {
5002  virtual const Opt& leverArm () const = 0; ///< sessions.adjustment group(opalsStripAdjust)
5003  };
5004 
5005  /// Partial specialization for Names::leverArm _OPALS_COMMENT_AFTER_("sessions.adjustment group(opalsStripAdjust
5006  template< class Opt, class... Opts >
5007  struct IAcc< Names::leverArm , false, Opt, Opts... > ///< sessions.adjustment group(opalsStripAdjust)
5008  : GetIAcc< false, Opts... >
5009  {
5010  virtual const Opt& leverArm () const = 0; ///< sessions.adjustment group(opalsStripAdjust)
5011  virtual Opt& leverArm () = 0; ///< sessions.adjustment group(opalsStripAdjust)
5012  };
5013 
5014  /// Partial specialization for Names::X _OPALS_COMMENT_AFTER_("sessions.adjustment.leverArm group(opalsStripAdjust
5015  template< class Opt, class... Opts >
5016  struct IAcc< Names::X , true, Opt, Opts... > ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5017  : GetIAcc< true, Opts... >
5018  {
5019  virtual const Opt& X () const = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5020  };
5021 
5022  /// Partial specialization for Names::X _OPALS_COMMENT_AFTER_("sessions.adjustment.leverArm group(opalsStripAdjust
5023  template< class Opt, class... Opts >
5024  struct IAcc< Names::X , false, Opt, Opts... > ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5025  : GetIAcc< false, Opts... >
5026  {
5027  virtual const Opt& X () const = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5028  virtual Opt& X () = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5029  };
5030 
5031  /// Partial specialization for Names::Y _OPALS_COMMENT_AFTER_("sessions.adjustment.leverArm group(opalsStripAdjust
5032  template< class Opt, class... Opts >
5033  struct IAcc< Names::Y , true, Opt, Opts... > ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5034  : GetIAcc< true, Opts... >
5035  {
5036  virtual const Opt& Y () const = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5037  };
5038 
5039  /// Partial specialization for Names::Y _OPALS_COMMENT_AFTER_("sessions.adjustment.leverArm group(opalsStripAdjust
5040  template< class Opt, class... Opts >
5041  struct IAcc< Names::Y , false, Opt, Opts... > ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5042  : GetIAcc< false, Opts... >
5043  {
5044  virtual const Opt& Y () const = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5045  virtual Opt& Y () = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5046  };
5047 
5048  /// Partial specialization for Names::Z _OPALS_COMMENT_AFTER_("sessions.adjustment.leverArm group(opalsStripAdjust
5049  template< class Opt, class... Opts >
5050  struct IAcc< Names::Z , true, Opt, Opts... > ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5051  : GetIAcc< true, Opts... >
5052  {
5053  virtual const Opt& Z () const = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5054  };
5055 
5056  /// Partial specialization for Names::Z _OPALS_COMMENT_AFTER_("sessions.adjustment.leverArm group(opalsStripAdjust
5057  template< class Opt, class... Opts >
5058  struct IAcc< Names::Z , false, Opt, Opts... > ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5059  : GetIAcc< false, Opts... >
5060  {
5061  virtual const Opt& Z () const = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5062  virtual Opt& Z () = 0; ///< sessions.adjustment.leverArm group(opalsStripAdjust)
5063  };
5064 
5065  /// Partial specialization for Names::misalignment _OPALS_COMMENT_AFTER_("sessions.adjustment.misalignment group(opalsStripAdjust
5066  template< class Opt, class... Opts >
5067  struct IAcc< Names::misalignment , true, Opt, Opts... > ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5068  : GetIAcc< true, Opts... >
5069  {
5070  virtual const Opt& misalignment () const = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5071  };
5072 
5073  /// Partial specialization for Names::misalignment _OPALS_COMMENT_AFTER_("sessions.adjustment.misalignment group(opalsStripAdjust
5074  template< class Opt, class... Opts >
5075  struct IAcc< Names::misalignment , false, Opt, Opts... > ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5076  : GetIAcc< false, Opts... >
5077  {
5078  virtual const Opt& misalignment () const = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5079  virtual Opt& misalignment () = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5080  };
5081 
5082  /// Partial specialization for Names::omega _OPALS_COMMENT_AFTER_("sessions.adjustment.misalignment group(opalsStripAdjust
5083  template< class Opt, class... Opts >
5084  struct IAcc< Names::omega , true, Opt, Opts... > ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5085  : GetIAcc< true, Opts... >
5086  {
5087  virtual const Opt& omega () const = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5088  };
5089 
5090  /// Partial specialization for Names::omega _OPALS_COMMENT_AFTER_("sessions.adjustment.misalignment group(opalsStripAdjust
5091  template< class Opt, class... Opts >
5092  struct IAcc< Names::omega , false, Opt, Opts... > ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5093  : GetIAcc< false, Opts... >
5094  {
5095  virtual const Opt& omega () const = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5096  virtual Opt& omega () = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5097  };
5098 
5099  /// Partial specialization for Names::phi _OPALS_COMMENT_AFTER_("sessions.adjustment.misalignment group(opalsStripAdjust
5100  template< class Opt, class... Opts >
5101  struct IAcc< Names::phi , true, Opt, Opts... > ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5102  : GetIAcc< true, Opts... >
5103  {
5104  virtual const Opt& phi () const = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5105  };
5106 
5107  /// Partial specialization for Names::phi _OPALS_COMMENT_AFTER_("sessions.adjustment.misalignment group(opalsStripAdjust
5108  template< class Opt, class... Opts >
5109  struct IAcc< Names::phi , false, Opt, Opts... > ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5110  : GetIAcc< false, Opts... >
5111  {
5112  virtual const Opt& phi () const = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5113  virtual Opt& phi () = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5114  };
5115 
5116  /// Partial specialization for Names::kappa _OPALS_COMMENT_AFTER_("sessions.adjustment.misalignment group(opalsStripAdjust
5117  template< class Opt, class... Opts >
5118  struct IAcc< Names::kappa , true, Opt, Opts... > ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5119  : GetIAcc< true, Opts... >
5120  {
5121  virtual const Opt& kappa () const = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5122  };
5123 
5124  /// Partial specialization for Names::kappa _OPALS_COMMENT_AFTER_("sessions.adjustment.misalignment group(opalsStripAdjust
5125  template< class Opt, class... Opts >
5126  struct IAcc< Names::kappa , false, Opt, Opts... > ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5127  : GetIAcc< false, Opts... >
5128  {
5129  virtual const Opt& kappa () const = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5130  virtual Opt& kappa () = 0; ///< sessions.adjustment.misalignment group(opalsStripAdjust)
5131  };
5132 
5133  /// Partial specialization for Names::scanner _OPALS_COMMENT_AFTER_("sessions.adjustment.scanner group(opalsStripAdjust
5134  template< class Opt, class... Opts >
5135  struct IAcc< Names::scanner , true, Opt, Opts... > ///< sessions.adjustment.scanner group(opalsStripAdjust)
5136  : GetIAcc< true, Opts... >
5137  {
5138  virtual const Opt& scanner () const = 0; ///< sessions.adjustment.scanner group(opalsStripAdjust)
5139  };
5140 
5141  /// Partial specialization for Names::scanner _OPALS_COMMENT_AFTER_("sessions.adjustment.scanner group(opalsStripAdjust
5142  template< class Opt, class... Opts >
5143  struct IAcc< Names::scanner , false, Opt, Opts... > ///< sessions.adjustment.scanner group(opalsStripAdjust)
5144  : GetIAcc< false, Opts... >
5145  {
5146  virtual const Opt& scanner () const = 0; ///< sessions.adjustment.scanner group(opalsStripAdjust)
5147  virtual Opt& scanner () = 0; ///< sessions.adjustment.scanner group(opalsStripAdjust)
5148  };
5149 
5150  /// Partial specialization for Names::range _OPALS_COMMENT_AFTER_("scanner range group (opalsStripAdjust
5151  template< class Opt, class... Opts >
5152  struct IAcc< Names::range , true, Opt, Opts... > ///< scanner range group (opalsStripAdjust)
5153  : GetIAcc< true, Opts... >
5154  {
5155  virtual const Opt& range () const = 0; ///< scanner range group (opalsStripAdjust)
5156  };
5157 
5158  /// Partial specialization for Names::range _OPALS_COMMENT_AFTER_("scanner range group (opalsStripAdjust
5159  template< class Opt, class... Opts >
5160  struct IAcc< Names::range , false, Opt, Opts... > ///< scanner range group (opalsStripAdjust)
5161  : GetIAcc< false, Opts... >
5162  {
5163  virtual const Opt& range () const = 0; ///< scanner range group (opalsStripAdjust)
5164  virtual Opt& range () = 0; ///< scanner range group (opalsStripAdjust)
5165  };
5166 
5167  /// Partial specialization for Names::offset _OPALS_COMMENT_AFTER_("scanner range offset (opalsStripAdjust
5168  template< class Opt, class... Opts >
5169  struct IAcc< Names::offset , true, Opt, Opts... > ///< scanner range offset (opalsStripAdjust)
5170  : GetIAcc< true, Opts... >
5171  {
5172  virtual const Opt& offset () const = 0; ///< scanner range offset (opalsStripAdjust)
5173  };
5174 
5175  /// Partial specialization for Names::offset _OPALS_COMMENT_AFTER_("scanner range offset (opalsStripAdjust
5176  template< class Opt, class... Opts >
5177  struct IAcc< Names::offset , false, Opt, Opts... > ///< scanner range offset (opalsStripAdjust)
5178  : GetIAcc< false, Opts... >
5179  {
5180  virtual const Opt& offset () const = 0; ///< scanner range offset (opalsStripAdjust)
5181  virtual Opt& offset () = 0; ///< scanner range offset (opalsStripAdjust)
5182  };
5183 
5184  /// Partial specialization for Names::scale _OPALS_COMMENT_AFTER_("scanner range scale (opalsStripAdjust
5185  template< class Opt, class... Opts >
5186  struct IAcc< Names::scale , true, Opt, Opts... > ///< scanner range scale (opalsStripAdjust)
5187  : GetIAcc< true, Opts... >
5188  {
5189  virtual const Opt& scale () const = 0; ///< scanner range scale (opalsStripAdjust)
5190  };
5191 
5192  /// Partial specialization for Names::scale _OPALS_COMMENT_AFTER_("scanner range scale (opalsStripAdjust
5193  template< class Opt, class... Opts >
5194  struct IAcc< Names::scale , false, Opt, Opts... > ///< scanner range scale (opalsStripAdjust)
5195  : GetIAcc< false, Opts... >
5196  {
5197  virtual const Opt& scale () const = 0; ///< scanner range scale (opalsStripAdjust)
5198  virtual Opt& scale () = 0; ///< scanner range scale (opalsStripAdjust)
5199  };
5200 
5201  /// Partial specialization for Names::scanAngle _OPALS_COMMENT_AFTER_("sessions.adjustment.scanner.scanAngleOffset group(opalsStripAdjust
5202  template< class Opt, class... Opts >
5203  struct IAcc< Names::scanAngle , true, Opt, Opts... > ///< sessions.adjustment.scanner.scanAngleOffset group(opalsStripAdjust)
5204  : GetIAcc< true, Opts... >
5205  {
5206  virtual const Opt& scanAngle () const = 0; ///< sessions.adjustment.scanner.scanAngleOffset group(opalsStripAdjust)
5207  };
5208 
5209  /// Partial specialization for Names::scanAngle _OPALS_COMMENT_AFTER_("sessions.adjustment.scanner.scanAngleOffset group(opalsStripAdjust
5210  template< class Opt, class... Opts >
5211  struct IAcc< Names::scanAngle , false, Opt, Opts... > ///< sessions.adjustment.scanner.scanAngleOffset group(opalsStripAdjust)
5212  : GetIAcc< false, Opts... >
5213  {
5214  virtual const Opt& scanAngle () const = 0; ///< sessions.adjustment.scanner.scanAngleOffset group(opalsStripAdjust)
5215  virtual Opt& scanAngle () = 0; ///< sessions.adjustment.scanner.scanAngleOffset group(opalsStripAdjust)
5216  };
5217 
5218  /// Partial specialization for Names::tiltAngle _OPALS_COMMENT_AFTER_("sessions.adjustment.scanner.tiltAngleOffset group(opalsStripAdjust
5219  template< class Opt, class... Opts >
5220  struct IAcc< Names::tiltAngle , true, Opt, Opts... > ///< sessions.adjustment.scanner.tiltAngleOffset group(opalsStripAdjust)
5221  : GetIAcc< true, Opts... >
5222  {
5223  virtual const Opt& tiltAngle () const = 0; ///< sessions.adjustment.scanner.tiltAngleOffset group(opalsStripAdjust)
5224  };
5225 
5226  /// Partial specialization for Names::tiltAngle _OPALS_COMMENT_AFTER_("sessions.adjustment.scanner.tiltAngleOffset group(opalsStripAdjust
5227  template< class Opt, class... Opts >
5228  struct IAcc< Names::tiltAngle , false, Opt, Opts... > ///< sessions.adjustment.scanner.tiltAngleOffset group(opalsStripAdjust)
5229  : GetIAcc< false, Opts... >
5230  {
5231  virtual const Opt& tiltAngle () const = 0; ///< sessions.adjustment.scanner.tiltAngleOffset group(opalsStripAdjust)
5232  virtual Opt& tiltAngle () = 0; ///< sessions.adjustment.scanner.tiltAngleOffset group(opalsStripAdjust)
5233  };
5234 
5235  /// Partial specialization for Names::datum _OPALS_COMMENT_AFTER_("sessions.adjustment.datum group(opalsStripAdjust
5236  template< class Opt, class... Opts >
5237  struct IAcc< Names::datum , true, Opt, Opts... > ///< sessions.adjustment.datum group(opalsStripAdjust)
5238  : GetIAcc< true, Opts... >
5239  {
5240  virtual const Opt& datum () const = 0; ///< sessions.adjustment.datum group(opalsStripAdjust)
5241  };
5242 
5243  /// Partial specialization for Names::datum _OPALS_COMMENT_AFTER_("sessions.adjustment.datum group(opalsStripAdjust
5244  template< class Opt, class... Opts >
5245  struct IAcc< Names::datum , false, Opt, Opts... > ///< sessions.adjustment.datum group(opalsStripAdjust)
5246  : GetIAcc< false, Opts... >
5247  {
5248  virtual const Opt& datum () const = 0; ///< sessions.adjustment.datum group(opalsStripAdjust)
5249  virtual Opt& datum () = 0; ///< sessions.adjustment.datum group(opalsStripAdjust)
5250  };
5251 
5252  /// Partial specialization for Names::correspondences _OPALS_COMMENT_AFTER_("correspondences group(opalsStripAdjust
5253  template< class Opt, class... Opts >
5254  struct IAcc< Names::correspondences , true, Opt, Opts... > ///< correspondences group(opalsStripAdjust)
5255  : GetIAcc< true, Opts... >
5256  {
5257  virtual const Opt& correspondences () const = 0; ///< correspondences group(opalsStripAdjust)
5258  };
5259 
5260  /// Partial specialization for Names::correspondences _OPALS_COMMENT_AFTER_("correspondences group(opalsStripAdjust
5261  template< class Opt, class... Opts >
5262  struct IAcc< Names::correspondences , false, Opt, Opts... > ///< correspondences group(opalsStripAdjust)
5263  : GetIAcc< false, Opts... >
5264  {
5265  virtual const Opt& correspondences () const = 0; ///< correspondences group(opalsStripAdjust)
5266  virtual Opt& correspondences () = 0; ///< correspondences group(opalsStripAdjust)
5267  };
5268 
5269  /// Partial specialization for Names::strip2strip _OPALS_COMMENT_AFTER_("correspondences.strip2strip group(opalsStripAdjust
5270  template< class Opt, class... Opts >
5271  struct IAcc< Names::strip2strip , true, Opt, Opts... > ///< correspondences.strip2strip group(opalsStripAdjust)
5272  : GetIAcc< true, Opts... >
5273  {
5274  virtual const Opt& strip2strip () const = 0; ///< correspondences.strip2strip group(opalsStripAdjust)
5275  };
5276 
5277  /// Partial specialization for Names::strip2strip _OPALS_COMMENT_AFTER_("correspondences.strip2strip group(opalsStripAdjust
5278  template< class Opt, class... Opts >
5279  struct IAcc< Names::strip2strip , false, Opt, Opts... > ///< correspondences.strip2strip group(opalsStripAdjust)
5280  : GetIAcc< false, Opts... >
5281  {
5282  virtual const Opt& strip2strip () const = 0; ///< correspondences.strip2strip group(opalsStripAdjust)
5283  virtual Opt& strip2strip () = 0; ///< correspondences.strip2strip group(opalsStripAdjust)
5284  };
5285 
5286  /// Partial specialization for Names::selection _OPALS_COMMENT_AFTER_("correspondences.strip2strip.selection group(opalsStripAdjust
5287  template< class Opt, class... Opts >
5288  struct IAcc< Names::selection , true, Opt, Opts... > ///< correspondences.strip2strip.selection group(opalsStripAdjust)
5289  : GetIAcc< true, Opts... >
5290  {
5291  virtual const Opt& selection () const = 0; ///< correspondences.strip2strip.selection group(opalsStripAdjust)
5292  };
5293 
5294  /// Partial specialization for Names::selection _OPALS_COMMENT_AFTER_("correspondences.strip2strip.selection group(opalsStripAdjust
5295  template< class Opt, class... Opts >
5296  struct IAcc< Names::selection , false, Opt, Opts... > ///< correspondences.strip2strip.selection group(opalsStripAdjust)
5297  : GetIAcc< false, Opts... >
5298  {
5299  virtual const Opt& selection () const = 0; ///< correspondences.strip2strip.selection group(opalsStripAdjust)
5300  virtual Opt& selection () = 0; ///< correspondences.strip2strip.selection group(opalsStripAdjust)
5301  };
5302 
5303  /// Partial specialization for Names::subsamplingPercentPoi _OPALS_COMMENT_AFTER_("correspondences.strip2strip.selection group(opalsStripAdjust
5304  template< class Opt, class... Opts >
5305  struct IAcc< Names::subsamplingPercentPoi , true, Opt, Opts... > ///< correspondences.strip2strip.selection group(opalsStripAdjust)
5306  : GetIAcc< true, Opts... >
5307  {
5308  virtual const Opt& subsamplingPercentPoi () const = 0; ///< correspondences.strip2strip.selection group(opalsStripAdjust)
5309  };
5310 
5311  /// Partial specialization for Names::subsamplingPercentPoi _OPALS_COMMENT_AFTER_("correspondences.strip2strip.selection group(opalsStripAdjust
5312  template< class Opt, class... Opts >
5313  struct IAcc< Names::subsamplingPercentPoi , false, Opt, Opts... > ///< correspondences.strip2strip.selection group(opalsStripAdjust)
5314  : GetIAcc< false, Opts... >
5315  {
5316  virtual const Opt& subsamplingPercentPoi () const = 0; ///< correspondences.strip2strip.selection group(opalsStripAdjust)
5317  virtual Opt& subsamplingPercentPoi () = 0; ///< correspondences.strip2strip.selection group(opalsStripAdjust)
5318  };
5319 
5320  /// Partial specialization for Names::weighting _OPALS_COMMENT_AFTER_("correspondences.strip2strip.weighting group(opalsStripAdjust
5321  template< class Opt, class... Opts >
5322  struct IAcc< Names::weighting , true, Opt, Opts... > ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5323  : GetIAcc< true, Opts... >
5324  {
5325  virtual const Opt& weighting () const = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5326  };
5327 
5328  /// Partial specialization for Names::weighting _OPALS_COMMENT_AFTER_("correspondences.strip2strip.weighting group(opalsStripAdjust
5329  template< class Opt, class... Opts >
5330  struct IAcc< Names::weighting , false, Opt, Opts... > ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5331  : GetIAcc< false, Opts... >
5332  {
5333  virtual const Opt& weighting () const = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5334  virtual Opt& weighting () = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5335  };
5336 
5337  /// Partial specialization for Names::byDeltaAngle _OPALS_COMMENT_AFTER_("correspondences.strip2strip.weighting group(opalsStripAdjust
5338  template< class Opt, class... Opts >
5339  struct IAcc< Names::byDeltaAngle , true, Opt, Opts... > ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5340  : GetIAcc< true, Opts... >
5341  {
5342  virtual const Opt& byDeltaAngle () const = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5343  };
5344 
5345  /// Partial specialization for Names::byDeltaAngle _OPALS_COMMENT_AFTER_("correspondences.strip2strip.weighting group(opalsStripAdjust
5346  template< class Opt, class... Opts >
5347  struct IAcc< Names::byDeltaAngle , false, Opt, Opts... > ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5348  : GetIAcc< false, Opts... >
5349  {
5350  virtual const Opt& byDeltaAngle () const = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5351  virtual Opt& byDeltaAngle () = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5352  };
5353 
5354  /// Partial specialization for Names::byRoughness _OPALS_COMMENT_AFTER_("correspondences.strip2strip.weighting group(opalsStripAdjust
5355  template< class Opt, class... Opts >
5356  struct IAcc< Names::byRoughness , true, Opt, Opts... > ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5357  : GetIAcc< true, Opts... >
5358  {
5359  virtual const Opt& byRoughness () const = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5360  };
5361 
5362  /// Partial specialization for Names::byRoughness _OPALS_COMMENT_AFTER_("correspondences.strip2strip.weighting group(opalsStripAdjust
5363  template< class Opt, class... Opts >
5364  struct IAcc< Names::byRoughness , false, Opt, Opts... > ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5365  : GetIAcc< false, Opts... >
5366  {
5367  virtual const Opt& byRoughness () const = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5368  virtual Opt& byRoughness () = 0; ///< correspondences.strip2strip.weighting group(opalsStripAdjust)
5369  };
5370 
5371  /// Partial specialization for Names::rejection _OPALS_COMMENT_AFTER_("correspondences.strip2strip.rejection group(opalsStripAdjust
5372  template< class Opt, class... Opts >
5373  struct IAcc< Names::rejection , true, Opt, Opts... > ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
5374  : GetIAcc< true, Opts... >
5375  {
5376  virtual const Opt& rejection () const = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
5377  };
5378 
5379  /// Partial specialization for Names::rejection _OPALS_COMMENT_AFTER_("correspondences.strip2strip.rejection group(opalsStripAdjust
5380  template< class Opt, class... Opts >
5381  struct IAcc< Names::rejection , false, Opt, Opts... > ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
5382  : GetIAcc< false, Opts... >
5383  {
5384  virtual const Opt& rejection () const = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
5385  virtual Opt& rejection () = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
5386  };
5387 
5388  /// Partial specialization for Names::maxRoughness _OPALS_COMMENT_AFTER_("correspondences.strip2strip.rejection group(opalsStripAdjust
5389  template< class Opt, class... Opts >
5390  struct IAcc< Names::maxRoughness , true, Opt, Opts... > ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
5391  : GetIAcc< true, Opts... >
5392  {
5393  virtual const Opt& maxRoughness () const = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
5394  };
5395 
5396  /// Partial specialization for Names::maxRoughness _OPALS_COMMENT_AFTER_("correspondences.strip2strip.rejection group(opalsStripAdjust
5397  template< class Opt, class... Opts >
5398  struct IAcc< Names::maxRoughness , false, Opt, Opts... > ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
5399  : GetIAcc< false, Opts... >
5400  {
5401  virtual const Opt& maxRoughness () const = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
5402  virtual Opt& maxRoughness () = 0; ///< correspondences.strip2strip.rejection group(opalsStripAdjust)
5403  };
5404 
5405  /// Partial specialization for Names::control2strip _OPALS_COMMENT_AFTER_("correspondences.control2strip group(opalsStripAdjust
5406  template< class Opt, class... Opts >
5407  struct IAcc< Names::control2strip , true, Opt, Opts... > ///< correspondences.control2strip group(opalsStripAdjust)
5408  : GetIAcc< true, Opts... >
5409  {
5410  virtual const Opt& control2strip () const = 0; ///< correspondences.control2strip group(opalsStripAdjust)
5411  };
5412 
5413  /// Partial specialization for Names::control2strip _OPALS_COMMENT_AFTER_("correspondences.control2strip group(opalsStripAdjust
5414  template< class Opt, class... Opts >
5415  struct IAcc< Names::control2strip , false, Opt, Opts... > ///< correspondences.control2strip group(opalsStripAdjust)
5416  : GetIAcc< false, Opts... >
5417  {
5418  virtual const Opt& control2strip () const = 0; ///< correspondences.control2strip group(opalsStripAdjust)
5419  virtual Opt& control2strip () = 0; ///< correspondences.control2strip group(opalsStripAdjust)
5420  };
5421 
5422  /// Partial specialization for Names::dpSigPriori _OPALS_COMMENT_AFTER_("correspondences.control2strip group(opalsStripAdjust
5423  template< class Opt, class... Opts >
5424  struct IAcc< Names::dpSigPriori , true, Opt, Opts... > ///< correspondences.control2strip group(opalsStripAdjust)
5425  : GetIAcc< true, Opts... >
5426  {
5427  virtual const Opt& dpSigPriori () const = 0; ///< correspondences.control2strip group(opalsStripAdjust)
5428  };
5429 
5430  /// Partial specialization for Names::dpSigPriori _OPALS_COMMENT_AFTER_("correspondences.control2strip group(opalsStripAdjust
5431  template< class Opt, class... Opts >
5432  struct IAcc< Names::dpSigPriori , false, Opt, Opts... > ///< correspondences.control2strip group(opalsStripAdjust)
5433  : GetIAcc< false, Opts... >
5434  {
5435  virtual const Opt& dpSigPriori () const = 0; ///< correspondences.control2strip group(opalsStripAdjust)
5436  virtual Opt& dpSigPriori () = 0; ///< correspondences.control2strip group(opalsStripAdjust)
5437  };
5438 
5439  /// Partial specialization for Names::patchLength _OPALS_COMMENT_AFTER_("patch length for structure line modelling (opalsLineModeler
5440  template< class Opt, class... Opts >
5441  struct IAcc< Names::patchLength , true, Opt, Opts... > ///< patch length for structure line modelling (opalsLineModeler)
5442  : GetIAcc< true, Opts... >
5443  {
5444  virtual const Opt& patchLength () const = 0; ///< patch length for structure line modelling (opalsLineModeler)
5445  };
5446 
5447  /// Partial specialization for Names::patchLength _OPALS_COMMENT_AFTER_("patch length for structure line modelling (opalsLineModeler
5448  template< class Opt, class... Opts >
5449  struct IAcc< Names::patchLength , false, Opt, Opts... > ///< patch length for structure line modelling (opalsLineModeler)
5450  : GetIAcc< false, Opts... >
5451  {
5452  virtual const Opt& patchLength () const = 0; ///< patch length for structure line modelling (opalsLineModeler)
5453  virtual Opt& patchLength () = 0; ///< patch length for structure line modelling (opalsLineModeler)
5454  };
5455 
5456  /// Partial specialization for Names::patchWidth _OPALS_COMMENT_AFTER_("patch width for structure line modelling (opalsLineModeler
5457  template< class Opt, class... Opts >
5458  struct IAcc< Names::patchWidth , true, Opt, Opts... > ///< patch width for structure line modelling (opalsLineModeler)
5459  : GetIAcc< true, Opts... >
5460  {
5461  virtual const Opt& patchWidth () const = 0; ///< patch width for structure line modelling (opalsLineModeler)
5462  };
5463 
5464  /// Partial specialization for Names::patchWidth _OPALS_COMMENT_AFTER_("patch width for structure line modelling (opalsLineModeler
5465  template< class Opt, class... Opts >
5466  struct IAcc< Names::patchWidth , false, Opt, Opts... > ///< patch width for structure line modelling (opalsLineModeler)
5467  : GetIAcc< false, Opts... >
5468  {
5469  virtual const Opt& patchWidth () const = 0; ///< patch width for structure line modelling (opalsLineModeler)
5470  virtual Opt& patchWidth () = 0; ///< patch width for structure line modelling (opalsLineModeler)
5471  };
5472 
5473  /// Partial specialization for Names::pointCount _OPALS_COMMENT_AFTER_("min und max point count for patches (opalsLineModeler
5474  template< class Opt, class... Opts >
5475  struct IAcc< Names::pointCount , true, Opt, Opts... > ///< min und max point count for patches (opalsLineModeler)
5476  : GetIAcc< true, Opts... >
5477  {
5478  virtual const Opt& pointCount () const = 0; ///< min und max point count for patches (opalsLineModeler)
5479  };
5480 
5481  /// Partial specialization for Names::pointCount _OPALS_COMMENT_AFTER_("min und max point count for patches (opalsLineModeler
5482  template< class Opt, class... Opts >
5483  struct IAcc< Names::pointCount , false, Opt, Opts... > ///< min und max point count for patches (opalsLineModeler)
5484  : GetIAcc< false, Opts... >
5485  {
5486  virtual const Opt& pointCount () const = 0; ///< min und max point count for patches (opalsLineModeler)
5487  virtual Opt& pointCount () = 0; ///< min und max point count for patches (opalsLineModeler)
5488  };
5489 
5490  /// Partial specialization for Names::minAngle _OPALS_COMMENT_AFTER_("minimum intersection angle (opalsLineModeler
5491  template< class Opt, class... Opts >
5492  struct IAcc< Names::minAngle , true, Opt, Opts... > ///< minimum intersection angle (opalsLineModeler)
5493  : GetIAcc< true, Opts... >
5494  {
5495  virtual const Opt& minAngle () const = 0; ///< minimum intersection angle (opalsLineModeler)
5496  };
5497 
5498  /// Partial specialization for Names::minAngle _OPALS_COMMENT_AFTER_("minimum intersection angle (opalsLineModeler
5499  template< class Opt, class... Opts >
5500  struct IAcc< Names::minAngle , false, Opt, Opts... > ///< minimum intersection angle (opalsLineModeler)
5501  : GetIAcc< false, Opts... >
5502  {
5503  virtual const Opt& minAngle () const = 0; ///< minimum intersection angle (opalsLineModeler)
5504  virtual Opt& minAngle () = 0; ///< minimum intersection angle (opalsLineModeler)
5505  };
5506 
5507  /// Partial specialization for Names::sigmaPoint _OPALS_COMMENT_AFTER_("height sigma of the point cloud data (opalsLineModeler
5508  template< class Opt, class... Opts >
5509  struct IAcc< Names::sigmaPoint , true, Opt, Opts... > ///< height sigma of the point cloud data (opalsLineModeler)
5510  : GetIAcc< true, Opts... >
5511  {
5512  virtual const Opt& sigmaPoint () const = 0; ///< height sigma of the point cloud data (opalsLineModeler)
5513  };
5514 
5515  /// Partial specialization for Names::sigmaPoint _OPALS_COMMENT_AFTER_("height sigma of the point cloud data (opalsLineModeler
5516  template< class Opt, class... Opts >
5517  struct IAcc< Names::sigmaPoint , false, Opt, Opts... > ///< height sigma of the point cloud data (opalsLineModeler)
5518  : GetIAcc< false, Opts... >
5519  {
5520  virtual const Opt& sigmaPoint () const = 0; ///< height sigma of the point cloud data (opalsLineModeler)
5521  virtual Opt& sigmaPoint () = 0; ///< height sigma of the point cloud data (opalsLineModeler)
5522  };
5523 
5524  /// Partial specialization for Names::sigmaApprox _OPALS_COMMENT_AFTER_("2d sigma of the structure line approximation (opalsLineModeler
5525  template< class Opt, class... Opts >
5526  struct IAcc< Names::sigmaApprox , true, Opt, Opts... > ///< 2d sigma of the structure line approximation (opalsLineModeler)
5527  : GetIAcc< true, Opts... >
5528  {
5529  virtual const Opt& sigmaApprox () const = 0; ///< 2d sigma of the structure line approximation (opalsLineModeler)
5530  };
5531 
5532  /// Partial specialization for Names::sigmaApprox _OPALS_COMMENT_AFTER_("2d sigma of the structure line approximation (opalsLineModeler
5533  template< class Opt, class... Opts >
5534  struct IAcc< Names::sigmaApprox , false, Opt, Opts... > ///< 2d sigma of the structure line approximation (opalsLineModeler)
5535  : GetIAcc< false, Opts... >
5536  {
5537  virtual const Opt& sigmaApprox () const = 0; ///< 2d sigma of the structure line approximation (opalsLineModeler)
5538  virtual Opt& sigmaApprox () = 0; ///< 2d sigma of the structure line approximation (opalsLineModeler)
5539  };
5540 
5541  /// Partial specialization for Names::approximative _OPALS_COMMENT_AFTER_("use precise(=slow
5542  template< class Opt, class... Opts >
5543  struct IAcc< Names::approximative , true, Opt, Opts... > ///< use precise(=slow) or approximative(=fast) computation (opalsBounds)
5544  : GetIAcc< true, Opts... >
5545  {
5546  virtual const Opt& approximative () const = 0; ///< use precise(=slow) or approximative(=fast) computation (opalsBounds)
5547  };
5548 
5549  /// Partial specialization for Names::approximative _OPALS_COMMENT_AFTER_("use precise(=slow
5550  template< class Opt, class... Opts >
5551  struct IAcc< Names::approximative , false, Opt, Opts... > ///< use precise(=slow) or approximative(=fast) computation (opalsBounds)
5552  : GetIAcc< false, Opts... >
5553  {
5554  virtual const Opt& approximative () const = 0; ///< use precise(=slow) or approximative(=fast) computation (opalsBounds)
5555  virtual Opt& approximative () = 0; ///< use precise(=slow) or approximative(=fast) computation (opalsBounds)
5556  };
5557 
5558  /// Partial specialization for Names::maxArea _OPALS_COMMENT_AFTER_("maximum area (opalsFillGaps
5559  template< class Opt, class... Opts >
5560  struct IAcc< Names::maxArea , true, Opt, Opts... > ///< maximum area (opalsFillGaps)
5561  : GetIAcc< true, Opts... >
5562  {
5563  virtual const Opt& maxArea () const = 0; ///< maximum area (opalsFillGaps)
5564  };
5565 
5566  /// Partial specialization for Names::maxArea _OPALS_COMMENT_AFTER_("maximum area (opalsFillGaps
5567  template< class Opt, class... Opts >
5568  struct IAcc< Names::maxArea , false, Opt, Opts... > ///< maximum area (opalsFillGaps)
5569  : GetIAcc< false, Opts... >
5570  {
5571  virtual const Opt& maxArea () const = 0; ///< maximum area (opalsFillGaps)
5572  virtual Opt& maxArea () = 0; ///< maximum area (opalsFillGaps)
5573  };
5574 
5575  /// Partial specialization for Names::maxPixelRigorous _OPALS_COMMENT_AFTER_("maximum number of gap-pixel for rigorous adaptive fill (opalsFillGaps
5576  template< class Opt, class... Opts >
5577  struct IAcc< Names::maxPixelRigorous , true, Opt, Opts... > ///< maximum number of gap-pixel for rigorous adaptive fill (opalsFillGaps)
5578  : GetIAcc< true, Opts... >
5579  {
5580  virtual const Opt& maxPixelRigorous () const = 0; ///< maximum number of gap-pixel for rigorous adaptive fill (opalsFillGaps)
5581  };
5582 
5583  /// Partial specialization for Names::maxPixelRigorous _OPALS_COMMENT_AFTER_("maximum number of gap-pixel for rigorous adaptive fill (opalsFillGaps
5584  template< class Opt, class... Opts >
5585  struct IAcc< Names::maxPixelRigorous , false, Opt, Opts... > ///< maximum number of gap-pixel for rigorous adaptive fill (opalsFillGaps)
5586  : GetIAcc< false, Opts... >
5587  {
5588  virtual const Opt& maxPixelRigorous () const = 0; ///< maximum number of gap-pixel for rigorous adaptive fill (opalsFillGaps)
5589  virtual Opt& maxPixelRigorous () = 0; ///< maximum number of gap-pixel for rigorous adaptive fill (opalsFillGaps)
5590  };
5591 
5592  /// Partial specialization for Names::gapInfo _OPALS_COMMENT_AFTER_("write additional gap information to files (opalsFillGaps
5593  template< class Opt, class... Opts >
5594  struct IAcc< Names::gapInfo , true, Opt, Opts... > ///< write additional gap information to files (opalsFillGaps)
5595  : GetIAcc< true, Opts... >
5596  {
5597  virtual const Opt& gapInfo () const = 0; ///< write additional gap information to files (opalsFillGaps)
5598  };
5599 
5600  /// Partial specialization for Names::gapInfo _OPALS_COMMENT_AFTER_("write additional gap information to files (opalsFillGaps
5601  template< class Opt, class... Opts >
5602  struct IAcc< Names::gapInfo , false, Opt, Opts... > ///< write additional gap information to files (opalsFillGaps)
5603  : GetIAcc< false, Opts... >
5604  {
5605  virtual const Opt& gapInfo () const = 0; ///< write additional gap information to files (opalsFillGaps)
5606  virtual Opt& gapInfo () = 0; ///< write additional gap information to files (opalsFillGaps)
5607  };
5608 
5609  /// Partial specialization for Names::sigmaSmooth _OPALS_COMMENT_AFTER_("gaussian smoothing sigma (opalsEdgeDetect
5610  template< class Opt, class... Opts >
5611  struct IAcc< Names::sigmaSmooth , true, Opt, Opts... > ///< gaussian smoothing sigma (opalsEdgeDetect)
5612  : GetIAcc< true, Opts... >
5613  {
5614  virtual const Opt& sigmaSmooth () const = 0; ///< gaussian smoothing sigma (opalsEdgeDetect)
5615  };
5616 
5617  /// Partial specialization for Names::sigmaSmooth _OPALS_COMMENT_AFTER_("gaussian smoothing sigma (opalsEdgeDetect
5618  template< class Opt, class... Opts >
5619  struct IAcc< Names::sigmaSmooth , false, Opt, Opts... > ///< gaussian smoothing sigma (opalsEdgeDetect)
5620  : GetIAcc< false, Opts... >
5621  {
5622  virtual const Opt& sigmaSmooth () const = 0; ///< gaussian smoothing sigma (opalsEdgeDetect)
5623  virtual Opt& sigmaSmooth () = 0; ///< gaussian smoothing sigma (opalsEdgeDetect)
5624  };
5625 
5626  /// Partial specialization for Names::exportHeader _OPALS_COMMENT_AFTER_("export header features (opalsInfo
5627  template< class Opt, class... Opts >
5628  struct IAcc< Names::exportHeader , true, Opt, Opts... > ///< export header features (opalsInfo)
5629  : GetIAcc< true, Opts... >
5630  {
5631  virtual const Opt& exportHeader () const = 0; ///< export header features (opalsInfo)
5632  };
5633 
5634  /// Partial specialization for Names::exportHeader _OPALS_COMMENT_AFTER_("export header features (opalsInfo
5635  template< class Opt, class... Opts >
5636  struct IAcc< Names::exportHeader , false, Opt, Opts... > ///< export header features (opalsInfo)
5637  : GetIAcc< false, Opts... >
5638  {
5639  virtual const Opt& exportHeader () const = 0; ///< export header features (opalsInfo)
5640  virtual Opt& exportHeader () = 0; ///< export header features (opalsInfo)
5641  };
5642 
5643  /// Partial specialization for Names::seedCalculator _OPALS_COMMENT_AFTER_("Calculator for seed point order (opalsSegmentation
5644  template< class Opt, class... Opts >
5645  struct IAcc< Names::seedCalculator , true, Opt, Opts... > ///< Calculator for seed point order (opalsSegmentation)
5646  : GetIAcc< true, Opts... >
5647  {
5648  virtual const Opt& seedCalculator () const = 0; ///< Calculator for seed point order (opalsSegmentation)
5649  };
5650 
5651  /// Partial specialization for Names::seedCalculator _OPALS_COMMENT_AFTER_("Calculator for seed point order (opalsSegmentation
5652  template< class Opt, class... Opts >
5653  struct IAcc< Names::seedCalculator , false, Opt, Opts... > ///< Calculator for seed point order (opalsSegmentation)
5654  : GetIAcc< false, Opts... >
5655  {
5656  virtual const Opt& seedCalculator () const = 0; ///< Calculator for seed point order (opalsSegmentation)
5657  virtual Opt& seedCalculator () = 0; ///< Calculator for seed point order (opalsSegmentation)
5658  };
5659 
5660  /// Partial specialization for Names::condClustering _OPALS_COMMENT_AFTER_("Parameter group 'condClustering' containing options for conditional clustering (opalsSegmentation
5661  template< class Opt, class... Opts >
5662  struct IAcc< Names::condClustering , true, Opt, Opts... > ///< Parameter group 'condClustering' containing options for conditional clustering (opalsSegmentation)
5663  : GetIAcc< true, Opts... >
5664  {
5665  virtual const Opt& condClustering () const = 0; ///< Parameter group 'condClustering' containing options for conditional clustering (opalsSegmentation)
5666  };
5667 
5668  /// Partial specialization for Names::condClustering _OPALS_COMMENT_AFTER_("Parameter group 'condClustering' containing options for conditional clustering (opalsSegmentation
5669  template< class Opt, class... Opts >
5670  struct IAcc< Names::condClustering , false, Opt, Opts... > ///< Parameter group 'condClustering' containing options for conditional clustering (opalsSegmentation)
5671  : GetIAcc< false, Opts... >
5672  {
5673  virtual const Opt& condClustering () const = 0; ///< Parameter group 'condClustering' containing options for conditional clustering (opalsSegmentation)
5674  virtual Opt& condClustering () = 0; ///< Parameter group 'condClustering' containing options for conditional clustering (opalsSegmentation)
5675  };
5676 
5677  /// Partial specialization for Names::planeExtraction _OPALS_COMMENT_AFTER_("Parameter group 'planeExtraction' containing options for planar surface extraction (opalsSegmentation
5678  template< class Opt, class... Opts >
5679  struct IAcc< Names::planeExtraction , true, Opt, Opts... > ///< Parameter group 'planeExtraction' containing options for planar surface extraction (opalsSegmentation)
5680  : GetIAcc< true, Opts... >
5681  {
5682  virtual const Opt& planeExtraction () const = 0; ///< Parameter group 'planeExtraction' containing options for planar surface extraction (opalsSegmentation)
5683  };
5684 
5685  /// Partial specialization for Names::planeExtraction _OPALS_COMMENT_AFTER_("Parameter group 'planeExtraction' containing options for planar surface extraction (opalsSegmentation
5686  template< class Opt, class... Opts >
5687  struct IAcc< Names::planeExtraction , false, Opt, Opts... > ///< Parameter group 'planeExtraction' containing options for planar surface extraction (opalsSegmentation)
5688  : GetIAcc< false, Opts... >
5689  {
5690  virtual const Opt& planeExtraction () const = 0; ///< Parameter group 'planeExtraction' containing options for planar surface extraction (opalsSegmentation)
5691  virtual Opt& planeExtraction () = 0; ///< Parameter group 'planeExtraction' containing options for planar surface extraction (opalsSegmentation)
5692  };
5693 
5694  /// Partial specialization for Names::pyramidLevels _OPALS_COMMENT_AFTER_("Number of data/image pyramid levels (opalsTerrainFilter
5695  template< class Opt, class... Opts >
5696  struct IAcc< Names::pyramidLevels , true, Opt, Opts... > ///< Number of data/image pyramid levels (opalsTerrainFilter)
5697  : GetIAcc< true, Opts... >
5698  {
5699  virtual const Opt& pyramidLevels () const = 0; ///< Number of data/image pyramid levels (opalsTerrainFilter)
5700  };
5701 
5702  /// Partial specialization for Names::pyramidLevels _OPALS_COMMENT_AFTER_("Number of data/image pyramid levels (opalsTerrainFilter
5703  template< class Opt, class... Opts >
5704  struct IAcc< Names::pyramidLevels , false, Opt, Opts... > ///< Number of data/image pyramid levels (opalsTerrainFilter)
5705  : GetIAcc< false, Opts... >
5706  {
5707  virtual const Opt& pyramidLevels () const = 0; ///< Number of data/image pyramid levels (opalsTerrainFilter)
5708  virtual Opt& pyramidLevels () = 0; ///< Number of data/image pyramid levels (opalsTerrainFilter)
5709  };
5710 
5711  /// Partial specialization for Names::bulkPoints _OPALS_COMMENT_AFTER_("specific parameter for category bulk points (opalsTerrainFilter
5712  template< class Opt, class... Opts >
5713  struct IAcc< Names::bulkPoints , true, Opt, Opts... > ///< specific parameter for category bulk points (opalsTerrainFilter)
5714  : GetIAcc< true, Opts... >
5715  {
5716  virtual const Opt& bulkPoints () const = 0; ///< specific parameter for category bulk points (opalsTerrainFilter)
5717  };
5718 
5719  /// Partial specialization for Names::bulkPoints _OPALS_COMMENT_AFTER_("specific parameter for category bulk points (opalsTerrainFilter
5720  template< class Opt, class... Opts >
5721  struct IAcc< Names::bulkPoints , false, Opt, Opts... > ///< specific parameter for category bulk points (opalsTerrainFilter)
5722  : GetIAcc< false, Opts... >
5723  {
5724  virtual const Opt& bulkPoints () const = 0; ///< specific parameter for category bulk points (opalsTerrainFilter)
5725  virtual Opt& bulkPoints () = 0; ///< specific parameter for category bulk points (opalsTerrainFilter)
5726  };
5727 
5728  /// Partial specialization for Names::keyPoints _OPALS_COMMENT_AFTER_("specific parameter for category key points (opalsTerrainFilter
5729  template< class Opt, class... Opts >
5730  struct IAcc< Names::keyPoints , true, Opt, Opts... > ///< specific parameter for category key points (opalsTerrainFilter)
5731  : GetIAcc< true, Opts... >
5732  {
5733  virtual const Opt& keyPoints () const = 0; ///< specific parameter for category key points (opalsTerrainFilter)
5734  };
5735 
5736  /// Partial specialization for Names::keyPoints _OPALS_COMMENT_AFTER_("specific parameter for category key points (opalsTerrainFilter
5737  template< class Opt, class... Opts >
5738  struct IAcc< Names::keyPoints , false, Opt, Opts... > ///< specific parameter for category key points (opalsTerrainFilter)
5739  : GetIAcc< false, Opts... >
5740  {
5741  virtual const Opt& keyPoints () const = 0; ///< specific parameter for category key points (opalsTerrainFilter)
5742  virtual Opt& keyPoints () = 0; ///< specific parameter for category key points (opalsTerrainFilter)
5743  };
5744 
5745  /// Partial specialization for Names::formLines _OPALS_COMMENT_AFTER_("specific parameter for category form lines (opalsTerrainFilter
5746  template< class Opt, class... Opts >
5747  struct IAcc< Names::formLines , true, Opt, Opts... > ///< specific parameter for category form lines (opalsTerrainFilter)
5748  : GetIAcc< true, Opts... >
5749  {
5750  virtual const Opt& formLines () const = 0; ///< specific parameter for category form lines (opalsTerrainFilter)
5751  };
5752 
5753  /// Partial specialization for Names::formLines _OPALS_COMMENT_AFTER_("specific parameter for category form lines (opalsTerrainFilter
5754  template< class Opt, class... Opts >
5755  struct IAcc< Names::formLines , false, Opt, Opts... > ///< specific parameter for category form lines (opalsTerrainFilter)
5756  : GetIAcc< false, Opts... >
5757  {
5758  virtual const Opt& formLines () const = 0; ///< specific parameter for category form lines (opalsTerrainFilter)
5759  virtual Opt& formLines () = 0; ///< specific parameter for category form lines (opalsTerrainFilter)
5760  };
5761 
5762  /// Partial specialization for Names::breakLines _OPALS_COMMENT_AFTER_("specific parameter for category break lines (opalsTerrainFilter
5763  template< class Opt, class... Opts >
5764  struct IAcc< Names::breakLines , true, Opt, Opts... > ///< specific parameter for category break lines (opalsTerrainFilter)
5765  : GetIAcc< true, Opts... >
5766  {
5767  virtual const Opt& breakLines () const = 0; ///< specific parameter for category break lines (opalsTerrainFilter)
5768  };
5769 
5770  /// Partial specialization for Names::breakLines _OPALS_COMMENT_AFTER_("specific parameter for category break lines (opalsTerrainFilter
5771  template< class Opt, class... Opts >
5772  struct IAcc< Names::breakLines , false, Opt, Opts... > ///< specific parameter for category break lines (opalsTerrainFilter)
5773  : GetIAcc< false, Opts... >
5774  {
5775  virtual const Opt& breakLines () const = 0; ///< specific parameter for category break lines (opalsTerrainFilter)
5776  virtual Opt& breakLines () = 0; ///< specific parameter for category break lines (opalsTerrainFilter)
5777  };
5778 
5779  /// Partial specialization for Names::robustInterpolation _OPALS_COMMENT_AFTER_("group of specific parameters for robust interpolation (opalsTerrainFilter
5780  template< class Opt, class... Opts >
5781  struct IAcc< Names::robustInterpolation , true, Opt, Opts... > ///< group of specific parameters for robust interpolation (opalsTerrainFilter)
5782  : GetIAcc< true, Opts... >
5783  {
5784  virtual const Opt& robustInterpolation () const = 0; ///< group of specific parameters for robust interpolation (opalsTerrainFilter)
5785  };
5786 
5787  /// Partial specialization for Names::robustInterpolation _OPALS_COMMENT_AFTER_("group of specific parameters for robust interpolation (opalsTerrainFilter
5788  template< class Opt, class... Opts >
5789  struct IAcc< Names::robustInterpolation , false, Opt, Opts... > ///< group of specific parameters for robust interpolation (opalsTerrainFilter)
5790  : GetIAcc< false, Opts... >
5791  {
5792  virtual const Opt& robustInterpolation () const = 0; ///< group of specific parameters for robust interpolation (opalsTerrainFilter)
5793  virtual Opt& robustInterpolation () = 0; ///< group of specific parameters for robust interpolation (opalsTerrainFilter)
5794  };
5795 
5796  /// Partial specialization for Names::writeFilterInfo _OPALS_COMMENT_AFTER_("write filter information to odm (opalsTerrainFilter
5797  template< class Opt, class... Opts >
5798  struct IAcc< Names::writeFilterInfo , true, Opt, Opts... > ///< write filter information to odm (opalsTerrainFilter)
5799  : GetIAcc< true, Opts... >
5800  {
5801  virtual const Opt& writeFilterInfo () const = 0; ///< write filter information to odm (opalsTerrainFilter)
5802  };
5803 
5804  /// Partial specialization for Names::writeFilterInfo _OPALS_COMMENT_AFTER_("write filter information to odm (opalsTerrainFilter
5805  template< class Opt, class... Opts >
5806  struct IAcc< Names::writeFilterInfo , false, Opt, Opts... > ///< write filter information to odm (opalsTerrainFilter)
5807  : GetIAcc< false, Opts... >
5808  {
5809  virtual const Opt& writeFilterInfo () const = 0; ///< write filter information to odm (opalsTerrainFilter)
5810  virtual Opt& writeFilterInfo () = 0; ///< write filter information to odm (opalsTerrainFilter)
5811  };
5812 
5813  /// Partial specialization for Names::filterThresholds _OPALS_COMMENT_AFTER_("filter thresholds for hierarchical levels (opalsTerrainFilter
5814  template< class Opt, class... Opts >
5815  struct IAcc< Names::filterThresholds , true, Opt, Opts... > ///< filter thresholds for hierarchical levels (opalsTerrainFilter)
5816  : GetIAcc< true, Opts... >
5817  {
5818  virtual const Opt& filterThresholds () const = 0; ///< filter thresholds for hierarchical levels (opalsTerrainFilter)
5819  };
5820 
5821  /// Partial specialization for Names::filterThresholds _OPALS_COMMENT_AFTER_("filter thresholds for hierarchical levels (opalsTerrainFilter
5822  template< class Opt, class... Opts >
5823  struct IAcc< Names::filterThresholds , false, Opt, Opts... > ///< filter thresholds for hierarchical levels (opalsTerrainFilter)
5824  : GetIAcc< false, Opts... >
5825  {
5826  virtual const Opt& filterThresholds () const = 0; ///< filter thresholds for hierarchical levels (opalsTerrainFilter)
5827  virtual Opt& filterThresholds () = 0; ///< filter thresholds for hierarchical levels (opalsTerrainFilter)
5828  };
5829 
5830  /// Partial specialization for Names::lowerThresholdScale _OPALS_COMMENT_AFTER_("scale for asymmetric filter thresholds (opalsTerrainFilter
5831  template< class Opt, class... Opts >
5832  struct IAcc< Names::lowerThresholdScale , true, Opt, Opts... > ///< scale for asymmetric filter thresholds (opalsTerrainFilter)
5833  : GetIAcc< true, Opts... >
5834  {
5835  virtual const Opt& lowerThresholdScale () const = 0; ///< scale for asymmetric filter thresholds (opalsTerrainFilter)
5836  };
5837 
5838  /// Partial specialization for Names::lowerThresholdScale _OPALS_COMMENT_AFTER_("scale for asymmetric filter thresholds (opalsTerrainFilter
5839  template< class Opt, class... Opts >
5840  struct IAcc< Names::lowerThresholdScale , false, Opt, Opts... > ///< scale for asymmetric filter thresholds (opalsTerrainFilter)
5841  : GetIAcc< false, Opts... >
5842  {
5843  virtual const Opt& lowerThresholdScale () const = 0; ///< scale for asymmetric filter thresholds (opalsTerrainFilter)
5844  virtual Opt& lowerThresholdScale () = 0; ///< scale for asymmetric filter thresholds (opalsTerrainFilter)
5845  };
5846 
5847  /// Partial specialization for Names::robustIter _OPALS_COMMENT_AFTER_("number of robust iterations (opalsStripAdjust
5848  template< class Opt, class... Opts >
5849  struct IAcc< Names::robustIter , true, Opt, Opts... > ///< number of robust iterations (opalsStripAdjust)
5850  : GetIAcc< true, Opts... >
5851  {
5852  virtual const Opt& robustIter () const = 0; ///< number of robust iterations (opalsStripAdjust)
5853  };
5854 
5855  /// Partial specialization for Names::robustIter _OPALS_COMMENT_AFTER_("number of robust iterations (opalsStripAdjust
5856  template< class Opt, class... Opts >
5857  struct IAcc< Names::robustIter , false, Opt, Opts... > ///< number of robust iterations (opalsStripAdjust)
5858  : GetIAcc< false, Opts... >
5859  {
5860  virtual const Opt& robustIter () const = 0; ///< number of robust iterations (opalsStripAdjust)
5861  virtual Opt& robustIter () = 0; ///< number of robust iterations (opalsStripAdjust)
5862  };
5863 
5864  /// Partial specialization for Names::images _OPALS_COMMENT_AFTER_("images group (opalsStripAdjust
5865  template< class Opt, class... Opts >
5866  struct IAcc< Names::images , true, Opt, Opts... > ///< images group (opalsStripAdjust)
5867  : GetIAcc< true, Opts... >
5868  {
5869  virtual const Opt& images () const = 0; ///< images group (opalsStripAdjust)
5870  };
5871 
5872  /// Partial specialization for Names::images _OPALS_COMMENT_AFTER_("images group (opalsStripAdjust
5873  template< class Opt, class... Opts >
5874  struct IAcc< Names::images , false, Opt, Opts... > ///< images group (opalsStripAdjust)
5875  : GetIAcc< false, Opts... >
5876  {
5877  virtual const Opt& images () const = 0; ///< images group (opalsStripAdjust)
5878  virtual Opt& images () = 0; ///< images group (opalsStripAdjust)
5879  };
5880 
5881  /// Partial specialization for Names::camera _OPALS_COMMENT_AFTER_("camera ID (opalsStripAdjust
5882  template< class Opt, class... Opts >
5883  struct IAcc< Names::camera , true, Opt, Opts... > ///< camera ID (opalsStripAdjust)
5884  : GetIAcc< true, Opts... >
5885  {
5886  virtual const Opt& camera () const = 0; ///< camera ID (opalsStripAdjust)
5887  };
5888 
5889  /// Partial specialization for Names::camera _OPALS_COMMENT_AFTER_("camera ID (opalsStripAdjust
5890  template< class Opt, class... Opts >
5891  struct IAcc< Names::camera , false, Opt, Opts... > ///< camera ID (opalsStripAdjust)
5892  : GetIAcc< false, Opts... >
5893  {
5894  virtual const Opt& camera () const = 0; ///< camera ID (opalsStripAdjust)
5895  virtual Opt& camera () = 0; ///< camera ID (opalsStripAdjust)
5896  };
5897 
5898  /// Partial specialization for Names::cameras _OPALS_COMMENT_AFTER_("cameras group (opalsStripAdjust
5899  template< class Opt, class... Opts >
5900  struct IAcc< Names::cameras , true, Opt, Opts... > ///< cameras group (opalsStripAdjust)
5901  : GetIAcc< true, Opts... >
5902  {
5903  virtual const Opt& cameras () const = 0; ///< cameras group (opalsStripAdjust)
5904  };
5905 
5906  /// Partial specialization for Names::cameras _OPALS_COMMENT_AFTER_("cameras group (opalsStripAdjust
5907  template< class Opt, class... Opts >
5908  struct IAcc< Names::cameras , false, Opt, Opts... > ///< cameras group (opalsStripAdjust)
5909  : GetIAcc< false, Opts... >
5910  {
5911  virtual const Opt& cameras () const = 0; ///< cameras group (opalsStripAdjust)
5912  virtual Opt& cameras () = 0; ///< cameras group (opalsStripAdjust)
5913  };
5914 
5915  /// Partial specialization for Names::extOri _OPALS_COMMENT_AFTER_("exterior orientation (opalsStripAdjust
5916  template< class Opt, class... Opts >
5917  struct IAcc< Names::extOri , true, Opt, Opts... > ///< exterior orientation (opalsStripAdjust)
5918  : GetIAcc< true, Opts... >
5919  {
5920  virtual const Opt& extOri () const = 0; ///< exterior orientation (opalsStripAdjust)
5921  };
5922 
5923  /// Partial specialization for Names::extOri _OPALS_COMMENT_AFTER_("exterior orientation (opalsStripAdjust
5924  template< class Opt, class... Opts >
5925  struct IAcc< Names::extOri , false, Opt, Opts... > ///< exterior orientation (opalsStripAdjust)
5926  : GetIAcc< false, Opts... >
5927  {
5928  virtual const Opt& extOri () const = 0; ///< exterior orientation (opalsStripAdjust)
5929  virtual Opt& extOri () = 0; ///< exterior orientation (opalsStripAdjust)
5930  };
5931 
5932  /// Partial specialization for Names::dExtOri _OPALS_COMMENT_AFTER_("delta exterior orientation (opalsStripAdjust
5933  template< class Opt, class... Opts >
5934  struct IAcc< Names::dExtOri , true, Opt, Opts... > ///< delta exterior orientation (opalsStripAdjust)
5935  : GetIAcc< true, Opts... >
5936  {
5937  virtual const Opt& dExtOri () const = 0; ///< delta exterior orientation (opalsStripAdjust)
5938  };
5939 
5940  /// Partial specialization for Names::dExtOri _OPALS_COMMENT_AFTER_("delta exterior orientation (opalsStripAdjust
5941  template< class Opt, class... Opts >
5942  struct IAcc< Names::dExtOri , false, Opt, Opts... > ///< delta exterior orientation (opalsStripAdjust)
5943  : GetIAcc< false, Opts... >
5944  {
5945  virtual const Opt& dExtOri () const = 0; ///< delta exterior orientation (opalsStripAdjust)
5946  virtual Opt& dExtOri () = 0; ///< delta exterior orientation (opalsStripAdjust)
5947  };
5948 
5949  /// Partial specialization for Names::X0 _OPALS_COMMENT_AFTER_("Projection center's X-coordinate"
5950  template< class Opt, class... Opts >
5951  struct IAcc< Names::X0 , true, Opt, Opts... > ///< Projection center's X-coordinate
5952  : GetIAcc< true, Opts... >
5953  {
5954  virtual const Opt& X0 () const = 0; ///< Projection center's X-coordinate
5955  };
5956 
5957  /// Partial specialization for Names::X0 _OPALS_COMMENT_AFTER_("Projection center's X-coordinate"
5958  template< class Opt, class... Opts >
5959  struct IAcc< Names::X0 , false, Opt, Opts... > ///< Projection center's X-coordinate
5960  : GetIAcc< false, Opts... >
5961  {
5962  virtual const Opt& X0 () const = 0; ///< Projection center's X-coordinate
5963  virtual Opt& X0 () = 0; ///< Projection center's X-coordinate
5964  };
5965 
5966  /// Partial specialization for Names::Y0 _OPALS_COMMENT_AFTER_("Projection center's Y-coordinate"
5967  template< class Opt, class... Opts >
5968  struct IAcc< Names::Y0 , true, Opt, Opts... > ///< Projection center's Y-coordinate
5969  : GetIAcc< true, Opts... >
5970  {
5971  virtual const Opt& Y0 () const = 0; ///< Projection center's Y-coordinate
5972  };
5973 
5974  /// Partial specialization for Names::Y0 _OPALS_COMMENT_AFTER_("Projection center's Y-coordinate"
5975  template< class Opt, class... Opts >
5976  struct IAcc< Names::Y0 , false, Opt, Opts... > ///< Projection center's Y-coordinate
5977  : GetIAcc< false, Opts... >
5978  {
5979  virtual const Opt& Y0 () const = 0; ///< Projection center's Y-coordinate
5980  virtual Opt& Y0 () = 0; ///< Projection center's Y-coordinate
5981  };
5982 
5983  /// Partial specialization for Names::Z0 _OPALS_COMMENT_AFTER_("Projection center's Z-coordinate"
5984  template< class Opt, class... Opts >
5985  struct IAcc< Names::Z0 , true, Opt, Opts... > ///< Projection center's Z-coordinate
5986  : GetIAcc< true, Opts... >
5987  {
5988  virtual const Opt& Z0 () const = 0; ///< Projection center's Z-coordinate
5989  };
5990 
5991  /// Partial specialization for Names::Z0 _OPALS_COMMENT_AFTER_("Projection center's Z-coordinate"
5992  template< class Opt, class... Opts >
5993  struct IAcc< Names::Z0 , false, Opt, Opts... > ///< Projection center's Z-coordinate
5994  : GetIAcc< false, Opts... >
5995  {
5996  virtual const Opt& Z0 () const = 0; ///< Projection center's Z-coordinate
5997  virtual Opt& Z0 () = 0; ///< Projection center's Z-coordinate
5998  };
5999 
6000  /// Partial specialization for Names::dX0 _OPALS_COMMENT_AFTER_("Projection center's X-coordinate offset (opalsStripAdjust
6001  template< class Opt, class... Opts >
6002  struct IAcc< Names::dX0 , true, Opt, Opts... > ///< Projection center's X-coordinate offset (opalsStripAdjust)
6003  : GetIAcc< true, Opts... >
6004  {
6005  virtual const Opt& dX0 () const = 0; ///< Projection center's X-coordinate offset (opalsStripAdjust)
6006  };
6007 
6008  /// Partial specialization for Names::dX0 _OPALS_COMMENT_AFTER_("Projection center's X-coordinate offset (opalsStripAdjust
6009  template< class Opt, class... Opts >
6010  struct IAcc< Names::dX0 , false, Opt, Opts... > ///< Projection center's X-coordinate offset (opalsStripAdjust)
6011  : GetIAcc< false, Opts... >
6012  {
6013  virtual const Opt& dX0 () const = 0; ///< Projection center's X-coordinate offset (opalsStripAdjust)
6014  virtual Opt& dX0 () = 0; ///< Projection center's X-coordinate offset (opalsStripAdjust)
6015  };
6016 
6017  /// Partial specialization for Names::dY0 _OPALS_COMMENT_AFTER_("Projection center's Y-coordinate offset (opalsStripAdjust
6018  template< class Opt, class... Opts >
6019  struct IAcc< Names::dY0 , true, Opt, Opts... > ///< Projection center's Y-coordinate offset (opalsStripAdjust)
6020  : GetIAcc< true, Opts... >
6021  {
6022  virtual const Opt& dY0 () const = 0; ///< Projection center's Y-coordinate offset (opalsStripAdjust)
6023  };
6024 
6025  /// Partial specialization for Names::dY0 _OPALS_COMMENT_AFTER_("Projection center's Y-coordinate offset (opalsStripAdjust
6026  template< class Opt, class... Opts >
6027  struct IAcc< Names::dY0 , false, Opt, Opts... > ///< Projection center's Y-coordinate offset (opalsStripAdjust)
6028  : GetIAcc< false, Opts... >
6029  {
6030  virtual const Opt& dY0 () const = 0; ///< Projection center's Y-coordinate offset (opalsStripAdjust)
6031  virtual Opt& dY0 () = 0; ///< Projection center's Y-coordinate offset (opalsStripAdjust)
6032  };
6033 
6034  /// Partial specialization for Names::dZ0 _OPALS_COMMENT_AFTER_("Projection center's Z-coordinate offset (opalsStripAdjust
6035  template< class Opt, class... Opts >
6036  struct IAcc< Names::dZ0 , true, Opt, Opts... > ///< Projection center's Z-coordinate offset (opalsStripAdjust)
6037  : GetIAcc< true, Opts... >
6038  {
6039  virtual const Opt& dZ0 () const = 0; ///< Projection center's Z-coordinate offset (opalsStripAdjust)
6040  };
6041 
6042  /// Partial specialization for Names::dZ0 _OPALS_COMMENT_AFTER_("Projection center's Z-coordinate offset (opalsStripAdjust
6043  template< class Opt, class... Opts >
6044  struct IAcc< Names::dZ0 , false, Opt, Opts... > ///< Projection center's Z-coordinate offset (opalsStripAdjust)
6045  : GetIAcc< false, Opts... >
6046  {
6047  virtual const Opt& dZ0 () const = 0; ///< Projection center's Z-coordinate offset (opalsStripAdjust)
6048  virtual Opt& dZ0 () = 0; ///< Projection center's Z-coordinate offset (opalsStripAdjust)
6049  };
6050 
6051  /// Partial specialization for Names::dOmega _OPALS_COMMENT_AFTER_("omega angle offset (opalsStripAdjust
6052  template< class Opt, class... Opts >
6053  struct IAcc< Names::dOmega , true, Opt, Opts... > ///< omega angle offset (opalsStripAdjust)
6054  : GetIAcc< true, Opts... >
6055  {
6056  virtual const Opt& dOmega () const = 0; ///< omega angle offset (opalsStripAdjust)
6057  };
6058 
6059  /// Partial specialization for Names::dOmega _OPALS_COMMENT_AFTER_("omega angle offset (opalsStripAdjust
6060  template< class Opt, class... Opts >
6061  struct IAcc< Names::dOmega , false, Opt, Opts... > ///< omega angle offset (opalsStripAdjust)
6062  : GetIAcc< false, Opts... >
6063  {
6064  virtual const Opt& dOmega () const = 0; ///< omega angle offset (opalsStripAdjust)
6065  virtual Opt& dOmega () = 0; ///< omega angle offset (opalsStripAdjust)
6066  };
6067 
6068  /// Partial specialization for Names::dPhi _OPALS_COMMENT_AFTER_("phi angle offset (opalsStripAdjust
6069  template< class Opt, class... Opts >
6070  struct IAcc< Names::dPhi , true, Opt, Opts... > ///< phi angle offset (opalsStripAdjust)
6071  : GetIAcc< true, Opts... >
6072  {
6073  virtual const Opt& dPhi () const = 0; ///< phi angle offset (opalsStripAdjust)
6074  };
6075 
6076  /// Partial specialization for Names::dPhi _OPALS_COMMENT_AFTER_("phi angle offset (opalsStripAdjust
6077  template< class Opt, class... Opts >
6078  struct IAcc< Names::dPhi , false, Opt, Opts... > ///< phi angle offset (opalsStripAdjust)
6079  : GetIAcc< false, Opts... >
6080  {
6081  virtual const Opt& dPhi () const = 0; ///< phi angle offset (opalsStripAdjust)
6082  virtual Opt& dPhi () = 0; ///< phi angle offset (opalsStripAdjust)
6083  };
6084 
6085  /// Partial specialization for Names::dKappa _OPALS_COMMENT_AFTER_("kappa angle offset (opalsStripAdjust
6086  template< class Opt, class... Opts >
6087  struct IAcc< Names::dKappa , true, Opt, Opts... > ///< kappa angle offset (opalsStripAdjust)
6088  : GetIAcc< true, Opts... >
6089  {
6090  virtual const Opt& dKappa () const = 0; ///< kappa angle offset (opalsStripAdjust)
6091  };
6092 
6093  /// Partial specialization for Names::dKappa _OPALS_COMMENT_AFTER_("kappa angle offset (opalsStripAdjust
6094  template< class Opt, class... Opts >
6095  struct IAcc< Names::dKappa , false, Opt, Opts... > ///< kappa angle offset (opalsStripAdjust)
6096  : GetIAcc< false, Opts... >
6097  {
6098  virtual const Opt& dKappa () const = 0; ///< kappa angle offset (opalsStripAdjust)
6099  virtual Opt& dKappa () = 0; ///< kappa angle offset (opalsStripAdjust)
6100  };
6101 
6102  /// Partial specialization for Names::intOri _OPALS_COMMENT_AFTER_("interior orientation (opalsStripAdjust
6103  template< class Opt, class... Opts >
6104  struct IAcc< Names::intOri , true, Opt, Opts... > ///< interior orientation (opalsStripAdjust)
6105  : GetIAcc< true, Opts... >
6106  {
6107  virtual const Opt& intOri () const = 0; ///< interior orientation (opalsStripAdjust)
6108  };
6109 
6110  /// Partial specialization for Names::intOri _OPALS_COMMENT_AFTER_("interior orientation (opalsStripAdjust
6111  template< class Opt, class... Opts >
6112  struct IAcc< Names::intOri , false, Opt, Opts... > ///< interior orientation (opalsStripAdjust)
6113  : GetIAcc< false, Opts... >
6114  {
6115  virtual const Opt& intOri () const = 0; ///< interior orientation (opalsStripAdjust)
6116  virtual Opt& intOri () = 0; ///< interior orientation (opalsStripAdjust)
6117  };
6118 
6119  /// Partial specialization for Names::c _OPALS_COMMENT_AFTER_("focal length (opalsStripAdjust
6120  template< class Opt, class... Opts >
6121  struct IAcc< Names::c , true, Opt, Opts... > ///< focal length (opalsStripAdjust)
6122  : GetIAcc< true, Opts... >
6123  {
6124  virtual const Opt& c () const = 0; ///< focal length (opalsStripAdjust)
6125  };
6126 
6127  /// Partial specialization for Names::c _OPALS_COMMENT_AFTER_("focal length (opalsStripAdjust
6128  template< class Opt, class... Opts >
6129  struct IAcc< Names::c , false, Opt, Opts... > ///< focal length (opalsStripAdjust)
6130  : GetIAcc< false, Opts... >
6131  {
6132  virtual const Opt& c () const = 0; ///< focal length (opalsStripAdjust)
6133  virtual Opt& c () = 0; ///< focal length (opalsStripAdjust)
6134  };
6135 
6136  /// Partial specialization for Names::distortion _OPALS_COMMENT_AFTER_("lens distortion (opalsStripAdjust
6137  template< class Opt, class... Opts >
6138  struct IAcc< Names::distortion , true, Opt, Opts... > ///< lens distortion (opalsStripAdjust)
6139  : GetIAcc< true, Opts... >
6140  {
6141  virtual const Opt& distortion () const = 0; ///< lens distortion (opalsStripAdjust)
6142  };
6143 
6144  /// Partial specialization for Names::distortion _OPALS_COMMENT_AFTER_("lens distortion (opalsStripAdjust
6145  template< class Opt, class... Opts >
6146  struct IAcc< Names::distortion , false, Opt, Opts... > ///< lens distortion (opalsStripAdjust)
6147  : GetIAcc< false, Opts... >
6148  {
6149  virtual const Opt& distortion () const = 0; ///< lens distortion (opalsStripAdjust)
6150  virtual Opt& distortion () = 0; ///< lens distortion (opalsStripAdjust)
6151  };
6152 
6153  /// Partial specialization for Names::undistort _OPALS_COMMENT_AFTER_("create undistorted images (opalsStripAdjust
6154  template< class Opt, class... Opts >
6155  struct IAcc< Names::undistort , true, Opt, Opts... > ///< create undistorted images (opalsStripAdjust)
6156  : GetIAcc< true, Opts... >
6157  {
6158  virtual const Opt& undistort () const = 0; ///< create undistorted images (opalsStripAdjust)
6159  };
6160 
6161  /// Partial specialization for Names::undistort _OPALS_COMMENT_AFTER_("create undistorted images (opalsStripAdjust
6162  template< class Opt, class... Opts >
6163  struct IAcc< Names::undistort , false, Opt, Opts... > ///< create undistorted images (opalsStripAdjust)
6164  : GetIAcc< false, Opts... >
6165  {
6166  virtual const Opt& undistort () const = 0; ///< create undistorted images (opalsStripAdjust)
6167  virtual Opt& undistort () = 0; ///< create undistorted images (opalsStripAdjust)
6168  };
6169 
6170  /// Partial specialization for Names::rho0 _OPALS_COMMENT_AFTER_("lens distortion normalization radius (opalsStripAdjust
6171  template< class Opt, class... Opts >
6172  struct IAcc< Names::rho0 , true, Opt, Opts... > ///< lens distortion normalization radius (opalsStripAdjust)
6173  : GetIAcc< true, Opts... >
6174  {
6175  virtual const Opt& rho0 () const = 0; ///< lens distortion normalization radius (opalsStripAdjust)
6176  };
6177 
6178  /// Partial specialization for Names::rho0 _OPALS_COMMENT_AFTER_("lens distortion normalization radius (opalsStripAdjust
6179  template< class Opt, class... Opts >
6180  struct IAcc< Names::rho0 , false, Opt, Opts... > ///< lens distortion normalization radius (opalsStripAdjust)
6181  : GetIAcc< false, Opts... >
6182  {
6183  virtual const Opt& rho0 () const = 0; ///< lens distortion normalization radius (opalsStripAdjust)
6184  virtual Opt& rho0 () = 0; ///< lens distortion normalization radius (opalsStripAdjust)
6185  };
6186 
6187  /// Partial specialization for Names::a3 _OPALS_COMMENT_AFTER_("radial lens distortion, 3rd degree ORIENT:3 (opalsStripAdjust
6188  template< class Opt, class... Opts >
6189  struct IAcc< Names::a3 , true, Opt, Opts... > ///< radial lens distortion, 3rd degree ORIENT:3 (opalsStripAdjust)
6190  : GetIAcc< true, Opts... >
6191  {
6192  virtual const Opt& a3 () const = 0; ///< radial lens distortion, 3rd degree ORIENT:3 (opalsStripAdjust)
6193  };
6194 
6195  /// Partial specialization for Names::a3 _OPALS_COMMENT_AFTER_("radial lens distortion, 3rd degree ORIENT:3 (opalsStripAdjust
6196  template< class Opt, class... Opts >
6197  struct IAcc< Names::a3 , false, Opt, Opts... > ///< radial lens distortion, 3rd degree ORIENT:3 (opalsStripAdjust)
6198  : GetIAcc< false, Opts... >
6199  {
6200  virtual const Opt& a3 () const = 0; ///< radial lens distortion, 3rd degree ORIENT:3 (opalsStripAdjust)
6201  virtual Opt& a3 () = 0; ///< radial lens distortion, 3rd degree ORIENT:3 (opalsStripAdjust)
6202  };
6203 
6204  /// Partial specialization for Names::a4 _OPALS_COMMENT_AFTER_("radial lens distortion, 5th degree ORIENT:4 (opalsStripAdjust
6205  template< class Opt, class... Opts >
6206  struct IAcc< Names::a4 , true, Opt, Opts... > ///< radial lens distortion, 5th degree ORIENT:4 (opalsStripAdjust)
6207  : GetIAcc< true, Opts... >
6208  {
6209  virtual const Opt& a4 () const = 0; ///< radial lens distortion, 5th degree ORIENT:4 (opalsStripAdjust)
6210  };
6211 
6212  /// Partial specialization for Names::a4 _OPALS_COMMENT_AFTER_("radial lens distortion, 5th degree ORIENT:4 (opalsStripAdjust
6213  template< class Opt, class... Opts >
6214  struct IAcc< Names::a4 , false, Opt, Opts... > ///< radial lens distortion, 5th degree ORIENT:4 (opalsStripAdjust)
6215  : GetIAcc< false, Opts... >
6216  {
6217  virtual const Opt& a4 () const = 0; ///< radial lens distortion, 5th degree ORIENT:4 (opalsStripAdjust)
6218  virtual Opt& a4 () = 0; ///< radial lens distortion, 5th degree ORIENT:4 (opalsStripAdjust)
6219  };
6220 
6221  /// Partial specialization for Names::a5 _OPALS_COMMENT_AFTER_("tangential lens distortion, bilinear in y ORIENT:5 (opalsStripAdjust
6222  template< class Opt, class... Opts >
6223  struct IAcc< Names::a5 , true, Opt, Opts... > ///< tangential lens distortion, bilinear in y ORIENT:5 (opalsStripAdjust)
6224  : GetIAcc< true, Opts... >
6225  {
6226  virtual const Opt& a5 () const = 0; ///< tangential lens distortion, bilinear in y ORIENT:5 (opalsStripAdjust)
6227  };
6228 
6229  /// Partial specialization for Names::a5 _OPALS_COMMENT_AFTER_("tangential lens distortion, bilinear in y ORIENT:5 (opalsStripAdjust
6230  template< class Opt, class... Opts >
6231  struct IAcc< Names::a5 , false, Opt, Opts... > ///< tangential lens distortion, bilinear in y ORIENT:5 (opalsStripAdjust)
6232  : GetIAcc< false, Opts... >
6233  {
6234  virtual const Opt& a5 () const = 0; ///< tangential lens distortion, bilinear in y ORIENT:5 (opalsStripAdjust)
6235  virtual Opt& a5 () = 0; ///< tangential lens distortion, bilinear in y ORIENT:5 (opalsStripAdjust)
6236  };
6237 
6238  /// Partial specialization for Names::a6 _OPALS_COMMENT_AFTER_("tangential lens distortion, bilinear in x ORIENT:6 (opalsStripAdjust
6239  template< class Opt, class... Opts >
6240  struct IAcc< Names::a6 , true, Opt, Opts... > ///< tangential lens distortion, bilinear in x ORIENT:6 (opalsStripAdjust)
6241  : GetIAcc< true, Opts... >
6242  {
6243  virtual const Opt& a6 () const = 0; ///< tangential lens distortion, bilinear in x ORIENT:6 (opalsStripAdjust)
6244  };
6245 
6246  /// Partial specialization for Names::a6 _OPALS_COMMENT_AFTER_("tangential lens distortion, bilinear in x ORIENT:6 (opalsStripAdjust
6247  template< class Opt, class... Opts >
6248  struct IAcc< Names::a6 , false, Opt, Opts... > ///< tangential lens distortion, bilinear in x ORIENT:6 (opalsStripAdjust)
6249  : GetIAcc< false, Opts... >
6250  {
6251  virtual const Opt& a6 () const = 0; ///< tangential lens distortion, bilinear in x ORIENT:6 (opalsStripAdjust)
6252  virtual Opt& a6 () = 0; ///< tangential lens distortion, bilinear in x ORIENT:6 (opalsStripAdjust)
6253  };
6254 
6255  /// Partial specialization for Names::oriFile _OPALS_COMMENT_AFTER_("file with a priori exterior image orientation (opalsStripAdjust
6256  template< class Opt, class... Opts >
6257  struct IAcc< Names::oriFile , true, Opt, Opts... > ///< file with a priori exterior image orientation (opalsStripAdjust)
6258  : GetIAcc< true, Opts... >
6259  {
6260  virtual const Opt& oriFile () const = 0; ///< file with a priori exterior image orientation (opalsStripAdjust)
6261  };
6262 
6263  /// Partial specialization for Names::oriFile _OPALS_COMMENT_AFTER_("file with a priori exterior image orientation (opalsStripAdjust
6264  template< class Opt, class... Opts >
6265  struct IAcc< Names::oriFile , false, Opt, Opts... > ///< file with a priori exterior image orientation (opalsStripAdjust)
6266  : GetIAcc< false, Opts... >
6267  {
6268  virtual const Opt& oriFile () const = 0; ///< file with a priori exterior image orientation (opalsStripAdjust)
6269  virtual Opt& oriFile () = 0; ///< file with a priori exterior image orientation (opalsStripAdjust)
6270  };
6271 
6272  /// Partial specialization for Names::obsFile _OPALS_COMMENT_AFTER_("file with image point observations (opalsStripAdjust
6273  template< class Opt, class... Opts >
6274  struct IAcc< Names::obsFile , true, Opt, Opts... > ///< file with image point observations (opalsStripAdjust)
6275  : GetIAcc< true, Opts... >
6276  {
6277  virtual const Opt& obsFile () const = 0; ///< file with image point observations (opalsStripAdjust)
6278  };
6279 
6280  /// Partial specialization for Names::obsFile _OPALS_COMMENT_AFTER_("file with image point observations (opalsStripAdjust
6281  template< class Opt, class... Opts >
6282  struct IAcc< Names::obsFile , false, Opt, Opts... > ///< file with image point observations (opalsStripAdjust)
6283  : GetIAcc< false, Opts... >
6284  {
6285  virtual const Opt& obsFile () const = 0; ///< file with image point observations (opalsStripAdjust)
6286  virtual Opt& obsFile () = 0; ///< file with image point observations (opalsStripAdjust)
6287  };
6288 
6289  /// Partial specialization for Names::forwardIntersect _OPALS_COMMENT_AFTER_("forward intersection of tie points group (opalsStripAdjust
6290  template< class Opt, class... Opts >
6291  struct IAcc< Names::forwardIntersect , true, Opt, Opts... > ///< forward intersection of tie points group (opalsStripAdjust)
6292  : GetIAcc< true, Opts... >
6293  {
6294  virtual const Opt& forwardIntersect () const = 0; ///< forward intersection of tie points group (opalsStripAdjust)
6295  };
6296 
6297  /// Partial specialization for Names::forwardIntersect _OPALS_COMMENT_AFTER_("forward intersection of tie points group (opalsStripAdjust
6298  template< class Opt, class... Opts >
6299  struct IAcc< Names::forwardIntersect , false, Opt, Opts... > ///< forward intersection of tie points group (opalsStripAdjust)
6300  : GetIAcc< false, Opts... >
6301  {
6302  virtual const Opt& forwardIntersect () const = 0; ///< forward intersection of tie points group (opalsStripAdjust)
6303  virtual Opt& forwardIntersect () = 0; ///< forward intersection of tie points group (opalsStripAdjust)
6304  };
6305 
6306  /// Partial specialization for Names::xSigPriori _OPALS_COMMENT_AFTER_("standard deviation a priori of x-coordinate (opalsStripAdjust
6307  template< class Opt, class... Opts >
6308  struct IAcc< Names::xSigPriori , true, Opt, Opts... > ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
6309  : GetIAcc< true, Opts... >
6310  {
6311  virtual const Opt& xSigPriori () const = 0; ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
6312  };
6313 
6314  /// Partial specialization for Names::xSigPriori _OPALS_COMMENT_AFTER_("standard deviation a priori of x-coordinate (opalsStripAdjust
6315  template< class Opt, class... Opts >
6316  struct IAcc< Names::xSigPriori , false, Opt, Opts... > ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
6317  : GetIAcc< false, Opts... >
6318  {
6319  virtual const Opt& xSigPriori () const = 0; ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
6320  virtual Opt& xSigPriori () = 0; ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
6321  };
6322 
6323  /// Partial specialization for Names::ySigPriori _OPALS_COMMENT_AFTER_("standard deviation a priori of x-coordinate (opalsStripAdjust
6324  template< class Opt, class... Opts >
6325  struct IAcc< Names::ySigPriori , true, Opt, Opts... > ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
6326  : GetIAcc< true, Opts... >
6327  {
6328  virtual const Opt& ySigPriori () const = 0; ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
6329  };
6330 
6331  /// Partial specialization for Names::ySigPriori _OPALS_COMMENT_AFTER_("standard deviation a priori of x-coordinate (opalsStripAdjust
6332  template< class Opt, class... Opts >
6333  struct IAcc< Names::ySigPriori , false, Opt, Opts... > ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
6334  : GetIAcc< false, Opts... >
6335  {
6336  virtual const Opt& ySigPriori () const = 0; ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
6337  virtual Opt& ySigPriori () = 0; ///< standard deviation a priori of x-coordinate (opalsStripAdjust)
6338  };
6339 
6340  /// Partial specialization for Names::image2image _OPALS_COMMENT_AFTER_("image-to-image correspondences group (opalsStripAdjust
6341  template< class Opt, class... Opts >
6342  struct IAcc< Names::image2image , true, Opt, Opts... > ///< image-to-image correspondences group (opalsStripAdjust)
6343  : GetIAcc< true, Opts... >
6344  {
6345  virtual const Opt& image2image () const = 0; ///< image-to-image correspondences group (opalsStripAdjust)
6346  };
6347 
6348  /// Partial specialization for Names::image2image _OPALS_COMMENT_AFTER_("image-to-image correspondences group (opalsStripAdjust
6349  template< class Opt, class... Opts >
6350  struct IAcc< Names::image2image , false, Opt, Opts... > ///< image-to-image correspondences group (opalsStripAdjust)
6351  : GetIAcc< false, Opts... >
6352  {
6353  virtual const Opt& image2image () const = 0; ///< image-to-image correspondences group (opalsStripAdjust)
6354  virtual Opt& image2image () = 0; ///< image-to-image correspondences group (opalsStripAdjust)
6355  };
6356 
6357  /// Partial specialization for Names::minImageCount _OPALS_COMMENT_AFTER_("minimum number of image points for a tie point (opalsStripAdjust
6358  template< class Opt, class... Opts >
6359  struct IAcc< Names::minImageCount , true, Opt, Opts... > ///< minimum number of image points for a tie point (opalsStripAdjust)
6360  : GetIAcc< true, Opts... >
6361  {
6362  virtual const Opt& minImageCount () const = 0; ///< minimum number of image points for a tie point (opalsStripAdjust)
6363  };
6364 
6365  /// Partial specialization for Names::minImageCount _OPALS_COMMENT_AFTER_("minimum number of image points for a tie point (opalsStripAdjust
6366  template< class Opt, class... Opts >
6367  struct IAcc< Names::minImageCount , false, Opt, Opts... > ///< minimum number of image points for a tie point (opalsStripAdjust)
6368  : GetIAcc< false, Opts... >
6369  {
6370  virtual const Opt& minImageCount () const = 0; ///< minimum number of image points for a tie point (opalsStripAdjust)
6371  virtual Opt& minImageCount () = 0; ///< minimum number of image points for a tie point (opalsStripAdjust)
6372  };
6373 
6374  /// Partial specialization for Names::image2strip _OPALS_COMMENT_AFTER_("image-to-strip correspondences group (opalsStripAdjust
6375  template< class Opt, class... Opts >
6376  struct IAcc< Names::image2strip , true, Opt, Opts... > ///< image-to-strip correspondences group (opalsStripAdjust)
6377  : GetIAcc< true, Opts... >
6378  {
6379  virtual const Opt& image2strip () const = 0; ///< image-to-strip correspondences group (opalsStripAdjust)
6380  };
6381 
6382  /// Partial specialization for Names::image2strip _OPALS_COMMENT_AFTER_("image-to-strip correspondences group (opalsStripAdjust
6383  template< class Opt, class... Opts >
6384  struct IAcc< Names::image2strip , false, Opt, Opts... > ///< image-to-strip correspondences group (opalsStripAdjust)
6385  : GetIAcc< false, Opts... >
6386  {
6387  virtual const Opt& image2strip () const = 0; ///< image-to-strip correspondences group (opalsStripAdjust)
6388  virtual Opt& image2strip () = 0; ///< image-to-strip correspondences group (opalsStripAdjust)
6389  };
6390 
6391  /// Partial specialization for Names::extrapolationCheck _OPALS_COMMENT_AFTER_("check for extrapolation (opalsGrid
6392  template< class Opt, class... Opts >
6393  struct IAcc< Names::extrapolationCheck , true, Opt, Opts... > ///< check for extrapolation (opalsGrid)
6394  : GetIAcc< true, Opts... >
6395  {
6396  virtual const Opt& extrapolationCheck () const = 0; ///< check for extrapolation (opalsGrid)
6397  };
6398 
6399  /// Partial specialization for Names::extrapolationCheck _OPALS_COMMENT_AFTER_("check for extrapolation (opalsGrid
6400  template< class Opt, class... Opts >
6401  struct IAcc< Names::extrapolationCheck , false, Opt, Opts... > ///< check for extrapolation (opalsGrid)
6402  : GetIAcc< false, Opts... >
6403  {
6404  virtual const Opt& extrapolationCheck () const = 0; ///< check for extrapolation (opalsGrid)
6405  virtual Opt& extrapolationCheck () = 0; ///< check for extrapolation (opalsGrid)
6406  };
6407 
6408  /// Partial specialization for Names::splitByAttribute _OPALS_COMMENT_AFTER_("split data set by a certain (integer-valued
6409  template< class Opt, class... Opts >
6410  struct IAcc< Names::splitByAttribute , true, Opt, Opts... > ///< split data set by a certain (integer-valued) attribute(opalsTranslate)
6411  : GetIAcc< true, Opts... >
6412  {
6413  virtual const Opt& splitByAttribute () const = 0; ///< split data set by a certain (integer-valued) attribute(opalsTranslate)
6414  };
6415 
6416  /// Partial specialization for Names::splitByAttribute _OPALS_COMMENT_AFTER_("split data set by a certain (integer-valued
6417  template< class Opt, class... Opts >
6418  struct IAcc< Names::splitByAttribute , false, Opt, Opts... > ///< split data set by a certain (integer-valued) attribute(opalsTranslate)
6419  : GetIAcc< false, Opts... >
6420  {
6421  virtual const Opt& splitByAttribute () const = 0; ///< split data set by a certain (integer-valued) attribute(opalsTranslate)
6422  virtual Opt& splitByAttribute () = 0; ///< split data set by a certain (integer-valued) attribute(opalsTranslate)
6423  };
6424 
6425  /// Partial specialization for Names::applyTrafo _OPALS_COMMENT_AFTER_("determines whether to apply transformation to first or second input file(opalsDiff
6426  template< class Opt, class... Opts >
6427  struct IAcc< Names::applyTrafo , true, Opt, Opts... > ///< determines whether to apply transformation to first or second input file(opalsDiff)
6428  : GetIAcc< true, Opts... >
6429  {
6430  virtual const Opt& applyTrafo () const = 0; ///< determines whether to apply transformation to first or second input file(opalsDiff)
6431  };
6432 
6433  /// Partial specialization for Names::applyTrafo _OPALS_COMMENT_AFTER_("determines whether to apply transformation to first or second input file(opalsDiff
6434  template< class Opt, class... Opts >
6435  struct IAcc< Names::applyTrafo , false, Opt, Opts... > ///< determines whether to apply transformation to first or second input file(opalsDiff)
6436  : GetIAcc< false, Opts... >
6437  {
6438  virtual const Opt& applyTrafo () const = 0; ///< determines whether to apply transformation to first or second input file(opalsDiff)
6439  virtual Opt& applyTrafo () = 0; ///< determines whether to apply transformation to first or second input file(opalsDiff)
6440  };
6441 
6442  /// Partial specialization for Names::exactComputation _OPALS_COMMENT_AFTER_("flag for exact median computation (opalsHisto
6443  template< class Opt, class... Opts >
6444  struct IAcc< Names::exactComputation , true, Opt, Opts... > ///< flag for exact median computation (opalsHisto)
6445  : GetIAcc< true, Opts... >
6446  {
6447  virtual const Opt& exactComputation () const = 0; ///< flag for exact median computation (opalsHisto)
6448  };
6449 
6450  /// Partial specialization for Names::exactComputation _OPALS_COMMENT_AFTER_("flag for exact median computation (opalsHisto
6451  template< class Opt, class... Opts >
6452  struct IAcc< Names::exactComputation , false, Opt, Opts... > ///< flag for exact median computation (opalsHisto)
6453  : GetIAcc< false, Opts... >
6454  {
6455  virtual const Opt& exactComputation () const = 0; ///< flag for exact median computation (opalsHisto)
6456  virtual Opt& exactComputation () = 0; ///< flag for exact median computation (opalsHisto)
6457  };
6458 
6459  /// Partial specialization for Names::spikeRemoval _OPALS_COMMENT_AFTER_("flag for removing spikes in the final modelling result (opalsLineModeler
6460  template< class Opt, class... Opts >
6461  struct IAcc< Names::spikeRemoval , true, Opt, Opts... > ///< flag for removing spikes in the final modelling result (opalsLineModeler)
6462  : GetIAcc< true, Opts... >
6463  {
6464  virtual const Opt& spikeRemoval () const = 0; ///< flag for removing spikes in the final modelling result (opalsLineModeler)
6465  };
6466 
6467  /// Partial specialization for Names::spikeRemoval _OPALS_COMMENT_AFTER_("flag for removing spikes in the final modelling result (opalsLineModeler
6468  template< class Opt, class... Opts >
6469  struct IAcc< Names::spikeRemoval , false, Opt, Opts... > ///< flag for removing spikes in the final modelling result (opalsLineModeler)
6470  : GetIAcc< false, Opts... >
6471  {
6472  virtual const Opt& spikeRemoval () const = 0; ///< flag for removing spikes in the final modelling result (opalsLineModeler)
6473  virtual Opt& spikeRemoval () = 0; ///< flag for removing spikes in the final modelling result (opalsLineModeler)
6474  };
6475 
6476  /// Partial specialization for Names::oriFormat _OPALS_COMMENT_AFTER_("file format for image orientations (opalsSnellius
6477  template< class Opt, class... Opts >
6478  struct IAcc< Names::oriFormat , true, Opt, Opts... > ///< file format for image orientations (opalsSnellius)
6479  : GetIAcc< true, Opts... >
6480  {
6481  virtual const Opt& oriFormat () const = 0; ///< file format for image orientations (opalsSnellius)
6482  };
6483 
6484  /// Partial specialization for Names::oriFormat _OPALS_COMMENT_AFTER_("file format for image orientations (opalsSnellius
6485  template< class Opt, class... Opts >
6486  struct IAcc< Names::oriFormat , false, Opt, Opts... > ///< file format for image orientations (opalsSnellius)
6487  : GetIAcc< false, Opts... >
6488  {
6489  virtual const Opt& oriFormat () const = 0; ///< file format for image orientations (opalsSnellius)
6490  virtual Opt& oriFormat () = 0; ///< file format for image orientations (opalsSnellius)
6491  };
6492 
6493  /// Partial specialization for Names::workflow _OPALS_COMMENT_AFTER_("group for workflow control (opalsStripAdjust
6494  template< class Opt, class... Opts >
6495  struct IAcc< Names::workflow , true, Opt, Opts... > ///< group for workflow control (opalsStripAdjust)
6496  : GetIAcc< true, Opts... >
6497  {
6498  virtual const Opt& workflow () const = 0; ///< group for workflow control (opalsStripAdjust)
6499  };
6500 
6501  /// Partial specialization for Names::workflow _OPALS_COMMENT_AFTER_("group for workflow control (opalsStripAdjust
6502  template< class Opt, class... Opts >
6503  struct IAcc< Names::workflow , false, Opt, Opts... > ///< group for workflow control (opalsStripAdjust)
6504  : GetIAcc< false, Opts... >
6505  {
6506  virtual const Opt& workflow () const = 0; ///< group for workflow control (opalsStripAdjust)
6507  virtual Opt& workflow () = 0; ///< group for workflow control (opalsStripAdjust)
6508  };
6509 
6510  /// Partial specialization for Names::stages _OPALS_COMMENT_AFTER_("group to limit the stages to be processed (opalsStripAdjust
6511  template< class Opt, class... Opts >
6512  struct IAcc< Names::stages , true, Opt, Opts... > ///< group to limit the stages to be processed (opalsStripAdjust)
6513  : GetIAcc< true, Opts... >
6514  {
6515  virtual const Opt& stages () const = 0; ///< group to limit the stages to be processed (opalsStripAdjust)
6516  };
6517 
6518  /// Partial specialization for Names::stages _OPALS_COMMENT_AFTER_("group to limit the stages to be processed (opalsStripAdjust
6519  template< class Opt, class... Opts >
6520  struct IAcc< Names::stages , false, Opt, Opts... > ///< group to limit the stages to be processed (opalsStripAdjust)
6521  : GetIAcc< false, Opts... >
6522  {
6523  virtual const Opt& stages () const = 0; ///< group to limit the stages to be processed (opalsStripAdjust)
6524  virtual Opt& stages () = 0; ///< group to limit the stages to be processed (opalsStripAdjust)
6525  };
6526 
6527  /// Partial specialization for Names::last _OPALS_COMMENT_AFTER_("last stage to be processed (opalsStripAdjust
6528  template< class Opt, class... Opts >
6529  struct IAcc< Names::last , true, Opt, Opts... > ///< last stage to be processed (opalsStripAdjust)
6530  : GetIAcc< true, Opts... >
6531  {
6532  virtual const Opt& last () const = 0; ///< last stage to be processed (opalsStripAdjust)
6533  };
6534 
6535  /// Partial specialization for Names::last _OPALS_COMMENT_AFTER_("last stage to be processed (opalsStripAdjust
6536  template< class Opt, class... Opts >
6537  struct IAcc< Names::last , false, Opt, Opts... > ///< last stage to be processed (opalsStripAdjust)
6538  : GetIAcc< false, Opts... >
6539  {
6540  virtual const Opt& last () const = 0; ///< last stage to be processed (opalsStripAdjust)
6541  virtual Opt& last () = 0; ///< last stage to be processed (opalsStripAdjust)
6542  };
6543 
6544  /// Partial specialization for Names::strip _OPALS_COMMENT_AFTER_("strip ID of an image (opalsStripAdjust
6545  template< class Opt, class... Opts >
6546  struct IAcc< Names::strip , true, Opt, Opts... > ///< strip ID of an image (opalsStripAdjust)
6547  : GetIAcc< true, Opts... >
6548  {
6549  virtual const Opt& strip () const = 0; ///< strip ID of an image (opalsStripAdjust)
6550  };
6551 
6552  /// Partial specialization for Names::strip _OPALS_COMMENT_AFTER_("strip ID of an image (opalsStripAdjust
6553  template< class Opt, class... Opts >
6554  struct IAcc< Names::strip , false, Opt, Opts... > ///< strip ID of an image (opalsStripAdjust)
6555  : GetIAcc< false, Opts... >
6556  {
6557  virtual const Opt& strip () const = 0; ///< strip ID of an image (opalsStripAdjust)
6558  virtual Opt& strip () = 0; ///< strip ID of an image (opalsStripAdjust)
6559  };
6560 
6561  /// Partial specialization for Names::checkPoints _OPALS_COMMENT_AFTER_("IDs of check points (opalsStripAdjust
6562  template< class Opt, class... Opts >
6563  struct IAcc< Names::checkPoints , true, Opt, Opts... > ///< IDs of check points (opalsStripAdjust)
6564  : GetIAcc< true, Opts... >
6565  {
6566  virtual const Opt& checkPoints () const = 0; ///< IDs of check points (opalsStripAdjust)
6567  };
6568 
6569  /// Partial specialization for Names::checkPoints _OPALS_COMMENT_AFTER_("IDs of check points (opalsStripAdjust
6570  template< class Opt, class... Opts >
6571  struct IAcc< Names::checkPoints , false, Opt, Opts... > ///< IDs of check points (opalsStripAdjust)
6572  : GetIAcc< false, Opts... >
6573  {
6574  virtual const Opt& checkPoints () const = 0; ///< IDs of check points (opalsStripAdjust)
6575  virtual Opt& checkPoints () = 0; ///< IDs of check points (opalsStripAdjust)
6576  };
6577 
6578  /// Partial specialization for Names::maxReprojectionError _OPALS_COMMENT_AFTER_("maximum reprojection error (opalsStripAdjust
6579  template< class Opt, class... Opts >
6580  struct IAcc< Names::maxReprojectionError , true, Opt, Opts... > ///< maximum reprojection error (opalsStripAdjust)
6581  : GetIAcc< true, Opts... >
6582  {
6583  virtual const Opt& maxReprojectionError () const = 0; ///< maximum reprojection error (opalsStripAdjust)
6584  };
6585 
6586  /// Partial specialization for Names::maxReprojectionError _OPALS_COMMENT_AFTER_("maximum reprojection error (opalsStripAdjust
6587  template< class Opt, class... Opts >
6588  struct IAcc< Names::maxReprojectionError , false, Opt, Opts... > ///< maximum reprojection error (opalsStripAdjust)
6589  : GetIAcc< false, Opts... >
6590  {
6591  virtual const Opt& maxReprojectionError () const = 0; ///< maximum reprojection error (opalsStripAdjust)
6592  virtual Opt& maxReprojectionError () = 0; ///< maximum reprojection error (opalsStripAdjust)
6593  };
6594 
6595  /// Partial specialization for Names::segments _OPALS_COMMENT_AFTER_("segment manager (opalsSegmentation
6596  template< class Opt, class... Opts >
6597  struct IAcc< Names::segments , true, Opt, Opts... > ///< segment manager (opalsSegmentation)
6598  : GetIAcc< true, Opts... >
6599  {
6600  virtual const Opt& segments () const = 0; ///< segment manager (opalsSegmentation)
6601  };
6602 
6603  /// Partial specialization for Names::segments _OPALS_COMMENT_AFTER_("segment manager (opalsSegmentation
6604  template< class Opt, class... Opts >
6605  struct IAcc< Names::segments , false, Opt, Opts... > ///< segment manager (opalsSegmentation)
6606  : GetIAcc< false, Opts... >
6607  {
6608  virtual const Opt& segments () const = 0; ///< segment manager (opalsSegmentation)
6609  virtual Opt& segments () = 0; ///< segment manager (opalsSegmentation)
6610  };
6611 
6612  /// Partial specialization for Names::alphaShapeRefPlane _OPALS_COMMENT_AFTER_("reference plane for alpha shapes (opalsSegmentation
6613  template< class Opt, class... Opts >
6614  struct IAcc< Names::alphaShapeRefPlane , true, Opt, Opts... > ///< reference plane for alpha shapes (opalsSegmentation)
6615  : GetIAcc< true, Opts... >
6616  {
6617  virtual const Opt& alphaShapeRefPlane () const = 0; ///< reference plane for alpha shapes (opalsSegmentation)
6618  };
6619 
6620  /// Partial specialization for Names::alphaShapeRefPlane _OPALS_COMMENT_AFTER_("reference plane for alpha shapes (opalsSegmentation
6621  template< class Opt, class... Opts >
6622  struct IAcc< Names::alphaShapeRefPlane , false, Opt, Opts... > ///< reference plane for alpha shapes (opalsSegmentation)
6623  : GetIAcc< false, Opts... >
6624  {
6625  virtual const Opt& alphaShapeRefPlane () const = 0; ///< reference plane for alpha shapes (opalsSegmentation)
6626  virtual Opt& alphaShapeRefPlane () = 0; ///< reference plane for alpha shapes (opalsSegmentation)
6627  };
6628 
6629  /// Partial specialization for Names::sort _OPALS_COMMENT_AFTER_("sorting method (opalsSegmentation: sorting of segments
6630  template< class Opt, class... Opts >
6631  struct IAcc< Names::sort , true, Opt, Opts... > ///< sorting method (opalsSegmentation: sorting of segments)
6632  : GetIAcc< true, Opts... >
6633  {
6634  virtual const Opt& sort () const = 0; ///< sorting method (opalsSegmentation: sorting of segments)
6635  };
6636 
6637  /// Partial specialization for Names::sort _OPALS_COMMENT_AFTER_("sorting method (opalsSegmentation: sorting of segments
6638  template< class Opt, class... Opts >
6639  struct IAcc< Names::sort , false, Opt, Opts... > ///< sorting method (opalsSegmentation: sorting of segments)
6640  : GetIAcc< false, Opts... >
6641  {
6642  virtual const Opt& sort () const = 0; ///< sorting method (opalsSegmentation: sorting of segments)
6643  virtual Opt& sort () = 0; ///< sorting method (opalsSegmentation: sorting of segments)
6644  };
6645 
6646  /// Partial specialization for Names::byproduct _OPALS_COMMENT_AFTER_("optional output that is not the central result of a module run (opalsSegmentation: segment odm representation
6647  template< class Opt, class... Opts >
6648  struct IAcc< Names::byproduct , true, Opt, Opts... > ///< optional output that is not the central result of a module run (opalsSegmentation: segment odm representation)
6649  : GetIAcc< true, Opts... >
6650  {
6651  virtual const Opt& byproduct () const = 0; ///< optional output that is not the central result of a module run (opalsSegmentation: segment odm representation)
6652  };
6653 
6654  /// Partial specialization for Names::byproduct _OPALS_COMMENT_AFTER_("optional output that is not the central result of a module run (opalsSegmentation: segment odm representation
6655  template< class Opt, class... Opts >
6656  struct IAcc< Names::byproduct , false, Opt, Opts... > ///< optional output that is not the central result of a module run (opalsSegmentation: segment odm representation)
6657  : GetIAcc< false, Opts... >
6658  {
6659  virtual const Opt& byproduct () const = 0; ///< optional output that is not the central result of a module run (opalsSegmentation: segment odm representation)
6660  virtual Opt& byproduct () = 0; ///< optional output that is not the central result of a module run (opalsSegmentation: segment odm representation)
6661  };
6662 
6663  /// Partial specialization for Names::crsTrafo _OPALS_COMMENT_AFTER_("crs transformation group (opalsTranslate
6664  template< class Opt, class... Opts >
6665  struct IAcc< Names::crsTrafo , true, Opt, Opts... > ///< crs transformation group (opalsTranslate)
6666  : GetIAcc< true, Opts... >
6667  {
6668  virtual const Opt& crsTrafo () const = 0; ///< crs transformation group (opalsTranslate)
6669  };
6670 
6671  /// Partial specialization for Names::crsTrafo _OPALS_COMMENT_AFTER_("crs transformation group (opalsTranslate
6672  template< class Opt, class... Opts >
6673  struct IAcc< Names::crsTrafo , false, Opt, Opts... > ///< crs transformation group (opalsTranslate)
6674  : GetIAcc< false, Opts... >
6675  {
6676  virtual const Opt& crsTrafo () const = 0; ///< crs transformation group (opalsTranslate)
6677  virtual Opt& crsTrafo () = 0; ///< crs transformation group (opalsTranslate)
6678  };
6679 
6680  /// Partial specialization for Names::inCRS _OPALS_COMMENT_AFTER_("input coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate
6681  template< class Opt, class... Opts >
6682  struct IAcc< Names::inCRS , true, Opt, Opts... > ///< input coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
6683  : GetIAcc< true, Opts... >
6684  {
6685  virtual const Opt& inCRS () const = 0; ///< input coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
6686  };
6687 
6688  /// Partial specialization for Names::inCRS _OPALS_COMMENT_AFTER_("input coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate
6689  template< class Opt, class... Opts >
6690  struct IAcc< Names::inCRS , false, Opt, Opts... > ///< input coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
6691  : GetIAcc< false, Opts... >
6692  {
6693  virtual const Opt& inCRS () const = 0; ///< input coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
6694  virtual Opt& inCRS () = 0; ///< input coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
6695  };
6696 
6697  /// Partial specialization for Names::outCRS _OPALS_COMMENT_AFTER_("output coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate
6698  template< class Opt, class... Opts >
6699  struct IAcc< Names::outCRS , true, Opt, Opts... > ///< output coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
6700  : GetIAcc< true, Opts... >
6701  {
6702  virtual const Opt& outCRS () const = 0; ///< output coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
6703  };
6704 
6705  /// Partial specialization for Names::outCRS _OPALS_COMMENT_AFTER_("output coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate
6706  template< class Opt, class... Opts >
6707  struct IAcc< Names::outCRS , false, Opt, Opts... > ///< output coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
6708  : GetIAcc< false, Opts... >
6709  {
6710  virtual const Opt& outCRS () const = 0; ///< output coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
6711  virtual Opt& outCRS () = 0; ///< output coordinate reference system as WKT/proj4 description string or EPSG code (opalsTranslate)
6712  };
6713 
6714  /// Partial specialization for Names::groundTiePoints _OPALS_COMMENT_AFTER_("group for tie object points (opalsStripAdjust
6715  template< class Opt, class... Opts >
6716  struct IAcc< Names::groundTiePoints , true, Opt, Opts... > ///< group for tie object points (opalsStripAdjust)
6717  : GetIAcc< true, Opts... >
6718  {
6719  virtual const Opt& groundTiePoints () const = 0; ///< group for tie object points (opalsStripAdjust)
6720  };
6721 
6722  /// Partial specialization for Names::groundTiePoints _OPALS_COMMENT_AFTER_("group for tie object points (opalsStripAdjust
6723  template< class Opt, class... Opts >
6724  struct IAcc< Names::groundTiePoints , false, Opt, Opts... > ///< group for tie object points (opalsStripAdjust)
6725  : GetIAcc< false, Opts... >
6726  {
6727  virtual const Opt& groundTiePoints () const = 0; ///< group for tie object points (opalsStripAdjust)
6728  virtual Opt& groundTiePoints () = 0; ///< group for tie object points (opalsStripAdjust)
6729  };
6730 
6731  /// Partial specialization for Names::aFormat _OPALS_COMMENT_AFTER_("format for approximate file (opalsDBH
6732  template< class Opt, class... Opts >
6733  struct IAcc< Names::aFormat , true, Opt, Opts... > ///< format for approximate file (opalsDBH)
6734  : GetIAcc< true, Opts... >
6735  {
6736  virtual const Opt& aFormat () const = 0; ///< format for approximate file (opalsDBH)
6737  };
6738 
6739  /// Partial specialization for Names::aFormat _OPALS_COMMENT_AFTER_("format for approximate file (opalsDBH
6740  template< class Opt, class... Opts >
6741  struct IAcc< Names::aFormat , false, Opt, Opts... > ///< format for approximate file (opalsDBH)
6742  : GetIAcc< false, Opts... >
6743  {
6744  virtual const Opt& aFormat () const = 0; ///< format for approximate file (opalsDBH)
6745  virtual Opt& aFormat () = 0; ///< format for approximate file (opalsDBH)
6746  };
6747 
6748  /// Partial specialization for Names::trace _OPALS_COMMENT_AFTER_("for tracing a stem up and downwards (opalsDBH
6749  template< class Opt, class... Opts >
6750  struct IAcc< Names::trace , true, Opt, Opts... > ///< for tracing a stem up and downwards (opalsDBH)
6751  : GetIAcc< true, Opts... >
6752  {
6753  virtual const Opt& trace () const = 0; ///< for tracing a stem up and downwards (opalsDBH)
6754  };
6755 
6756  /// Partial specialization for Names::trace _OPALS_COMMENT_AFTER_("for tracing a stem up and downwards (opalsDBH
6757  template< class Opt, class... Opts >
6758  struct IAcc< Names::trace , false, Opt, Opts... > ///< for tracing a stem up and downwards (opalsDBH)
6759  : GetIAcc< false, Opts... >
6760  {
6761  virtual const Opt& trace () const = 0; ///< for tracing a stem up and downwards (opalsDBH)
6762  virtual Opt& trace () = 0; ///< for tracing a stem up and downwards (opalsDBH)
6763  };
6764 
6765  /// Partial specialization for Names::classifyOverlap _OPALS_COMMENT_AFTER_("test option for opalsTerrainFiler"
6766  template< class Opt, class... Opts >
6767  struct IAcc< Names::classifyOverlap , true, Opt, Opts... > ///< test option for opalsTerrainFiler
6768  : GetIAcc< true, Opts... >
6769  {
6770  virtual const Opt& classifyOverlap () const = 0; ///< test option for opalsTerrainFiler
6771  };
6772 
6773  /// Partial specialization for Names::classifyOverlap _OPALS_COMMENT_AFTER_("test option for opalsTerrainFiler"
6774  template< class Opt, class... Opts >
6775  struct IAcc< Names::classifyOverlap , false, Opt, Opts... > ///< test option for opalsTerrainFiler
6776  : GetIAcc< false, Opts... >
6777  {
6778  virtual const Opt& classifyOverlap () const = 0; ///< test option for opalsTerrainFiler
6779  virtual Opt& classifyOverlap () = 0; ///< test option for opalsTerrainFiler
6780  };
6781 
6782  }
6783 
6784  /// Ultimately, defines the specialization of IAcc in the namespace according to Opt's enumerator.
6785  /** IAcc derives from another specialization of itself (in the same namespace) for the subsequent options, and finally from IBase.
6786  It does so by help of GetIAcc in that namespace.
6787  \tparam rdOnly_ Ff true, defines the specialization for read-only access. Read-write otherwise.
6788  \tparam Opt The first member of a group, the one to define the specialization of GetIAcc for.
6789  \tparam Opts_ The other members of that group. */
6790  template< bool rdOnly, class Opt, class... Opts >
6791  struct IAcc_
6792  {
6793  typedef typename Opt::Name elemName;
6794  typedef std::conditional_t<
6795  elemName::value <= Names::LastShared,
6796  std::conditional_t<
6797  elemName::value <= Names::LastGlobal,
6798  glob::GetIAcc< rdOnly, Opt, Opts... >,
6799  comm::GetIAcc< rdOnly, Opt, Opts... >
6800  >,
6801  spec::GetIAcc< rdOnly, Opt, Opts... >
6802  > Type;
6803  };
6804 
6805  /// The specialization of GetIAcc for the first member of a group.
6806  /** \tparam rdOnly_ if true, the specialization for read-only access. Read-write otherwise.
6807  \tparam Opts_ The members of the group. */
6808  template< bool rdOnly, class... Opts >
6809  using IAcc = typename IAcc_< rdOnly, Opts... >::Type;
6810 
6811  }
6812 }
6813 
@ 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)
@ 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)
@ statistic
general statistic information about a given input file (opalsInfo)
@ detector
edge detection method (opalsEdgeDetect)
typename GetIAcc_< rdOnly, Opts... >::Type GetIAcc
The specialization of GetIAcc_ according to the given options.
Definition: IAccess.hpp:39
@ 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
@ skipVoidAreas
skip all void parts of datasets for data processing (opalsALgebra)
@ postfix_sigma0
postfix for sigma0 grid files
@ cameras
cameras group (opalsStripAdjust)
@ maxWidth
maximum (object) width
@ revertDist
revert distance (opalsLineTopology)
@ 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)
@ 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...
@ 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
@ 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.
@ 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
@ dist
weight factor distance (opalsLineTopology)
@ postfix_mean
postfix for mean grid files
@ avgDist
average distance (opalsLineTopology)
@ ratioMode
echo ratio calculation mode
@ 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
@ 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)
Provides access method(s) to the first given option with name(s) according to that option's enumerato...
Definition: IAccess.hpp:935
@ 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)
@ 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)
typename GetIAcc_< rdOnly, Opts... >::Type GetIAcc
The specialization of GetIAcc_ according to the given options.
Definition: IAccess.hpp:953
@ robFactor
factor used for robust estimation(opalsLSM)
@ deleteTempData
Delete temporary / intermediate data (opalsStripAdjust)
@ edgeHandling
controls pixel values beyond the image border (opalsConvolution)
@ byDeltaAngle
correspondences.strip2strip.weighting group(opalsStripAdjust)
@ iFilter
input filter (e.g. opalsTIN)
@ last
last stage to be processed (opalsStripAdjust)
@ band
raster band number/index in case of multi-layer rasters
@ trajectory
strip.trajectory group (opalsStripAdjust)
@ deleteEmptyOutFile
delete empty output file
@ 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)
@ 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)
@ 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)
@ 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
@ legend
on / off / file=filename where legend in SVG format is to be written (opalsZcolor)
@ utm
UTM definition group (opalsStripAdjust)
For an empty parameter pack, GetIAcc_ defines IBase as its Type.
Definition: IAccess.hpp:25
@ ignoreId
defining a list of ids to be ignored (opalsLineModeler)
@ dY
strip.trajectory group (opalsStripAdjust)
@ strip2strip
correspondences.strip2strip group(opalsStripAdjust)
@ Z
sessions.adjustment.leverArm group(opalsStripAdjust)
@ postfix_stdDevMad
postfix for standard deviation MAD grid files
@ intersectSnapDist
omit distance for missing intersections (opalsLineTopology)
For an empty parameter pack, GetIAcc_ defines IBase as its Type.
Definition: IAccess.hpp:939
@ 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)
For an empty parameter pack, GetIAcc_ defines IBase as its Type.
Definition: IAccess.hpp:1156
@ 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)
@ 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:6791
@ outGeoid
output geoid model raster file (opalsReproject)
@ crsTrafo
crs transformation group (opalsTranslate)
@ alphaRadius
circumcircle radius for alpha shape (opalsBounds)
@ 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)
@ 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...
@ 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: ApplyTrafo.hpp:5
@ postfix_range
postfix for differences between maximum and minimum grid files
@ 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)
@ force_coord_ref_sys
forces using CRS from coord_ref_sys option
@ 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
@ 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)
@ 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)
@ boundsType
boundary type to use (e.g. opalsBounds)
@ X
sessions.adjustment.leverArm group(opalsStripAdjust)
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)
@ 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)
@ 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
@ 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].
@ 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)
@ postfix_attribute
postfix for grid files repesenting an abitrary attribute
@ calcScanAngle
strip group (opalsStripAdjust)
@ 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)
@ stripList
a list strip (opalsGeorefApprox)
Provides access method(s) to the first given option with name(s) according to that option's enumerato...
Definition: IAccess.hpp:1152
@ postfix_z
postfix for grid files representing z
@ searchMode
dimension of nearest neighbor search (opalsNormals)
@ exportHeader
export header features (opalsInfo)
@ 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.
@ 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)
@ overlap
specifies the overlap for sequential operations
@ maxReprojectionError
maximum reprojection error (opalsStripAdjust)
@ plotFile
name of plot file (e.g. opalsHisto)
@ minAngle
minimum intersection angle (opalsLineModeler)
typename GetIAcc_< rdOnly, Opts... >::Type GetIAcc
The specialization of GetIAcc_ according to the given options.
Definition: IAccess.hpp:1170
@ 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
@ planeExtraction
Parameter group 'planeExtraction' containing options for planar surface extraction (opalsSegmentation...
@ checkPoints
IDs of check points (opalsStripAdjust)
@ compressCollinear
export/store first and last vertices only of a series of collinear vertices (e.g. opalsContouring)
@ data_type_grid
default output grid/raster data type
@ angle
weight factor angle (Hz, V) (opalsLineTopology)
@ alphaFile
output file path for alpha shape (opalsTIN)
@ postfix_slpRad
postfix for slpRad grid files
@ fixedStrip
fixed strip within the adjustment (opalsGeorefApprox)
@ screenLogLevel
verbosity level of screen output
@ 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
@ 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)
typename IAcc_< rdOnly, Opts... >::Type IAcc
The specialization of GetIAcc for the first member of a group.
Definition: IAccess.hpp:6809
@ searchGeneration
search generation (opalsLineTopology)
Provides access method(s) to the first given option with name(s) according to that option's enumerato...
Definition: IAccess.hpp:21
@ maxDist
maximum point distance (e.g. opalsSimplify, opalsSegmentation)
@ operation
coordinate operation for crs transformations (opalsTranslate)
@ 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)
@ postfix_slpDeg
postfix for slpDeg grid files
@ 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:36
@ postfix_minority
postfix for minority grid files
@ value
strip.trajectory.dX/dY/dZ/dRoll/dPitch/dYaw groups (opalsStripAdjust)
@ 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