This file is indexed.

/usr/include/gmsh/Options.h is in libgmsh-dev 2.8.5+dfsg-1.1+b1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
// Gmsh - Copyright (C) 1997-2014 C. Geuzaine, J.-F. Remacle
//
// See the LICENSE.txt file for license information. Please report all
// bugs and problems to the public mailing list <gmsh@geuz.org>.

#ifndef _OPTIONS_H_
#define _OPTIONS_H_

#include <string>
#include "ColorTable.h"

#define GMSH_SET         (1<<0)
#define GMSH_GET         (1<<1)
#define GMSH_GUI         (1<<2)
#define GMSH_SET_DEFAULT (1<<3)
#define GMSH_GET_DEFAULT (1<<4)

#define GMSH_SESSIONRC (1<<0)
#define GMSH_OPTIONSRC (1<<1)
#define GMSH_FULLRC    (1<<2)

// action is a combination of GMSH_SET, GMSH_GET, GMSH_GUI

#define OPT_ARGS_STR   int num, int action, std::string val
#define OPT_ARGS_NUM   int num, int action, double val
#define OPT_ARGS_COL   int num, int action, unsigned int val

// STRINGS

std::string opt_general_axes_label0(OPT_ARGS_STR);
std::string opt_general_axes_label1(OPT_ARGS_STR);
std::string opt_general_axes_label2(OPT_ARGS_STR);
std::string opt_general_axes_format0(OPT_ARGS_STR);
std::string opt_general_axes_format1(OPT_ARGS_STR);
std::string opt_general_axes_format2(OPT_ARGS_STR);
std::string opt_general_background_image_filename(OPT_ARGS_STR);
std::string opt_general_display(OPT_ARGS_STR);
std::string opt_general_filename(OPT_ARGS_STR);
std::string opt_general_default_filename(OPT_ARGS_STR);
std::string opt_general_tmp_filename(OPT_ARGS_STR);
std::string opt_general_error_filename(OPT_ARGS_STR);
std::string opt_general_session_filename(OPT_ARGS_STR);
std::string opt_general_options_filename(OPT_ARGS_STR);
std::string opt_general_recent_file0(OPT_ARGS_STR);
std::string opt_general_recent_file1(OPT_ARGS_STR);
std::string opt_general_recent_file2(OPT_ARGS_STR);
std::string opt_general_recent_file3(OPT_ARGS_STR);
std::string opt_general_recent_file4(OPT_ARGS_STR);
std::string opt_general_editor(OPT_ARGS_STR);
std::string opt_general_watch_file_pattern(OPT_ARGS_STR);
std::string opt_general_gui_theme(OPT_ARGS_STR);
std::string opt_general_graphics_font(OPT_ARGS_STR);
std::string opt_general_graphics_font_title(OPT_ARGS_STR);
std::string opt_general_graphics_font_engine(OPT_ARGS_STR);
std::string opt_solver_socket_name(OPT_ARGS_STR);
std::string opt_solver_name(OPT_ARGS_STR);
std::string opt_solver_name0(OPT_ARGS_STR);
std::string opt_solver_name1(OPT_ARGS_STR);
std::string opt_solver_name2(OPT_ARGS_STR);
std::string opt_solver_name3(OPT_ARGS_STR);
std::string opt_solver_name4(OPT_ARGS_STR);
std::string opt_solver_name5(OPT_ARGS_STR);
std::string opt_solver_name6(OPT_ARGS_STR);
std::string opt_solver_name7(OPT_ARGS_STR);
std::string opt_solver_name8(OPT_ARGS_STR);
std::string opt_solver_name9(OPT_ARGS_STR);
std::string opt_solver_executable(OPT_ARGS_STR);
std::string opt_solver_executable0(OPT_ARGS_STR);
std::string opt_solver_executable1(OPT_ARGS_STR);
std::string opt_solver_executable2(OPT_ARGS_STR);
std::string opt_solver_executable3(OPT_ARGS_STR);
std::string opt_solver_executable4(OPT_ARGS_STR);
std::string opt_solver_executable5(OPT_ARGS_STR);
std::string opt_solver_executable6(OPT_ARGS_STR);
std::string opt_solver_executable7(OPT_ARGS_STR);
std::string opt_solver_executable8(OPT_ARGS_STR);
std::string opt_solver_executable9(OPT_ARGS_STR);
std::string opt_solver_remote_login(OPT_ARGS_STR);
std::string opt_solver_remote_login0(OPT_ARGS_STR);
std::string opt_solver_remote_login1(OPT_ARGS_STR);
std::string opt_solver_remote_login2(OPT_ARGS_STR);
std::string opt_solver_remote_login3(OPT_ARGS_STR);
std::string opt_solver_remote_login4(OPT_ARGS_STR);
std::string opt_solver_remote_login5(OPT_ARGS_STR);
std::string opt_solver_remote_login6(OPT_ARGS_STR);
std::string opt_solver_remote_login7(OPT_ARGS_STR);
std::string opt_solver_remote_login8(OPT_ARGS_STR);
std::string opt_solver_remote_login9(OPT_ARGS_STR);
std::string opt_view_name(OPT_ARGS_STR);
std::string opt_view_format(OPT_ARGS_STR);
std::string opt_view_filename(OPT_ARGS_STR);
std::string opt_view_axes_label0(OPT_ARGS_STR);
std::string opt_view_axes_label1(OPT_ARGS_STR);
std::string opt_view_axes_label2(OPT_ARGS_STR);
std::string opt_view_axes_format0(OPT_ARGS_STR);
std::string opt_view_axes_format1(OPT_ARGS_STR);
std::string opt_view_axes_format2(OPT_ARGS_STR);
std::string opt_view_gen_raise0(OPT_ARGS_STR);
std::string opt_view_gen_raise1(OPT_ARGS_STR);
std::string opt_view_gen_raise2(OPT_ARGS_STR);
std::string opt_view_stipple0(OPT_ARGS_STR);
std::string opt_view_stipple1(OPT_ARGS_STR);
std::string opt_view_stipple2(OPT_ARGS_STR);
std::string opt_view_stipple3(OPT_ARGS_STR);
std::string opt_view_stipple4(OPT_ARGS_STR);
std::string opt_view_stipple5(OPT_ARGS_STR);
std::string opt_view_stipple6(OPT_ARGS_STR);
std::string opt_view_stipple7(OPT_ARGS_STR);
std::string opt_view_stipple8(OPT_ARGS_STR);
std::string opt_view_stipple9(OPT_ARGS_STR);
std::string opt_view_attributes(OPT_ARGS_STR);
std::string opt_print_parameter_command(OPT_ARGS_STR);

