1 // Gmsh - Copyright (C) 1997-2021 C. Geuzaine, J.-F. Remacle
2 //
3 // See the LICENSE.txt file in the Gmsh root directory for license information.
4 // Please report all issues on https://gitlab.onelab.info/gmsh/gmsh/issues.
5 
6 #ifndef OPTIONS_H
7 #define OPTIONS_H
8 
9 #include <string>
10 #include "ColorTable.h"
11 
12 #define GMSH_SET (1 << 0)
13 #define GMSH_GET (1 << 1)
14 #define GMSH_GUI (1 << 2)
15 #define GMSH_SET_DEFAULT (1 << 3)
16 #define GMSH_GET_DEFAULT (1 << 4)
17 
18 #define GMSH_SESSIONRC (1 << 0)
19 #define GMSH_OPTIONSRC (1 << 1)
20 #define GMSH_FULLRC (1 << 2)
21 #define GMSH_DEPRECATED (1 << 3)
22 
23 // action is a combination of GMSH_SET, GMSH_GET, GMSH_GUI
24 
25 #define OPT_ARGS_STR int num, int action, const std::string &val
26 #define OPT_ARGS_NUM int num, int action, double val
27 #define OPT_ARGS_COL int num, int action, unsigned int val
28 
29 // STRINGS
30 
31 std::string opt_general_axes_label0(OPT_ARGS_STR);
32 std::string opt_general_axes_label1(OPT_ARGS_STR);
33 std::string opt_general_axes_label2(OPT_ARGS_STR);
34 std::string opt_general_axes_format0(OPT_ARGS_STR);
35 std::string opt_general_axes_format1(OPT_ARGS_STR);
36 std::string opt_general_axes_format2(OPT_ARGS_STR);
37 std::string opt_general_background_image_filename(OPT_ARGS_STR);
38 std::string opt_general_display(OPT_ARGS_STR);
39 std::string opt_general_version(OPT_ARGS_STR);
40 std::string opt_general_build_options(OPT_ARGS_STR);
41 std::string opt_general_build_info(OPT_ARGS_STR);
42 std::string opt_general_filename(OPT_ARGS_STR);
43 std::string opt_general_executable_filename(OPT_ARGS_STR);
44 std::string opt_general_default_filename(OPT_ARGS_STR);
45 std::string opt_general_tmp_filename(OPT_ARGS_STR);
46 std::string opt_general_error_filename(OPT_ARGS_STR);
47 std::string opt_general_session_filename(OPT_ARGS_STR);
48 std::string opt_general_options_filename(OPT_ARGS_STR);
49 std::string opt_general_recent_file0(OPT_ARGS_STR);
50 std::string opt_general_recent_file1(OPT_ARGS_STR);
51 std::string opt_general_recent_file2(OPT_ARGS_STR);
52 std::string opt_general_recent_file3(OPT_ARGS_STR);
53 std::string opt_general_recent_file4(OPT_ARGS_STR);
54 std::string opt_general_recent_file5(OPT_ARGS_STR);
55 std::string opt_general_recent_file6(OPT_ARGS_STR);
56 std::string opt_general_recent_file7(OPT_ARGS_STR);
57 std::string opt_general_recent_file8(OPT_ARGS_STR);
58 std::string opt_general_recent_file9(OPT_ARGS_STR);
59 std::string opt_general_scripting_languages(OPT_ARGS_STR);
60 std::string opt_general_editor(OPT_ARGS_STR);
61 std::string opt_general_watch_file_pattern(OPT_ARGS_STR);
62 std::string opt_general_gui_theme(OPT_ARGS_STR);
63 std::string opt_general_graphics_font(OPT_ARGS_STR);
64 std::string opt_general_graphics_font_title(OPT_ARGS_STR);
65 std::string opt_general_graphics_font_engine(OPT_ARGS_STR);
66 std::string opt_geometry_double_clicked_point_command(OPT_ARGS_STR);
67 std::string opt_geometry_double_clicked_curve_command(OPT_ARGS_STR);
68 std::string opt_geometry_double_clicked_surface_command(OPT_ARGS_STR);
69 std::string opt_geometry_double_clicked_volume_command(OPT_ARGS_STR);
70 std::string opt_geometry_occ_target_unit(OPT_ARGS_STR);
71 std::string opt_solver_socket_name(OPT_ARGS_STR);
72 std::string opt_solver_name(OPT_ARGS_STR);
73 std::string opt_solver_name0(OPT_ARGS_STR);
74 std::string opt_solver_name1(OPT_ARGS_STR);
75 std::string opt_solver_name2(OPT_ARGS_STR);
76 std::string opt_solver_name3(OPT_ARGS_STR);
77 std::string opt_solver_name4(OPT_ARGS_STR);
78 std::string opt_solver_name5(OPT_ARGS_STR);
79 std::string opt_solver_name6(OPT_ARGS_STR);
80 std::string opt_solver_name7(OPT_ARGS_STR);
81 std::string opt_solver_name8(OPT_ARGS_STR);
82 std::string opt_solver_name9(OPT_ARGS_STR);
83 std::string opt_solver_extension(OPT_ARGS_STR);
84 std::string opt_solver_extension0(OPT_ARGS_STR);
85 std::string opt_solver_extension1(OPT_ARGS_STR);
86 std::string opt_solver_extension2(OPT_ARGS_STR);
87 std::string opt_solver_extension3(OPT_ARGS_STR);
88 std::string opt_solver_extension4(OPT_ARGS_STR);
89 std::string opt_solver_extension5(OPT_ARGS_STR);
90 std::string opt_solver_extension6(OPT_ARGS_STR);
91 std::string opt_solver_extension7(OPT_ARGS_STR);
92 std::string opt_solver_extension8(OPT_ARGS_STR);
93 std::string opt_solver_extension9(OPT_ARGS_STR);
94 std::string opt_solver_executable(OPT_ARGS_STR);
95 std::string opt_solver_executable0(OPT_ARGS_STR);
96 std::string opt_solver_executable1(OPT_ARGS_STR);
97 std::string opt_solver_executable2(OPT_ARGS_STR);
98 std::string opt_solver_executable3(OPT_ARGS_STR);
99 std::string opt_solver_executable4(OPT_ARGS_STR);
100 std::string opt_solver_executable5(OPT_ARGS_STR);
101 std::string opt_solver_executable6(OPT_ARGS_STR);
102 std::string opt_solver_executable7(OPT_ARGS_STR);
103 std::string opt_solver_executable8(OPT_ARGS_STR);
104 std::string opt_solver_executable9(OPT_ARGS_STR);
105 std::string opt_solver_remote_login(OPT_ARGS_STR);
106 std::string opt_solver_remote_login0(OPT_ARGS_STR);
107 std::string opt_solver_remote_login1(OPT_ARGS_STR);
108 std::string opt_solver_remote_login2(OPT_ARGS_STR);
109 std::string opt_solver_remote_login3(OPT_ARGS_STR);
110 std::string opt_solver_remote_login4(OPT_ARGS_STR);
111 std::string opt_solver_remote_login5(OPT_ARGS_STR);
112 std::string opt_solver_remote_login6(OPT_ARGS_STR);
113 std::string opt_solver_remote_login7(OPT_ARGS_STR);
114 std::string opt_solver_remote_login8(OPT_ARGS_STR);
115 std::string opt_solver_remote_login9(OPT_ARGS_STR);
116 std::string opt_solver_octave_interpreter(OPT_ARGS_STR);
117 std::string opt_solver_python_interpreter(OPT_ARGS_STR);
118 std::string opt_post_double_clicked_graph_point_command(OPT_ARGS_STR);
119 std::string opt_view_name(OPT_ARGS_STR);
120 std::string opt_view_format(OPT_ARGS_STR);
121 std::string opt_view_filename(OPT_ARGS_STR);
122 std::string opt_view_double_clicked_command(OPT_ARGS_STR);
123 std::string opt_view_group(OPT_ARGS_STR);
124 std::string opt_view_axes_label0(OPT_ARGS_STR);
125 std::string opt_view_axes_label1(OPT_ARGS_STR);
126 std::string opt_view_axes_label2(OPT_ARGS_STR);
127 std::string opt_view_axes_format0(OPT_ARGS_STR);
128 std::string opt_view_axes_format1(OPT_ARGS_STR);
129 std::string opt_view_axes_format2(OPT_ARGS_STR);
130 std::string opt_view_gen_raise0(OPT_ARGS_STR);
131 std::string opt_view_gen_raise1(OPT_ARGS_STR);
132 std::string opt_view_gen_raise2(OPT_ARGS_STR);
133 std::string opt_view_stipple0(OPT_ARGS_STR);
134 std::string opt_view_stipple1(OPT_ARGS_STR);
135 std::string opt_view_stipple2(OPT_ARGS_STR);
136 std::string opt_view_stipple3(OPT_ARGS_STR);
137 std::string opt_view_stipple4(OPT_ARGS_STR);
138 std::string opt_view_stipple5(OPT_ARGS_STR);
139 std::string opt_view_stipple6(OPT_ARGS_STR);
140 std::string opt_view_stipple7(OPT_ARGS_STR);
141 std::string opt_view_stipple8(OPT_ARGS_STR);
142 std::string opt_view_stipple9(OPT_ARGS_STR);
143 std::string opt_view_attributes(OPT_ARGS_STR);
144 std::string opt_print_parameter_command(OPT_ARGS_STR);
145 
146 // NUMBERS
147 
148 double opt_general_abort_on_error(OPT_ARGS_NUM);
149 double opt_general_initial_context(OPT_ARGS_NUM);
150 double opt_general_show_options_on_startup(OPT_ARGS_NUM);
151 double opt_general_show_messages_on_startup(OPT_ARGS_NUM);
152 double opt_general_fontsize(OPT_ARGS_NUM);
153 double opt_general_gui_color_scheme(OPT_ARGS_NUM);
154 double opt_general_gui_refresh_rate(OPT_ARGS_NUM);
155 double opt_general_graphics_fontsize(OPT_ARGS_NUM);
156 double opt_general_graphics_fontsize_title(OPT_ARGS_NUM);
157 double opt_general_graphics_position0(OPT_ARGS_NUM);
158 double opt_general_graphics_position1(OPT_ARGS_NUM);
159 double opt_general_graphics_size0(OPT_ARGS_NUM);
160 double opt_general_graphics_size1(OPT_ARGS_NUM);
161 double opt_general_context_position0(OPT_ARGS_NUM);
162 double opt_general_context_position1(OPT_ARGS_NUM);
163 double opt_general_file_chooser_position0(OPT_ARGS_NUM);
164 double opt_general_file_chooser_position1(OPT_ARGS_NUM);
165 double opt_general_polygon_offset_always(OPT_ARGS_NUM);
166 double opt_general_polygon_offset_factor(OPT_ARGS_NUM);
167 double opt_general_polygon_offset_units(OPT_ARGS_NUM);
168 double opt_general_system_menu_bar(OPT_ARGS_NUM);
169 double opt_general_native_file_chooser(OPT_ARGS_NUM);
170 double opt_general_show_module_menu(OPT_ARGS_NUM);
171 double opt_general_message_size(OPT_ARGS_NUM);
172 double opt_general_message_fontsize(OPT_ARGS_NUM);
173 double opt_general_detached_menu(OPT_ARGS_NUM);
174 double opt_general_detached_process(OPT_ARGS_NUM);
175 double opt_general_menu_size0(OPT_ARGS_NUM);
176 double opt_general_menu_size1(OPT_ARGS_NUM);
177 double opt_general_menu_position0(OPT_ARGS_NUM);
178 double opt_general_menu_position1(OPT_ARGS_NUM);
179 double opt_general_option_position0(OPT_ARGS_NUM);
180 double opt_general_option_position1(OPT_ARGS_NUM);
181 double opt_general_plugin_position0(OPT_ARGS_NUM);
182 double opt_general_plugin_position1(OPT_ARGS_NUM);
183 double opt_general_plugin_size0(OPT_ARGS_NUM);
184 double opt_general_plugin_size1(OPT_ARGS_NUM);
185 double opt_general_field_position0(OPT_ARGS_NUM);
186 double opt_general_field_position1(OPT_ARGS_NUM);
187 double opt_general_field_size0(OPT_ARGS_NUM);
188 double opt_general_field_size1(OPT_ARGS_NUM);
189 double opt_general_extra_position0(OPT_ARGS_NUM);
190 double opt_general_extra_position1(OPT_ARGS_NUM);
191 double opt_general_extra_size0(OPT_ARGS_NUM);
192 double opt_general_extra_size1(OPT_ARGS_NUM);
193 double opt_general_statistics_position0(OPT_ARGS_NUM);
194 double opt_general_statistics_position1(OPT_ARGS_NUM);
195 double opt_general_visibility_position0(OPT_ARGS_NUM);
196 double opt_general_visibility_position1(OPT_ARGS_NUM);
197 double opt_general_clip_position0(OPT_ARGS_NUM);
198 double opt_general_clip_position1(OPT_ARGS_NUM);
199 double opt_general_manip_position0(OPT_ARGS_NUM);
200 double opt_general_manip_position1(OPT_ARGS_NUM);
201 double opt_general_hot_position0(OPT_ARGS_NUM);
202 double opt_general_hot_position1(OPT_ARGS_NUM);
203 double opt_general_high_resolution_graphics(OPT_ARGS_NUM);
204 double opt_general_session_save(OPT_ARGS_NUM);
205 double opt_general_options_save(OPT_ARGS_NUM);
206 double opt_general_rotation0(OPT_ARGS_NUM);
207 double opt_general_rotation1(OPT_ARGS_NUM);
208 double opt_general_rotation2(OPT_ARGS_NUM);
209 double opt_general_rotation_center0(OPT_ARGS_NUM);
210 double opt_general_rotation_center1(OPT_ARGS_NUM);
211 double opt_general_rotation_center2(OPT_ARGS_NUM);
212 double opt_general_quaternion0(OPT_ARGS_NUM);
213 double opt_general_quaternion1(OPT_ARGS_NUM);
214 double opt_general_quaternion2(OPT_ARGS_NUM);
215 double opt_general_quaternion3(OPT_ARGS_NUM);
216 double opt_general_translation0(OPT_ARGS_NUM);
217 double opt_general_translation1(OPT_ARGS_NUM);
218 double opt_general_translation2(OPT_ARGS_NUM);
219 double opt_general_scale0(OPT_ARGS_NUM);
220 double opt_general_scale1(OPT_ARGS_NUM);
221 double opt_general_scale2(OPT_ARGS_NUM);
222 double opt_general_clip_factor(OPT_ARGS_NUM);
223 double opt_general_display_border_factor(OPT_ARGS_NUM);
224 double opt_general_point_size(OPT_ARGS_NUM);
225 double opt_general_line_width(OPT_ARGS_NUM);
226 double opt_general_shine(OPT_ARGS_NUM);
227 double opt_general_shine_exponent(OPT_ARGS_NUM);
228 double opt_general_color_scheme(OPT_ARGS_NUM);
229 double opt_general_background_gradient(OPT_ARGS_NUM);
230 double opt_general_background_image_position0(OPT_ARGS_NUM);
231 double opt_general_background_image_position1(OPT_ARGS_NUM);
232 double opt_general_background_image_size0(OPT_ARGS_NUM);
233 double opt_general_background_image_size1(OPT_ARGS_NUM);
234 double opt_general_background_image_3d(OPT_ARGS_NUM);
235 double opt_general_background_image_page(OPT_ARGS_NUM);
236 double opt_general_verbosity(OPT_ARGS_NUM);
237 double opt_general_progress_meter_step(OPT_ARGS_NUM);
238 double opt_general_nopopup(OPT_ARGS_NUM);
239 double opt_general_non_modal_windows(OPT_ARGS_NUM);
240 double opt_general_terminal(OPT_ARGS_NUM);
241 double opt_general_tooltips(OPT_ARGS_NUM);
242 double opt_general_input_scrolling(OPT_ARGS_NUM);
243 double opt_general_confirm_overwrite(OPT_ARGS_NUM);
244 double opt_general_orthographic(OPT_ARGS_NUM);
245 double opt_general_mouse_selection(OPT_ARGS_NUM);
246 double opt_general_mouse_hover_meshes(OPT_ARGS_NUM);
247 double opt_general_mouse_invert_zoom(OPT_ARGS_NUM);
248 double opt_general_draw_bounding_box(OPT_ARGS_NUM);
249 double opt_general_draw_oriented_bounding_box(OPT_ARGS_NUM);
250 double opt_general_fast_redraw(OPT_ARGS_NUM);
251 double opt_general_xmin(OPT_ARGS_NUM);
252 double opt_general_xmax(OPT_ARGS_NUM);
253 double opt_general_ymin(OPT_ARGS_NUM);
254 double opt_general_ymax(OPT_ARGS_NUM);
255 double opt_general_zmin(OPT_ARGS_NUM);
256 double opt_general_zmax(OPT_ARGS_NUM);
257 double opt_general_lc(OPT_ARGS_NUM);
258 double opt_general_axes(OPT_ARGS_NUM);
259 double opt_general_axes_mikado(OPT_ARGS_NUM);
260 double opt_general_axes_auto_position(OPT_ARGS_NUM);
261 double opt_general_axes_xmin(OPT_ARGS_NUM);
262 double opt_general_axes_xmax(OPT_ARGS_NUM);
263 double opt_general_axes_ymin(OPT_ARGS_NUM);
264 double opt_general_axes_ymax(OPT_ARGS_NUM);
265 double opt_general_axes_zmin(OPT_ARGS_NUM);
266 double opt_general_axes_zmax(OPT_ARGS_NUM);
267 double opt_general_axes_tics0(OPT_ARGS_NUM);
268 double opt_general_axes_tics1(OPT_ARGS_NUM);
269 double opt_general_axes_tics2(OPT_ARGS_NUM);
270 double opt_general_axes_force_value(OPT_ARGS_NUM);
271 double opt_general_axes_value_xmin(OPT_ARGS_NUM);
272 double opt_general_axes_value_xmax(OPT_ARGS_NUM);
273 double opt_general_axes_value_ymin(OPT_ARGS_NUM);
274 double opt_general_axes_value_ymax(OPT_ARGS_NUM);
275 double opt_general_axes_value_zmin(OPT_ARGS_NUM);
276 double opt_general_axes_value_zmax(OPT_ARGS_NUM);
277 double opt_general_small_axes(OPT_ARGS_NUM);
278 double opt_general_small_axes_position0(OPT_ARGS_NUM);
279 double opt_general_small_axes_position1(OPT_ARGS_NUM);
280 double opt_general_small_axes_size(OPT_ARGS_NUM);
281 double opt_general_quadric_subdivisions(OPT_ARGS_NUM);
282 double opt_general_double_buffer(OPT_ARGS_NUM);
283 double opt_general_antialiasing(OPT_ARGS_NUM);
284 double opt_general_alpha_blending(OPT_ARGS_NUM);
285 double opt_general_vector_type(OPT_ARGS_NUM);
286 double opt_general_arrow_head_radius(OPT_ARGS_NUM);
287 double opt_general_arrow_stem_length(OPT_ARGS_NUM);
288 double opt_general_arrow_stem_radius(OPT_ARGS_NUM);
289 double opt_general_trackball(OPT_ARGS_NUM);
290 double opt_general_trackball_hyperbolic_sheet(OPT_ARGS_NUM);
291 double opt_general_gamepad(OPT_ARGS_NUM);
292 double opt_general_rotation_center_cg(OPT_ARGS_NUM);
293 double opt_general_zoom_factor(OPT_ARGS_NUM);
294 double opt_general_expert_mode(OPT_ARGS_NUM);
295 double opt_general_stereo_mode(OPT_ARGS_NUM);
296 double opt_general_camera_mode(OPT_ARGS_NUM);
297 #if defined(HAVE_VISUDEV)
298 double opt_general_heavy_visualization(OPT_ARGS_NUM);
299 #endif
300 double opt_general_eye_sep_ratio(OPT_ARGS_NUM);
301 double opt_general_focallength_ratio(OPT_ARGS_NUM);
302 double opt_general_camera_aperture(OPT_ARGS_NUM);
303 double opt_general_clip0a(OPT_ARGS_NUM);
304 double opt_general_clip0b(OPT_ARGS_NUM);
305 double opt_general_clip0c(OPT_ARGS_NUM);
306 double opt_general_clip0d(OPT_ARGS_NUM);
307 double opt_general_clip1a(OPT_ARGS_NUM);
308 double opt_general_clip1b(OPT_ARGS_NUM);
309 double opt_general_clip1c(OPT_ARGS_NUM);
310 double opt_general_clip1d(OPT_ARGS_NUM);
311 double opt_general_clip2a(OPT_ARGS_NUM);
312 double opt_general_clip2b(OPT_ARGS_NUM);
313 double opt_general_clip2c(OPT_ARGS_NUM);
314 double opt_general_clip2d(OPT_ARGS_NUM);
315 double opt_general_clip3a(OPT_ARGS_NUM);
316 double opt_general_clip3b(OPT_ARGS_NUM);
317 double opt_general_clip3c(OPT_ARGS_NUM);
318 double opt_general_clip3d(OPT_ARGS_NUM);
319 double opt_general_clip4a(OPT_ARGS_NUM);
320 double opt_general_clip4b(OPT_ARGS_NUM);
321 double opt_general_clip4c(OPT_ARGS_NUM);
322 double opt_general_clip4d(OPT_ARGS_NUM);
323 double opt_general_clip5a(OPT_ARGS_NUM);
324 double opt_general_clip5b(OPT_ARGS_NUM);
325 double opt_general_clip5c(OPT_ARGS_NUM);
326 double opt_general_clip5d(OPT_ARGS_NUM);
327 double opt_general_clip_whole_elements(OPT_ARGS_NUM);
328 double opt_general_clip_only_draw_intersecting_volume(OPT_ARGS_NUM);
329 double opt_general_clip_only_volume(OPT_ARGS_NUM);
330 double opt_general_light0(OPT_ARGS_NUM);
331 double opt_general_light00(OPT_ARGS_NUM);
332 double opt_general_light01(OPT_ARGS_NUM);
333 double opt_general_light02(OPT_ARGS_NUM);
334 double opt_general_light03(OPT_ARGS_NUM);
335 double opt_general_light1(OPT_ARGS_NUM);
336 double opt_general_light10(OPT_ARGS_NUM);
337 double opt_general_light11(OPT_ARGS_NUM);
338 double opt_general_light12(OPT_ARGS_NUM);
339 double opt_general_light13(OPT_ARGS_NUM);
340 double opt_general_light2(OPT_ARGS_NUM);
341 double opt_general_light20(OPT_ARGS_NUM);
342 double opt_general_light21(OPT_ARGS_NUM);
343 double opt_general_light22(OPT_ARGS_NUM);
344 double opt_general_light23(OPT_ARGS_NUM);
345 double opt_general_light3(OPT_ARGS_NUM);
346 double opt_general_light30(OPT_ARGS_NUM);
347 double opt_general_light31(OPT_ARGS_NUM);
348 double opt_general_light32(OPT_ARGS_NUM);
349 double opt_general_light33(OPT_ARGS_NUM);
350 double opt_general_light4(OPT_ARGS_NUM);
351 double opt_general_light40(OPT_ARGS_NUM);
352 double opt_general_light41(OPT_ARGS_NUM);
353 double opt_general_light42(OPT_ARGS_NUM);
354 double opt_general_light43(OPT_ARGS_NUM);
355 double opt_general_light5(OPT_ARGS_NUM);
356 double opt_general_light50(OPT_ARGS_NUM);
357 double opt_general_light51(OPT_ARGS_NUM);
358 double opt_general_light52(OPT_ARGS_NUM);
359 double opt_general_light53(OPT_ARGS_NUM);
360 double opt_general_num_threads(OPT_ARGS_NUM);
361 double opt_geometry_transform(OPT_ARGS_NUM);
362 double opt_geometry_transform00(OPT_ARGS_NUM);
363 double opt_geometry_transform01(OPT_ARGS_NUM);
364 double opt_geometry_transform02(OPT_ARGS_NUM);
365 double opt_geometry_transform10(OPT_ARGS_NUM);
366 double opt_geometry_transform11(OPT_ARGS_NUM);
367 double opt_geometry_transform12(OPT_ARGS_NUM);
368 double opt_geometry_transform20(OPT_ARGS_NUM);
369 double opt_geometry_transform21(OPT_ARGS_NUM);
370 double opt_geometry_transform22(OPT_ARGS_NUM);
371 double opt_geometry_offset0(OPT_ARGS_NUM);
372 double opt_geometry_offset1(OPT_ARGS_NUM);
373 double opt_geometry_offset2(OPT_ARGS_NUM);
374 double opt_geometry_auto_coherence(OPT_ARGS_NUM);
375 double opt_geometry_oriented_physicals(OPT_ARGS_NUM);
376 double opt_geometry_highlight_orphans(OPT_ARGS_NUM);
377 double opt_geometry_tolerance(OPT_ARGS_NUM);
378 double opt_geometry_tolerance_boolean(OPT_ARGS_NUM);
379 double opt_geometry_normals(OPT_ARGS_NUM);
380 double opt_geometry_tangents(OPT_ARGS_NUM);
381 double opt_geometry_points(OPT_ARGS_NUM);
382 double opt_geometry_curves(OPT_ARGS_NUM);
383 double opt_geometry_surfaces(OPT_ARGS_NUM);
384 double opt_geometry_volumes(OPT_ARGS_NUM);
385 double opt_geometry_point_labels(OPT_ARGS_NUM);
386 double opt_geometry_curve_labels(OPT_ARGS_NUM);
387 double opt_geometry_surface_labels(OPT_ARGS_NUM);
388 double opt_geometry_volume_labels(OPT_ARGS_NUM);
389 double opt_geometry_label_type(OPT_ARGS_NUM);
390 double opt_geometry_point_size(OPT_ARGS_NUM);
391 double opt_geometry_point_sel_size(OPT_ARGS_NUM);
392 double opt_geometry_point_type(OPT_ARGS_NUM);
393 double opt_geometry_reparam_on_face_robust(OPT_ARGS_NUM);
394 double opt_geometry_curve_width(OPT_ARGS_NUM);
395 double opt_geometry_curve_sel_width(OPT_ARGS_NUM);
396 double opt_geometry_curve_type(OPT_ARGS_NUM);
397 double opt_geometry_surface_type(OPT_ARGS_NUM);
398 double opt_geometry_light(OPT_ARGS_NUM);
399 double opt_geometry_light_two_side(OPT_ARGS_NUM);
400 double opt_geometry_occ_auto_embed(OPT_ARGS_NUM);
401 double opt_geometry_occ_auto_fix(OPT_ARGS_NUM);
402 double opt_geometry_occ_bounds_use_stl(OPT_ARGS_NUM);
403 double opt_geometry_occ_disable_stl(OPT_ARGS_NUM);
404 double opt_geometry_occ_fix_degenerated(OPT_ARGS_NUM);
405 double opt_geometry_occ_fix_small_edges(OPT_ARGS_NUM);
406 double opt_geometry_occ_fix_small_faces(OPT_ARGS_NUM);
407 double opt_geometry_occ_sew_faces(OPT_ARGS_NUM);
408 double opt_geometry_occ_make_solids(OPT_ARGS_NUM);
409 double opt_geometry_occ_union_unify(OPT_ARGS_NUM);
410 double opt_geometry_occ_parallel(OPT_ARGS_NUM);
411 double opt_geometry_occ_boolean_preserve_numbering(OPT_ARGS_NUM);
412 double opt_geometry_occ_scaling(OPT_ARGS_NUM);
413 double opt_geometry_occ_import_labels(OPT_ARGS_NUM);
414 double opt_geometry_occ_thrusections_degree(OPT_ARGS_NUM);
415 double opt_geometry_occ_use_generic_closest_point(OPT_ARGS_NUM);
416 double opt_geometry_old_circle(OPT_ARGS_NUM);
417 double opt_geometry_old_newreg(OPT_ARGS_NUM);
418 double opt_geometry_old_ruled_surface(OPT_ARGS_NUM);
419 double opt_geometry_num_sub_edges(OPT_ARGS_NUM);
420 double opt_geometry_extrude_spline_points(OPT_ARGS_NUM);
421 double opt_geometry_extrude_return_lateral(OPT_ARGS_NUM);
422 double opt_geometry_scaling_factor(OPT_ARGS_NUM);
423 double opt_geometry_snap_points(OPT_ARGS_NUM);
424 double opt_geometry_snap0(OPT_ARGS_NUM);
425 double opt_geometry_snap1(OPT_ARGS_NUM);
426 double opt_geometry_snap2(OPT_ARGS_NUM);
427 double opt_geometry_clip(OPT_ARGS_NUM);
428 double opt_geometry_copy_meshing_method(OPT_ARGS_NUM);
429 double opt_geometry_double_clicked_entity_tag(OPT_ARGS_NUM);
430 double opt_geometry_exact_extrusion(OPT_ARGS_NUM);
431 double opt_geometry_match_geom_and_mesh(OPT_ARGS_NUM);
432 double opt_geometry_match_mesh_scale_factor(OPT_ARGS_NUM);
433 double opt_geometry_match_mesh_tolerance(OPT_ARGS_NUM);
434 double opt_mesh_label_sampling(OPT_ARGS_NUM);
435 double opt_mesh_optimize(OPT_ARGS_NUM);
436 double opt_mesh_optimize_threshold(OPT_ARGS_NUM);
437 double opt_mesh_optimize_netgen(OPT_ARGS_NUM);
438 double opt_mesh_refine_steps(OPT_ARGS_NUM);
439 double opt_mesh_normals(OPT_ARGS_NUM);
440 double opt_mesh_num_sub_edges(OPT_ARGS_NUM);
441 double opt_mesh_tangents(OPT_ARGS_NUM);
442 double opt_mesh_explode(OPT_ARGS_NUM);
443 double opt_mesh_scaling_factor(OPT_ARGS_NUM);
444 double opt_mesh_lc_min(OPT_ARGS_NUM);
445 double opt_mesh_lc_max(OPT_ARGS_NUM);
446 double opt_mesh_tolerance_edge_length(OPT_ARGS_NUM);
447 double opt_mesh_tolerance_initial_delaunay(OPT_ARGS_NUM);
448 double opt_mesh_lc_factor(OPT_ARGS_NUM);
449 double opt_mesh_lc_from_curvature(OPT_ARGS_NUM);
450 double opt_mesh_lc_from_curvature_iso(OPT_ARGS_NUM);
451 double opt_mesh_lc_from_points(OPT_ARGS_NUM);
452 double opt_mesh_lc_from_parametric_points(OPT_ARGS_NUM);
453 double opt_mesh_lc_extend_from_boundary(OPT_ARGS_NUM);
454 double opt_mesh_lc_integration_precision(OPT_ARGS_NUM);
455 double opt_mesh_rand_factor(OPT_ARGS_NUM);
456 double opt_mesh_rand_factor3d(OPT_ARGS_NUM);
457 double opt_mesh_quality_inf(OPT_ARGS_NUM);
458 double opt_mesh_quality_sup(OPT_ARGS_NUM);
459 double opt_mesh_quality_type(OPT_ARGS_NUM);
460 double opt_mesh_radius_inf(OPT_ARGS_NUM);
461 double opt_mesh_radius_sup(OPT_ARGS_NUM);
462 double opt_mesh_label_type(OPT_ARGS_NUM);
463 double opt_mesh_first_element_tag(OPT_ARGS_NUM);
464 double opt_mesh_first_node_tag(OPT_ARGS_NUM);
465 double opt_mesh_nodes(OPT_ARGS_NUM);
466 double opt_mesh_lines(OPT_ARGS_NUM);
467 double opt_mesh_triangles(OPT_ARGS_NUM);
468 double opt_mesh_quadrangles(OPT_ARGS_NUM);
469 double opt_mesh_tetrahedra(OPT_ARGS_NUM);
470 double opt_mesh_hexahedra(OPT_ARGS_NUM);
471 double opt_mesh_prisms(OPT_ARGS_NUM);
472 double opt_mesh_pyramids(OPT_ARGS_NUM);
473 double opt_mesh_trihedra(OPT_ARGS_NUM);
474 double opt_mesh_surface_edges(OPT_ARGS_NUM);
475 double opt_mesh_surface_faces(OPT_ARGS_NUM);
476 double opt_mesh_volume_edges(OPT_ARGS_NUM);
477 double opt_mesh_volume_faces(OPT_ARGS_NUM);
478 double opt_mesh_node_labels(OPT_ARGS_NUM);
479 double opt_mesh_line_labels(OPT_ARGS_NUM);
480 double opt_mesh_surface_labels(OPT_ARGS_NUM);
481 double opt_mesh_volume_labels(OPT_ARGS_NUM);
482 double opt_mesh_node_size(OPT_ARGS_NUM);
483 double opt_mesh_node_type(OPT_ARGS_NUM);
484 double opt_mesh_line_width(OPT_ARGS_NUM);
485 double opt_mesh_smooth_normals(OPT_ARGS_NUM);
486 double opt_mesh_smooth_ratio(OPT_ARGS_NUM);
487 double opt_mesh_angle_smooth_normals(OPT_ARGS_NUM);
488 double opt_mesh_aniso_max(OPT_ARGS_NUM);
489 double opt_mesh_light(OPT_ARGS_NUM);
490 double opt_mesh_light_lines(OPT_ARGS_NUM);
491 double opt_mesh_light_two_side(OPT_ARGS_NUM);
492 double opt_mesh_file_format(OPT_ARGS_NUM);
493 double opt_mesh_newton_convergence_test_xyz(OPT_ARGS_NUM);
494 double opt_mesh_msh_file_version(OPT_ARGS_NUM);
495 double opt_mesh_med_file_minor_version(OPT_ARGS_NUM);
496 double opt_mesh_med_import_groups_of_nodes(OPT_ARGS_NUM);
497 double opt_mesh_med_single_model(OPT_ARGS_NUM);
498 double opt_mesh_partition_split_mesh_files(OPT_ARGS_NUM);
499 double opt_mesh_partition_save_topology_file(OPT_ARGS_NUM);
500 double opt_mesh_partition_num(OPT_ARGS_NUM);
501 double opt_mesh_partition_metis_algorithm(OPT_ARGS_NUM);
502 double opt_mesh_partition_metis_edge_matching(OPT_ARGS_NUM);
503 double opt_mesh_partition_metis_refinement_algorithm(OPT_ARGS_NUM);
504 double opt_mesh_partition_metis_max_load_imbalance(OPT_ARGS_NUM);
505 double opt_mesh_partition_metis_objective(OPT_ARGS_NUM);
506 double opt_mesh_partition_metis_min_conn(OPT_ARGS_NUM);
507 double opt_mesh_partition_hex_weight(OPT_ARGS_NUM);
508 double opt_mesh_partition_pri_weight(OPT_ARGS_NUM);
509 double opt_mesh_partition_pyr_weight(OPT_ARGS_NUM);
510 double opt_mesh_partition_trih_weight(OPT_ARGS_NUM);
511 double opt_mesh_partition_qua_weight(OPT_ARGS_NUM);
512 double opt_mesh_partition_tet_weight(OPT_ARGS_NUM);
513 double opt_mesh_partition_tri_weight(OPT_ARGS_NUM);
514 double opt_mesh_partition_line_weight(OPT_ARGS_NUM);
515 double opt_mesh_partition_create_topology(OPT_ARGS_NUM);
516 double opt_mesh_partition_create_physicals(OPT_ARGS_NUM);
517 double opt_mesh_partition_create_ghost_cells(OPT_ARGS_NUM);
518 double opt_mesh_partition_old_style_msh2(OPT_ARGS_NUM);
519 double opt_mesh_partition_convert_msh2(OPT_ARGS_NUM);
520 double opt_mesh_create_topology_msh2(OPT_ARGS_NUM);
521 double opt_mesh_binary(OPT_ARGS_NUM);
522 double opt_mesh_smooth_cross_field(OPT_ARGS_NUM);
523 double opt_mesh_cross_field_closest_point(OPT_ARGS_NUM);
524 double opt_mesh_bdf_field_format(OPT_ARGS_NUM);
525 double opt_mesh_stl_remove_duplicate_triangles(OPT_ARGS_NUM);
526 double opt_mesh_stl_one_solid_per_surface(OPT_ARGS_NUM);
527 double opt_mesh_stl_linear_deflection(OPT_ARGS_NUM);
528 double opt_mesh_stl_angular_deflection(OPT_ARGS_NUM);
529 double opt_mesh_boundary_layer_fan_elements(OPT_ARGS_NUM);
530 double opt_mesh_nb_smoothing(OPT_ARGS_NUM);
531 double opt_mesh_algo2d(OPT_ARGS_NUM);
532 double opt_mesh_algo3d(OPT_ARGS_NUM);
533 double opt_mesh_algo_switch_on_failure(OPT_ARGS_NUM);
534 double opt_mesh_algo_recombine(OPT_ARGS_NUM);
535 double opt_mesh_max_retries(OPT_ARGS_NUM);
536 double opt_mesh_recombine_all(OPT_ARGS_NUM);
537 double opt_mesh_recombine_optimize_topology(OPT_ARGS_NUM);
538 double opt_mesh_recombine3d_all(OPT_ARGS_NUM);
539 double opt_mesh_recombine3d_level(OPT_ARGS_NUM);
540 double opt_mesh_recombine3d_conformity(OPT_ARGS_NUM);
541 double opt_mesh_flexible_transfinite(OPT_ARGS_NUM);
542 double opt_mesh_algo_subdivide(OPT_ARGS_NUM);
543 double opt_mesh_mesh_only_visible(OPT_ARGS_NUM);
544 double opt_mesh_mesh_only_empty(OPT_ARGS_NUM);
545 double opt_mesh_min_circle_nodes(OPT_ARGS_NUM);
546 double opt_mesh_allow_swap_edge_angle(OPT_ARGS_NUM);
547 double opt_mesh_min_curve_nodes(OPT_ARGS_NUM);
548 double opt_mesh_order(OPT_ARGS_NUM);
549 double opt_mesh_ho_optimize(OPT_ARGS_NUM);
550 double opt_mesh_ho_periodic(OPT_ARGS_NUM);
551 double opt_mesh_ho_save_periodic(OPT_ARGS_NUM);
552 double opt_mesh_ho_nlayers(OPT_ARGS_NUM);
553 double opt_mesh_ho_threshold_min(OPT_ARGS_NUM);
554 double opt_mesh_ho_threshold_max(OPT_ARGS_NUM);
555 double opt_mesh_ho_poisson(OPT_ARGS_NUM);
556 double opt_mesh_ho_prim_surf_mesh(OPT_ARGS_NUM);
557 double opt_mesh_ho_dist_cad(OPT_ARGS_NUM);
558 double opt_mesh_ho_iter_max(OPT_ARGS_NUM);
559 double opt_mesh_ho_pass_max(OPT_ARGS_NUM);
560 double opt_mesh_ho_fast_new_algo(OPT_ARGS_NUM);
561 double opt_mesh_ho_curve_outer_BL(OPT_ARGS_NUM);
562 double opt_mesh_ho_max_rho(OPT_ARGS_NUM);
563 double opt_mesh_ho_max_angle(OPT_ARGS_NUM);
564 double opt_mesh_ho_max_in_angle(OPT_ARGS_NUM);
565 double opt_mesh_second_order_linear(OPT_ARGS_NUM);
566 double opt_mesh_second_order_incomplete(OPT_ARGS_NUM);
567 double opt_mesh_cgns_import_order(OPT_ARGS_NUM);
568 double opt_mesh_cgns_import_ignore_bc(OPT_ARGS_NUM);
569 double opt_mesh_cgns_import_ignore_solution(OPT_ARGS_NUM);
570 double opt_mesh_cgns_construct_topology(OPT_ARGS_NUM);
571 double opt_mesh_cgns_export_cpex0045(OPT_ARGS_NUM);
572 double opt_mesh_cgns_export_structured(OPT_ARGS_NUM);
573 double opt_mesh_dual(OPT_ARGS_NUM);
574 double opt_mesh_voronoi(OPT_ARGS_NUM);
575 double opt_mesh_draw_skin_only(OPT_ARGS_NUM);
576 double opt_mesh_save_all(OPT_ARGS_NUM);
577 double opt_mesh_save_element_tag_type(OPT_ARGS_NUM);
578 double opt_mesh_save_parametric(OPT_ARGS_NUM);
579 double opt_mesh_save_topology(OPT_ARGS_NUM);
580 double opt_mesh_read_groups_of_elements(OPT_ARGS_NUM);
581 double opt_mesh_save_groups_of_elements(OPT_ARGS_NUM);
582 double opt_mesh_save_groups_of_nodes(OPT_ARGS_NUM);
583 double opt_mesh_color_carousel(OPT_ARGS_NUM);
584 double opt_mesh_compound_classify(OPT_ARGS_NUM);
585 double opt_mesh_compound_lc_factor(OPT_ARGS_NUM);
586 double opt_mesh_random_seed(OPT_ARGS_NUM);
587 double opt_mesh_switch_elem_tags(OPT_ARGS_NUM);
588 double opt_mesh_zone_definition(OPT_ARGS_NUM);
589 double opt_mesh_nb_nodes(OPT_ARGS_NUM);
590 double opt_mesh_nb_triangles(OPT_ARGS_NUM);
591 double opt_mesh_nb_quadrangles(OPT_ARGS_NUM);
592 double opt_mesh_nb_tetrahedra(OPT_ARGS_NUM);
593 double opt_mesh_nb_hexahedra(OPT_ARGS_NUM);
594 double opt_mesh_nb_prisms(OPT_ARGS_NUM);
595 double opt_mesh_nb_pyramids(OPT_ARGS_NUM);
596 double opt_mesh_nb_trihedra(OPT_ARGS_NUM);
597 double opt_mesh_cpu_time(OPT_ARGS_NUM);
598 double opt_mesh_clip(OPT_ARGS_NUM);
599 double opt_mesh_ignore_periodicity(OPT_ARGS_NUM);
600 double opt_mesh_preserve_numbering_msh2(OPT_ARGS_NUM);
601 double opt_mesh_max_iter_delaunay_3d(OPT_ARGS_NUM);
602 double opt_mesh_max_num_threads_1d(OPT_ARGS_NUM);
603 double opt_mesh_max_num_threads_2d(OPT_ARGS_NUM);
604 double opt_mesh_max_num_threads_3d(OPT_ARGS_NUM);
605 double opt_mesh_angle_tolerance_facet_overlap(OPT_ARGS_NUM);
606 double opt_mesh_tolerance_reference_element(OPT_ARGS_NUM);
607 double opt_mesh_renumber(OPT_ARGS_NUM);
608 double opt_mesh_unv_strict_format(OPT_ARGS_NUM);
609 double opt_mesh_reparam_max_triangles(OPT_ARGS_NUM);
610 double opt_mesh_ignore_parametrization(OPT_ARGS_NUM);
611 double opt_mesh_quadqs_sizemap_method(OPT_ARGS_NUM);
612 double opt_mesh_quadqs_topo_optim_methods(OPT_ARGS_NUM);
613 double opt_mesh_quadqs_remeshing_boldness(OPT_ARGS_NUM);
614 double opt_mesh_quadqs_scaling_on_triangulation(OPT_ARGS_NUM);
615 double opt_mesh_old_initial_delaunay_2d(OPT_ARGS_NUM);
616 double opt_solver_listen(OPT_ARGS_NUM);
617 double opt_solver_timeout(OPT_ARGS_NUM);
618 double opt_solver_plugins(OPT_ARGS_NUM);
619 double opt_solver_auto_load_database(OPT_ARGS_NUM);
620 double opt_solver_auto_save_database(OPT_ARGS_NUM);
621 double opt_solver_auto_archive_output_files(OPT_ARGS_NUM);
622 double opt_solver_auto_check(OPT_ARGS_NUM);
623 double opt_solver_auto_mesh(OPT_ARGS_NUM);
624 double opt_solver_auto_merge_file(OPT_ARGS_NUM);
625 double opt_solver_auto_show_views(OPT_ARGS_NUM);
626 double opt_solver_auto_show_last_step(OPT_ARGS_NUM);
627 double opt_solver_show_invisible_parameters(OPT_ARGS_NUM);
628 double opt_post_horizontal_scales(OPT_ARGS_NUM);
629 double opt_post_binary(OPT_ARGS_NUM);
630 double opt_post_link(OPT_ARGS_NUM);
631 double opt_post_smooth(OPT_ARGS_NUM);
632 double opt_post_anim_delay(OPT_ARGS_NUM);
633 double opt_post_anim_cycle(OPT_ARGS_NUM);
634 double opt_post_anim_step(OPT_ARGS_NUM);
635 double opt_post_combine_remove_orig(OPT_ARGS_NUM);
636 double opt_post_combine_copy_options(OPT_ARGS_NUM);
637 double opt_post_plugins(OPT_ARGS_NUM);
638 double opt_post_nb_views(OPT_ARGS_NUM);
639 double opt_post_file_format(OPT_ARGS_NUM);
640 double opt_post_force_node_data(OPT_ARGS_NUM);
641 double opt_post_force_element_data(OPT_ARGS_NUM);
642 double opt_post_save_mesh(OPT_ARGS_NUM);
643 double opt_post_save_interpolation_matrices(OPT_ARGS_NUM);
644 double opt_post_double_clicked_graph_point_x(OPT_ARGS_NUM);
645 double opt_post_double_clicked_graph_point_y(OPT_ARGS_NUM);
646 double opt_post_double_clicked_view(OPT_ARGS_NUM);
647 double opt_view_nb_timestep(OPT_ARGS_NUM);
648 double opt_view_nb_non_empty_timestep(OPT_ARGS_NUM);
649 double opt_view_timestep(OPT_ARGS_NUM);
650 double opt_view_time(OPT_ARGS_NUM);
651 double opt_view_min(OPT_ARGS_NUM);
652 double opt_view_max(OPT_ARGS_NUM);
653 double opt_view_min_visible(OPT_ARGS_NUM);
654 double opt_view_max_visible(OPT_ARGS_NUM);
655 double opt_view_custom_min(OPT_ARGS_NUM);
656 double opt_view_custom_max(OPT_ARGS_NUM);
657 double opt_view_custom_abscissa_min(OPT_ARGS_NUM);
658 double opt_view_custom_abscissa_max(OPT_ARGS_NUM);
659 double opt_view_xmin(OPT_ARGS_NUM);
660 double opt_view_xmax(OPT_ARGS_NUM);
661 double opt_view_ymin(OPT_ARGS_NUM);
662 double opt_view_ymax(OPT_ARGS_NUM);
663 double opt_view_zmin(OPT_ARGS_NUM);
664 double opt_view_zmax(OPT_ARGS_NUM);
665 double opt_view_offset0(OPT_ARGS_NUM);
666 double opt_view_offset1(OPT_ARGS_NUM);
667 double opt_view_offset2(OPT_ARGS_NUM);
668 double opt_view_raise0(OPT_ARGS_NUM);
669 double opt_view_raise1(OPT_ARGS_NUM);
670 double opt_view_raise2(OPT_ARGS_NUM);
671 double opt_view_normal_raise(OPT_ARGS_NUM);
672 double opt_view_transform00(OPT_ARGS_NUM);
673 double opt_view_transform01(OPT_ARGS_NUM);
674 double opt_view_transform02(OPT_ARGS_NUM);
675 double opt_view_transform10(OPT_ARGS_NUM);
676 double opt_view_transform11(OPT_ARGS_NUM);
677 double opt_view_transform12(OPT_ARGS_NUM);
678 double opt_view_transform20(OPT_ARGS_NUM);
679 double opt_view_transform21(OPT_ARGS_NUM);
680 double opt_view_transform22(OPT_ARGS_NUM);
681 double opt_view_arrow_size_min(OPT_ARGS_NUM);
682 double opt_view_arrow_size_max(OPT_ARGS_NUM);
683 double opt_view_normals(OPT_ARGS_NUM);
684 double opt_view_tangents(OPT_ARGS_NUM);
685 double opt_view_displacement_factor(OPT_ARGS_NUM);
686 double opt_view_fake_transparency(OPT_ARGS_NUM);
687 double opt_view_use_stipple(OPT_ARGS_NUM);
688 double opt_view_explode(OPT_ARGS_NUM);
689 double opt_view_visible(OPT_ARGS_NUM);
690 double opt_view_intervals_type(OPT_ARGS_NUM);
691 double opt_view_saturate_values(OPT_ARGS_NUM);
692 double opt_view_max_recursion_level(OPT_ARGS_NUM);
693 double opt_view_adapt_visualization_grid(OPT_ARGS_NUM);
694 double opt_view_target_error(OPT_ARGS_NUM);
695 double opt_view_colormap_alpha(OPT_ARGS_NUM);
696 double opt_view_colormap_alpha_power(OPT_ARGS_NUM);
697 double opt_view_colormap_beta(OPT_ARGS_NUM);
698 double opt_view_colormap_bias(OPT_ARGS_NUM);
699 double opt_view_colormap_curvature(OPT_ARGS_NUM);
700 double opt_view_colormap_invert(OPT_ARGS_NUM);
701 double opt_view_colormap_number(OPT_ARGS_NUM);
702 double opt_view_colormap_rotation(OPT_ARGS_NUM);
703 double opt_view_colormap_swap(OPT_ARGS_NUM);
704 double opt_view_external_view(OPT_ARGS_NUM);
705 double opt_view_gen_raise_view(OPT_ARGS_NUM);
706 double opt_view_gen_raise_factor(OPT_ARGS_NUM);
707 double opt_view_use_gen_raise(OPT_ARGS_NUM);
708 double opt_view_type(OPT_ARGS_NUM);
709 double opt_view_axes(OPT_ARGS_NUM);
710 double opt_view_axes_mikado(OPT_ARGS_NUM);
711 double opt_view_axes_auto_position(OPT_ARGS_NUM);
712 double opt_view_axes_tics0(OPT_ARGS_NUM);
713 double opt_view_axes_tics1(OPT_ARGS_NUM);
714 double opt_view_axes_tics2(OPT_ARGS_NUM);
715 double opt_view_axes_xmin(OPT_ARGS_NUM);
716 double opt_view_axes_ymin(OPT_ARGS_NUM);
717 double opt_view_axes_zmin(OPT_ARGS_NUM);
718 double opt_view_axes_xmax(OPT_ARGS_NUM);
719 double opt_view_axes_ymax(OPT_ARGS_NUM);
720 double opt_view_axes_zmax(OPT_ARGS_NUM);
721 double opt_view_position0(OPT_ARGS_NUM);
722 double opt_view_position1(OPT_ARGS_NUM);
723 double opt_view_auto_position(OPT_ARGS_NUM);
724 double opt_view_sampling(OPT_ARGS_NUM);
725 double opt_view_size0(OPT_ARGS_NUM);
726 double opt_view_size1(OPT_ARGS_NUM);
727 double opt_view_nb_iso(OPT_ARGS_NUM);
728 double opt_view_boundary(OPT_ARGS_NUM);
729 double opt_view_light(OPT_ARGS_NUM);
730 double opt_view_light_two_side(OPT_ARGS_NUM);
731 double opt_view_light_lines(OPT_ARGS_NUM);
732 double opt_view_smooth_normals(OPT_ARGS_NUM);
733 double opt_view_angle_smooth_normals(OPT_ARGS_NUM);
734 double opt_view_show_element(OPT_ARGS_NUM);
735 double opt_view_show_time(OPT_ARGS_NUM);
736 double opt_view_show_scale(OPT_ARGS_NUM);
737 double opt_view_draw_strings(OPT_ARGS_NUM);
738 double opt_view_draw_points(OPT_ARGS_NUM);
739 double opt_view_draw_quadrangles(OPT_ARGS_NUM);
740 double opt_view_draw_lines(OPT_ARGS_NUM);
741 double opt_view_draw_triangles(OPT_ARGS_NUM);
742 double opt_view_draw_tetrahedra(OPT_ARGS_NUM);
743 double opt_view_draw_hexahedra(OPT_ARGS_NUM);
744 double opt_view_draw_prisms(OPT_ARGS_NUM);
745 double opt_view_draw_pyramids(OPT_ARGS_NUM);
746 double opt_view_draw_trihedra(OPT_ARGS_NUM);
747 double opt_view_draw_scalars(OPT_ARGS_NUM);
748 double opt_view_draw_vectors(OPT_ARGS_NUM);
749 double opt_view_draw_tensors(OPT_ARGS_NUM);
750 double opt_view_draw_skin_only(OPT_ARGS_NUM);
751 double opt_view_scale_type(OPT_ARGS_NUM);
752 double opt_view_tensor_type(OPT_ARGS_NUM);
753 double opt_view_range_type(OPT_ARGS_NUM);
754 double opt_view_abscissa_range_type(OPT_ARGS_NUM);
755 double opt_view_vector_type(OPT_ARGS_NUM);
756 double opt_view_glyph_location(OPT_ARGS_NUM);
757 double opt_view_center_glyphs(OPT_ARGS_NUM);
758 double opt_view_point_size(OPT_ARGS_NUM);
759 double opt_view_line_width(OPT_ARGS_NUM);
760 double opt_view_point_type(OPT_ARGS_NUM);
761 double opt_view_line_type(OPT_ARGS_NUM);
762 double opt_view_clip(OPT_ARGS_NUM);
763 double opt_view_force_num_components(OPT_ARGS_NUM);
764 double opt_view_component_map0(OPT_ARGS_NUM);
765 double opt_view_component_map1(OPT_ARGS_NUM);
766 double opt_view_component_map2(OPT_ARGS_NUM);
767 double opt_view_component_map3(OPT_ARGS_NUM);
768 double opt_view_component_map4(OPT_ARGS_NUM);
769 double opt_view_component_map5(OPT_ARGS_NUM);
770 double opt_view_component_map6(OPT_ARGS_NUM);
771 double opt_view_component_map7(OPT_ARGS_NUM);
772 double opt_view_component_map8(OPT_ARGS_NUM);
773 double opt_view_closed(OPT_ARGS_NUM);
774 double opt_print_file_format(OPT_ARGS_NUM);
775 double opt_print_eps_compress(OPT_ARGS_NUM);
776 double opt_print_eps_ps3shading(OPT_ARGS_NUM);
777 double opt_print_eps_quality(OPT_ARGS_NUM);
778 double opt_print_eps_occlusion_culling(OPT_ARGS_NUM);
779 double opt_print_eps_best_root(OPT_ARGS_NUM);
780 double opt_print_eps_line_width_factor(OPT_ARGS_NUM);
781 double opt_print_eps_point_size_factor(OPT_ARGS_NUM);
782 double opt_print_jpeg_quality(OPT_ARGS_NUM);
783 double opt_print_jpeg_smoothing(OPT_ARGS_NUM);
784 double opt_print_geo_labels(OPT_ARGS_NUM);
785 double opt_print_geo_only_physicals(OPT_ARGS_NUM);
786 double opt_print_pos_elementary(OPT_ARGS_NUM);
787 double opt_print_pos_element(OPT_ARGS_NUM);
788 double opt_print_pos_gamma(OPT_ARGS_NUM);
789 double opt_print_pos_eta(OPT_ARGS_NUM);
790 double opt_print_pos_SICN(OPT_ARGS_NUM);
791 double opt_print_pos_SIGE(OPT_ARGS_NUM);
792 double opt_print_pos_disto(OPT_ARGS_NUM);
793 double opt_print_gif_dither(OPT_ARGS_NUM);
794 double opt_print_gif_sort(OPT_ARGS_NUM);
795 double opt_print_gif_interlace(OPT_ARGS_NUM);
796 double opt_print_gif_transparent(OPT_ARGS_NUM);
797 double opt_print_background(OPT_ARGS_NUM);
798 double opt_print_pgf_two_dim(OPT_ARGS_NUM);
799 double opt_print_pgf_export_axis(OPT_ARGS_NUM);
800 double opt_print_pgf_horiz_bar(OPT_ARGS_NUM);
801 double opt_print_text(OPT_ARGS_NUM);
802 double opt_print_tex_as_equation(OPT_ARGS_NUM);
803 double opt_print_tex_force_fontsize(OPT_ARGS_NUM);
804 double opt_print_tex_width_in_mm(OPT_ARGS_NUM);
805 double opt_print_composite_windows(OPT_ARGS_NUM);
806 double opt_print_delete_tmp_files(OPT_ARGS_NUM);
807 double opt_print_height(OPT_ARGS_NUM);
808 double opt_print_width(OPT_ARGS_NUM);
809 double opt_print_parameter(OPT_ARGS_NUM);
810 double opt_print_parameter_first(OPT_ARGS_NUM);
811 double opt_print_parameter_last(OPT_ARGS_NUM);
812 double opt_print_parameter_steps(OPT_ARGS_NUM);
813 double opt_print_x3d_compatibility(OPT_ARGS_NUM);
814 double opt_print_x3d_transparency(OPT_ARGS_NUM);
815 double opt_print_x3d_remove_inner_borders(OPT_ARGS_NUM);
816 double opt_print_x3d_precision(OPT_ARGS_NUM);
817 double opt_print_x3d_surfaces(OPT_ARGS_NUM);
818 double opt_print_x3d_edges(OPT_ARGS_NUM);
819 double opt_print_x3d_vertices(OPT_ARGS_NUM);
820 
821 // COLORS
822 
823 unsigned int opt_general_color_background(OPT_ARGS_COL);
824 unsigned int opt_general_color_background_gradient(OPT_ARGS_COL);
825 unsigned int opt_general_color_foreground(OPT_ARGS_COL);
826 unsigned int opt_general_color_text(OPT_ARGS_COL);
827 unsigned int opt_general_color_axes(OPT_ARGS_COL);
828 unsigned int opt_general_color_small_axes(OPT_ARGS_COL);
829 unsigned int opt_general_color_ambient_light(OPT_ARGS_COL);
830 unsigned int opt_general_color_diffuse_light(OPT_ARGS_COL);
831 unsigned int opt_general_color_specular_light(OPT_ARGS_COL);
832 unsigned int opt_geometry_color_points(OPT_ARGS_COL);
833 unsigned int opt_geometry_color_curves(OPT_ARGS_COL);
834 unsigned int opt_geometry_color_surfaces(OPT_ARGS_COL);
835 unsigned int opt_geometry_color_volumes(OPT_ARGS_COL);
836 unsigned int opt_geometry_color_selection(OPT_ARGS_COL);
837 unsigned int opt_geometry_color_highlight0(OPT_ARGS_COL);
838 unsigned int opt_geometry_color_highlight1(OPT_ARGS_COL);
839 unsigned int opt_geometry_color_highlight2(OPT_ARGS_COL);
840 unsigned int opt_geometry_color_tangents(OPT_ARGS_COL);
841 unsigned int opt_geometry_color_normals(OPT_ARGS_COL);
842 unsigned int opt_geometry_color_projection(OPT_ARGS_COL);
843 unsigned int opt_mesh_color_nodes(OPT_ARGS_COL);
844 unsigned int opt_mesh_color_nodes_sup(OPT_ARGS_COL);
845 unsigned int opt_mesh_color_lines(OPT_ARGS_COL);
846 unsigned int opt_mesh_color_triangles(OPT_ARGS_COL);
847 unsigned int opt_mesh_color_quadrangles(OPT_ARGS_COL);
848 unsigned int opt_mesh_color_tetrahedra(OPT_ARGS_COL);
849 unsigned int opt_mesh_color_hexahedra(OPT_ARGS_COL);
850 unsigned int opt_mesh_color_prisms(OPT_ARGS_COL);
851 unsigned int opt_mesh_color_pyramid(OPT_ARGS_COL);
852 unsigned int opt_mesh_color_trihedron(OPT_ARGS_COL);
853 unsigned int opt_mesh_color_tangents(OPT_ARGS_COL);
854 unsigned int opt_mesh_color_normals(OPT_ARGS_COL);
855 unsigned int opt_mesh_color_0(OPT_ARGS_COL);
856 unsigned int opt_mesh_color_1(OPT_ARGS_COL);
857 unsigned int opt_mesh_color_2(OPT_ARGS_COL);
858 unsigned int opt_mesh_color_3(OPT_ARGS_COL);
859 unsigned int opt_mesh_color_4(OPT_ARGS_COL);
860 unsigned int opt_mesh_color_5(OPT_ARGS_COL);
861 unsigned int opt_mesh_color_6(OPT_ARGS_COL);
862 unsigned int opt_mesh_color_7(OPT_ARGS_COL);
863 unsigned int opt_mesh_color_8(OPT_ARGS_COL);
864 unsigned int opt_mesh_color_9(OPT_ARGS_COL);
865 unsigned int opt_mesh_color_10(OPT_ARGS_COL);
866 unsigned int opt_mesh_color_11(OPT_ARGS_COL);
867 unsigned int opt_mesh_color_12(OPT_ARGS_COL);
868 unsigned int opt_mesh_color_13(OPT_ARGS_COL);
869 unsigned int opt_mesh_color_14(OPT_ARGS_COL);
870 unsigned int opt_mesh_color_15(OPT_ARGS_COL);
871 unsigned int opt_mesh_color_16(OPT_ARGS_COL);
872 unsigned int opt_mesh_color_17(OPT_ARGS_COL);
873 unsigned int opt_mesh_color_18(OPT_ARGS_COL);
874 unsigned int opt_mesh_color_19(OPT_ARGS_COL);
875 unsigned int opt_view_color_points(OPT_ARGS_COL);
876 unsigned int opt_view_color_lines(OPT_ARGS_COL);
877 unsigned int opt_view_color_triangles(OPT_ARGS_COL);
878 unsigned int opt_view_color_quadrangles(OPT_ARGS_COL);
879 unsigned int opt_view_color_tetrahedra(OPT_ARGS_COL);
880 unsigned int opt_view_color_hexahedra(OPT_ARGS_COL);
881 unsigned int opt_view_color_prisms(OPT_ARGS_COL);
882 unsigned int opt_view_color_pyramids(OPT_ARGS_COL);
883 unsigned int opt_view_color_trihedra(OPT_ARGS_COL);
884 unsigned int opt_view_color_tangents(OPT_ARGS_COL);
885 unsigned int opt_view_color_normals(OPT_ARGS_COL);
886 unsigned int opt_view_color_text2d(OPT_ARGS_COL);
887 unsigned int opt_view_color_text3d(OPT_ARGS_COL);
888 unsigned int opt_view_color_axes(OPT_ARGS_COL);
889 unsigned int opt_view_color_background2d(OPT_ARGS_COL);
890 
891 // Data structures and global functions
892 
893 typedef struct {
894   const char *str;
895   int int1, int2, int3, int4;
896 } StringX4Int;
897 
898 typedef struct {
899   int level;
900   const char *str;
901   std::string (*function)(int num, int action, const std::string &val);
902   std::string def;
903   const char *help;
904 } StringXString;
905 
906 typedef struct {
907   int level;
908   const char *str;
909   double (*function)(int num, int action, double val);
910   double def;
911   const char *help;
912 } StringXNumber;
913 
914 typedef struct {
915   int level;
916   const char *str;
917   unsigned int (*function)(int num, int action, unsigned int val);
918   // the defaults are stored in individual bytes so that we can initialize
919   // them statically independently of the machine endianness. They will be
920   // packed into unsigned ints at runtime
921   unsigned char def1[4], def2[4], def3[4], def4[4];
922   const char *help;
923 } StringXColor;
924 
925 void InitOptions(int num);
926 void InitOptionsGUI(int num);
927 void ReInitOptions(int num);
928 void PrintOptions(int num, int level, int diff, int help, const char *filename,
929                   std::vector<std::string> *vec = nullptr);
930 void PrintOptionsDoc();
931 
932 bool StringOption(int action, const char *category, int num, const char *name,
933                   std::string &val, bool warnIfUnknown = true);
934 bool NumberOption(int action, const char *category, int num, const char *name,
935                   double &val, bool warnIfUnknown = true);
936 bool ColorOption(int action, const char *category, int num, const char *name,
937                  unsigned int &val, bool warnIfUnknown = true);
938 
939 GmshColorTable *GetColorTable(int num);
940 int GetColorForString(int alpha, const char *string, int *FlagError);
941 bool GetRGBForString(const char *string, int &r, int &g, int &b);
942 
943 #endif
944