// NUMBERS

double opt_general_initial_context(OPT_ARGS_NUM);
double opt_general_fontsize(OPT_ARGS_NUM);
double opt_general_graphics_fontsize(OPT_ARGS_NUM);
double opt_general_graphics_fontsize_title(OPT_ARGS_NUM);
double opt_general_graphics_position0(OPT_ARGS_NUM);
double opt_general_graphics_position1(OPT_ARGS_NUM);
double opt_general_graphics_size0(OPT_ARGS_NUM);
double opt_general_graphics_size1(OPT_ARGS_NUM);
double opt_general_context_position0(OPT_ARGS_NUM);
double opt_general_context_position1(OPT_ARGS_NUM);
double opt_general_file_chooser_position0(OPT_ARGS_NUM);
double opt_general_file_chooser_position1(OPT_ARGS_NUM);
double opt_general_polygon_offset_always(OPT_ARGS_NUM);
double opt_general_polygon_offset_factor(OPT_ARGS_NUM);
double opt_general_polygon_offset_units(OPT_ARGS_NUM);
double opt_general_system_menu_bar(OPT_ARGS_NUM);
double opt_general_message_size(OPT_ARGS_NUM);
double opt_general_detached_menu(OPT_ARGS_NUM);
double opt_general_menu_size0(OPT_ARGS_NUM);
double opt_general_menu_size1(OPT_ARGS_NUM);
double opt_general_menu_position0(OPT_ARGS_NUM);
double opt_general_menu_position1(OPT_ARGS_NUM);
double opt_general_option_position0(OPT_ARGS_NUM);
double opt_general_option_position1(OPT_ARGS_NUM);
double opt_general_plugin_position0(OPT_ARGS_NUM);
double opt_general_plugin_position1(OPT_ARGS_NUM);
double opt_general_plugin_size0(OPT_ARGS_NUM);
double opt_general_plugin_size1(OPT_ARGS_NUM);
double opt_general_field_position0(OPT_ARGS_NUM);
double opt_general_field_position1(OPT_ARGS_NUM);
double opt_general_field_size0(OPT_ARGS_NUM);
double opt_general_field_size1(OPT_ARGS_NUM);
double opt_general_extra_position0(OPT_ARGS_NUM);
double opt_general_extra_position1(OPT_ARGS_NUM);
double opt_general_extra_size0(OPT_ARGS_NUM);
double opt_general_extra_size1(OPT_ARGS_NUM);
double opt_general_statistics_position0(OPT_ARGS_NUM);
double opt_general_statistics_position1(OPT_ARGS_NUM);
double opt_general_visibility_position0(OPT_ARGS_NUM);
double opt_general_visibility_position1(OPT_ARGS_NUM);
double opt_general_clip_position0(OPT_ARGS_NUM);
double opt_general_clip_position1(OPT_ARGS_NUM);
double opt_general_manip_position0(OPT_ARGS_NUM);
double opt_general_manip_position1(OPT_ARGS_NUM);
double opt_general_hot_position0(OPT_ARGS_NUM);
double opt_general_hot_position1(OPT_ARGS_NUM);
double opt_general_session_save(OPT_ARGS_NUM);
double opt_general_options_save(OPT_ARGS_NUM);
double opt_general_rotation0(OPT_ARGS_NUM);
double opt_general_rotation1(OPT_ARGS_NUM);
double opt_general_rotation2(OPT_ARGS_NUM);
double opt_general_rotation_center0(OPT_ARGS_NUM);
double opt_general_rotation_center1(OPT_ARGS_NUM);
double opt_general_rotation_center2(OPT_ARGS_NUM);
double opt_general_quaternion0(OPT_ARGS_NUM);
double opt_general_quaternion1(OPT_ARGS_NUM);
double opt_general_quaternion2(OPT_ARGS_NUM);
double opt_general_quaternion3(OPT_ARGS_NUM);
double opt_general_translation0(OPT_ARGS_NUM);
double opt_general_translation1(OPT_ARGS_NUM);
double opt_general_translation2(OPT_ARGS_NUM);
double opt_general_scale0(OPT_ARGS_NUM);
double opt_general_scale1(OPT_ARGS_NUM);
double opt_general_scale2(OPT_ARGS_NUM);
double opt_general_clip_factor(OPT_ARGS_NUM);
double opt_general_display_border_factor(OPT_ARGS_NUM);
double opt_general_point_size(OPT_ARGS_NUM);
double opt_general_line_width(OPT_ARGS_NUM);
double opt_general_shine(OPT_ARGS_NUM);
double opt_general_shine_exponent(OPT_ARGS_NUM);
double opt_general_color_scheme(OPT_ARGS_NUM);
double opt_general_background_gradient(OPT_ARGS_NUM);
double opt_general_background_image_position0(OPT_ARGS_NUM);
double opt_general_background_image_position1(OPT_ARGS_NUM);
double opt_general_background_image_size0(OPT_ARGS_NUM);
double opt_general_background_image_size1(OPT_ARGS_NUM);
double opt_general_background_image_3d(OPT_ARGS_NUM);
double opt_general_background_image_page(OPT_ARGS_NUM);
double opt_general_verbosity(OPT_ARGS_NUM);
double opt_general_progress_meter_step(OPT_ARGS_NUM);
double opt_general_nopopup(OPT_ARGS_NUM);
double opt_general_non_modal_windows(OPT_ARGS_NUM);
double opt_general_terminal(OPT_ARGS_NUM);
double opt_general_tooltips(OPT_ARGS_NUM);
double opt_general_confirm_overwrite(OPT_ARGS_NUM);
double opt_general_orthographic(OPT_ARGS_NUM);
double opt_general_mouse_selection(OPT_ARGS_NUM);
double opt_general_mouse_hover_meshes(OPT_ARGS_NUM);
double opt_general_draw_bounding_box(OPT_ARGS_NUM);
double opt_general_draw_oriented_bounding_box(OPT_ARGS_NUM);
double opt_general_fast_redraw(OPT_ARGS_NUM);
double opt_general_xmin(OPT_ARGS_NUM);
double opt_general_xmax(OPT_ARGS_NUM);
double opt_general_ymin(OPT_ARGS_NUM);
double opt_general_ymax(OPT_ARGS_NUM);
double opt_general_zmin(OPT_ARGS_NUM);
double opt_general_zmax(OPT_ARGS_NUM);
double opt_general_lc(OPT_ARGS_NUM);
double opt_general_axes(OPT_ARGS_NUM);
double opt_general_axes_mikado(OPT_ARGS_NUM);
double opt_general_axes_auto_position(OPT_ARGS_NUM);
double opt_general_axes_xmin(OPT_ARGS_NUM);
double opt_general_axes_xmax(OPT_ARGS_NUM);
double opt_general_axes_ymin(OPT_ARGS_NUM);
double opt_general_axes_ymax(OPT_ARGS_NUM);
double opt_general_axes_zmin(OPT_ARGS_NUM);
double opt_general_axes_zmax(OPT_ARGS_NUM);
double opt_general_axes_tics0(OPT_ARGS_NUM);
double opt_general_axes_tics1(OPT_ARGS_NUM);
double opt_general_axes_tics2(OPT_ARGS_NUM);
double opt_general_axes_force_value(OPT_ARGS_NUM);
double opt_general_axes_value_xmin(OPT_ARGS_NUM);
double opt_general_axes_value_xmax(OPT_ARGS_NUM);
double opt_general_axes_value_ymin(OPT_ARGS_NUM);
double opt_general_axes_value_ymax(OPT_ARGS_NUM);
double opt_general_axes_value_zmin(OPT_ARGS_NUM);
double opt_general_axes_value_zmax(OPT_ARGS_NUM);
double opt_general_small_axes(OPT_ARGS_NUM);
double opt_general_small_axes_position0(OPT_ARGS_NUM);
double opt_general_small_axes_position1(OPT_ARGS_NUM);
double opt_general_small_axes_size(OPT_ARGS_NUM);
double opt_general_quadric_subdivisions(OPT_ARGS_NUM);
double opt_general_double_buffer(OPT_ARGS_NUM);
double opt_general_antialiasing(OPT_ARGS_NUM);
double opt_general_alpha_blending(OPT_ARGS_NUM);
double opt_general_vector_type(OPT_ARGS_NUM);
double opt_general_arrow_head_radius(OPT_ARGS_NUM);
double opt_general_arrow_stem_length(OPT_ARGS_NUM);
double opt_general_arrow_stem_radius(OPT_ARGS_NUM);
double opt_general_trackball(OPT_ARGS_NUM);
double opt_general_trackball_hyperbolic_sheet(OPT_ARGS_NUM);
double opt_general_gamepad(OPT_ARGS_NUM);
double opt_general_rotation_center_cg(OPT_ARGS_NUM);
double opt_general_zoom_factor(OPT_ARGS_NUM);
double opt_general_expert_mode(OPT_ARGS_NUM);
double opt_general_stereo_mode(OPT_ARGS_NUM);
double opt_general_camera_mode(OPT_ARGS_NUM);
double opt_general_eye_sep_ratio(OPT_ARGS_NUM);
double opt_general_focallength_ratio(OPT_ARGS_NUM);
double opt_general_camera_aperture(OPT_ARGS_NUM);
double opt_general_clip0a(OPT_ARGS_NUM);
double opt_general_clip0b(OPT_ARGS_NUM);
double opt_general_clip0c(OPT_ARGS_NUM);
double opt_general_clip0d(OPT_ARGS_NUM);
double opt_general_clip1a(OPT_ARGS_NUM);
double opt_general_clip1b(OPT_ARGS_NUM);
double opt_general_clip1c(OPT_ARGS_NUM);
double opt_general_clip1d(OPT_ARGS_NUM);
double opt_general_clip2a(OPT_ARGS_NUM);
double opt_general_clip2b(OPT_ARGS_NUM);
double opt_general_clip2c(OPT_ARGS_NUM);
double opt_general_clip2d(OPT_ARGS_NUM);
double opt_general_clip3a(OPT_ARGS_NUM);
double opt_general_clip3b(OPT_ARGS_NUM);
double opt_general_clip3c(OPT_ARGS_NUM);
double opt_general_clip3d(OPT_ARGS_NUM);
double opt_general_clip4a(OPT_ARGS_NUM);
double opt_general_clip4b(OPT_ARGS_NUM);
double opt_general_clip4c(OPT_ARGS_NUM);
double opt_general_clip4d(OPT_ARGS_NUM);
double opt_general_clip5a(OPT_ARGS_NUM);
double opt_general_clip5b(OPT_ARGS_NUM);
double opt_general_clip5c(OPT_ARGS_NUM);
double opt_general_clip5d(OPT_ARGS_NUM);
double opt_general_clip_whole_elements(OPT_ARGS_NUM);
double opt_general_clip_only_draw_intersecting_volume(OPT_ARGS_NUM);
double opt_general_clip_only_volume(OPT_ARGS_NUM);
double opt_general_light0(OPT_ARGS_NUM);
double opt_general_light00(OPT_ARGS_NUM);
double opt_general_light01(OPT_ARGS_NUM);
double opt_general_light02(OPT_ARGS_NUM);
double opt_general_light03(OPT_ARGS_NUM);
double opt_general_light1(OPT_ARGS_NUM);
double opt_general_light10(OPT_ARGS_NUM);
double opt_general_light11(OPT_ARGS_NUM);
double opt_general_light12(OPT_ARGS_NUM);
double opt_general_light13(OPT_ARGS_NUM);
double opt_general_light2(OPT_ARGS_NUM);
double opt_general_light20(OPT_ARGS_NUM);
double opt_general_light21(OPT_ARGS_NUM);
double opt_general_light22(OPT_ARGS_NUM);
double opt_general_light23(OPT_ARGS_NUM);
double opt_general_light3(OPT_ARGS_NUM);
double opt_general_light30(OPT_ARGS_NUM);
double opt_general_light31(OPT_ARGS_NUM);
double opt_general_light32(OPT_ARGS_NUM);
double opt_general_light33(OPT_ARGS_NUM);
double opt_general_light4(OPT_ARGS_NUM);
double opt_general_light40(OPT_ARGS_NUM);
double opt_general_light41(OPT_ARGS_NUM);
double opt_general_light42(OPT_ARGS_NUM);
double opt_general_light43(OPT_ARGS_NUM);
double opt_general_light5(OPT_ARGS_NUM);
double opt_general_light50(OPT_ARGS_NUM);
double opt_general_light51(OPT_ARGS_NUM);
double opt_general_light52(OPT_ARGS_NUM);
double opt_general_light53(OPT_ARGS_NUM);
double opt_geometry_transform(OPT_ARGS_NUM);
double opt_geometry_transform00(OPT_ARGS_NUM);
double opt_geometry_transform01(OPT_ARGS_NUM);
double opt_geometry_transform02(OPT_ARGS_NUM);
double opt_geometry_transform10(OPT_ARGS_NUM);
double opt_geometry_transform11(OPT_ARGS_NUM);
double opt_geometry_transform12(OPT_ARGS_NUM);
double opt_geometry_transform20(OPT_ARGS_NUM);
double opt_geometry_transform21(OPT_ARGS_NUM);
double opt_geometry_transform22(OPT_ARGS_NUM);
double opt_geometry_offset0(OPT_ARGS_NUM);
double opt_geometry_offset1(OPT_ARGS_NUM);
double opt_geometry_offset2(OPT_ARGS_NUM);
double opt_geometry_auto_coherence(OPT_ARGS_NUM);
double opt_geometry_hide_compounds(OPT_ARGS_NUM);
double opt_geometry_oriented_physicals(OPT_ARGS_NUM);
double opt_geometry_highlight_orphans(OPT_ARGS_NUM);
double opt_geometry_tolerance(OPT_ARGS_NUM);
double opt_geometry_normals(OPT_ARGS_NUM);
double opt_geometry_tangents(OPT_ARGS_NUM);
double opt_geometry_points(OPT_ARGS_NUM);
double opt_geometry_lines(OPT_ARGS_NUM);
double opt_geometry_surfaces(OPT_ARGS_NUM);
double opt_geometry_volumes(OPT_ARGS_NUM);
double opt_geometry_points_num(OPT_ARGS_NUM);
double opt_geometry_lines_num(OPT_ARGS_NUM);
double opt_geometry_surfaces_num(OPT_ARGS_NUM);
double opt_geometry_volumes_num(OPT_ARGS_NUM);
double opt_geometry_label_type(OPT_ARGS_NUM);
double opt_geometry_point_size(OPT_ARGS_NUM);
double opt_geometry_point_sel_size(OPT_ARGS_NUM);
double opt_geometry_point_type(OPT_ARGS_NUM);
double opt_geometry_line_width(OPT_ARGS_NUM);
double opt_geometry_line_sel_width(OPT_ARGS_NUM);
double opt_geometry_line_type(OPT_ARGS_NUM);
double opt_geometry_surface_type(OPT_ARGS_NUM);
double opt_geometry_light(OPT_ARGS_NUM);
double opt_geometry_light_two_side(OPT_ARGS_NUM);
double opt_geometry_occ_fix_degenerated(OPT_ARGS_NUM);
double opt_geometry_occ_fix_small_edges(OPT_ARGS_NUM);
double opt_geometry_occ_fix_small_faces(OPT_ARGS_NUM);
double opt_geometry_occ_sew_faces(OPT_ARGS_NUM);
double opt_geometry_occ_connect_faces(OPT_ARGS_NUM);
double opt_geometry_old_circle(OPT_ARGS_NUM);
double opt_geometry_old_newreg(OPT_ARGS_NUM);
double opt_geometry_old_ruled_surface(OPT_ARGS_NUM);
double opt_geometry_num_sub_edges(OPT_ARGS_NUM);
double opt_geometry_extrude_spline_points(OPT_ARGS_NUM);
double opt_geometry_extrude_return_lateral(OPT_ARGS_NUM);
double opt_geometry_scaling_factor(OPT_ARGS_NUM);
double opt_geometry_snap0(OPT_ARGS_NUM);
double opt_geometry_snap1(OPT_ARGS_NUM);
double opt_geometry_snap2(OPT_ARGS_NUM);
double opt_geometry_clip(OPT_ARGS_NUM);
double opt_geometry_copy_meshing_method(OPT_ARGS_NUM);
double opt_geometry_copy_display_attributes(OPT_ARGS_NUM);
double opt_geometry_exact_extrusion(OPT_ARGS_NUM);
double opt_geometry_match_geom_and_mesh(OPT_ARGS_NUM);
double opt_mesh_label_sampling(OPT_ARGS_NUM);
double opt_mesh_optimize(OPT_ARGS_NUM);
double opt_mesh_optimize_netgen(OPT_ARGS_NUM);
double opt_mesh_remove_4_triangles(OPT_ARGS_NUM);
double opt_mesh_refine_steps(OPT_ARGS_NUM);
double opt_mesh_normals(OPT_ARGS_NUM);
double opt_mesh_num_sub_edges(OPT_ARGS_NUM);
double opt_mesh_tangents(OPT_ARGS_NUM);
double opt_mesh_explode(OPT_ARGS_NUM);
double opt_mesh_scaling_factor(OPT_ARGS_NUM);
double opt_mesh_lc_min(OPT_ARGS_NUM);
double opt_mesh_lc_max(OPT_ARGS_NUM);
double opt_mesh_tolerance_edge_length(OPT_ARGS_NUM);
double opt_mesh_lc_factor(OPT_ARGS_NUM);
double opt_mesh_lc_from_curvature(OPT_ARGS_NUM);
double opt_mesh_lc_from_points(OPT_ARGS_NUM);
double opt_mesh_lc_extend_from_boundary(OPT_ARGS_NUM);
double opt_mesh_lc_integration_precision(OPT_ARGS_NUM);
double opt_mesh_rand_factor(OPT_ARGS_NUM);
double opt_mesh_quality_inf(OPT_ARGS_NUM);
double opt_mesh_quality_sup(OPT_ARGS_NUM);
double opt_mesh_quality_type(OPT_ARGS_NUM);
double opt_mesh_radius_inf(OPT_ARGS_NUM);
double opt_mesh_radius_sup(OPT_ARGS_NUM);
double opt_mesh_label_type(OPT_ARGS_NUM);
double opt_mesh_points(OPT_ARGS_NUM);
double opt_mesh_lines(OPT_ARGS_NUM);
double opt_mesh_triangles(OPT_ARGS_NUM);
double opt_mesh_quadrangles(OPT_ARGS_NUM);
double opt_mesh_tetrahedra(OPT_ARGS_NUM);
double opt_mesh_hexahedra(OPT_ARGS_NUM);
double opt_mesh_prisms(OPT_ARGS_NUM);
double opt_mesh_pyramids(OPT_ARGS_NUM);
double opt_mesh_surfaces_edges(OPT_ARGS_NUM);
double opt_mesh_surfaces_faces(OPT_ARGS_NUM);
double opt_mesh_volumes_edges(OPT_ARGS_NUM);
double opt_mesh_volumes_faces(OPT_ARGS_NUM);
double opt_mesh_points_num(OPT_ARGS_NUM);
double opt_mesh_lines_num(OPT_ARGS_NUM);
double opt_mesh_surfaces_num(OPT_ARGS_NUM);
double opt_mesh_volumes_num(OPT_ARGS_NUM);
double opt_mesh_point_size(OPT_ARGS_NUM);
double opt_mesh_point_type(OPT_ARGS_NUM);
double opt_mesh_line_width(OPT_ARGS_NUM);
double opt_mesh_reverse_all_normals(OPT_ARGS_NUM);
double opt_mesh_smooth_normals(OPT_ARGS_NUM);
double opt_mesh_smooth_ratio(OPT_ARGS_NUM);
double opt_mesh_angle_smooth_normals(OPT_ARGS_NUM);
double opt_mesh_aniso_max(OPT_ARGS_NUM);
double opt_mesh_light(OPT_ARGS_NUM);
double opt_mesh_light_lines(OPT_ARGS_NUM);
double opt_mesh_light_two_side(OPT_ARGS_NUM);
double opt_mesh_file_format(OPT_ARGS_NUM);
double opt_mesh_newton_convergence_test_xyz(OPT_ARGS_NUM);
double opt_mesh_msh_file_version(OPT_ARGS_NUM);
double opt_mesh_msh_file_partitioned(OPT_ARGS_NUM);
double opt_mesh_partition_hex_weight(OPT_ARGS_NUM);
double opt_mesh_partition_pri_weight(OPT_ARGS_NUM);
double opt_mesh_partition_pyr_weight(OPT_ARGS_NUM);
double opt_mesh_partition_qua_weight(OPT_ARGS_NUM);
double opt_mesh_partition_tet_weight(OPT_ARGS_NUM);
double opt_mesh_partition_tri_weight(OPT_ARGS_NUM);
double opt_mesh_binary(OPT_ARGS_NUM);
double opt_mesh_bunin(OPT_ARGS_NUM);
double opt_mesh_lloyd(OPT_ARGS_NUM);
double opt_mesh_smooth_cross_field(OPT_ARGS_NUM);
double opt_mesh_bdf_field_format(OPT_ARGS_NUM);
double opt_mesh_nb_smoothing(OPT_ARGS_NUM);
double opt_mesh_algo2d(OPT_ARGS_NUM);
double opt_mesh_algo3d(OPT_ARGS_NUM);
double opt_mesh_algo_recombine(OPT_ARGS_NUM);
double opt_mesh_recombine_all(OPT_ARGS_NUM);
double opt_mesh_recombine3d_all(OPT_ARGS_NUM);
double opt_mesh_flexible_transfinite(OPT_ARGS_NUM);
double opt_mesh_do_recombination_test(OPT_ARGS_NUM);
double opt_mesh_recombination_test_start(OPT_ARGS_NUM);
double opt_mesh_recombination_no_greedy_strat(OPT_ARGS_NUM);
double opt_mesh_recombination_new_strat(OPT_ARGS_NUM);
double opt_mesh_remesh_algo(OPT_ARGS_NUM);
double opt_mesh_remesh_param(OPT_ARGS_NUM);
double opt_mesh_algo_subdivide(OPT_ARGS_NUM);
double opt_mesh_mesh_only_visible(OPT_ARGS_NUM);
double opt_mesh_min_circ_points(OPT_ARGS_NUM);
double opt_mesh_allow_swap_edge_angle(OPT_ARGS_NUM);
double opt_mesh_min_curv_points(OPT_ARGS_NUM);
double opt_mesh_order(OPT_ARGS_NUM);
double opt_mesh_ho_optimize(OPT_ARGS_NUM);
double opt_mesh_ho_nlayers(OPT_ARGS_NUM);
double opt_mesh_ho_threshold_min(OPT_ARGS_NUM);
double opt_mesh_ho_threshold_max(OPT_ARGS_NUM);
double opt_mesh_ho_poisson(OPT_ARGS_NUM);
double opt_mesh_ho_opt_prim_surf_mesh(OPT_ARGS_NUM);
double opt_mesh_second_order_experimental(OPT_ARGS_NUM);
double opt_mesh_second_order_linear(OPT_ARGS_NUM);
double opt_mesh_second_order_incomplete(OPT_ARGS_NUM);
double opt_mesh_cgns_import_order(OPT_ARGS_NUM);
double opt_mesh_dual(OPT_ARGS_NUM);
double opt_mesh_voronoi(OPT_ARGS_NUM);
double opt_mesh_draw_skin_only(OPT_ARGS_NUM);
double opt_mesh_save_all(OPT_ARGS_NUM);
double opt_mesh_save_element_tag_type(OPT_ARGS_NUM);
double opt_mesh_save_parametric(OPT_ARGS_NUM);
double opt_mesh_save_groups_of_nodes(OPT_ARGS_NUM);
double opt_mesh_color_carousel(OPT_ARGS_NUM);
double opt_mesh_switch_elem_tags(OPT_ARGS_NUM);
double opt_mesh_zone_definition(OPT_ARGS_NUM);
double opt_mesh_nb_nodes(OPT_ARGS_NUM);
double opt_mesh_nb_triangles(OPT_ARGS_NUM);
double opt_mesh_nb_quadrangles(OPT_ARGS_NUM);
double opt_mesh_nb_tetrahedra(OPT_ARGS_NUM);
double opt_mesh_nb_hexahedra(OPT_ARGS_NUM);
double opt_mesh_nb_prisms(OPT_ARGS_NUM);
double opt_mesh_nb_pyramids(OPT_ARGS_NUM);
double opt_mesh_cpu_time(OPT_ARGS_NUM);
double opt_mesh_partition_partitioner(OPT_ARGS_NUM);
double opt_mesh_partition_num(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_global_method(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_architecture(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_ndims_tot(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_mesh_dims1(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_mesh_dims2(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_mesh_dims3(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_local_method(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_eigensolver(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_vmax(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_nsection(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_eigtol(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_seed(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_refine_partition(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_internal_vertices(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_refine_map(OPT_ARGS_NUM);
double opt_mesh_partition_chaco_terminal_propogation(OPT_ARGS_NUM);
double opt_mesh_partition_metis_algorithm(OPT_ARGS_NUM);
double opt_mesh_partition_metis_edge_matching(OPT_ARGS_NUM);
double opt_mesh_partition_metis_refine_algorithm(OPT_ARGS_NUM);
double opt_mesh_clip(OPT_ARGS_NUM);
double opt_mesh_ignore_part_bound(OPT_ARGS_NUM);
double opt_solver_listen(OPT_ARGS_NUM);
double opt_solver_timeout(OPT_ARGS_NUM);
double opt_solver_plugins(OPT_ARGS_NUM);
double opt_solver_auto_save_database(OPT_ARGS_NUM);
double opt_solver_auto_archive_output_files(OPT_ARGS_NUM);
double opt_solver_auto_check(OPT_ARGS_NUM);
double opt_solver_auto_mesh(OPT_ARGS_NUM);
double opt_solver_auto_merge_file(OPT_ARGS_NUM);
double opt_solver_auto_show_views(OPT_ARGS_NUM);
double opt_solver_auto_show_last_step(OPT_ARGS_NUM);
double opt_solver_show_invisible_parameters(OPT_ARGS_NUM);
double opt_post_horizontal_scales(OPT_ARGS_NUM);
double opt_post_link(OPT_ARGS_NUM);
double opt_post_smooth(OPT_ARGS_NUM);
double opt_post_anim_delay(OPT_ARGS_NUM);
double opt_post_anim_cycle(OPT_ARGS_NUM);
double opt_post_anim_step(OPT_ARGS_NUM);
double opt_post_combine_remove_orig(OPT_ARGS_NUM);
double opt_post_plugins(OPT_ARGS_NUM);
double opt_post_nb_views(OPT_ARGS_NUM);
double opt_post_file_format(OPT_ARGS_NUM);
double opt_post_force_node_data(OPT_ARGS_NUM);
double opt_view_nb_timestep(OPT_ARGS_NUM);
double opt_view_nb_non_empty_timestep(OPT_ARGS_NUM);
double opt_view_timestep(OPT_ARGS_NUM);
double opt_view_min(OPT_ARGS_NUM);
double opt_view_max(OPT_ARGS_NUM);
double opt_view_custom_min(OPT_ARGS_NUM);
double opt_view_custom_max(OPT_ARGS_NUM);
double opt_view_custom_abscissa_min(OPT_ARGS_NUM);
double opt_view_custom_abscissa_max(OPT_ARGS_NUM);
double opt_view_xmin(OPT_ARGS_NUM);
double opt_view_xmax(OPT_ARGS_NUM);
double opt_view_ymin(OPT_ARGS_NUM);
double opt_view_ymax(OPT_ARGS_NUM);
double opt_view_zmin(OPT_ARGS_NUM);
double opt_view_zmax(OPT_ARGS_NUM);
double opt_view_offset0(OPT_ARGS_NUM);
double opt_view_offset1(OPT_ARGS_NUM);
double opt_view_offset2(OPT_ARGS_NUM);
double opt_view_raise0(OPT_ARGS_NUM);
double opt_view_raise1(OPT_ARGS_NUM);
double opt_view_raise2(OPT_ARGS_NUM);
double opt_view_normal_raise(OPT_ARGS_NUM);
double opt_view_transform00(OPT_ARGS_NUM);
double opt_view_transform01(OPT_ARGS_NUM);
double opt_view_transform02(OPT_ARGS_NUM);
double opt_view_transform10(OPT_ARGS_NUM);
double opt_view_transform11(OPT_ARGS_NUM);
double opt_view_transform12(OPT_ARGS_NUM);
double opt_view_transform20(OPT_ARGS_NUM);
double opt_view_transform21(OPT_ARGS_NUM);
double opt_view_transform22(OPT_ARGS_NUM);
double opt_view_arrow_size_min(OPT_ARGS_NUM);
double opt_view_arrow_size_max(OPT_ARGS_NUM);
double opt_view_normals(OPT_ARGS_NUM);
double opt_view_tangents(OPT_ARGS_NUM);
double opt_view_displacement_factor(OPT_ARGS_NUM);
double opt_view_fake_transparency(OPT_ARGS_NUM);
double opt_view_use_stipple(OPT_ARGS_NUM);
double opt_view_explode(OPT_ARGS_NUM);
double opt_view_visible(OPT_ARGS_NUM);
double opt_view_intervals_type(OPT_ARGS_NUM);
double opt_view_saturate_values(OPT_ARGS_NUM);
double opt_view_max_recursion_level(OPT_ARGS_NUM);
double opt_view_adapt_visualization_grid(OPT_ARGS_NUM);
double opt_view_target_error(OPT_ARGS_NUM);
double opt_view_colormap_alpha(OPT_ARGS_NUM);
double opt_view_colormap_alpha_power(OPT_ARGS_NUM);
double opt_view_colormap_beta(OPT_ARGS_NUM);
double opt_view_colormap_bias(OPT_ARGS_NUM);
double opt_view_colormap_curvature(OPT_ARGS_NUM);
double opt_view_colormap_invert(OPT_ARGS_NUM);
double opt_view_colormap_number(OPT_ARGS_NUM);
double opt_view_colormap_rotation(OPT_ARGS_NUM);
double opt_view_colormap_swap(OPT_ARGS_NUM);
double opt_view_external_view(OPT_ARGS_NUM);
double opt_view_gen_raise_view(OPT_ARGS_NUM);
double opt_view_gen_raise_factor(OPT_ARGS_NUM);
double opt_view_use_gen_raise(OPT_ARGS_NUM);
double opt_view_type(OPT_ARGS_NUM);
double opt_view_axes(OPT_ARGS_NUM);
double opt_view_axes_mikado(OPT_ARGS_NUM);
double opt_view_axes_auto_position(OPT_ARGS_NUM);
double opt_view_axes_tics0(OPT_ARGS_NUM);
double opt_view_axes_tics1(OPT_ARGS_NUM);
double opt_view_axes_tics2(OPT_ARGS_NUM);
double opt_view_axes_xmin(OPT_ARGS_NUM);
double opt_view_axes_ymin(OPT_ARGS_NUM);
double opt_view_axes_zmin(OPT_ARGS_NUM);
double opt_view_axes_xmax(OPT_ARGS_NUM);
double opt_view_axes_ymax(OPT_ARGS_NUM);
double opt_view_axes_zmax(OPT_ARGS_NUM);
double opt_view_position0(OPT_ARGS_NUM);
double opt_view_position1(OPT_ARGS_NUM);
double opt_view_auto_position(OPT_ARGS_NUM);
double opt_view_sampling(OPT_ARGS_NUM);
double opt_view_size0(OPT_ARGS_NUM);
double opt_view_size1(OPT_ARGS_NUM);
double opt_view_nb_iso(OPT_ARGS_NUM);
double opt_view_boundary(OPT_ARGS_NUM);
double opt_view_light(OPT_ARGS_NUM);
double opt_view_light_two_side(OPT_ARGS_NUM);
double opt_view_light_lines(OPT_ARGS_NUM);
double opt_view_smooth_normals(OPT_ARGS_NUM);
double opt_view_angle_smooth_normals(OPT_ARGS_NUM);
double opt_view_show_element(OPT_ARGS_NUM);
double opt_view_show_time(OPT_ARGS_NUM);
double opt_view_show_scale(OPT_ARGS_NUM);
double opt_view_draw_strings(OPT_ARGS_NUM);
double opt_view_draw_points(OPT_ARGS_NUM);
double opt_view_draw_quadrangles(OPT_ARGS_NUM);
double opt_view_draw_lines(OPT_ARGS_NUM);
double opt_view_draw_triangles(OPT_ARGS_NUM);
double opt_view_draw_tetrahedra(OPT_ARGS_NUM);
double opt_view_draw_hexahedra(OPT_ARGS_NUM);
double opt_view_draw_prisms(OPT_ARGS_NUM);
double opt_view_draw_pyramids(OPT_ARGS_NUM);
double opt_view_draw_scalars(OPT_ARGS_NUM);
double opt_view_draw_vectors(OPT_ARGS_NUM);
double opt_view_draw_tensors(OPT_ARGS_NUM);
double opt_view_draw_skin_only(OPT_ARGS_NUM);
double opt_view_scale_type(OPT_ARGS_NUM);
double opt_view_tensor_type(OPT_ARGS_NUM);
double opt_view_range_type(OPT_ARGS_NUM);
double opt_view_abscissa_range_type(OPT_ARGS_NUM);
double opt_view_vector_type(OPT_ARGS_NUM);
double opt_view_glyph_location(OPT_ARGS_NUM);
double opt_view_center_glyphs(OPT_ARGS_NUM);
double opt_view_point_size(OPT_ARGS_NUM);
double opt_view_line_width(OPT_ARGS_NUM);
double opt_view_point_type(OPT_ARGS_NUM);
double opt_view_line_type(OPT_ARGS_NUM);
double opt_view_clip(OPT_ARGS_NUM);
double opt_view_force_num_components(OPT_ARGS_NUM);
double opt_view_component_map0(OPT_ARGS_NUM);
double opt_view_component_map1(OPT_ARGS_NUM);
double opt_view_component_map2(OPT_ARGS_NUM);
double opt_view_component_map3(OPT_ARGS_NUM);
double opt_view_component_map4(OPT_ARGS_NUM);
double opt_view_component_map5(OPT_ARGS_NUM);
double opt_view_component_map6(OPT_ARGS_NUM);
double opt_view_component_map7(OPT_ARGS_NUM);
double opt_view_component_map8(OPT_ARGS_NUM);
double opt_print_file_format(OPT_ARGS_NUM);
double opt_print_eps_compress(OPT_ARGS_NUM);
double opt_print_eps_ps3shading(OPT_ARGS_NUM);
double opt_print_eps_quality(OPT_ARGS_NUM);
double opt_print_eps_occlusion_culling(OPT_ARGS_NUM);
double opt_print_eps_best_root(OPT_ARGS_NUM);
double opt_print_eps_line_width_factor(OPT_ARGS_NUM);
double opt_print_eps_point_size_factor(OPT_ARGS_NUM);
double opt_print_jpeg_quality(OPT_ARGS_NUM);
double opt_print_jpeg_smoothing(OPT_ARGS_NUM);
double opt_print_geo_labels(OPT_ARGS_NUM);
double opt_print_geo_only_physicals(OPT_ARGS_NUM);
double opt_print_pos_elementary(OPT_ARGS_NUM);
double opt_print_pos_element(OPT_ARGS_NUM);
double opt_print_pos_gamma(OPT_ARGS_NUM);
double opt_print_pos_eta(OPT_ARGS_NUM);
double opt_print_pos_rho(OPT_ARGS_NUM);
double opt_print_pos_disto(OPT_ARGS_NUM);
double opt_print_gif_dither(OPT_ARGS_NUM);
double opt_print_gif_sort(OPT_ARGS_NUM);
double opt_print_gif_interlace(OPT_ARGS_NUM);
double opt_print_gif_transparent(OPT_ARGS_NUM);
double opt_print_background(OPT_ARGS_NUM);
double opt_print_pgf_two_dim(OPT_ARGS_NUM);
double opt_print_pgf_export_axis(OPT_ARGS_NUM);
double opt_print_pgf_horiz_bar(OPT_ARGS_NUM);
double opt_print_text(OPT_ARGS_NUM);
double opt_print_tex_as_equation(OPT_ARGS_NUM);
double opt_print_composite_windows(OPT_ARGS_NUM);
double opt_print_delete_tmp_files(OPT_ARGS_NUM);
double opt_print_height(OPT_ARGS_NUM);
double opt_print_width(OPT_ARGS_NUM);
double opt_print_parameter(OPT_ARGS_NUM);
double opt_print_parameter_first(OPT_ARGS_NUM);
double opt_print_parameter_last(OPT_ARGS_NUM);
double opt_print_parameter_steps(OPT_ARGS_NUM);

// COLORS

unsigned int opt_general_color_background(OPT_ARGS_COL);
unsigned int opt_general_color_background_gradient(OPT_ARGS_COL);
unsigned int opt_general_color_foreground(OPT_ARGS_COL);
unsigned int opt_general_color_text(OPT_ARGS_COL);
unsigned int opt_general_color_axes(OPT_ARGS_COL);
unsigned int opt_general_color_small_axes(OPT_ARGS_COL);
unsigned int opt_general_color_ambient_light(OPT_ARGS_COL);
unsigned int opt_general_color_diffuse_light(OPT_ARGS_COL);
unsigned int opt_general_color_specular_light(OPT_ARGS_COL);
unsigned int opt_geometry_color_points(OPT_ARGS_COL);
unsigned int opt_geometry_color_lines(OPT_ARGS_COL);
unsigned int opt_geometry_color_surfaces(OPT_ARGS_COL);
unsigned int opt_geometry_color_volumes(OPT_ARGS_COL);
unsigned int opt_geometry_color_selection(OPT_ARGS_COL);
unsigned int opt_geometry_color_highlight0(OPT_ARGS_COL);
unsigned int opt_geometry_color_highlight1(OPT_ARGS_COL);
unsigned int opt_geometry_color_highlight2(OPT_ARGS_COL);
unsigned int opt_geometry_color_tangents(OPT_ARGS_COL);
unsigned int opt_geometry_color_normals(OPT_ARGS_COL);
unsigned int opt_geometry_color_projection(OPT_ARGS_COL);
unsigned int opt_mesh_color_points(OPT_ARGS_COL);
unsigned int opt_mesh_color_points_sup(OPT_ARGS_COL);
unsigned int opt_mesh_color_lines(OPT_ARGS_COL);
unsigned int opt_mesh_color_triangles(OPT_ARGS_COL);
unsigned int opt_mesh_color_quadrangles(OPT_ARGS_COL);
unsigned int opt_mesh_color_tetrahedra(OPT_ARGS_COL);
unsigned int opt_mesh_color_hexahedra(OPT_ARGS_COL);
unsigned int opt_mesh_color_prisms(OPT_ARGS_COL);
unsigned int opt_mesh_color_pyramid(OPT_ARGS_COL);
unsigned int opt_mesh_color_tangents(OPT_ARGS_COL);
unsigned int opt_mesh_color_normals(OPT_ARGS_COL);
unsigned int opt_mesh_color_0(OPT_ARGS_COL);
unsigned int opt_mesh_color_1(OPT_ARGS_COL);
unsigned int opt_mesh_color_2(OPT_ARGS_COL);
unsigned int opt_mesh_color_3(OPT_ARGS_COL);
unsigned int opt_mesh_color_4(OPT_ARGS_COL);
unsigned int opt_mesh_color_5(OPT_ARGS_COL);
unsigned int opt_mesh_color_6(OPT_ARGS_COL);
unsigned int opt_mesh_color_7(OPT_ARGS_COL);
unsigned int opt_mesh_color_8(OPT_ARGS_COL);
unsigned int opt_mesh_color_9(OPT_ARGS_COL);
unsigned int opt_mesh_color_10(OPT_ARGS_COL);
unsigned int opt_mesh_color_11(OPT_ARGS_COL);
unsigned int opt_mesh_color_12(OPT_ARGS_COL);
unsigned int opt_mesh_color_13(OPT_ARGS_COL);
unsigned int opt_mesh_color_14(OPT_ARGS_COL);
unsigned int opt_mesh_color_15(OPT_ARGS_COL);
unsigned int opt_mesh_color_16(OPT_ARGS_COL);
unsigned int opt_mesh_color_17(OPT_ARGS_COL);
unsigned int opt_mesh_color_18(OPT_ARGS_COL);
unsigned int opt_mesh_color_19(OPT_ARGS_COL);
unsigned int opt_view_color_points(OPT_ARGS_COL);
unsigned int opt_view_color_lines(OPT_ARGS_COL);
unsigned int opt_view_color_triangles(OPT_ARGS_COL);
unsigned int opt_view_color_quadrangles(OPT_ARGS_COL);
unsigned int opt_view_color_tetrahedra(OPT_ARGS_COL);
unsigned int opt_view_color_hexahedra(OPT_ARGS_COL);
unsigned int opt_view_color_prisms(OPT_ARGS_COL);
unsigned int opt_view_color_pyramids(OPT_ARGS_COL);
unsigned int opt_view_color_tangents(OPT_ARGS_COL);
unsigned int opt_view_color_normals(OPT_ARGS_COL);
unsigned int opt_view_color_text2d(OPT_ARGS_COL);
unsigned int opt_view_color_text3d(OPT_ARGS_COL);
unsigned int opt_view_color_axes(OPT_ARGS_COL);
unsigned int opt_view_color_background2d(OPT_ARGS_COL);

// Data structures and global functions

typedef struct {
  const char *str ;
  int int1, int2, int3, int4 ;
} StringX4Int;

typedef struct {
  int level;
  const char *str;
  std::string (*function)(int num, int action, std::string val);
  std::string def;
  const char *help;
} StringXString;

typedef struct {
  int level;
  const char *str;
  double (*function)(int num, int action, double val);
  double def ;
  const char *help;
} StringXNumber;

typedef struct {
  int level;
  const char *str;
  unsigned int (*function)(int num, int action, unsigned int val);
  // the defaults are stored in individual bytes so that we can initialize
  // them statically independently of the machine endianness. They will be
  // packed into unsigned ints at runtime
  unsigned char def1[4], def2[4], def3[4];
  const char *help;
} StringXColor;

void InitOptions(int num);
void InitOptionsGUI(int num);
void ReInitOptions(int num);
void PrintOptions(int num, int level, int diff, int help, const char *filename,
                  std::vector<std::string> *vec=0);
void PrintOptionsDoc();

bool StringOption(int action, const char *category, int num,
                  const char *name, std::string &val);
bool NumberOption(int action, const char *category, int num,
                  const char *name, double &val);
bool ColorOption(int action, const char *category, int num,
                 const char *name, unsigned int &val);

GmshColorTable *GetColorTable(int num);
int GetColorForString(int alpha, const char *string, int *FlagError);
bool GetRGBForString(const char *string, int &r, int &g, int &b);

#endif