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 DEFAULT_OPTIONS_H 7 #define DEFAULT_OPTIONS_H 8 9 #include "GmshConfig.h" 10 #include "GmshDefines.h" 11 #include "Options.h" 12 13 // PLEASE RESPECT THE ALPHABETICAL ORDER WHEN 14 // INSERTING A NEW OPTION! 15 // 16 // Option Database (General, Geometry, Mesh, Post, View, Print), with 17 // default values. The first number defines the level of saving: O 18 // for the option file, S for the session file and F for the full 19 // listing: 20 21 #define S GMSH_SESSIONRC 22 #define O GMSH_OPTIONSRC 23 #define F GMSH_FULLRC 24 #define D GMSH_DEPRECATED 25 26 // STRINGS 27 28 StringXString GeneralOptions_String[] = { 29 { F|O, "AxesFormatX" , opt_general_axes_format0 , "%.3g" , 30 "Number format for X-axis (in standard C form)" }, 31 { F|O, "AxesFormatY" , opt_general_axes_format1 , "%.3g" , 32 "Number format for Y-axis (in standard C form)" }, 33 { F|O, "AxesFormatZ" , opt_general_axes_format2 , "%.3g" , 34 "Number format for Z-axis (in standard C form)" }, 35 { F|O, "AxesLabelX" , opt_general_axes_label0 , "" , 36 "X-axis label" }, 37 { F|O, "AxesLabelY" , opt_general_axes_label1 , "" , 38 "Y-axis label" }, 39 { F|O, "AxesLabelZ" , opt_general_axes_label2 , "" , 40 "Z-axis label" }, 41 42 { F|O, "BackgroundImageFileName" , opt_general_background_image_filename , "" , 43 "Background image file in JPEG, PNG or PDF format" }, 44 { F, "BuildInfo" , opt_general_build_info , "" , 45 "Gmsh build information (read-only)" }, 46 { F, "BuildOptions" , opt_general_build_options , "" , 47 "Gmsh build options (read-only)" }, 48 49 { F|O, "DefaultFileName" , opt_general_default_filename , "untitled.geo" , 50 "Default project file name" }, 51 { F, "Display" , opt_general_display , "" , 52 "X server to use (only for Unix versions)" }, 53 54 { F|O, "ErrorFileName" , opt_general_error_filename , 55 #if defined(WIN32) 56 "gmsh-errors" , 57 #else 58 ".gmsh-errors" , 59 #endif 60 "File into which the log is saved if a fatal error occurs" }, 61 { F|S, "ExecutableFileName", opt_general_executable_filename , "" , 62 "File name of the Gmsh executable (read-only)"}, 63 64 { F, "FileName" , opt_general_filename , "" , 65 "Current project file name (read-only)" }, 66 { F|S, "FltkTheme" , opt_general_gui_theme , "" , 67 "FLTK user interface theme (try e.g. plastic or gtk+)" }, 68 69 { F|O, "GraphicsFont" , opt_general_graphics_font , "Helvetica" , 70 "Font used in the graphic window" }, 71 { F|O, "GraphicsFontEngine" , opt_general_graphics_font_engine , "Native" , 72 "Set graphics font engine (Native, StringTexture, Cairo)" }, 73 { F|O, "GraphicsFontTitle" , opt_general_graphics_font_title , "Helvetica" , 74 "Font used in the graphic window for titles" }, 75 76 { F|S, "OptionsFileName" , opt_general_options_filename , 77 #if defined(WIN32) 78 "gmsh-options" , 79 #else 80 ".gmsh-options" , 81 #endif 82 "Option file created with `Tools->Options->Save'; automatically read on startup" }, 83 84 { F|S, "RecentFile0", opt_general_recent_file0 , "untitled.geo" , 85 "Most recent opened file"}, 86 { F|S, "RecentFile1", opt_general_recent_file1 , "untitled.geo" , 87 "2nd most recent opened file"}, 88 { F|S, "RecentFile2", opt_general_recent_file2 , "untitled.geo" , 89 "3rd most recent opened file"}, 90 { F|S, "RecentFile3", opt_general_recent_file3 , "untitled.geo" , 91 "4th most recent opened file"}, 92 { F|S, "RecentFile4", opt_general_recent_file4 , "untitled.geo" , 93 "5th most recent opened file"}, 94 { F|S, "RecentFile5", opt_general_recent_file5 , "untitled.geo" , 95 "6th most recent opened file"}, 96 { F|S, "RecentFile6", opt_general_recent_file6 , "untitled.geo" , 97 "7th most recent opened file"}, 98 { F|S, "RecentFile7", opt_general_recent_file7 , "untitled.geo" , 99 "8th most recent opened file"}, 100 { F|S, "RecentFile8", opt_general_recent_file8 , "untitled.geo" , 101 "9th most recent opened file"}, 102 { F|S, "RecentFile9", opt_general_recent_file9 , "untitled.geo" , 103 "10th most recent opened file"}, 104 105 { 0, "SessionFileName" , opt_general_session_filename , 106 #if defined(WIN32) 107 "gmshrc" , 108 #else 109 ".gmshrc" , 110 #endif 111 "Option file into which session specific information is saved; automatically " 112 "read on startup" }, 113 { F|O, "ScriptingLanguages", opt_general_scripting_languages, "geo" , 114 "Language(s) in which scripting commands generated by the GUI are written"}, 115 116 { F|O, "TextEditor" , opt_general_editor , 117 #if defined(WIN32) 118 "notepad.exe '%s'" , 119 #elif defined(__APPLE__) 120 "open -t '%s'" , 121 #else 122 "gedit '%s'" , 123 #endif 124 "System command to launch a text editor" }, 125 { F|S, "TmpFileName" , opt_general_tmp_filename , 126 #if defined(WIN32) 127 "gmsh-tmp" , 128 #else 129 ".gmsh-tmp" , 130 #endif 131 "Temporary file used by the geometry module" }, 132 133 { F, "Version" , opt_general_version , "" , 134 "Gmsh version (read-only)" }, 135 136 { F, "WatchFilePattern", opt_general_watch_file_pattern , "" , 137 "Pattern of files to merge as they become available"}, 138 139 { 0, nullptr , nullptr , "" , nullptr } 140 } ; 141 142 StringXString GeometryOptions_String[] = { 143 { F|O, "DoubleClickedPointCommand" , opt_geometry_double_clicked_point_command, 144 "ONELAB" , "Command parsed when double-clicking on a point, or 'ONELAB' " 145 "to edit associated ONELAB parameters" }, 146 { F|O, "DoubleClickedCurveCommand" , opt_geometry_double_clicked_curve_command, 147 "ONELAB" , "Command parsed when double-clicking on a curve, or 'ONELAB' " 148 "to edit associated ONELAB parameters" }, 149 { F|O|D, "DoubleClickedLineCommand" , opt_geometry_double_clicked_curve_command, 150 "ONELAB" , "[Deprecated]" }, 151 { F|O, "DoubleClickedSurfaceCommand" , opt_geometry_double_clicked_surface_command, 152 "ONELAB" , "Command parsed when double-clicking on a surface, or 'ONELAB' " 153 "to edit associated ONELAB parameters" }, 154 { F|O, "DoubleClickedVolumeCommand" , opt_geometry_double_clicked_volume_command, 155 "ONELAB" , "Command parsed when double-clicking on a volume, or 'ONELAB' " 156 "to edit associated ONELAB parameters" }, 157 158 { F|O, "OCCTargetUnit" , opt_geometry_occ_target_unit , "" , 159 "Length unit to which coordinates from STEP and IGES files are converted to when " 160 "imported by OpenCASCADE, e.g. 'M' for meters (leave empty to use OpenCASCADE " 161 "default behavior)"}, 162 163 { 0, nullptr , nullptr , "" , nullptr } 164 } ; 165 166 StringXString MeshOptions_String[] = { 167 { 0, nullptr , nullptr , "" , nullptr } 168 } ; 169 170 StringXString SolverOptions_String[] = { 171 { F|S, "Executable0" , opt_solver_executable0 , "", 172 "System command to launch solver 0" }, 173 { F|S, "Executable1" , opt_solver_executable1 , "" , 174 "System command to launch solver 1" }, 175 { F|S, "Executable2" , opt_solver_executable2 , "" , 176 "System command to launch solver 2" }, 177 { F|S, "Executable3" , opt_solver_executable3 , "" , 178 "System command to launch solver 3" }, 179 { F|S, "Executable4" , opt_solver_executable4 , "" , 180 "System command to launch solver 4" }, 181 { F|S, "Executable5" , opt_solver_executable5 , "", 182 "System command to launch solver 5" }, 183 { F|S, "Executable6" , opt_solver_executable6 , "" , 184 "System command to launch solver 6" }, 185 { F|S, "Executable7" , opt_solver_executable7 , "" , 186 "System command to launch solver 7" }, 187 { F|S, "Executable8" , opt_solver_executable8 , "" , 188 "System command to launch solver 8" }, 189 { F|S, "Executable9" , opt_solver_executable9 , "" , 190 "System command to launch solver 9" }, 191 192 { F|S, "Name0" , opt_solver_name0 , "GetDP" , 193 "Name of solver 0" }, 194 { F|S, "Name1" , opt_solver_name1 , "" , 195 "Name of solver 1" }, 196 { F|S, "Name2" , opt_solver_name2 , "" , 197 "Name of solver 2" }, 198 { F|S, "Name3" , opt_solver_name3 , "" , 199 "Name of solver 3" }, 200 { F|S, "Name4" , opt_solver_name4 , "" , 201 "Name of solver 4" }, 202 { F|S, "Name5" , opt_solver_name5 , "" , 203 "Name of solver 5" }, 204 { F|S, "Name6" , opt_solver_name6 , "" , 205 "Name of solver 6" }, 206 { F|S, "Name7" , opt_solver_name7 , "" , 207 "Name of solver 7" }, 208 { F|S, "Name8" , opt_solver_name8 , "" , 209 "Name of solver 8" }, 210 { F|S, "Name9" , opt_solver_name9 , "" , 211 "Name of solver 9" }, 212 213 { F|S, "Extension0" , opt_solver_extension0 , ".pro" , 214 "File extension for solver 0" }, 215 { F|S, "Extension1" , opt_solver_extension1 , "" , 216 "File extension for solver 1" }, 217 { F|S, "Extension2" , opt_solver_extension2 , "" , 218 "File extension for solver 2" }, 219 { F|S, "Extension3" , opt_solver_extension3 , "" , 220 "File extension for solver 3" }, 221 { F|S, "Extension4" , opt_solver_extension4 , "" , 222 "File extension for solver 4" }, 223 { F|S, "Extension5" , opt_solver_extension5 , "" , 224 "File extension for solver 5" }, 225 { F|S, "Extension6" , opt_solver_extension6 , "" , 226 "File extension for solver 6" }, 227 { F|S, "Extension7" , opt_solver_extension7 , "" , 228 "File extension for solver 7" }, 229 { F|S, "Extension8" , opt_solver_extension8 , "" , 230 "File extension for solver 8" }, 231 { F|S, "Extension9" , opt_solver_extension9 , "" , 232 "File extension for solver 9" }, 233 234 { F|S, "OctaveInterpreter" , opt_solver_octave_interpreter , "octave" , 235 "Name of the Octave interpreter (used to run .m files)" }, 236 { F|S, "PythonInterpreter" , opt_solver_python_interpreter , "python" , 237 "Name of the Python interpreter (used to run .py files if they are not executable)" }, 238 239 { F|S, "RemoteLogin0" , opt_solver_remote_login0 , "", 240 "Command to login to a remote host to launch solver 0" }, 241 { F|S, "RemoteLogin1" , opt_solver_remote_login1 , "" , 242 "Command to login to a remote host to launch solver 1" }, 243 { F|S, "RemoteLogin2" , opt_solver_remote_login2 , "" , 244 "Command to login to a remote host to launch solver 2" }, 245 { F|S, "RemoteLogin3" , opt_solver_remote_login3 , "" , 246 "Command to login to a remote host to launch solver 3" }, 247 { F|S, "RemoteLogin4" , opt_solver_remote_login4 , "" , 248 "Command to login to a remote host to launch solver 4" }, 249 { F|S, "RemoteLogin5" , opt_solver_remote_login5 , "", 250 "Command to login to a remote host to launch solver 5" }, 251 { F|S, "RemoteLogin6" , opt_solver_remote_login6 , "" , 252 "Command to login to a remote host to launch solver 6" }, 253 { F|S, "RemoteLogin7" , opt_solver_remote_login7 , "" , 254 "Command to login to a remote host to launch solver 7" }, 255 { F|S, "RemoteLogin8" , opt_solver_remote_login8 , "" , 256 "Command to login to a remote host to launch solver 8" }, 257 { F|S, "RemoteLogin9" , opt_solver_remote_login9 , "" , 258 "Command to login to a remote host to launch solver 9" }, 259 260 { F|O, "SocketName" , opt_solver_socket_name , 261 #if defined(WIN32) && !defined(__CYGWIN__) 262 "127.0.0.1:0" , // use TCP/IP sockets by default on Windows 263 #else 264 ".gmshsock" , // otherwise use Unix sockets by default 265 #endif 266 "Base name of socket (UNIX socket if the name does not contain a colon, TCP/IP " 267 "otherwise, in the form 'host:baseport'; the actual name/port is constructed " 268 "by appending the unique client id. If baseport is 0 or is not provided, the " 269 "port is chosen automatically (recommended))"}, 270 271 { 0, nullptr , nullptr , "" , nullptr } 272 } ; 273 274 StringXString PostProcessingOptions_String[] = { 275 { F|O, "DoubleClickedGraphPointCommand" , opt_post_double_clicked_graph_point_command, "" , 276 "Command parsed when double-clicking on a graph data point " 277 "(e.g. Merge Sprintf('file_%g.pos', PostProcessing.GraphPointX);)" }, 278 279 { F|O, "GraphPointCommand" , opt_post_double_clicked_graph_point_command, "" , 280 "Synonym for `DoubleClickedGraphPointCommand'" }, 281 282 { 0, nullptr , nullptr , "" , nullptr } 283 } ; 284 285 StringXString ViewOptions_String[] = { 286 { F|O, "Attributes" , opt_view_attributes , "" , 287 "Optional string attached to the view. If the string contains 'AlwaysVisible', " 288 "the view will not be hidden when new ones are merged."}, 289 { F|O, "AxesFormatX" , opt_view_axes_format0 , "%.3g" , 290 "Number format for X-axis (in standard C form)" }, 291 { F|O, "AxesFormatY" , opt_view_axes_format1 , "%.3g" , 292 "Number format for Y-axis (in standard C form)" }, 293 { F|O, "AxesFormatZ" , opt_view_axes_format2 , "%.3g" , 294 "Number format for Z-axis (in standard C form)" }, 295 { F|O, "AxesLabelX" , opt_view_axes_label0 , "" , 296 "X-axis label" }, 297 { F|O, "AxesLabelY" , opt_view_axes_label1 , "" , 298 "Y-axis label" }, 299 { F|O, "AxesLabelZ" , opt_view_axes_label2 , "" , 300 "Z-axis label" }, 301 302 { F|O, "DoubleClickedCommand" , opt_view_double_clicked_command , "" , 303 "Command parsed when double-clicking on the view" }, 304 305 { F, "FileName" , opt_view_filename , "" , 306 "Default post-processing view file name" }, 307 { F|O, "Format" , opt_view_format , "%.3g" , 308 "Number format (in standard C form)" }, 309 310 { F|O, "GeneralizedRaiseX" , opt_view_gen_raise0 , "v0" , 311 "Generalized elevation of the view along X-axis (in model coordinates, " 312 "using formula possibly containing x, y, z, s[tep], t[ime], v0, ... v8)" }, 313 { F|O, "GeneralizedRaiseY" , opt_view_gen_raise1 , "v1" , 314 "Generalized elevation of the view along Y-axis (in model coordinates, " 315 "using formula possibly containing x, y, z, s[tep], t[ime], v0, ... v8)" }, 316 { F|O, "GeneralizedRaiseZ" , opt_view_gen_raise2 , "v2" , 317 "Generalized elevation of the view along Z-axis (in model coordinates, " 318 "using formula possibly containing x, y, z, s[tep], t[ime], v0, ... v8)" }, 319 { F|O, "Group" , opt_view_group , "" , 320 "Group to which this view belongs" }, 321 322 { F, "Name" , opt_view_name , "" , 323 "Default post-processing view name" }, 324 325 { F|O, "Stipple0" , opt_view_stipple0 , "1*0x1F1F" , 326 "First stippling pattern" }, 327 { F|O, "Stipple1" , opt_view_stipple1 , "1*0x3333" , 328 "Second stippling pattern" }, 329 { F|O, "Stipple2" , opt_view_stipple2 , "1*0x087F" , 330 "Third stippling pattern" }, 331 { F|O, "Stipple3" , opt_view_stipple3 , "1*0xCCCF" , 332 "Fourth stippling pattern" }, 333 { F|O, "Stipple4" , opt_view_stipple4 , "2*0x1111" , 334 "Fifth stippling pattern" }, 335 { F|O, "Stipple5" , opt_view_stipple5 , "2*0x0F0F" , 336 "Sixth stippling pattern" }, 337 { F|O, "Stipple6" , opt_view_stipple6 , "1*0xCFFF" , 338 "Seventh stippling pattern" }, 339 { F|O, "Stipple7" , opt_view_stipple7 , "2*0x0202" , 340 "Eighth stippling pattern" }, 341 { F|O, "Stipple8" , opt_view_stipple8 , "2*0x087F" , 342 "Ninth stippling pattern" }, 343 { F|O, "Stipple9" , opt_view_stipple9 , "1*0xFFFF" , 344 "Tenth stippling pattern" }, 345 346 { 0, nullptr , nullptr , "" , nullptr } 347 } ; 348 349 StringXString PrintOptions_String[] = { 350 { F|O, "ParameterCommand" , opt_print_parameter_command , 351 "Mesh.Clip=1; View.Clip=1; General.ClipWholeElements=1; " 352 "General.Clip0D=Print.Parameter; SetChanged;" , 353 "Command parsed when the print parameter is changed" }, 354 355 { 0, nullptr , nullptr , "" , nullptr } 356 } ; 357 358 // NUMBERS 359 360 StringXNumber GeneralOptions_Number[] = { 361 { F|O, "AbortOnError" , opt_general_abort_on_error , 0. , 362 "Abort on error? (0: no, 1: abort meshing, 2: throw an exception unless in " 363 "interactive mode, 3: throw an exception always, 4: exit)" }, 364 { F|O, "AlphaBlending" , opt_general_alpha_blending , 1. , 365 "Enable alpha blending (transparency) in post-processing views" }, 366 { F|O, "Antialiasing" , opt_general_antialiasing , 0. , 367 "Use multisample antialiasing (will slow down rendering)" }, 368 { F|O, "ArrowHeadRadius" , opt_general_arrow_head_radius , 0.12 , 369 "Relative radius of arrow head" }, 370 { F|O, "ArrowStemLength" , opt_general_arrow_stem_length , 0.56 , 371 "Relative length of arrow stem" }, 372 { F|O, "ArrowStemRadius" , opt_general_arrow_stem_radius , 0.02 , 373 "Relative radius of arrow stem" }, 374 { F|O, "Axes" , opt_general_axes , 0. , 375 "Axes (0: none, 1: simple axes, 2: box, 3: full grid, 4: open grid, 5: ruler)" }, 376 { F|O, "AxesMikado" , opt_general_axes_mikado , 0. , 377 "Mikado axes style" }, 378 { F|O, "AxesAutoPosition" , opt_general_axes_auto_position , 1. , 379 "Position the axes automatically" }, 380 { F|O, "AxesForceValue" , opt_general_axes_force_value , 0. , 381 "Force values on axes (otherwise use natural coordinates)" }, 382 { F|O, "AxesMaxX" , opt_general_axes_xmax , 1. , 383 "Maximum X-axis coordinate" }, 384 { F|O, "AxesMaxY" , opt_general_axes_ymax , 1. , 385 "Maximum Y-axis coordinate" }, 386 { F|O, "AxesMaxZ" , opt_general_axes_zmax , 1. , 387 "Maximum Z-axis coordinate" }, 388 { F|O, "AxesMinX" , opt_general_axes_xmin , 0. , 389 "Minimum X-axis coordinate" }, 390 { F|O, "AxesMinY" , opt_general_axes_ymin , 0. , 391 "Minimum Y-axis coordinate" }, 392 { F|O, "AxesMinZ" , opt_general_axes_zmin , 0. , 393 "Minimum Z-axis coordinate" }, 394 { F|O, "AxesTicsX" , opt_general_axes_tics0 , 5. , 395 "Number of tics on the X-axis" }, 396 { F|O, "AxesTicsY" , opt_general_axes_tics1 , 5. , 397 "Number of tics on the Y-axis" }, 398 { F|O, "AxesTicsZ" , opt_general_axes_tics2 , 5. , 399 "Number of tics on the Z-axis" }, 400 { F|O, "AxesValueMaxX" , opt_general_axes_value_xmax , 1. , 401 "Maximum X-axis forced value" }, 402 { F|O, "AxesValueMaxY" , opt_general_axes_value_ymax , 1. , 403 "Maximum Y-axis forced value" }, 404 { F|O, "AxesValueMaxZ" , opt_general_axes_value_zmax , 1. , 405 "Maximum Z-axis forced value" }, 406 { F|O, "AxesValueMinX" , opt_general_axes_value_xmin , 0. , 407 "Minimum X-axis forced value" }, 408 { F|O, "AxesValueMinY" , opt_general_axes_value_ymin , 0. , 409 "Minimum Y-axis forced value" }, 410 { F|O, "AxesValueMinZ" , opt_general_axes_value_zmin , 0. , 411 "Minimum Z-axis forced value" }, 412 413 { F|O, "BackgroundGradient" , opt_general_background_gradient , 1. , 414 "Draw background gradient (0: none, 1: vertical, 2: horizontal, 3: radial)" }, 415 { F|O, "BackgroundImage3D" , opt_general_background_image_3d , 0 , 416 "Create background image in the 3D model (units = model units) or as " 417 "2D background (units = pixels)" }, 418 { F|O, "BackgroundImagePage" , opt_general_background_image_page , 0 , 419 "Page to render in the background image (for multi-page PDFs)" }, 420 { F|O, "BackgroundImagePositionX" , opt_general_background_image_position0 , 0 , 421 "X position of background image (for 2D background: < 0: measure from right window edge; " 422 ">= 1e5: centered)" }, 423 { F|O, "BackgroundImagePositionY" , opt_general_background_image_position1 , 0 , 424 "Y position of background image (for 2D background: < 0: measure from bottom window edge; " 425 ">= 1e5: centered)" }, 426 { F|O, "BackgroundImageWidth" , opt_general_background_image_size0 , -1. , 427 "Width of background image (0: actual width if height = 0, natural scaling if not; " 428 "-1: graphic window width)" }, 429 { F|O, "BackgroundImageHeight" , opt_general_background_image_size1 , -1 , 430 "Height of background image (0: actual height if width = 0, natural scaling if not; " 431 "-1: graphic window height)" }, 432 { F|O, "BoundingBoxSize" , opt_general_lc, 1. , 433 "Overall bounding box size (read-only)" }, 434 435 { F|O, "Camera" , opt_general_camera_mode, 0. , 436 "Enable camera view mode" }, 437 { F|O, "CameraAperture" , opt_general_camera_aperture, 40. , 438 "Camera aperture in degrees" }, 439 { F|O, "CameraEyeSeparationRatio" , opt_general_eye_sep_ratio, 1.5 , 440 "Eye separation ratio in % for stereo rendering" }, 441 { F|O, "CameraFocalLengthRatio" , opt_general_focallength_ratio, 1.0 , 442 "Camera Focal length ratio" }, 443 { F, "Clip0A" , opt_general_clip0a , 1.0 , 444 "First coefficient in equation for clipping plane 0 (`A' in `AX+BY+CZ+D=0')" }, 445 { F, "Clip0B" , opt_general_clip0b , 0.0 , 446 "Second coefficient in equation for clipping plane 0 (`B' in `AX+BY+CZ+D=0')" }, 447 { F, "Clip0C" , opt_general_clip0c , 0.0 , 448 "Third coefficient in equation for clipping plane 0 (`C' in `AX+BY+CZ+D=0')" }, 449 { F, "Clip0D" , opt_general_clip0d , 0.0 , 450 "Fourth coefficient in equation for clipping plane 0 (`D' in `AX+BY+CZ+D=0')" }, 451 { F, "Clip1A" , opt_general_clip1a , 0.0 , 452 "First coefficient in equation for clipping plane 1" }, 453 { F, "Clip1B" , opt_general_clip1b , 1.0 , 454 "Second coefficient in equation for clipping plane 1" }, 455 { F, "Clip1C" , opt_general_clip1c , 0.0 , 456 "Third coefficient in equation for clipping plane 1" }, 457 { F, "Clip1D" , opt_general_clip1d , 0.0 , 458 "Fourth coefficient in equation for clipping plane 1" }, 459 { F, "Clip2A" , opt_general_clip2a , 0.0 , 460 "First coefficient in equation for clipping plane 2" }, 461 { F, "Clip2B" , opt_general_clip2b , 0.0 , 462 "Second coefficient in equation for clipping plane 2" }, 463 { F, "Clip2C" , opt_general_clip2c , 1.0 , 464 "Third coefficient in equation for clipping plane 2" }, 465 { F, "Clip2D" , opt_general_clip2d , 0.0 , 466 "Fourth coefficient in equation for clipping plane 2" }, 467 { F, "Clip3A" , opt_general_clip3a , -1.0 , 468 "First coefficient in equation for clipping plane 3" }, 469 { F, "Clip3B" , opt_general_clip3b , 0.0 , 470 "Second coefficient in equation for clipping plane 3" }, 471 { F, "Clip3C" , opt_general_clip3c , 0.0 , 472 "Third coefficient in equation for clipping plane 3" }, 473 { F, "Clip3D" , opt_general_clip3d , 1.0 , 474 "Fourth coefficient in equation for clipping plane 3" }, 475 { F, "Clip4A" , opt_general_clip4a , 0.0 , 476 "First coefficient in equation for clipping plane 4" }, 477 { F, "Clip4B" , opt_general_clip4b , -1.0 , 478 "Second coefficient in equation for clipping plane 4" }, 479 { F, "Clip4C" , opt_general_clip4c , 0.0 , 480 "Third coefficient in equation for clipping plane 4" }, 481 { F, "Clip4D" , opt_general_clip4d , 1.0 , 482 "Fourth coefficient in equation for clipping plane 4" }, 483 { F, "Clip5A" , opt_general_clip5a , 0.0 , 484 "First coefficient in equation for clipping plane 5" }, 485 { F, "Clip5B" , opt_general_clip5b , 0.0 , 486 "Second coefficient in equation for clipping plane 5" }, 487 { F, "Clip5C" , opt_general_clip5c , -1.0 , 488 "Third coefficient in equation for clipping plane 5" }, 489 { F, "Clip5D" , opt_general_clip5d , 1.0 , 490 "Fourth coefficient in equation for clipping plane 5" }, 491 { F, "ClipFactor" , opt_general_clip_factor , 5.0 , 492 "Near and far clipping plane distance factor (decrease value for better " 493 "z-buffer resolution)" }, 494 { F|O, "ClipOnlyDrawIntersectingVolume" , 495 opt_general_clip_only_draw_intersecting_volume , 0. , 496 "Only draw layer of elements that intersect the clipping plane" }, 497 { F|O, "ClipOnlyVolume" , opt_general_clip_only_volume , 0. , 498 "Only clip volume elements" }, 499 { F|S, "ClipPositionX" , opt_general_clip_position0 , 650. , 500 "Horizontal position (in pixels) of the upper left corner of the clipping " 501 "planes window" }, 502 { F|S, "ClipPositionY" , opt_general_clip_position1 , 150. , 503 "Vertical position (in pixels) of the upper left corner of the clipping " 504 "planes window" }, 505 { F|O, "ClipWholeElements" , opt_general_clip_whole_elements , 0. , 506 "Clip whole elements" }, 507 { F|S, "ColorScheme", opt_general_color_scheme , 1. , 508 "Default color scheme for graphics (0: light, 1: default, 2: grayscale, 3: dark)" }, 509 { F|O, "ConfirmOverwrite" , opt_general_confirm_overwrite, 1. , 510 "Ask confirmation before overwriting files?" }, 511 { F|S, "ContextPositionX" , opt_general_context_position0 , 650. , 512 "Horizontal position (in pixels) of the upper left corner of the contextual " 513 "windows" }, 514 { F|S, "ContextPositionY" , opt_general_context_position1 , 150. , 515 "Vertical position (in pixels) of the upper left corner of the contextual " 516 "windows" }, 517 518 { F|S, "DetachedMenu" , opt_general_detached_menu , 0. , 519 "Should the menu window be detached from the graphic window?" }, 520 { F|O, "DetachedProcess", opt_general_detached_process, 1. , 521 "On Windows, should processes created by Gmsh be detached?" }, 522 { F|O, "DisplayBorderFactor" , opt_general_display_border_factor , 0.2 , 523 "Border factor for model display (0: model fits window size exactly)" }, 524 { F|O, "DoubleBuffer" , opt_general_double_buffer , 1. , 525 "Use a double buffered graphic window (on Unix, should be set to 0 when " 526 "working on a remote host without GLX)" }, 527 { F|O, "DrawBoundingBoxes" , opt_general_draw_bounding_box, 0. , 528 "Draw bounding boxes" }, 529 530 { F|O, "ExpertMode" , opt_general_expert_mode, 0. , 531 "Enable expert mode (to disable all the messages meant for inexperienced " 532 "users)" }, 533 { F|S, "ExtraPositionX" , opt_general_extra_position0 , 650. , 534 "Horizontal position (in pixels) of the upper left corner of the generic extra window" }, 535 { F|S, "ExtraPositionY" , opt_general_extra_position1 , 350. , 536 "Vertical position (in pixels) of the upper left corner of the generic extra window" }, 537 { F|S, "ExtraHeight" , opt_general_extra_size1 , 100. , 538 "Height (in pixels) of the generic extra window" }, 539 { F|S, "ExtraWidth" , opt_general_extra_size0 , 100. , 540 "Width (in pixels) of the generic extra window" }, 541 542 { F|O, "FastRedraw" , opt_general_fast_redraw, 0. , 543 "Draw simplified model while rotating, panning and zooming" }, 544 { F|S, "FieldPositionX" , opt_general_field_position0 , 650. , 545 "Horizontal position (in pixels) of the upper left corner of the field window" }, 546 { F|S, "FieldPositionY" , opt_general_field_position1 , 550. , 547 "Vertical position (in pixels) of the upper left corner of the field window" }, 548 { F|S, "FieldHeight" , opt_general_field_size1 , 320. , 549 "Height (in pixels) of the field window" }, 550 { F|S, "FieldWidth" , opt_general_field_size0 , 420. , 551 "Width (in pixels) of the field window" }, 552 { F|S, "FileChooserPositionX" , opt_general_file_chooser_position0 , 200. , 553 "Horizontal position (in pixels) of the upper left corner of the file chooser " 554 "windows" }, 555 { F|S, "FileChooserPositionY" , opt_general_file_chooser_position1 , 200. , 556 "Vertical position (in pixels) of the upper left corner of the file chooser " 557 "windows" }, 558 { F|S, "FltkColorScheme" , opt_general_gui_color_scheme , 0. , 559 "FLTK user interface color theme (0: standard, 1:dark)" }, 560 { F|O, "FltkRefreshRate" , opt_general_gui_refresh_rate , 5. , 561 "FLTK user interface maximum refresh rate, per second (0: no limit)" }, 562 { F|O, "FontSize" , opt_general_fontsize , -1. , 563 "Size of the font in the user interface, in pixels (-1: automatic)" }, 564 565 { F|O, "GraphicsFontSize" , opt_general_graphics_fontsize , 15. , 566 "Size of the font in the graphic window, in pixels" }, 567 { F|O, "GraphicsFontSizeTitle" , opt_general_graphics_fontsize_title , 18. , 568 "Size of the font in the graphic window for titles, in pixels" }, 569 { F|S, "GraphicsHeight" , opt_general_graphics_size1 , 600. , 570 "Height (in pixels) of the graphic window" }, 571 { F|S, "GraphicsPositionX" , opt_general_graphics_position0 , 50. , 572 "Horizontal position (in pixels) of the upper left corner of the graphic " 573 "window" }, 574 { F|S, "GraphicsPositionY" , opt_general_graphics_position1 , 50. , 575 "Vertical position (in pixels) of the upper left corner of the graphic " 576 "window" }, 577 { F|S, "GraphicsWidth" , opt_general_graphics_size0 , 800. , 578 "Width (in pixels) of the graphic window" }, 579 580 { F|S, "HighOrderToolsPositionX" , opt_general_hot_position0 , 650. , 581 "Horizontal position (in pixels) of the upper left corner of the high-order " 582 "tools window" }, 583 { F|S, "HighOrderToolsPositionY" , opt_general_hot_position1 , 150. , 584 "Vertical position (in pixels) of the upper left corner of the high-order " 585 "tools window" }, 586 { F|O, "HighResolutionGraphics" , opt_general_high_resolution_graphics , 1. , 587 "Use high-resolution OpenGL graphics (e.g. for Macs with retina displays)" }, 588 589 { F|O, "InitialModule", opt_general_initial_context, 0. , 590 "Module launched on startup (0: automatic, 1: geometry, 2: mesh, 3: solver, " 591 "4: post-processing) " }, 592 { F|O, "InputScrolling" , opt_general_input_scrolling , 1. , 593 "Enable numerical input scrolling in user interface (moving the mouse to change " 594 "numbers)" }, 595 596 { F|O, "Light0" , opt_general_light0 , 1. , 597 "Enable light source 0" }, 598 { F|O, "Light0X" , opt_general_light00 , 0.65 , 599 "X position of light source 0" }, 600 { F|O, "Light0Y" , opt_general_light01 , 0.65 , 601 "Y position of light source 0" }, 602 { F|O, "Light0Z" , opt_general_light02 , 1.0 , 603 "Z position of light source 0" }, 604 { F|O, "Light0W" , opt_general_light03 , 0.0 , 605 "Divisor of the X, Y and Z coordinates of light source 0 (W=0 means " 606 "infinitely far source)" }, 607 { F|O, "Light1" , opt_general_light1 , 0., 608 "Enable light source 1" }, 609 { F|O, "Light1X" , opt_general_light10 , 0.5 , 610 "X position of light source 1" }, 611 { F|O, "Light1Y" , opt_general_light11 , 0.3 , 612 "Y position of light source 1" }, 613 { F|O, "Light1Z" , opt_general_light12 , 1.0 , 614 "Z position of light source 1" }, 615 { F|O, "Light1W" , opt_general_light13 , 0.0 , 616 "Divisor of the X, Y and Z coordinates of light source 1 (W=0 means infinitely " 617 "far source)" }, 618 { F|O, "Light2" , opt_general_light2 , 0., 619 "Enable light source 2" }, 620 { F|O, "Light2X" , opt_general_light20 , 0.5 , 621 "X position of light source 2" }, 622 { F|O, "Light2Y" , opt_general_light21 , 0.3 , 623 "Y position of light source 2" }, 624 { F|O, "Light2Z" , opt_general_light22 , 1.0 , 625 "Z position of light source 2" }, 626 { F|O, "Light2W" , opt_general_light23 , 0.0 , 627 "Divisor of the X, Y and Z coordinates of light source 2 (W=0 means infinitely " 628 "far source)" }, 629 { F|O, "Light3" , opt_general_light3 , 0., 630 "Enable light source 3" }, 631 { F|O, "Light3X" , opt_general_light30 , 0.5 , 632 "X position of light source 3" }, 633 { F|O, "Light3Y" , opt_general_light31 , 0.3 , 634 "Y position of light source 3" }, 635 { F|O, "Light3Z" , opt_general_light32 , 1.0 , 636 "Z position of light source 3" }, 637 { F|O, "Light3W" , opt_general_light33 , 0.0 , 638 "Divisor of the X, Y and Z coordinates of light source 3 (W=0 means infinitely " 639 "far source)" }, 640 { F|O, "Light4" , opt_general_light4 , 0., 641 "Enable light source 4" }, 642 { F|O, "Light4X" , opt_general_light40 , 0.5 , 643 "X position of light source 4" }, 644 { F|O, "Light4Y" , opt_general_light41 , 0.3 , 645 "Y position of light source 4" }, 646 { F|O, "Light4Z" , opt_general_light42 , 1.0 , 647 "Z position of light source 4" }, 648 { F|O, "Light4W" , opt_general_light43 , 0.0 , 649 "Divisor of the X, Y and Z coordinates of light source 4 (W=0 means infinitely " 650 "far source)" }, 651 { F|O, "Light5" , opt_general_light5 , 0., 652 "Enable light source 5" }, 653 { F|O, "Light5X" , opt_general_light50 , 0.5 , 654 "X position of light source 5" }, 655 { F|O, "Light5Y" , opt_general_light51 , 0.3 , 656 "Y position of light source 5" }, 657 { F|O, "Light5Z" , opt_general_light52 , 1.0 , 658 "Z position of light source 5" }, 659 { F|O, "Light5W" , opt_general_light53 , 0.0 , 660 "Divisor of the X, Y and Z coordinates of light source 5 (W=0 means infinitely " 661 "far source)" }, 662 { F|O, "LineWidth" , opt_general_line_width , 1.0 , 663 "Display width of lines (in pixels)" }, 664 665 { F|S, "ManipulatorPositionX" , opt_general_manip_position0 , 650. , 666 "Horizontal position (in pixels) of the upper left corner of the manipulator " 667 "window" }, 668 { F|S, "ManipulatorPositionY" , opt_general_manip_position1 , 150. , 669 "Vertical position (in pixels) of the upper left corner of the manipulator " 670 "window" }, 671 { F, "MaxX" , opt_general_xmax , 0. , 672 "Maximum model coordinate along the X-axis (read-only)" }, 673 { F, "MaxY" , opt_general_ymax , 0. , 674 "Maximum model coordinate along the Y-axis (read-only)" }, 675 { F, "MaxZ" , opt_general_zmax , 0. , 676 "Maximum model coordinate along the Z-axis (read-only)" }, 677 { F|S, "MenuWidth" , opt_general_menu_size0 , 200. , 678 "Width (in pixels) of the menu tree" }, 679 { F|S, "MenuHeight" , opt_general_menu_size1 , 200. , 680 "Height (in pixels) of the (detached) menu tree" }, 681 { F|S, "MenuPositionX" , opt_general_menu_position0 , 400. , 682 "Horizontal position (in pixels) of the (detached) menu tree" }, 683 { F|S, "MenuPositionY" , opt_general_menu_position1 , 400. , 684 "Vertical position (in pixels) of the (detached) menu tree" }, 685 { F|O, "MessageFontSize" , opt_general_message_fontsize , -1. , 686 "Size of the font in the message window, in pixels (-1: automatic)" }, 687 { F|S, "MessageHeight" , opt_general_message_size , 300. , 688 "Height (in pixels) of the message console when it is visible (should be > 0)" }, 689 { F, "MinX" , opt_general_xmin , 0. , 690 "Minimum model coordinate along the X-axis (read-only)" }, 691 { F, "MinY" , opt_general_ymin , 0. , 692 "Minimum model coordinate along the Y-axis (read-only)" }, 693 { F, "MinZ" , opt_general_zmin , 0. , 694 "Minimum model coordinate along the Z-axis (read-only)" }, 695 { F|O, "MouseHoverMeshes" , opt_general_mouse_hover_meshes , 0. , 696 "Enable mouse hover on meshes" }, 697 { F|O, "MouseSelection" , opt_general_mouse_selection , 1. , 698 "Enable mouse selection" }, 699 { F|O, "MouseInvertZoom" , opt_general_mouse_invert_zoom , 0. , 700 "Invert mouse wheel zoom direction" }, 701 702 { F|S, "NativeFileChooser" , opt_general_native_file_chooser , 703 #if defined(__APPLE__) || defined(WIN32) 704 1. , 705 #else 706 0. , 707 #endif 708 "Use the native file chooser?" }, 709 { F|S, "NonModalWindows" , opt_general_non_modal_windows , 1. , 710 "Force all control windows to be on top of the graphic window " 711 "(\"non-modal\")" }, 712 { F|O, "NoPopup" , opt_general_nopopup , 0. , 713 "Disable interactive dialog windows in scripts (and use default values " 714 "instead)" }, 715 { F|O, "NumThreads" , opt_general_num_threads , 1. , 716 "Set the maximum number of threads when Gmsh is compiled with OpenMP support " 717 "(0: use system default, i.e. OMP_NUM_THREADS)"}, 718 719 { F|S, "OptionsPositionX" , opt_general_option_position0 , 650. , 720 "Horizontal position (in pixels) of the upper left corner of the option " 721 "window" }, 722 { F|S, "OptionsPositionY" , opt_general_option_position1 , 150. , 723 "Vertical position (in pixels) of the upper left corner of the option window" }, 724 { F|O, "Orthographic" , opt_general_orthographic , 1. , 725 "Orthographic projection mode (0: perspective projection)" }, 726 727 { F|S, "PluginPositionX" , opt_general_plugin_position0 , 650. , 728 "Horizontal position (in pixels) of the upper left corner of the plugin " 729 "window" }, 730 { F|S, "PluginPositionY" , opt_general_plugin_position1 , 550. , 731 "Vertical position (in pixels) of the upper left corner of the plugin window" }, 732 { F|S, "PluginHeight" , opt_general_plugin_size1 , 320. , 733 "Height (in pixels) of the plugin window" }, 734 { F|S, "PluginWidth" , opt_general_plugin_size0 , 420. , 735 "Width (in pixels) of the plugin window" }, 736 { F|O, "PointSize" , opt_general_point_size , 3. , 737 "Display size of points (in pixels)" }, 738 { F|O, "PolygonOffsetAlwaysOn" , opt_general_polygon_offset_always , 0. , 739 "Always apply polygon offset, instead of trying to detect when it is required" }, 740 { F|O, "PolygonOffsetFactor" , opt_general_polygon_offset_factor , 741 #if defined(__APPLE__) 742 0.5 , 743 #else 744 1.0 , 745 #endif 746 "Polygon offset factor (offset = factor * DZ + r * units)" }, 747 { F|O, "PolygonOffsetUnits" , opt_general_polygon_offset_units , 1. , 748 "Polygon offset units (offset = factor * DZ + r * units)" }, 749 { F|O, "ProgressMeterStep" , opt_general_progress_meter_step , 10. , 750 "Increment (in percent) of the progress meter bar" }, 751 752 { F|O, "QuadricSubdivisions" , opt_general_quadric_subdivisions, 6. , 753 "Number of subdivisions used to draw points or lines as spheres or cylinders" }, 754 755 { F, "RotationX" , opt_general_rotation0 , 0.0 , 756 "First Euler angle (used if Trackball=0)" }, 757 { F, "RotationY" , opt_general_rotation1 , 0.0 , 758 "Second Euler angle (used if Trackball=0)" }, 759 { F, "RotationZ" , opt_general_rotation2 , 0.0 , 760 "Third Euler angle (used if Trackball=0)" }, 761 { F|O, "RotationCenterGravity" , opt_general_rotation_center_cg , 1. , 762 "Rotate around the (pseudo) center of mass instead of (RotationCenterX, " 763 "RotationCenterY, RotationCenterZ)" }, 764 { F, "RotationCenterX" , opt_general_rotation_center0 , 0.0 , 765 "X coordinate of the center of rotation" }, 766 { F, "RotationCenterY" , opt_general_rotation_center1 , 0.0 , 767 "Y coordinate of the center of rotation" }, 768 { F, "RotationCenterZ" , opt_general_rotation_center2 , 0.0 , 769 "Z coordinate of the center of rotation" }, 770 771 { F|S, "SaveOptions" , opt_general_options_save, 0. , 772 "Automatically save current options in General.OptionsFileName (1) or per model (2)" 773 "when the graphical user interface is closed?" }, 774 { F|S, "SaveSession" , opt_general_session_save, 1. , 775 "Automatically save session specific information in General.SessionFileName " 776 "when the graphical user interface is closed?" }, 777 { F, "ScaleX" , opt_general_scale0 , 1.0 , 778 "X-axis scale factor" }, 779 { F, "ScaleY" , opt_general_scale1 , 1.0 , 780 "Y-axis scale factor" }, 781 { F, "ScaleZ" , opt_general_scale2 , 1.0 , 782 "Z-axis scale factor" }, 783 { F|O, "Shininess" , opt_general_shine , 0.4 , 784 "Material shininess" }, 785 { F|O, "ShininessExponent" , opt_general_shine_exponent , 40. , 786 "Material shininess exponent (between 0 and 128)" }, 787 { F|O, "ShowModuleMenu" , opt_general_show_module_menu , 1. , 788 "Show the standard Gmsh menu in the tree" }, 789 { F|O, "ShowOptionsOnStartup", opt_general_show_options_on_startup, 0. , 790 "Show option window on startup" }, 791 { F|O, "ShowMessagesOnStartup", opt_general_show_messages_on_startup, 0. , 792 "Show message window on startup" }, 793 { F|O, "SmallAxes" , opt_general_small_axes , 1. , 794 "Display the small axes" }, 795 { F|O, "SmallAxesPositionX" , opt_general_small_axes_position0 , -60. , 796 "X position (in pixels) of small axes (< 0: measure from right window edge; >= 1e5:" 797 " centered)" }, 798 { F|O, "SmallAxesPositionY" , opt_general_small_axes_position1 , -40. , 799 "Y position (in pixels) of small axes (< 0: measure from bottom window edge; >= 1e5:" 800 " centered)" }, 801 { F|O, "SmallAxesSize" , opt_general_small_axes_size , 30. , 802 "Size (in pixels) of small axes" }, 803 { F|S, "StatisticsPositionX" , opt_general_statistics_position0 , 650. , 804 "Horizontal position (in pixels) of the upper left corner of the statistic " 805 "window" }, 806 { F|S, "StatisticsPositionY" , opt_general_statistics_position1 , 150. , 807 "Vertical position (in pixels) of the upper left corner of the statistic" 808 " window" }, 809 { F|O, "Stereo" , opt_general_stereo_mode , 0. , 810 "Use stereo rendering" }, 811 { F|S, "SystemMenuBar" , opt_general_system_menu_bar , 1. , 812 "Use the system menu bar on Mac OS X?" }, 813 814 { F|O, "Terminal" , opt_general_terminal , 0. , 815 "Should information be printed on the terminal (if available)?" }, 816 { F|O, "Tooltips" , opt_general_tooltips , 1. , 817 "Show tooltips in the user interface" }, 818 { F|O, "Trackball" , opt_general_trackball , 1. , 819 "Use trackball rotation mode" }, 820 { F|O, "TrackballHyperbolicSheet" , opt_general_trackball_hyperbolic_sheet , 1. , 821 "Use hyperbolic sheet away from trackball center for z-rotations" }, 822 { F, "TrackballQuaternion0" , opt_general_quaternion0 , 0.0 , 823 "First trackball quaternion component (used if General.Trackball=1)" }, 824 { F, "TrackballQuaternion1" , opt_general_quaternion1 , 0.0 , 825 "Second trackball quaternion component (used if General.Trackball=1)" }, 826 { F, "TrackballQuaternion2" , opt_general_quaternion2 , 0.0 , 827 "Third trackball quaternion component (used if General.Trackball=1)" }, 828 { F, "TrackballQuaternion3" , opt_general_quaternion3 , 1.0 , 829 "Fourth trackball quaternion component (used if General.Trackball=1)" }, 830 { F, "TranslationX" , opt_general_translation0 , 0.0 , 831 "X-axis translation (in model units)" }, 832 { F, "TranslationY" , opt_general_translation1 , 0.0 , 833 "Y-axis translation (in model units)" }, 834 { F, "TranslationZ" , opt_general_translation2 , 0.0 , 835 "Z-axis translation (in model units)" }, 836 837 { F|O, "VectorType" , opt_general_vector_type , 4 , 838 "Default vector display type (for normals, etc.)" }, 839 { F|O, "Verbosity" , opt_general_verbosity , 5. , 840 "Level of information printed on the terminal and the message console " 841 "(0: silent except for fatal errors, 1: +errors, 2: +warnings, 3: +direct, " 842 "4: +information, 5: +status, 99: +debug)" }, 843 { F|S, "VisibilityPositionX" , opt_general_visibility_position0 , 650. , 844 "Horizontal position (in pixels) of the upper left corner of the visibility " 845 "window" }, 846 { F|S, "VisibilityPositionY" , opt_general_visibility_position1 , 150. , 847 "Vertical position (in pixels) of the upper left corner of the visibility " 848 "window" }, 849 850 { F|O, "ZoomFactor" , opt_general_zoom_factor , 4.0 , 851 "Middle mouse button zoom acceleration factor" }, 852 853 { 0, nullptr , nullptr , 0. , nullptr } 854 } ; 855 856 StringXNumber GeometryOptions_Number[] = { 857 { F|O, "AutoCoherence" , opt_geometry_auto_coherence , 1. , 858 "Should all duplicate entities be automatically removed with the built-in " 859 "geometry kernel? If Geometry.AutoCoherence = 2, also remove degenerate " 860 "entities. The option has no effect with the OpenCASCADE kernel"}, 861 862 { F, "Clip" , opt_geometry_clip , 0., 863 "Enable clipping planes? (Plane[i]=2^i, i=0,...,5)" }, 864 { F|O, "CopyMeshingMethod" , opt_geometry_copy_meshing_method, 0. , 865 "Copy meshing method (unstructured or transfinite) when duplicating geometrical " 866 "entities with built-in geometry kernel?" }, 867 { F|O, "Curves" , opt_geometry_curves , 1. , 868 "Display geometry curves?" }, 869 { F|O, "CurveLabels" , opt_geometry_curve_labels , 0. , 870 "Display curve labels?" }, 871 { F|O|D, "CurveNumbers" , opt_geometry_curve_labels , 0. , 872 "[Deprecated]" }, 873 { F|O, "CurveSelectWidth" , opt_geometry_curve_sel_width , 3. , 874 "Display width of selected curves (in pixels)" }, 875 { F|O, "CurveType" , opt_geometry_curve_type , 0. , 876 "Display curves as solid color segments (0), 3D cylinders (1) or tapered " 877 "cylinders (2)" }, 878 { F|O, "CurveWidth" , opt_geometry_curve_width , 2. , 879 "Display width of lines (in pixels)" }, 880 881 { F, "DoubleClickedEntityTag" , opt_geometry_double_clicked_entity_tag, 0. , 882 "Tag of last double-clicked geometrical entity" }, 883 884 { F|O, "ExactExtrusion" , opt_geometry_exact_extrusion, 1. , 885 "Use exact extrusion formula in interpolations (set to 0 to allow " 886 "geometrical transformations of extruded entities)" }, 887 { F|O, "ExtrudeReturnLateralEntities" , opt_geometry_extrude_return_lateral, 1. , 888 "Add lateral entities in lists returned by extrusion commands?" }, 889 { F|O, "ExtrudeSplinePoints" , opt_geometry_extrude_spline_points, 5. , 890 "Number of control points for splines created during extrusion" }, 891 892 { F|O, "HighlightOrphans" , opt_geometry_highlight_orphans, 0. , 893 "Highlight orphan and boundary curves and surfaces?" }, 894 895 { F|O, "LabelType" , opt_geometry_label_type , 0. , 896 "Type of entity label (0: description, 1: elementary entity tag, " 897 "2: physical group tag, 3: elementary name, 4: physical name)" }, 898 { F|O, "Light" , opt_geometry_light , 1. , 899 "Enable lighting for the geometry" }, 900 { F|O, "LightTwoSide" , opt_geometry_light_two_side , 1. , 901 "Light both sides of surfaces (leads to slower rendering)" }, 902 { F|O|D, "Lines" , opt_geometry_curves , 1. , 903 "[Deprecated]" }, 904 { F|O|D, "LineNumbers" , opt_geometry_curve_labels , 0. , 905 "[Deprecated]" }, 906 { F|O|D, "LineSelectWidth" , opt_geometry_curve_sel_width , 3. , 907 "[Deprecated]" }, 908 { F|O|D, "LineType" , opt_geometry_curve_type , 0. , 909 "[Deprecated]" }, 910 { F|O|D, "LineWidth" , opt_geometry_curve_width , 2. , 911 "[Deprecated]" }, 912 913 { F|O, "MatchGeomAndMesh" , opt_geometry_match_geom_and_mesh, 0 , 914 "Matches geometries and meshes" }, 915 { F|O, "MatchMeshScaleFactor" , opt_geometry_match_mesh_scale_factor, 1 , 916 "Rescaling factor for the mesh to correspond to size of the geometry" }, 917 { F|O, "MatchMeshTolerance", opt_geometry_match_mesh_tolerance, 1e-6, 918 "Tolerance for matching mesh and geometry"}, 919 920 { F|O, "Normals" , opt_geometry_normals , 0. , 921 "Display size of normal vectors (in pixels)" }, 922 { F|O, "NumSubEdges" , opt_geometry_num_sub_edges , 40. , 923 "Number of edge subdivisions between control points when displaying curves" }, 924 925 { F|O, "OCCAutoEmbed" , opt_geometry_occ_auto_embed , 1. , 926 "Automatically embed points, curves and faces in higher dimensional entities if " 927 "they are marked as 'internal' by OpenCASCADE" }, 928 { F|O, "OCCAutoFix" , opt_geometry_occ_auto_fix , 1. , 929 "Automatically fix orientation of wires, faces, shells and volumes when creating " 930 "new entities with the OpenCASCADE kernel" }, 931 { F|O, "OCCBooleanPreserveNumbering" , opt_geometry_occ_boolean_preserve_numbering , 1. , 932 "Try to preserve the numbering of entities through OpenCASCADE boolean operations" }, 933 { F|O, "OCCBoundsUseStl" , opt_geometry_occ_bounds_use_stl , 0. , 934 "Use STL mesh for computing bounds of OpenCASCADE shapes (more accurate, but slower)" }, 935 { F|O, "OCCDisableStl" , opt_geometry_occ_disable_stl , 0. , 936 "Disable STL creation in OpenCASCADE kernel" }, 937 { F|O, "OCCFixDegenerated" , opt_geometry_occ_fix_degenerated , 0. , 938 "Fix degenerated edges/faces when importing STEP, IGES and BRep models with the " 939 "OpenCASCADE kernel" }, 940 { F|O, "OCCFixSmallEdges" , opt_geometry_occ_fix_small_edges , 0. , 941 "Fix small edges when importing STEP, IGES and BRep models with the " 942 "OpenCASCADE kernel" }, 943 { F|O, "OCCFixSmallFaces" , opt_geometry_occ_fix_small_faces , 0. , 944 "Fix small faces when importing STEP, IGES and BRep models with the " 945 "OpenCASCADE kernel" }, 946 { F|O, "OCCImportLabels" , opt_geometry_occ_import_labels , 1. , 947 "Import labels and colors when importing STEP models with the OpenCASCADE kernel" }, 948 { F|O, "OCCMakeSolids" , opt_geometry_occ_make_solids , 0. , 949 "Fix shells and make solids when importing STEP, IGES and BRep models with the " 950 "OpenCASCADE kernel" }, 951 { F|O, "OCCParallel" , opt_geometry_occ_parallel , 0. , 952 "Use multi-threaded OpenCASCADE boolean operators" }, 953 { F|O, "OCCScaling" , opt_geometry_occ_scaling , 1. , 954 "Scale STEP, IGES and BRep models by the given factor when importing them with the " 955 "OpenCASCADE kernel" }, 956 { F|O, "OCCSewFaces" , opt_geometry_occ_sew_faces , 0. , 957 "Sew faces when importing STEP, IGES and BRep models with the OpenCASCADE kernel" }, 958 { F|O, "OCCThruSectionsDegree" , opt_geometry_occ_thrusections_degree , -1. , 959 "Maximum degree of surfaces generated by thrusections with the OpenCASCADE kernel, " 960 "if not explicitly specified (default OCC value if negative)" }, 961 { F|O, "OCCUnionUnify" , opt_geometry_occ_union_unify , 1. , 962 "Try to unify faces and edges (remove internal seams) which lie on the same geometry " 963 "after performing a boolean union with the OpenCASCADE kernel" }, 964 { F|O, "OCCUseGenericClosestPoint" , opt_geometry_occ_use_generic_closest_point , 0. , 965 "Use generic algrithm to compute point projections in the OpenCASCADE kernel " 966 "(less robust, but significally faster in some configurations)" }, 967 { F, "OffsetX" , opt_geometry_offset0 , 0. , 968 "Model display offset along X-axis (in model coordinates)" }, 969 { F, "OffsetY" , opt_geometry_offset1 , 0. , 970 "Model display offset along Y-axis (in model coordinates)" }, 971 { F, "OffsetZ" , opt_geometry_offset2 , 0. , 972 "Model display offset along Z-axis (in model coordinates)" }, 973 { F|O, "OldCircle" , opt_geometry_old_circle , 0. , 974 "Use old circle description (compatibility option for old Gmsh geometries)" }, 975 { F|O, "OldRuledSurface" , opt_geometry_old_ruled_surface , 0. , 976 "Use old 3-sided ruled surface interpolation (compatibility option for old Gmsh geometries)" }, 977 { F|O, "OldNewReg" , opt_geometry_old_newreg , 1. , 978 "Use old newreg definition for geometrical transformations (compatibility " 979 "option for old Gmsh geometries)" }, 980 { F|O, "OrientedPhysicals" , opt_geometry_oriented_physicals, 1. , 981 "Use sign of elementary entity in physical definition as orientation indicator" }, 982 983 { F|O, "Points" , opt_geometry_points , 1. , 984 "Display geometry points?" }, 985 { F|O, "PointLabels" , opt_geometry_point_labels , 0. , 986 "Display points labels?" }, 987 { F|O|D, "PointNumbers" , opt_geometry_point_labels , 0. , 988 "[Deprecated]" }, 989 { F|O, "PointSelectSize" , opt_geometry_point_sel_size , 6. , 990 "Display size of selected points (in pixels)" }, 991 { F|O, "PointSize" , opt_geometry_point_size , 4. , 992 "Display size of points (in pixels)" }, 993 { F|O, "PointType" , opt_geometry_point_type , 0. , 994 "Display points as solid color dots (0) or 3D spheres (1)" }, 995 996 { F|O, "ReparamOnFaceRobust" , opt_geometry_reparam_on_face_robust, 0 , 997 "Use projection for reparametrization of a point classified on GEdge on a GFace" }, 998 999 { F|O, "ScalingFactor" , opt_geometry_scaling_factor , 1.0 , 1000 "Global geometry scaling factor" }, 1001 { F|O, "SnapPoints" , opt_geometry_snap_points , 1. , 1002 "Snap points on curves if their evaluation using the parametrization is larger " 1003 "than the geometrical tolerance (currently only with the OpenCASCADE kernel)"}, 1004 { F|O, "SnapX" , opt_geometry_snap0 , 0.1 , 1005 "Snapping grid spacing along the X-axis" }, 1006 { F|O, "SnapY" , opt_geometry_snap1 , 0.1 , 1007 "Snapping grid spacing along the Y-axis" }, 1008 { F|O, "SnapZ" , opt_geometry_snap2 , 0.1 , 1009 "Snapping grid spacing along the Z-axis" }, 1010 { F|O, "Surfaces" , opt_geometry_surfaces , 0. , 1011 "Display geometry surfaces?" }, 1012 { F|O, "SurfaceLabels" , opt_geometry_surface_labels , 0. , 1013 "Display surface labels?" }, 1014 { F|O|D, "SurfaceNumbers" , opt_geometry_surface_labels , 0. , 1015 "[Deprecated]" }, 1016 { F|O, "SurfaceType" , opt_geometry_surface_type , 0. , 1017 "Surface display type (0: cross, 1: wireframe, 2: solid). Wireframe and solid " 1018 "are not available with the built-in geometry kernel." }, 1019 1020 { F|O, "Tangents" , opt_geometry_tangents , 0. , 1021 "Display size of tangent vectors (in pixels)" }, 1022 { F|O, "Tolerance" , opt_geometry_tolerance, 1.e-8 , 1023 "Geometrical tolerance" }, 1024 { F|O, "ToleranceBoolean" , opt_geometry_tolerance_boolean, 0. , 1025 "Geometrical tolerance for boolean operations" }, 1026 { F, "Transform" , opt_geometry_transform , 0. , 1027 "Transform model display coordinates (0: no, 1: scale)" }, 1028 { F, "TransformXX" , opt_geometry_transform00 , 1. , 1029 "Element (1,1) of the 3x3 model display transformation matrix" }, 1030 { F, "TransformXY" , opt_geometry_transform01 , 0. , 1031 "Element (1,2) of the 3x3 model display transformation matrix" }, 1032 { F, "TransformXZ" , opt_geometry_transform02 , 0. , 1033 "Element (1,3) of the 3x3 model display transformation matrix" }, 1034 { F, "TransformYX" , opt_geometry_transform10 , 0. , 1035 "Element (2,1) of the 3x3 model display transformation matrix" }, 1036 { F, "TransformYY" , opt_geometry_transform11 , 1. , 1037 "Element (2,2) of the 3x3 model display transformation matrix" }, 1038 { F, "TransformYZ" , opt_geometry_transform12 , 0. , 1039 "Element (2,3) of the 3x3 model display transformation matrix" }, 1040 { F, "TransformZX" , opt_geometry_transform20 , 0. , 1041 "Element (3,1) of the 3x3 model display transformation matrix" }, 1042 { F, "TransformZY" , opt_geometry_transform21 , 0. , 1043 "Element (3,2) of the 3x3 model display transformation matrix" }, 1044 { F, "TransformZZ" , opt_geometry_transform22 , 1. , 1045 "Element (3,3) of the 3x3 model display transformation matrix" }, 1046 1047 { F|O, "Volumes" , opt_geometry_volumes , 0. , 1048 "Display geometry volumes?" }, 1049 { F|O, "VolumeLabels" , opt_geometry_volume_labels , 0. , 1050 "Display volume labels?" }, 1051 { F|O|D, "VolumeNumbers" , opt_geometry_volume_labels , 0. , 1052 "[Deprecated]" }, 1053 1054 { 0, nullptr , nullptr , 0. , nullptr } 1055 } ; 1056 1057 StringXNumber MeshOptions_Number[] = { 1058 { F|O, "Algorithm" , opt_mesh_algo2d , ALGO_2D_FRONTAL , 1059 "2D mesh algorithm (1: MeshAdapt, 2: Automatic, 3: Initial mesh only, " 1060 "5: Delaunay, 6: Frontal-Delaunay, 7: BAMG, 8: Frontal-Delaunay for Quads, " 1061 "9: Packing of Parallelograms)" }, 1062 { F|O, "Algorithm3D" , opt_mesh_algo3d , ALGO_3D_DELAUNAY , 1063 "3D mesh algorithm (1: Delaunay, 3: Initial mesh only, 4: Frontal, " 1064 "7: MMG3D, 9: R-tree, 10: HXT)" }, 1065 { F|O, "AlgorithmSwitchOnFailure" , opt_mesh_algo_switch_on_failure , 1 , 1066 "Switch meshing algorithm on failure? (Currently only for 2D Delaunay-based " 1067 "algorithms, switching to MeshAdapt)"}, 1068 { F|O, "AngleSmoothNormals" , opt_mesh_angle_smooth_normals , 30.0 , 1069 "Threshold angle below which normals are not smoothed" }, 1070 { F|O, "AngleToleranceFacetOverlap" , opt_mesh_angle_tolerance_facet_overlap , 0.1, 1071 "Consider connected facets as overlapping when the dihedral angle between the facets is " 1072 "smaller than the user's defined tolerance (in degrees)" }, 1073 { F|O, "AnisoMax" , opt_mesh_aniso_max, 1.e33, 1074 "Maximum anisotropy of the mesh" }, 1075 { F|O, "AllowSwapAngle" , opt_mesh_allow_swap_edge_angle , 10.0 , 1076 "Threshold angle (in degrees) between faces normals under which we allow " 1077 "an edge swap" }, 1078 1079 { F|O, "BdfFieldFormat" , opt_mesh_bdf_field_format , 1. , 1080 "Field format for Nastran BDF files (0: free, 1: small, 2: large)" }, 1081 { F|O, "Binary" , opt_mesh_binary , 0. , 1082 "Write mesh files in binary format (if possible)" }, 1083 { F|O, "BoundaryLayerFanElements" , opt_mesh_boundary_layer_fan_elements, 5. , 1084 "Number of elements (per Pi radians) for 2D boundary layer fans" }, 1085 { F|O|D, "BoundaryLayerFanPoints" , opt_mesh_boundary_layer_fan_elements, 5. , 1086 "[Deprecated]" }, 1087 1088 { F|O, "CgnsImportOrder" , opt_mesh_cgns_import_order , 1. , 1089 "Order of the mesh to be created by coarsening CGNS structured zones (1 to " 1090 "4)" }, 1091 { F|O, "CgnsImportIgnoreBC" , opt_mesh_cgns_import_ignore_bc , 0. , 1092 "Ignore information in ZoneBC structures when reading a CGNS file" }, 1093 { F|O, "CgnsImportIgnoreSolution" , opt_mesh_cgns_import_ignore_solution , 0. , 1094 "Ignore solution when reading a CGNS file" }, 1095 { F|O, "CgnsConstructTopology" , opt_mesh_cgns_construct_topology , 0. , 1096 "Reconstruct the model topology (BREP) after reading a CGNS file" }, 1097 { F|O, "CgnsExportCPEX0045" , opt_mesh_cgns_export_cpex0045 , 0. , 1098 "Use the CPEX0045 convention when exporting a high-order mesh to CGNS" }, 1099 { F|O, "CgnsExportStructured" , opt_mesh_cgns_export_structured , 0. , 1100 "Export transfinite meshes as structured CGNS grids" }, 1101 { F|O|D, "CharacteristicLengthExtendFromBoundary" , 1102 opt_mesh_lc_extend_from_boundary, 1. , 1103 "[Deprecated]"}, 1104 { F|O|D, "CharacteristicLengthFactor" , opt_mesh_lc_factor , 1.0 , 1105 "[Deprecated]" }, 1106 { F|O|D, "CharacteristicLengthMin" , opt_mesh_lc_min, 0.0 , 1107 "[Deprecated]" }, 1108 { F|O|D, "CharacteristicLengthMax" , opt_mesh_lc_max, 1.e22, 1109 "[Deprecated]" }, 1110 { F|O|D, "CharacteristicLengthFromCurvature" , opt_mesh_lc_from_curvature , 0. , 1111 "[Deprecated]" }, 1112 { F|O|D, "CharacteristicLengthFromPoints" , opt_mesh_lc_from_points , 1. , 1113 "[Deprecated]" }, 1114 { F|O|D, "CharacteristicLengthFromParametricPoints" , opt_mesh_lc_from_parametric_points , 0. , 1115 "[Deprecated]"}, 1116 { F, "Clip" , opt_mesh_clip , 0., 1117 "Enable clipping planes? (Plane[i]=2^i, i=0,...,5)" }, 1118 { F|O, "ColorCarousel" , opt_mesh_color_carousel , 1. , 1119 "Mesh coloring (0: by element type, 1: by elementary entity, 2: by physical " 1120 "group, 3: by mesh partition)" }, 1121 { F|O, "CompoundClassify" , opt_mesh_compound_classify , 1. , 1122 "How are surface mesh elements classified on compounds? (0: on the new discrete " 1123 "surface, 1: on the original geometrical surfaces - incompatible with e.g. high-order " 1124 "meshing)" }, 1125 { F|O|D, "CompoundCharacteristicLengthFactor" , opt_mesh_compound_lc_factor , 0.5 , 1126 "[Deprecated]" }, 1127 { F|O, "CompoundMeshSizeFactor" , opt_mesh_compound_lc_factor , 0.5 , 1128 "Mesh size factor applied to compound parts" }, 1129 { F, "CpuTime" , opt_mesh_cpu_time , 0. , 1130 "CPU time (in seconds) for the generation of the current mesh (read-only)" }, 1131 { F|O, "CreateTopologyMsh2" , opt_mesh_create_topology_msh2, 0. , 1132 "Attempt to (re)create the model topology when reading MSH2 files" }, 1133 1134 { F|O, "DrawSkinOnly" , opt_mesh_draw_skin_only , 0. , 1135 "Draw only the skin of 3D meshes?" }, 1136 { F|O, "Dual" , opt_mesh_dual , 0. , 1137 "Display the dual mesh obtained by barycentric subdivision" }, 1138 1139 { F|O, "ElementOrder" , opt_mesh_order , 1. , 1140 // "Order" is a reserved token in the parser 1141 "Element order (1: first order elements)" }, 1142 { F|O, "Explode" , opt_mesh_explode , 1.0 , 1143 "Element shrinking factor (between 0 and 1)" }, 1144 1145 { F|O, "FirstElementTag" , opt_mesh_first_element_tag , 1. , 1146 "First tag (>= 1) of mesh elements when generating or renumbering a mesh" }, 1147 { F|O, "FirstNodeTag" , opt_mesh_first_node_tag , 1. , 1148 "First tag (>= 1) of mesh nodes when generating or renumbering a mesh" }, 1149 { F|O, "FlexibleTransfinite" , opt_mesh_flexible_transfinite , 0 , 1150 "Allow transfinite constraints to be modified for recombination (e.g. Blossom) or " 1151 "by global mesh size factor" }, 1152 { F|O, "Format" , opt_mesh_file_format , FORMAT_AUTO , 1153 "Mesh output format (1: msh, 2: unv, 10: auto, 16: vtk, 19: vrml, 21: mail, " 1154 "26: pos stat, 27: stl, 28: p3d, 30: mesh, 31: bdf, 32: cgns, 33: med, 34: diff, " 1155 "38: ir3, 39: inp, 40: ply2, 41: celum, 42: su2, 47: tochnog, 49: neu, 50: matlab)" }, 1156 { F|O, "Hexahedra" , opt_mesh_hexahedra , 1. , 1157 "Display mesh hexahedra?" }, 1158 1159 { F|O, "HighOrderDistCAD", opt_mesh_ho_dist_cad, 0, 1160 "Try to optimize distance to CAD in high-order optimizer?"}, 1161 { F|O, "HighOrderIterMax", opt_mesh_ho_iter_max, 100, 1162 "Maximum number of iterations in high-order optimization pass"}, 1163 { F|O, "HighOrderNumLayers", opt_mesh_ho_nlayers, 6., 1164 "Number of layers around a problematic element to consider for high-order " 1165 "optimization, or number of element layers to consider in the boundary " 1166 "layer mesh for high-order fast curving"}, 1167 { F|O, "HighOrderOptimize" , opt_mesh_ho_optimize , 0., 1168 "Optimize high-order meshes? (0: none, 1: optimization, 2: elastic+optimization, " 1169 "3: elastic, 4: fast curving)" }, 1170 { F|O, "HighOrderPassMax", opt_mesh_ho_pass_max, 25, 1171 "Maximum number of high-order optimization passes (moving barrier)"}, 1172 { F|O, "HighOrderPeriodic" , opt_mesh_ho_periodic , 0., 1173 "Force location of nodes for periodic meshes using periodicity transform (0: " 1174 "assume identical parametrisations, 1: invert parametrisations, 2: compute " 1175 "closest point" }, 1176 { F|O, "HighOrderPoissonRatio", opt_mesh_ho_poisson, 0.33, 1177 "Poisson ratio of the material used in the elastic smoother for high-order meshes " 1178 "(between -1.0 and 0.5, excluded)"}, 1179 { F|O, "HighOrderSavePeriodic" , opt_mesh_ho_save_periodic , 0., 1180 "Save high-order nodes in periodic section of MSH files?" }, 1181 { F|O, "HighOrderPrimSurfMesh", opt_mesh_ho_prim_surf_mesh, 0, 1182 "Try to fix flipped surface mesh elements in high-order optimizer?"}, 1183 { F|O, "HighOrderThresholdMin", opt_mesh_ho_threshold_min, 0.1, 1184 "Minimum threshold for high-order element optimization"}, 1185 { F|O, "HighOrderThresholdMax", opt_mesh_ho_threshold_max, 2.0, 1186 "Maximum threshold for high-order element optimization"}, 1187 { F|O, "HighOrderFastCurvingNewAlgo", opt_mesh_ho_fast_new_algo, 0, 1188 "Curve boundary layer with new \"fast curving\" algorithm (experimental)"}, 1189 { F|O, "HighOrderCurveOuterBL", opt_mesh_ho_curve_outer_BL, 0, 1190 "Curve also the outer surface of the boundary layer in the fast curving " 1191 "algorithm (0 = do not curve, 1 = curve according to boundary, 2 = curve " 1192 "without breaking outer elements)"}, 1193 { F|O, "HighOrderMaxRho", opt_mesh_ho_max_rho, 0.3, 1194 "Maximum min/max ratio of edge/face size for the detection of BL element " 1195 "columns in the fast curving algorithm"}, 1196 { F|O, "HighOrderMaxAngle", opt_mesh_ho_max_angle, 3.1415927*10./180., 1197 "Maximum angle between layers of BL elements for the detection of columns " 1198 "in the fast curving algorithm"}, 1199 { F|O, "HighOrderMaxInnerAngle", opt_mesh_ho_max_in_angle, 3.1415927*30./180., 1200 "Maximum angle between edges/faces within layers of BL triangles/tets " 1201 "for the detection of columns in the fast curving algorithm"}, 1202 1203 { F|O, "IgnoreParametrization" , opt_mesh_ignore_parametrization, 0. , 1204 "Skip parametrization section when reading meshes in the MSH4 format." }, 1205 { F|O, "IgnorePeriodicity" , opt_mesh_ignore_periodicity , 1. , 1206 "Skip periodic node section and skip periodic boundary alignment step when " 1207 "reading meshes in the MSH2 format." }, 1208 1209 { F|O, "LabelSampling" , opt_mesh_label_sampling , 1. , 1210 "Label sampling rate (display one label every `LabelSampling' elements)" }, 1211 { F|O, "LabelType" , opt_mesh_label_type , 0. , 1212 "Type of element label (0: node/element tag, 1: elementary entity tag, " 1213 "2: physical entity tag, 3: partition, 4: coordinates)" }, 1214 { F|O, "LcIntegrationPrecision" , opt_mesh_lc_integration_precision, 1.e-9 , 1215 "Accuracy of evaluation of the LC field for 1D mesh generation" }, 1216 { F|O, "Light" , opt_mesh_light , 1. , 1217 "Enable lighting for the mesh" }, 1218 { F|O, "LightLines" , opt_mesh_light_lines , 2. , 1219 "Enable lighting for mesh edges (0: no, 1: surfaces, 2: surfaces+volumes" }, 1220 { F|O, "LightTwoSide" , opt_mesh_light_two_side , 1. , 1221 "Light both sides of surfaces (leads to slower rendering)" }, 1222 { F|O, "Lines" , opt_mesh_lines , 0. , 1223 "Display mesh lines (1D elements)?" }, 1224 { F|O, "LineLabels" , opt_mesh_line_labels , 0. , 1225 "Display mesh line labels?" }, 1226 { F|O|D, "LineNumbers" , opt_mesh_line_labels , 0. , 1227 "[Deprecated]" }, 1228 { F|O, "LineWidth" , opt_mesh_line_width , 1.0 , 1229 "Display width of mesh lines (in pixels)" }, 1230 1231 { F|O, "MaxIterDelaunay3D" , opt_mesh_max_iter_delaunay_3d, 0, 1232 "Maximum number of point insertion iterations in 3D Delaunay mesher " 1233 "(0: unlimited)" }, 1234 { F|O, "MaxNumThreads1D" , opt_mesh_max_num_threads_1d , 0. , 1235 "Maximum number of threads for 1D meshing (0: use default)" }, 1236 { F|O, "MaxNumThreads2D" , opt_mesh_max_num_threads_2d , 0. , 1237 "Maximum number of threads for 2D meshing (0: use default)" }, 1238 { F|O, "MaxNumThreads3D" , opt_mesh_max_num_threads_3d , 0. , 1239 "Maximum number of threads for 3D meshing (0: use default)" }, 1240 { F|O, "MaxRetries" , opt_mesh_max_retries , 10 , 1241 "Maximum number of times meshing is retried on curves and surfaces with a " 1242 "pending mesh"}, 1243 { F|O, "MeshOnlyVisible" , opt_mesh_mesh_only_visible, 0. , 1244 "Mesh only visible entities (experimental)" }, 1245 { F|O, "MeshOnlyEmpty" , opt_mesh_mesh_only_empty, 0. , 1246 "Mesh only entities that have no existing mesh" }, 1247 { F|O, "MeshSizeExtendFromBoundary" , opt_mesh_lc_extend_from_boundary, 1. , 1248 "Extend computation of mesh element sizes from the boundaries into the interior " 1249 "(for 3D Delaunay, use 1: longest or 2: shortest surface edge length)"}, 1250 { F|O, "MeshSizeFactor" , opt_mesh_lc_factor , 1.0 , 1251 "Factor applied to all mesh element sizes" }, 1252 { F|O, "MeshSizeMin" , opt_mesh_lc_min, 0.0 , 1253 "Minimum mesh element size" }, 1254 { F|O, "MeshSizeMax" , opt_mesh_lc_max, 1.e22, 1255 "Maximum mesh element size" }, 1256 { F|O, "MeshSizeFromCurvature" , opt_mesh_lc_from_curvature , 0. , 1257 "Automatically compute mesh element sizes from curvature, using the value " 1258 "as the target number of elements per 2 * Pi radians" }, 1259 { F|O, "MeshSizeFromCurvatureIsotropic" , opt_mesh_lc_from_curvature_iso , 0. , 1260 "Force isotropic curvature estimation when the mesh size is computed from " 1261 "curvature" }, 1262 { F|O, "MeshSizeFromPoints" , opt_mesh_lc_from_points , 1. , 1263 "Compute mesh element sizes from values given at geometry points" }, 1264 { F|O, "MeshSizeFromParametricPoints" , opt_mesh_lc_from_parametric_points , 0. , 1265 "Compute mesh element sizes from values given at geometry points defining " 1266 "parametric curves"}, 1267 { F|O, "MetisAlgorithm" , opt_mesh_partition_metis_algorithm, 1. , 1268 "METIS partitioning algorithm 'ptype' (1: Recursive, 2: K-way)" }, 1269 { F|O, "MetisEdgeMatching" , opt_mesh_partition_metis_edge_matching, 2. , 1270 "METIS edge matching type 'ctype' (1: Random, 2: Sorted Heavy-Edge)" }, 1271 { F|O, "MetisMaxLoadImbalance" , opt_mesh_partition_metis_max_load_imbalance, -1. , 1272 "METIS maximum load imbalance 'ufactor' (-1: default, i.e. 30 for K-way and 1 " 1273 "for Recursive)" }, 1274 { F|O, "MetisObjective" , opt_mesh_partition_metis_objective, 1. , 1275 "METIS objective type 'objtype' (1: min. edge-cut, 2: min. communication volume)" }, 1276 { F|O, "MetisMinConn" , opt_mesh_partition_metis_min_conn, -1. , 1277 "METIS minimize maximum connectivity of partitions 'minconn' (-1: default)" }, 1278 { F|O, "MetisRefinementAlgorithm" , opt_mesh_partition_metis_refinement_algorithm, 2. , 1279 "METIS algorithm for k-way refinement 'rtype' (1: FM-based cut, 2: Greedy, " 1280 "3: Two-sided node FM, 4: One-sided node FM)" }, 1281 { F|O, "MinimumCircleNodes" , opt_mesh_min_circle_nodes, 7. , 1282 "Minimum number of nodes used to mesh circles and ellipses" }, 1283 { F|O|D, "MinimumCirclePoints" , opt_mesh_min_circle_nodes, 7. , 1284 "[Deprecated]" }, 1285 { F|O, "MinimumCurveNodes" , opt_mesh_min_curve_nodes, 3. , 1286 "Minimum number of nodes used to mesh curves other than lines, circles and " 1287 "ellipses"}, 1288 { F|O|D, "MinimumCurvePoints" , opt_mesh_min_curve_nodes, 3. , 1289 "[Deprecated]"}, 1290 { F|O, "MinimumElementsPerTwoPi" , opt_mesh_lc_from_curvature, 0. , 1291 "[Deprecated]" }, 1292 { F|O, "MshFileVersion" , opt_mesh_msh_file_version , 4.1 , 1293 "Version of the MSH file format to use" }, 1294 { F|O, "MedFileMinorVersion" , opt_mesh_med_file_minor_version , -1. , 1295 "Minor version of the MED file format to use (-1: use minor version of the MED library)" }, 1296 { F|O, "MedImportGroupsOfNodes" , opt_mesh_med_import_groups_of_nodes , 0. , 1297 "Import groups of nodes (0: no; 1: create geometrical point for each node)?" }, 1298 { F|O, "MedSingleModel" , opt_mesh_med_single_model , 0. , 1299 "Import MED meshes in the current model, even if several MED mesh names exist" }, 1300 1301 { F, "NbHexahedra" , opt_mesh_nb_hexahedra , 0. , 1302 "Number of hexahedra in the current mesh (read-only)" }, 1303 { F, "NbNodes" , opt_mesh_nb_nodes , 0. , 1304 "Number of nodes in the current mesh (read-only)" }, 1305 { F|O, "NbPartitions" , opt_mesh_partition_num, 0. , 1306 "Number of partitions" }, 1307 { F, "NbPrisms" , opt_mesh_nb_prisms , 0. , 1308 "Number of prisms in the current mesh (read-only)" }, 1309 { F, "NbPyramids" , opt_mesh_nb_pyramids , 0. , 1310 "Number of pyramids in the current mesh (read-only)" }, 1311 { F, "NbTrihedra" , opt_mesh_nb_trihedra , 0. , 1312 "Number of trihedra in the current mesh (read-only)" }, 1313 { F, "NbQuadrangles" , opt_mesh_nb_quadrangles , 0. , 1314 "Number of quadrangles in the current mesh (read-only)" }, 1315 { F, "NbTetrahedra" , opt_mesh_nb_tetrahedra , 0. , 1316 "Number of tetrahedra in the current mesh (read-only)" }, 1317 { F, "NbTriangles" , opt_mesh_nb_triangles , 0. , 1318 "Number of triangles in the current mesh (read-only)" }, 1319 { F|O, "NewtonConvergenceTestXYZ" , opt_mesh_newton_convergence_test_xyz , 0. , 1320 "Force inverse surface mapping algorithm (Newton-Raphson) to converge in real " 1321 "coordinates (experimental)" }, 1322 { F|O, "Nodes" , opt_mesh_nodes , 0. , 1323 "Display mesh nodes?" }, 1324 { F|O, "NodeLabels" , opt_mesh_node_labels , 0. , 1325 "Display mesh node labels?" }, 1326 { F|O, "NodeSize" , opt_mesh_node_size , 4. , 1327 "Display size of mesh nodes (in pixels)" }, 1328 { F|O, "NodeType" , opt_mesh_node_type , 0. , 1329 "Display mesh nodes as solid color dots (0) or 3D spheres (1)" }, 1330 { F|O, "Normals" , opt_mesh_normals , 0.0 , 1331 "Display size of normal vectors (in pixels)" }, 1332 { F|O, "NumSubEdges" , opt_mesh_num_sub_edges , 2. , 1333 "Number of edge subdivisions when displaying high-order elements" }, 1334 1335 { F|O, "OldInitialDelaunay2D" , opt_mesh_old_initial_delaunay_2d , 0. , 1336 "Use old initial 2D Delaunay code" }, 1337 { F|O, "Optimize" , opt_mesh_optimize , 1. , 1338 "Optimize the mesh to improve the quality of tetrahedral elements" }, 1339 { F|O, "OptimizeThreshold" , opt_mesh_optimize_threshold , 0.3 , 1340 "Optimize tetrahedra that have a quality below ... " }, 1341 { F|O, "OptimizeNetgen" , opt_mesh_optimize_netgen , 0 , 1342 "Optimize the mesh using Netgen to improve the quality of tetrahedral " 1343 "elements" }, 1344 1345 { F|O, "PartitionHexWeight" , opt_mesh_partition_hex_weight , -1 , 1346 "Weight of hexahedral element for METIS load balancing (-1: automatic)" }, 1347 { F|O, "PartitionLineWeight" , opt_mesh_partition_line_weight , -1 , 1348 "Weight of line element for METIS load balancing (-1: automatic)" }, 1349 { F|O, "PartitionPrismWeight" , opt_mesh_partition_pri_weight , -1 , 1350 "Weight of prismatic element (wedge) for METIS load balancing (-1: automatic)" }, 1351 { F|O, "PartitionPyramidWeight" , opt_mesh_partition_pyr_weight , -1 , 1352 "Weight of pyramidal element for METIS load balancing (-1: automatic)" }, 1353 { F|O, "PartitionQuadWeight" , opt_mesh_partition_qua_weight , -1 , 1354 "Weight of quadrangle for METIS load balancing (-1: automatic)" }, 1355 { F|O, "PartitionTrihedronWeight" , opt_mesh_partition_trih_weight , 0 , 1356 "Weight of trihedron element for METIS load balancing (-1: automatic)" }, 1357 { F|O, "PartitionTetWeight" , opt_mesh_partition_tet_weight , -1 , 1358 "Weight of tetrahedral element for METIS load balancing (-1: automatic)" }, 1359 { F|O, "PartitionTriWeight" , opt_mesh_partition_tri_weight , -1 , 1360 "Weight of triangle element for METIS load balancing (-1: automatic)" }, 1361 { F|O, "PartitionCreateTopology" , opt_mesh_partition_create_topology , 1 , 1362 "Create boundary representation of partitions" }, 1363 { F|O, "PartitionCreatePhysicals" , opt_mesh_partition_create_physicals , 1 , 1364 "Create physical groups for partitions, based on existing physical groups" }, 1365 { F|O, "PartitionCreateGhostCells" , opt_mesh_partition_create_ghost_cells , 0 , 1366 "Create ghost cells, i.e. create for each partition a ghost entity containing " 1367 "elements connected to neighboring partitions by at least one node." }, 1368 { F|O, "PartitionSplitMeshFiles" , opt_mesh_partition_split_mesh_files , 0 , 1369 "Write one file for each mesh partition" }, 1370 { F|O, "PartitionTopologyFile" , opt_mesh_partition_save_topology_file , 0 , 1371 "Write a .pro file with the partition topology" }, 1372 { F|O, "PartitionOldStyleMsh2" , opt_mesh_partition_old_style_msh2 , 1 , 1373 "Write partitioned meshes in MSH2 format using old style (i.e. by not " 1374 "referencing new partitioned entities, except on partition boundaries), " 1375 "for backward compatibility" }, 1376 { F|O, "PartitionConvertMsh2" , opt_mesh_partition_convert_msh2 , 1 , 1377 "When reading partitioned meshes in MSH2 format, create new partition " 1378 "entities"}, 1379 { F|O|D, "Points" , opt_mesh_nodes , 0. , 1380 "[Deprecated]" }, 1381 { F|O|D, "PointNumbers" , opt_mesh_node_labels , 0. , 1382 "[Deprecated]" }, 1383 { F|O|D, "PointSize" , opt_mesh_node_size , 4. , 1384 "[Deprecated]" }, 1385 { F|O|D, "PointType" , opt_mesh_node_type , 0. , 1386 "[Deprecated]" }, 1387 { F|O, "PreserveNumberingMsh2" , opt_mesh_preserve_numbering_msh2 , 0. , 1388 "Preserve element numbering in MSH2 format (will break meshes with multiple " 1389 "physical groups for a single elementary entity)"}, 1390 { F|O, "Prisms" , opt_mesh_prisms , 1. , 1391 "Display mesh prisms?" }, 1392 { F|O, "Pyramids" , opt_mesh_pyramids , 1. , 1393 "Display mesh pyramids?" }, 1394 1395 { F|O, "QuadqsSizemapMethod" , opt_mesh_quadqs_sizemap_method, 3 , 1396 "Size map method in QuadQuasiStructured. 0: default, 1: cross-field," 1397 "2: cross-field + CAD small features adaptation," 1398 "3: from background mesh (e.g. sizes in current triangulation)," 1399 "4: cross-field + CAD small features adaptation (clamped by background mesh)" 1400 }, 1401 { F|O, "QuadqsTopologyOptimizationMethods" , opt_mesh_quadqs_topo_optim_methods, 0. , 1402 "Topology optimization methods in QuadQuasiStructured. 0: default (all)," 1403 "100: pattern-based CAD faces," 1404 "010: disk quadrangulation remeshing," 1405 "001: cavity remeshing," 1406 "xxx: combination of multiple methods (e.g. 111 for all)" 1407 }, 1408 { F|O, "QuadqsRemeshingBoldness" , opt_mesh_quadqs_remeshing_boldness, 0.66 , 1409 "Controls how much cavity remeshing is allowed to distort" 1410 " the quad mesh. From 0 (no quality decrease during remeshing) to 1" 1411 " (quality can tend to 0 during remeshing)." 1412 }, 1413 { F|O, "QuadqsScalingOnTriangulation" , opt_mesh_quadqs_scaling_on_triangulation, 0.75, 1414 "Ratio on the edge length between the triangulation and the quadrangulation." 1415 " Use a small ratio (e.g. 0.5) to get a background triangulation finer" 1416 " than the quad mesh. Useful to get a more accurate cross-field." 1417 }, 1418 { F|O, "Quadrangles" , opt_mesh_quadrangles , 1. , 1419 "Display mesh quadrangles?" }, 1420 { F|O, "QualityInf" , opt_mesh_quality_inf , 0.0 , 1421 "Only display elements whose quality measure is greater than QualityInf" }, 1422 { F|O, "QualitySup" , opt_mesh_quality_sup , 0.0 , 1423 "Only display elements whose quality measure is smaller than QualitySup" }, 1424 { F|O, "QualityType" , opt_mesh_quality_type , 2. , 1425 "Type of quality measure (0: SICN~signed inverse condition number, " 1426 "1: SIGE~signed inverse gradient error, 2: gamma~vol/sum_face/max_edge, " 1427 "3: Disto~minJ/maxJ"}, 1428 1429 { F|O, "RadiusInf" , opt_mesh_radius_inf , 0.0 , 1430 "Only display elements whose longest edge is greater than RadiusInf" }, 1431 { F|O, "RadiusSup" , opt_mesh_radius_sup , 0.0 , 1432 "Only display elements whose longest edge is smaller than RadiusSup" }, 1433 { F|O, "RandomFactor" , opt_mesh_rand_factor , 1.e-9 , 1434 "Random factor used in the 2D meshing algorithm (should be increased if " 1435 "RandomFactor * size(triangle)/size(model) approaches machine accuracy)" }, 1436 { F|O, "RandomFactor3D" , opt_mesh_rand_factor3d , 1.e-12 , 1437 "Random factor used in the 3D meshing algorithm" }, 1438 { F|O, "RandomSeed" , opt_mesh_random_seed , 1. , 1439 "Seed of pseudo-random number generator" }, 1440 1441 { F|O, "ReadGroupsOfElements" , opt_mesh_read_groups_of_elements , 1. , 1442 "Read groups of elements in UNV meshes (this will discard the elementary " 1443 "entity tags inferred from the element section)"}, 1444 #if defined(HAVE_BLOSSOM) 1445 { F|O, "RecombinationAlgorithm" , opt_mesh_algo_recombine , 1 , 1446 #else 1447 { F|O, "RecombinationAlgorithm" , opt_mesh_algo_recombine , 0 , 1448 #endif 1449 "Mesh recombination algorithm (0: simple, 1: blossom, 2: simple full-quad, " 1450 "3: blossom full-quad)" }, 1451 { F|O, "RecombineAll" , opt_mesh_recombine_all , 0 , 1452 "Apply recombination algorithm to all surfaces, ignoring per-surface spec" }, 1453 { F|O, "RecombineOptimizeTopology" , opt_mesh_recombine_optimize_topology , 5 , 1454 "Number of topological optimization passes (removal of diamonds, ...) of " 1455 "recombined surface meshes" }, 1456 { F|O, "Recombine3DAll" , opt_mesh_recombine3d_all , 0 , 1457 "Apply recombination3D algorithm to all volumes, ignoring per-volume spec " 1458 "(experimental)" }, 1459 { F|O, "Recombine3DLevel" , opt_mesh_recombine3d_level , 0 , 1460 "3d recombination level (0: hex, 1: hex+prisms, 2: hex+prism+pyramids) " 1461 "(experimental)" }, 1462 { F|O, "Recombine3DConformity" , opt_mesh_recombine3d_conformity , 0 , 1463 "3d recombination conformity type (0: nonconforming, 1: trihedra, " 1464 "2: pyramids+trihedra, 3:pyramids+hexSplit+trihedra, 4:hexSplit+trihedra)" 1465 "(experimental)" }, 1466 { F|O, "RefineSteps" , opt_mesh_refine_steps , 10 , 1467 "Number of refinement steps in the MeshAdapt-based 2D algorithms" }, 1468 { F|O, "Renumber" , opt_mesh_renumber , 1 , 1469 "Renumber nodes and elements in a continuous sequence after mesh generation" }, 1470 { F|O, "ReparamMaxTriangles" , opt_mesh_reparam_max_triangles , 250000 , 1471 "Maximum number of triangles in a single parametrization patch" }, 1472 1473 { F, "SaveAll" , opt_mesh_save_all , 0. , 1474 "Save all elements, even if they don't belong to physical groups (for some " 1475 "mesh formats, this removes physical groups altogether)" }, 1476 { F|O, "SaveElementTagType" , opt_mesh_save_element_tag_type , 1. , 1477 "Type of the element tag saved in mesh formats that don't support saving " 1478 "physical or partition ids (1: elementary, 2: physical, 3: partition)" }, 1479 { F|O, "SaveTopology" , opt_mesh_save_topology, 0. , 1480 "Save model topology in MSH2 output files (this is always saved in MSH3 and above)" }, 1481 { F|O, "SaveParametric" , opt_mesh_save_parametric , 0. , 1482 "Save parametric coordinates of nodes" }, 1483 { F|O, "SaveGroupsOfElements" , opt_mesh_save_groups_of_elements , 1. , 1484 "Save groups of elements for each physical group (for UNV and INP mesh format) " 1485 "if value is positive; if negative, save groups of elements for physical " 1486 "groups of dimension dim if the (dim+1)^th least significant digit of " 1487 "-Mesh.SaveGroupsOfElements is 1 (for example: -100 will only save" 1488 "surfaces, while -1010 will save volumes and curves)"}, 1489 { F|O, "SaveGroupsOfNodes" , opt_mesh_save_groups_of_nodes , 0. , 1490 "Save groups of nodes for each physical group (for UNV, INP and Tochnog " 1491 "mesh formats) if value is positive; if negative, save groups of nodes " 1492 "for physical groups of dimension dim if the (dim+1)^th least significant " 1493 "digit of -Mesh.SaveGroupsOfNodes is 1 (for example: -100 will only " 1494 "save surfaces, while -1010 will save volumes and curves); for INP, save " 1495 "groups of nodes for all entities of dimension dim if the (dim+1)^th least " 1496 "significant digit of -Mesh.SaveGroupsOfNodes is 2"}, 1497 { F|O, "ScalingFactor" , opt_mesh_scaling_factor , 1.0 , 1498 "Global scaling factor applied to the saved mesh" }, 1499 { F|O, "SecondOrderIncomplete" , opt_mesh_second_order_incomplete , 0. , 1500 "Create incomplete second order elements? (8-node quads, 20-node hexas, etc.)" }, 1501 { F|O, "SecondOrderLinear" , opt_mesh_second_order_linear , 0. , 1502 "Should second order nodes (as well as nodes generated with subdivision algorithms) " 1503 "simply be created by linear interpolation?" }, 1504 { F|O, "Smoothing" , opt_mesh_nb_smoothing , 1. , 1505 "Number of smoothing steps applied to the final mesh" }, 1506 { F|O, "SmoothCrossField" , opt_mesh_smooth_cross_field , 0. , 1507 "Apply n barycentric smoothing passes to the 3D cross field" }, 1508 { F|O, "CrossFieldClosestPoint" , opt_mesh_cross_field_closest_point , 1. , 1509 "Use closest point to compute 2D crossfield" }, 1510 { F|O, "SmoothNormals" , opt_mesh_smooth_normals , 0. , 1511 "Smooth the mesh normals?" }, 1512 { F|O, "SmoothRatio" , opt_mesh_smooth_ratio , 1.8 , 1513 "Ratio between mesh sizes at nodes of a same edge (used in BAMG)" }, 1514 { F|O, "StlAngularDeflection" , opt_mesh_stl_angular_deflection , 0.3 , 1515 "Maximum angular deflection when creating STL representation of surfaces " 1516 "(currently only used with the OpenCASCADE kernel)"}, 1517 { F|O, "StlLinearDeflection" , opt_mesh_stl_linear_deflection , 0.001 , 1518 "Maximum relative linear deflection when creating STL representation of surfaces " 1519 "(currently only used with the OpenCASCADE kernel)"}, 1520 { F|O, "StlOneSolidPerSurface" , opt_mesh_stl_one_solid_per_surface, 0. , 1521 "Create one solid per surface when exporting STL files? (0: single solid, " 1522 "1: one solid per face, 2: one solid per physical surface)" }, 1523 { F|O, "StlRemoveDuplicateTriangles" , opt_mesh_stl_remove_duplicate_triangles, 0. , 1524 "Remove duplicate triangles when importing STL files?" }, 1525 { F|O, "SubdivisionAlgorithm" , opt_mesh_algo_subdivide , 0 , 1526 "Mesh subdivision algorithm (0: none, 1: all quadrangles, 2: all hexahedra, " 1527 "3: barycentric)" }, 1528 { F|O, "SurfaceEdges" , opt_mesh_surface_edges , 1. , 1529 "Display edges of surface mesh?" }, 1530 { F|O, "SurfaceFaces" , opt_mesh_surface_faces , 0. , 1531 "Display faces of surface mesh?" }, 1532 { F|O, "SurfaceLabels" , opt_mesh_surface_labels , 0. , 1533 "Display surface mesh element labels?" }, 1534 { F|O|D, "SurfaceNumbers" , opt_mesh_surface_labels , 0. , 1535 "[Deprecated]" }, 1536 { F|O, "SwitchElementTags", opt_mesh_switch_elem_tags, 0. , 1537 "Invert elementary and physical tags when reading the mesh"}, 1538 1539 { F|O, "Tangents" , opt_mesh_tangents , 0.0 , 1540 "Display size of tangent vectors (in pixels)" }, 1541 { F|O, "Tetrahedra" , opt_mesh_tetrahedra , 1. , 1542 "Display mesh tetrahedra?" }, 1543 { F|O, "ToleranceEdgeLength" , opt_mesh_tolerance_edge_length, 0.0, 1544 "Skip a model edge in mesh generation if its length is less than user's " 1545 "defined tolerance" }, 1546 { F|O, "ToleranceInitialDelaunay" , opt_mesh_tolerance_initial_delaunay, 1.e-12, 1547 "Tolerance for initial 3D Delaunay mesher" }, 1548 { F|O, "ToleranceReferenceElement" , opt_mesh_tolerance_reference_element , 1e-6, 1549 "Tolerance for classifying a point inside a reference element (of size 1)" }, 1550 { F|O, "Triangles" , opt_mesh_triangles , 1. , 1551 "Display mesh triangles?" }, 1552 { F|O, "Trihedra" , opt_mesh_trihedra , 1. , 1553 "Display mesh trihedra?" }, 1554 1555 { F|O, "UnvStrictFormat" , opt_mesh_unv_strict_format , 1 , 1556 "Use strict format specification for UNV files, with 'D' for exponents (instead of " 1557 "'E' as used by some tools)" }, 1558 1559 { F|O, "VolumeEdges" , opt_mesh_volume_edges , 1. , 1560 "Display edges of volume mesh?" }, 1561 { F|O, "VolumeFaces" , opt_mesh_volume_faces , 0. , 1562 "Display faces of volume mesh?" }, 1563 { F|O, "VolumeLabels" , opt_mesh_volume_labels , 0. , 1564 "Display volume mesh element labels?" }, 1565 { F|O|D, "VolumeNumbers" , opt_mesh_volume_labels , 0. , 1566 "[Deprecated]" }, 1567 { F|O, "Voronoi" , opt_mesh_voronoi , 0. , 1568 "Display the voronoi diagram" }, 1569 1570 { F|O, "ZoneDefinition" , opt_mesh_zone_definition , 0. , 1571 "Method for defining a zone (0: single zone, 1: by partition, 2: by physical)" }, 1572 1573 { 0, nullptr , nullptr , 0. , nullptr } 1574 } ; 1575 1576 StringXNumber SolverOptions_Number[] = { 1577 { F|O, "AlwaysListen" , opt_solver_listen , 0. , 1578 "Always listen to incoming connection requests?" }, 1579 { F|O, "AutoArchiveOutputFiles" , opt_solver_auto_archive_output_files , 0. , 1580 "Automatically archive output files after each computation" }, 1581 { F|O, "AutoCheck" , opt_solver_auto_check , 1. , 1582 "Automatically check model every time a parameter is changed" }, 1583 { F|O, "AutoLoadDatabase" , opt_solver_auto_load_database , 0. , 1584 "Automatically load the ONELAB database when launching a solver" }, 1585 { F|O, "AutoSaveDatabase" , opt_solver_auto_save_database , 1. , 1586 "Automatically save the ONELAB database after each computation" }, 1587 { F|O, "AutoMesh" , opt_solver_auto_mesh , 2. , 1588 "Automatically mesh (0: never; 1: if geometry changed, but use existing " 1589 "mesh on disk if available; 2: if geometry changed; -1: the geometry script " 1590 "creates the mesh)" }, 1591 { F|O, "AutoMergeFile" , opt_solver_auto_merge_file , 1. , 1592 "Automatically merge result files" }, 1593 { F|O, "AutoShowViews" , opt_solver_auto_show_views , 2. , 1594 "Automcatically show newly merged results (0: none; 1: all; 2: last one)" }, 1595 { F|O, "AutoShowLastStep" , opt_solver_auto_show_last_step , 1. , 1596 "Automatically show the last step in newly merged results, if there are " 1597 "more than 2 steps" }, 1598 1599 { F|O, "Plugins" , opt_solver_plugins , 0. , 1600 "Enable default solver plugins?" }, 1601 1602 { F|O, "ShowInvisibleParameters" , opt_solver_show_invisible_parameters , 0. , 1603 "Show all parameters, even those marked invisible" }, 1604 1605 { F|O, "Timeout" , opt_solver_timeout , 5. , 1606 "Time (in seconds) before closing the socket if no connection is happening" }, 1607 1608 { 0, nullptr , nullptr , 0. , nullptr } 1609 } ; 1610 1611 StringXNumber PostProcessingOptions_Number[] = { 1612 { F|O, "AnimationDelay" , opt_post_anim_delay , 0.1 , 1613 "Delay (in seconds) between frames in automatic animation mode" }, 1614 { F|O, "AnimationCycle" , opt_post_anim_cycle , 0. , 1615 "Cycle through time steps (0) or views (1) for animations" }, 1616 { F|O, "AnimationStep" , opt_post_anim_step , 1. , 1617 "Step increment for animations" }, 1618 1619 { F|O, "Binary" , opt_post_binary , 0. , 1620 "Write post-processing files in binary format (if possible)" }, 1621 1622 { F|O, "CombineRemoveOriginal" , opt_post_combine_remove_orig , 1. , 1623 "Remove original views after a Combine operation" }, 1624 { F|O, "CombineCopyOptions" , opt_post_combine_copy_options , 1. , 1625 "Copy options during Combine operation" }, 1626 1627 { F, "DoubleClickedGraphPointX" , opt_post_double_clicked_graph_point_x , 0. , 1628 "Abscissa of last double-clicked graph point" }, 1629 { F, "DoubleClickedGraphPointY" , opt_post_double_clicked_graph_point_y , 0. , 1630 "Ordinate of last double-clicked graph point" }, 1631 { F, "DoubleClickedView" , opt_post_double_clicked_view, 0. , 1632 "Index of last double-clicked view" }, 1633 1634 { F|O, "ForceElementData" , opt_post_force_element_data , 0. , 1635 "Try to force saving datasets as ElementData" }, 1636 { F|O, "ForceNodeData" , opt_post_force_node_data , 0. , 1637 "Try to force saving datasets as NodeData" }, 1638 { F|O, "Format" , opt_post_file_format , 10. , 1639 "Default file format for post-processing views (0: ASCII view, 1: binary " 1640 "view, 2: parsed view, 3: STL triangulation, 4: raw text, 5: Gmsh mesh, 6: MED file, " 1641 "10: automatic)" }, 1642 1643 { F, "GraphPointX" , opt_post_double_clicked_graph_point_x , 0. , 1644 "Synonym for `DoubleClickedGraphPointX'" }, 1645 { F, "GraphPointY" , opt_post_double_clicked_graph_point_y , 0. , 1646 "Synonym for `DoubleClickedGraphPointY'" }, 1647 1648 { F|O, "HorizontalScales" , opt_post_horizontal_scales , 1. , 1649 "Display value scales horizontally" }, 1650 1651 { F|O, "Link" , opt_post_link , 0. , 1652 "Post-processing view links (0: apply next option changes to selected views, " 1653 "1: force same options for all selected views)" }, 1654 1655 { F, "NbViews" , opt_post_nb_views , 0. , 1656 "Current number of views merged (read-only)" }, 1657 1658 { F|O, "Plugins" , opt_post_plugins , 1. , 1659 "Enable default post-processing plugins?" }, 1660 1661 { F|O, "SaveInterpolationMatrices" , opt_post_save_interpolation_matrices , 1. , 1662 "Save the interpolation matrices when exporting model-based data" }, 1663 { F|O, "SaveMesh" , opt_post_save_mesh , 1. , 1664 "Save the mesh when exporting model-based data" }, 1665 { F|O, "Smoothing" , opt_post_smooth , 0. , 1666 "Apply (non-reversible) smoothing to post-processing view when merged" }, 1667 1668 { 0, nullptr , nullptr , 0. } 1669 } ; 1670 1671 StringXNumber ViewOptions_Number[] = { 1672 { F|O, "AbscissaRangeType" , opt_view_abscissa_range_type , 1 , 1673 "Ascissa scale range type (1: default, 2: custom)" }, 1674 { F|O, "AdaptVisualizationGrid" , opt_view_adapt_visualization_grid , 0. , 1675 "Use adaptive visualization grid (for high-order elements)?" }, 1676 { F|O, "AngleSmoothNormals" , opt_view_angle_smooth_normals , 30.0 , 1677 "Threshold angle below which normals are not smoothed" }, 1678 { F|O, "ArrowSizeMax" , opt_view_arrow_size_max , 60. , 1679 "Maximum display size of arrows (in pixels)" }, 1680 { F|O, "ArrowSizeMin" , opt_view_arrow_size_min , 0. , 1681 "Minimum display size of arrows (in pixels)" }, 1682 { F|O, "AutoPosition" , opt_view_auto_position , 1. , 1683 "Position the scale or 2D plot automatically (0: manual, 1: automatic, 2: top left, " 1684 "3: top right, 4: bottom left, 5: bottom right, 6: top, 7: bottom, 8: left, 9: right, " 1685 "10: full, 11: top third, 12: in model coordinates)" }, 1686 { F|O, "Axes" , opt_view_axes , 0 , 1687 "Axes (0: none, 1: simple axes, 2: box, 3: full grid, 4: open grid, 5: ruler)" }, 1688 { F|O, "AxesMikado" , opt_view_axes_mikado , 0. , 1689 "Mikado axes style" }, 1690 { F|O, "AxesAutoPosition" , opt_view_axes_auto_position , 1. , 1691 "Position the axes automatically" }, 1692 { F|O, "AxesMaxX" , opt_view_axes_xmax , 1. , 1693 "Maximum X-axis coordinate" }, 1694 { F|O, "AxesMaxY" , opt_view_axes_ymax , 1. , 1695 "Maximum Y-axis coordinate" }, 1696 { F|O, "AxesMaxZ" , opt_view_axes_zmax , 1. , 1697 "Maximum Z-axis coordinate" }, 1698 { F|O, "AxesMinX" , opt_view_axes_xmin , 0. , 1699 "Minimum X-axis coordinate" }, 1700 { F|O, "AxesMinY" , opt_view_axes_ymin , 0. , 1701 "Minimum Y-axis coordinate" }, 1702 { F|O, "AxesMinZ" , opt_view_axes_zmin , 0. , 1703 "Minimum Z-axis coordinate" }, 1704 { F|O, "AxesTicsX" , opt_view_axes_tics0 , 5. , 1705 "Number of tics on the X-axis" }, 1706 { F|O, "AxesTicsY" , opt_view_axes_tics1 , 5. , 1707 "Number of tics on the Y-axis" }, 1708 { F|O, "AxesTicsZ" , opt_view_axes_tics2 , 5. , 1709 "Number of tics on the Z-axis" }, 1710 1711 { F|O, "Boundary" , opt_view_boundary , 0. , 1712 "Draw the `N minus b'-dimensional boundary of the element (N: element " 1713 "dimension, b: option value)" }, 1714 1715 { F|O, "CenterGlyphs" , opt_view_center_glyphs , 0, 1716 "Center glyphs (arrows, numbers, etc.)? (0: left, 1: centered, 2: right)" }, 1717 { F, "Clip" , opt_view_clip , 0., 1718 "Enable clipping planes? (Plane[i]=2^i, i=0,...,5)" }, 1719 { F|O, "Closed" , opt_view_closed , 0, 1720 "Close the subtree containing this view" }, 1721 { F|O, "ColormapAlpha" , opt_view_colormap_alpha , 1.0 , 1722 "Colormap alpha channel value (used only if != 1)" }, 1723 { F|O, "ColormapAlphaPower" , opt_view_colormap_alpha_power , 0.0 , 1724 "Colormap alpha channel power" }, 1725 { F|O, "ColormapBeta" , opt_view_colormap_beta , 0.0 , 1726 "Colormap beta parameter (gamma = 1-beta)" }, 1727 { F|O, "ColormapBias" , opt_view_colormap_bias , 0.0 , 1728 "Colormap bias" }, 1729 { F|O, "ColormapCurvature" , opt_view_colormap_curvature , 0.0 , 1730 "Colormap curvature or slope coefficient" }, 1731 { F|O, "ColormapInvert" , opt_view_colormap_invert , 0. , 1732 "Invert the color values, i.e., replace x with (255-x) in the colormap?" }, 1733 { F|O, "ColormapNumber" , opt_view_colormap_number , 2. , 1734 "Default colormap number (0: black, 1: vis5d, 2: jet, 3: lucie, 4: rainbow, " 1735 "5: emc2000, 6: incadescent, 7: hot, 8: pink, 9: grayscale, 10: french, " 1736 "11: hsv, 12: spectrum, 13: bone, 14: spring, 15: summer, 16: autumm, " 1737 "17: winter, 18: cool, 19: copper, 20: magma, 21: inferno, 22: plasma, " 1738 "23: viridis, 24: turbo)"}, 1739 { F|O, "ColormapRotation" , opt_view_colormap_rotation , 0. , 1740 "Incremental colormap rotation" }, 1741 { F|O, "ColormapSwap" , opt_view_colormap_swap , 0. , 1742 "Swap the min/max values in the colormap?" }, 1743 { F|O, "ComponentMap0" , opt_view_component_map0 , 0, 1744 "Forced component 0 (if View.ForceComponents > 0)" }, 1745 { F|O, "ComponentMap1" , opt_view_component_map1 , 1, 1746 "Forced component 1 (if View.ForceComponents > 0)" }, 1747 { F|O, "ComponentMap2" , opt_view_component_map2 , 2, 1748 "Forced component 2 (if View.ForceComponents > 0)" }, 1749 { F|O, "ComponentMap3" , opt_view_component_map3 , 3, 1750 "Forced component 3 (if View.ForceComponents > 0)" }, 1751 { F|O, "ComponentMap4" , opt_view_component_map4 , 4, 1752 "Forced component 4 (if View.ForceComponents > 0)" }, 1753 { F|O, "ComponentMap5" , opt_view_component_map5 , 5, 1754 "Forced component 5 (if View.ForceComponents > 0)" }, 1755 { F|O, "ComponentMap6" , opt_view_component_map6 , 6, 1756 "Forced component 6 (if View.ForceComponents > 0)" }, 1757 { F|O, "ComponentMap7" , opt_view_component_map7 , 7, 1758 "Forced component 7 (if View.ForceComponents > 0)" }, 1759 { F|O, "ComponentMap8" , opt_view_component_map8 , 8, 1760 "Forced component 8 (if View.ForceComponents > 0)" }, 1761 { F, "CustomAbscissaMax" , opt_view_custom_abscissa_max , 0. , 1762 "User-defined maximum abscissa value" }, 1763 { F, "CustomAbscissaMin" , opt_view_custom_abscissa_min , 0. , 1764 "User-defined minimum abscissa value" }, 1765 { F, "CustomMax" , opt_view_custom_max , 0. , 1766 "User-defined maximum value to be displayed" }, 1767 { F, "CustomMin" , opt_view_custom_min , 0. , 1768 "User-defined minimum value to be displayed" }, 1769 1770 { F|O, "DisplacementFactor" , opt_view_displacement_factor , 1. , 1771 "Displacement amplification" }, 1772 { F|O, "DrawHexahedra" , opt_view_draw_hexahedra , 1. , 1773 "Display post-processing hexahedra?" }, 1774 { F|O, "DrawLines" , opt_view_draw_lines , 1. , 1775 "Display post-processing lines?" }, 1776 { F|O, "DrawPoints" , opt_view_draw_points , 1. , 1777 "Display post-processing points?" }, 1778 { F|O, "DrawPrisms" , opt_view_draw_prisms , 1. , 1779 "Display post-processing prisms?" }, 1780 { F|O, "DrawPyramids" , opt_view_draw_pyramids , 1. , 1781 "Display post-processing pyramids?" }, 1782 { F|O, "DrawTrihedra" , opt_view_draw_trihedra , 1. , 1783 "Display post-processing trihedra?" }, 1784 { F|O, "DrawQuadrangles" , opt_view_draw_quadrangles , 1. , 1785 "Display post-processing quadrangles?" }, 1786 { F|O, "DrawScalars" , opt_view_draw_scalars , 1. , 1787 "Display scalar values?" }, 1788 { F|O, "DrawSkinOnly" , opt_view_draw_skin_only , 0. , 1789 "Draw only the skin of 3D scalar views?" }, 1790 { F|O, "DrawStrings" , opt_view_draw_strings , 1. , 1791 "Display post-processing annotation strings?" }, 1792 { F|O, "DrawTensors" , opt_view_draw_tensors , 1. , 1793 "Display tensor values?" }, 1794 { F|O, "DrawTetrahedra" , opt_view_draw_tetrahedra , 1. , 1795 "Display post-processing tetrahedra?" }, 1796 { F|O, "DrawTriangles" , opt_view_draw_triangles , 1. , 1797 "Display post-processing triangles?" }, 1798 { F|O, "DrawVectors" , opt_view_draw_vectors , 1. , 1799 "Display vector values?" }, 1800 1801 { F|O, "Explode" , opt_view_explode , 1. , 1802 "Element shrinking factor (between 0 and 1)" }, 1803 { F|O, "ExternalView" , opt_view_external_view , -1. , 1804 "Index of the view used to color vector fields (-1: self)" }, 1805 1806 { F|O, "FakeTransparency" , opt_view_fake_transparency , 0. , 1807 "Use fake transparency (cheaper than the real thing, but incorrect)" }, 1808 { F|O, "ForceNumComponents" , opt_view_force_num_components , 0. , 1809 "Force number of components to display (see View.ComponentMapN for mapping)" }, 1810 1811 { F|O, "GeneralizedRaiseFactor" , opt_view_gen_raise_factor , 1. , 1812 "Generalized raise amplification factor" }, 1813 { F|O, "GeneralizedRaiseView" , opt_view_gen_raise_view , -1. , 1814 "Index of the view used for generalized raise (-1: self)" }, 1815 { F|O, "GlyphLocation" , opt_view_glyph_location , 1, 1816 "Glyph (arrow, number, etc.) location (1: center of gravity, 2: node)" }, 1817 1818 { F|O, "Height" , opt_view_size1 , 200. , 1819 "Height (in pixels) of the scale or 2D plot" }, 1820 1821 { F|O, "IntervalsType" , opt_view_intervals_type , 2 , 1822 "Type of interval display (1: iso, 2: continuous, 3: discrete, 4: numeric)" }, 1823 1824 { F|O, "Light" , opt_view_light , 1. , 1825 "Enable lighting for the view" }, 1826 { F|O, "LightLines" , opt_view_light_lines , 1. , 1827 "Light element edges" }, 1828 { F|O, "LightTwoSide" , opt_view_light_two_side , 1. , 1829 "Light both sides of surfaces (leads to slower rendering)" }, 1830 { F|O, "LineType" , opt_view_line_type , 0. , 1831 "Display lines as solid color segments (0) or 3D cylinders (1)" }, 1832 { F|O, "LineWidth" , opt_view_line_width , 1.0 , 1833 "Display width of lines (in pixels)" }, 1834 1835 { F|O, "MaxRecursionLevel" , opt_view_max_recursion_level , 0. , 1836 "Maximum recursion level for adaptive views" }, 1837 { F, "Max" , opt_view_max , 0. , 1838 "Maximum value in the view (read-only)" }, 1839 { F, "MaxVisible" , opt_view_max_visible , 0. , 1840 "Maximum value in the visible parts of the view, taking current time step " 1841 "and tensor display type into account (read-only)" }, 1842 { F, "MaxX" , opt_view_xmax , 0. , 1843 "Maximum view coordinate along the X-axis (read-only)" }, 1844 { F, "MaxY" , opt_view_ymax , 0. , 1845 "Maximum view coordinate along the Y-axis (read-only)" }, 1846 { F, "MaxZ" , opt_view_zmax , 0. , 1847 "Maximum view coordinate along the Z-axis (read-only)" }, 1848 { F, "Min" , opt_view_min , 0. , 1849 "Minimum value in the view (read-only)" }, 1850 { F, "MinVisible" , opt_view_min_visible , 0. , 1851 "Minimum value in the visible parts of the view, taking current time step " 1852 "and tensor display type into account (read-only)" }, 1853 { F, "MinX" , opt_view_xmin , 0. , 1854 "Minimum view coordinate along the X-axis (read-only)" }, 1855 { F, "MinY" , opt_view_ymin , 0. , 1856 "Minimum view coordinate along the Y-axis (read-only)" }, 1857 { F, "MinZ" , opt_view_zmin , 0. , 1858 "Minimum view coordinate along the Z-axis (read-only)" }, 1859 1860 { F|O, "NbIso" , opt_view_nb_iso , 10. , 1861 "Number of intervals" }, 1862 { F, "NbTimeStep" , opt_view_nb_timestep , 1. , 1863 "Number of time steps in the view (do not change this!)" }, 1864 { F, "NormalRaise" , opt_view_normal_raise , 0. , 1865 "Elevation of the view along the normal (in model coordinates)" }, 1866 { F|O, "Normals" , opt_view_normals , 0. , 1867 "Display size of normal vectors (in pixels)" }, 1868 1869 { F, "OffsetX" , opt_view_offset0 , 0. , 1870 "Translation of the view along X-axis (in model coordinates)" }, 1871 { F, "OffsetY" , opt_view_offset1 , 0. , 1872 "Translation of the view along Y-axis (in model coordinates)" }, 1873 { F, "OffsetZ" , opt_view_offset2 , 0. , 1874 "Translation of the view along Z-axis (in model coordinates)" }, 1875 1876 { F|O, "PointSize" , opt_view_point_size , 3. , 1877 "Display size of points (in pixels)" }, 1878 { F|O, "PointType" , opt_view_point_type , 0. , 1879 "Display points as solid color dots (0), 3D spheres (1), scaled dots " 1880 "(2) or scaled spheres (3)" }, 1881 { F|O, "PositionX" , opt_view_position0 , 100. , 1882 "X position (in pixels) of the scale or 2D plot (< 0: measure from right " 1883 "edge; >= 1e5: centered)" }, 1884 { F|O, "PositionY" , opt_view_position1 , 50. , 1885 "Y position (in pixels) of the scale or 2D plot (< 0: measure from bottom " 1886 "edge; >= 1e5: centered)" }, 1887 1888 { F, "RaiseX" , opt_view_raise0 , 0. , 1889 "Elevation of the view along X-axis (in model coordinates)" }, 1890 { F, "RaiseY" , opt_view_raise1 , 0. , 1891 "Elevation of the view along Y-axis (in model coordinates)" }, 1892 { F, "RaiseZ" , opt_view_raise2 , 0. , 1893 "Elevation of the view along Z-axis (in model coordinates)" }, 1894 { F|O, "RangeType" , opt_view_range_type , 1 , 1895 "Value scale range type (1: default, 2: custom, 3: per time step)" }, 1896 1897 { F|O, "Sampling" , opt_view_sampling , 1. , 1898 "Element sampling rate (draw one out every `Sampling' elements)" }, 1899 { F|O, "SaturateValues" , opt_view_saturate_values , 0. , 1900 "Saturate the view values to custom min and max (1: true, 0: false)" }, 1901 { F|O, "ScaleType" , opt_view_scale_type , 1 , 1902 "Value scale type (1: linear, 2: logarithmic, 3: double logarithmic)" }, 1903 { F|O, "ShowElement" , opt_view_show_element , 0. , 1904 "Show element boundaries?" }, 1905 { F|O, "ShowScale" , opt_view_show_scale , 1. , 1906 "Show value scale?" }, 1907 { F|O, "ShowTime" , opt_view_show_time , 3. , 1908 "Time display mode (0: none, 1: time series, 2: harmonic data, 3: automatic, " 1909 "4: step data, 5: multi-step data, 6: real eigenvalues, 7: complex eigenvalues)" }, 1910 { F|O, "SmoothNormals" , opt_view_smooth_normals , 0. , 1911 "Smooth the normals?" }, 1912 { F|O, "Stipple" , opt_view_use_stipple , 0. , 1913 "Stipple curves in 2D and line plots?" }, 1914 1915 { F|O, "Tangents" , opt_view_tangents , 0. , 1916 "Display size of tangent vectors (in pixels)" }, 1917 { F|O, "TargetError" , opt_view_target_error , 1e-4 , 1918 "Target representation error for adaptive views" }, 1919 { F|O, "TensorType" , opt_view_tensor_type , 1. , 1920 "Tensor display type (1: Von-Mises, 2: maximum eigenvalue, 3: minimum eigenvalue, " 1921 "4: eigenvectors, 5: ellipse, 6: ellipsoid, 7: frame)"}, 1922 { F, "TimeStep" , opt_view_timestep , 0. , 1923 "Current time step displayed" }, 1924 { F, "Time" , opt_view_time , -1. , 1925 "Current time displayed (if positive, sets the time step corresponding " 1926 "the given time value)" }, 1927 { F, "TransformXX" , opt_view_transform00 , 1. , 1928 "Element (1,1) of the 3x3 coordinate transformation matrix" }, 1929 { F, "TransformXY" , opt_view_transform01 , 0. , 1930 "Element (1,2) of the 3x3 coordinate transformation matrix" }, 1931 { F, "TransformXZ" , opt_view_transform02 , 0. , 1932 "Element (1,3) of the 3x3 coordinate transformation matrix" }, 1933 { F, "TransformYX" , opt_view_transform10 , 0. , 1934 "Element (2,1) of the 3x3 coordinate transformation matrix" }, 1935 { F, "TransformYY" , opt_view_transform11 , 1. , 1936 "Element (2,2) of the 3x3 coordinate transformation matrix" }, 1937 { F, "TransformYZ" , opt_view_transform12 , 0. , 1938 "Element (2,3) of the 3x3 coordinate transformation matrix" }, 1939 { F, "TransformZX" , opt_view_transform20 , 0. , 1940 "Element (3,1) of the 3x3 coordinate transformation matrix" }, 1941 { F, "TransformZY" , opt_view_transform21 , 0. , 1942 "Element (3,2) of the 3x3 coordinate transformation matrix" }, 1943 { F, "TransformZZ" , opt_view_transform22 , 1. , 1944 "Element (3,3) of the 3x3 coordinate transformation matrix" }, 1945 { F, "Type" , opt_view_type , 1 , 1946 "Type of plot (1: 3D, 2: 2D space, 3: 2D time, 4: 2D)" }, 1947 1948 { F|O, "UseGeneralizedRaise" , opt_view_use_gen_raise , 0 , 1949 "Use generalized raise?" }, 1950 1951 { F|O, "VectorType" , opt_view_vector_type , 4 , 1952 "Vector display type (1: segment, 2: arrow, 3: pyramid, 4: 3D arrow, " 1953 "5: displacement, 6: comet)" }, 1954 { F, "Visible" , opt_view_visible , 1. , 1955 "Is the view visible?" }, 1956 1957 { F|O, "Width" , opt_view_size0 , 300. , 1958 "Width (in pixels) of the scale or 2D plot" }, 1959 1960 { 0, nullptr , nullptr , 0. , nullptr } 1961 } ; 1962 1963 StringXNumber PrintOptions_Number[] = { 1964 { F|O, "Parameter" , opt_print_parameter , 0. , 1965 "Current value of the print parameter" }, 1966 { F|O, "ParameterFirst" , opt_print_parameter_first , -1. , 1967 "First value of print parameter in loop" }, 1968 { F|O, "ParameterLast" , opt_print_parameter_last , 1. , 1969 "Last value of print parameter in loop" }, 1970 { F|O, "ParameterSteps" , opt_print_parameter_steps , 10. , 1971 "Number of steps in loop over print parameter" }, 1972 1973 { F|O, "Background" , opt_print_background , 0. , 1974 "Print background (gradient and image)?" }, 1975 1976 { F|O, "CompositeWindows" , opt_print_composite_windows , 0. , 1977 "Composite all window tiles in the same output image (for bitmap output only)" }, 1978 1979 { F|O, "DeleteTemporaryFiles" , opt_print_delete_tmp_files , 1. , 1980 "Delete temporary files used during printing" }, 1981 1982 { F|O, "EpsBestRoot" , opt_print_eps_best_root , 1. , 1983 "Try to minimize primitive splitting in BSP tree sorted PostScript/PDF output" }, 1984 { F|O, "EpsCompress" , opt_print_eps_compress , 0. , 1985 "Compress PostScript/PDF output using zlib" }, 1986 { F|O, "EpsLineWidthFactor" , opt_print_eps_line_width_factor , 1.0 , 1987 "Width factor for lines in PostScript/PDF output" }, 1988 { F|O, "EpsOcclusionCulling" , opt_print_eps_occlusion_culling , 1. , 1989 "Cull occluded primitives (to reduce PostScript/PDF file size)" }, 1990 { F|O, "EpsPointSizeFactor" , opt_print_eps_point_size_factor , 1.0 , 1991 "Size factor for points in PostScript/PDF output" }, 1992 { F|O, "EpsPS3Shading" , opt_print_eps_ps3shading , 0. , 1993 "Enable PostScript Level 3 shading" }, 1994 { F|O, "EpsQuality" , opt_print_eps_quality , 1. , 1995 "PostScript/PDF quality (0: bitmap, 1: vector (simple sort), 2: vector " 1996 "(accurate sort), 3: vector (unsorted)" }, 1997 1998 { F|O, "Format" , opt_print_file_format , FORMAT_AUTO , 1999 "File format (10: automatic)" }, 2000 2001 { F|O, "GeoLabels" , opt_print_geo_labels , 1. , 2002 "Save labels in unrolled Gmsh geometries" }, 2003 { F|O, "GeoOnlyPhysicals" , opt_print_geo_only_physicals , 0. , 2004 "Only save entities that belong to physical groups" }, 2005 { F|O, "GifDither" , opt_print_gif_dither , 0. , 2006 "Apply dithering to GIF output" }, 2007 { F|O, "GifInterlace" , opt_print_gif_interlace , 0. , 2008 "Interlace GIF output" }, 2009 { F|O, "GifSort" , opt_print_gif_sort , 1. , 2010 "Sort the colormap in GIF output" }, 2011 { F|O, "GifTransparent" , opt_print_gif_transparent , 0. , 2012 "Output transparent GIF image" }, 2013 2014 { F|O, "Height" , opt_print_height , -1. , 2015 "Height of printed image; use (possibly scaled) current height if < 0" }, 2016 2017 { F|O, "JpegQuality" , opt_print_jpeg_quality , 100. , 2018 "JPEG quality (between 1 and 100)" }, 2019 { F|O, "JpegSmoothing" , opt_print_jpeg_smoothing , 0. , 2020 "JPEG smoothing (between 0 and 100)" }, 2021 2022 { F|O, "PgfTwoDim" , opt_print_pgf_two_dim , 1. , 2023 "Output PGF format for two dimensions. Mostly irrelevant if `PgfExportAxis=0`. " 2024 "Default `1` (yes)." }, 2025 { F|O, "PgfExportAxis" , opt_print_pgf_export_axis , 0. , 2026 "Include axis in export pgf code (not in the png). Default `0` (no)." }, 2027 { F|O, "PgfHorizontalBar" , opt_print_pgf_horiz_bar , 0. , 2028 "Use a horizontal color bar in the pgf output. Default `0` (no)." }, 2029 { F|O, "PostElementary" , opt_print_pos_elementary , 1. , 2030 "Save elementary region tags in mesh statistics exported as " 2031 "post-processing views" }, 2032 { F|O, "PostElement" , opt_print_pos_element , 0. , 2033 "Save element tags in mesh statistics exported as post-processing views" }, 2034 { F|O, "PostGamma" , opt_print_pos_gamma , 0. , 2035 "Save Gamma quality measure in mesh statistics exported as " 2036 "post-processing views" }, 2037 { F|O, "PostEta" , opt_print_pos_eta , 0. , 2038 "Save Eta quality measure in mesh statistics exported as " 2039 "post-processing views" }, 2040 { F|O, "PostSICN" , opt_print_pos_SICN , 0. , 2041 "Save SICN (signed inverse condition number) quality measure in mesh " 2042 "statistics exported as post-processing views" }, 2043 { F|O, "PostSIGE" , opt_print_pos_SIGE , 0. , 2044 "Save SIGE (signed inverse gradient error) quality measure in mesh " 2045 "statistics exported as post-processing views" }, 2046 { F|O, "PostDisto" , opt_print_pos_disto , 0. , 2047 "Save Disto quality measure in mesh statistics exported as " 2048 "post-processing views" }, 2049 2050 { F|O, "TexAsEquation" , opt_print_tex_as_equation , 0. , 2051 "Print all TeX strings as equations" }, 2052 { F|O, "TexForceFontSize" , opt_print_tex_force_fontsize , 0. , 2053 "Force font size of TeX strings to fontsize in the graphic window" }, 2054 { F|O, "TexWidthInMm" , opt_print_tex_width_in_mm , 150. , 2055 "Width of tex graphics in mm (use 0 for the natural width inferred from the " 2056 "image width in pixels)" }, 2057 { F|O, "Text" , opt_print_text , 1. , 2058 "Print text strings?" }, 2059 2060 { F|O, "X3dCompatibility" , opt_print_x3d_compatibility, 0. , 2061 "Produce highly compatible X3D output (no scale bar)" }, 2062 { F|O, "X3dPrecision" , opt_print_x3d_precision , 1.e-9 , 2063 "Precision of X3D output" }, 2064 { F|O, "X3dRemoveInnerBorders" , opt_print_x3d_remove_inner_borders , 0. , 2065 "Remove inner borders in X3D output" }, 2066 { F|O, "X3dTransparency" , opt_print_x3d_transparency , 0. , 2067 "Transparency for X3D output" }, 2068 { F|O, "X3dSurfaces" , opt_print_x3d_surfaces, 1. , 2069 "Save surfaces in CAD X3D output (0: no, 1: yes in a single X3D object," 2070 "2: one X3D object per geometrical surface, 3: one X3D object per" 2071 "physical surface)"}, 2072 { F|O, "X3dEdges" , opt_print_x3d_edges, 0. , 2073 "Save edges in CAD X3D output (0: no, 1: yes in a single X3D object," 2074 "2: one X3D object per geometrical edge, 3: one X3D object per" 2075 "physical edge)"}, 2076 { F|O, "X3dVertices" , opt_print_x3d_vertices, 0. , 2077 "Save vertices in CAD X3D output (0: no, 1: yes)"}, 2078 2079 { F|O, "Width" , opt_print_width , -1. , 2080 "Width of printed image; use (possibly scaled) current width if < 0)" }, 2081 2082 { 0, nullptr , nullptr , 0. } 2083 } ; 2084 2085 // COLORS 2086 2087 // CONTRARY TO THE PRECEDING OPTIONS, THE ORDERING OF COLOR OPTIONS MATTERS ! 2088 2089 // Solid Works (light blue to light gray): 94,198,255 -> 232,232,232 2090 // Catia (dark grey-blue to light gray-blue): 63,62,119 -> 181,182,202 2091 2092 StringXColor GeneralOptions_Color[] = { 2093 { F|O, "Background" , opt_general_color_background , 2094 {255, 255, 255, 255}, {255, 255, 255, 255}, {245, 245, 245, 255}, {0, 0, 0, 255}, 2095 "Background color" }, 2096 { F|O, "BackgroundGradient" , opt_general_color_background_gradient , 2097 {255, 255, 255, 255}, {208, 215, 255, 255}, {185, 185, 185, 255}, {0, 0, 0, 255}, 2098 "Background gradient color" }, 2099 { F|O, "Foreground" , opt_general_color_foreground , 2100 {85, 85, 85, 255}, {85, 85, 85, 255}, {85, 85, 85, 255}, {170, 170, 170, 255}, 2101 "Foreground color" }, 2102 { F|O, "Text" , opt_general_color_text , 2103 {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, {245, 245, 245, 255}, 2104 "Text color" }, 2105 { F|O, "Axes" , opt_general_color_axes , 2106 {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, {245, 245, 245, 255}, 2107 "Axes color" }, 2108 { F|O, "SmallAxes" , opt_general_color_small_axes , 2109 {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, {245, 245, 245, 255}, 2110 "Small axes color" }, 2111 { F|O, "AmbientLight" , opt_general_color_ambient_light, 2112 {25, 25, 25, 255}, {25, 25, 25, 255}, {25, 25, 25, 255}, {25, 25, 25, 255}, 2113 "Ambient light color" }, 2114 { F|O, "DiffuseLight" , opt_general_color_diffuse_light, 2115 {255, 255, 255, 255}, {255, 255, 255, 255}, {255, 255, 255, 255}, {255, 255, 255, 255}, 2116 "Diffuse light color" }, 2117 { F|O, "SpecularLight" , opt_general_color_specular_light, 2118 {255, 255, 255, 255}, {255, 255, 255, 255}, {255, 255, 255, 255}, {255, 255, 255, 255}, 2119 "Specular light color" }, 2120 { 0, nullptr , nullptr , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , {0, 0, 0, 0} , nullptr } 2121 } ; 2122 2123 StringXColor GeometryOptions_Color[] = { 2124 { F|O, "Points" , opt_geometry_color_points , 2125 {90, 90, 90, 255}, {90, 90, 90, 255}, {0, 0, 0, 255}, {178, 178, 178, 255}, 2126 "Normal geometry point color" }, 2127 { F|O, "Curves" , opt_geometry_color_curves , 2128 {0, 0, 255, 255}, {0, 0, 255, 255}, {0, 0, 0, 255}, {0, 0, 255, 255}, 2129 "Normal geometry curve color" }, 2130 { F|O|D, "Lines" , opt_geometry_color_curves , 2131 {0, 0, 255, 255}, {0, 0, 255, 255}, {0, 0, 0, 255}, {0, 0, 255, 255}, 2132 "[Deprecated]" }, 2133 { F|O, "Surfaces" , opt_geometry_color_surfaces , 2134 {128, 128, 128, 255}, {128, 128, 128, 255}, {0, 0, 0, 255}, {128, 128, 128, 255}, 2135 "Normal geometry surface color" }, 2136 { F|O, "Volumes" , opt_geometry_color_volumes , 2137 {255, 255, 0, 255}, {255, 255, 0, 255}, {0, 0, 0, 255}, {255, 255, 0, 255}, 2138 "Normal geometry volume color" }, 2139 { F|O, "Selection" , opt_geometry_color_selection , 2140 {255, 0, 0, 255}, {255, 0, 0, 255}, {255, 0, 0, 255}, {255, 0, 0, 255}, 2141 "Selected geometry color" }, 2142 { F|O, "HighlightZero" , opt_geometry_color_highlight0 , 2143 {255, 0, 0, 255}, {255, 0, 0, 255}, {255, 0, 0, 255}, {255, 0, 0, 255}, 2144 "Highlight 0 color" }, 2145 { F|O, "HighlightOne" , opt_geometry_color_highlight1 , 2146 {255, 150, 0, 255}, {255, 150, 0, 255}, {255, 150, 0, 255}, {255, 150, 0, 255}, 2147 "Highlight 1 color" }, 2148 { F|O, "HighlightTwo" , opt_geometry_color_highlight2 , 2149 {255, 255, 0, 255}, {255, 255, 0, 255}, {255, 255, 0, 255}, {255, 255, 0, 255}, 2150 "Highlight 2 color" }, 2151 { F|O, "Tangents" , opt_geometry_color_tangents , 2152 {255, 255, 0, 255}, {255, 255, 0, 255}, {0, 0, 0, 255}, {255, 255, 0, 255}, 2153 "Tangent geometry vectors color" }, 2154 { F|O, "Normals" , opt_geometry_color_normals , 2155 {255, 0, 0, 255}, {255, 0, 0, 255}, {0, 0, 0, 255}, {255, 0, 0, 255}, 2156 "Normal geometry vectors color" }, 2157 { F|O, "Projection" , opt_geometry_color_projection , 2158 {0, 255, 0, 255}, {0, 255, 0, 255}, {0, 0, 0, 255}, {0, 255, 0, 255}, 2159 "Projection surface color" }, 2160 { 0, nullptr , nullptr , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , nullptr } 2161 } ; 2162 2163 #define COLW {210, 210, 210, 255} 2164 #define COLT {160, 150, 255, 255} 2165 #define COLQ {130, 120, 225, 255} 2166 #define COLP {232, 210, 23, 255} 2167 #define COLY {217, 113, 38, 255} 2168 #define COLR {20, 255, 0, 255} 2169 2170 #define COL0 {255, 120, 0, 255} 2171 #define COL2 {255, 160, 0, 255} 2172 #define COL4 {255, 200, 0, 255} 2173 #define COL6 {255, 240, 0, 255} 2174 #define COL8 {228, 255, 0, 255} 2175 #define COL10 {188, 255, 0, 255} 2176 #define COL12 {148, 255, 0, 255} 2177 #define COL14 {108, 255, 0, 255} 2178 #define COL16 {68, 255, 0, 255} 2179 #define COL18 {0, 255, 52, 255} 2180 #define COL1 {0, 255, 132, 255} 2181 #define COL3 {0, 255, 192, 255} 2182 #define COL5 {0, 216, 255, 255} 2183 #define COL7 {0, 176, 255, 255} 2184 #define COL9 {0, 116, 255, 255} 2185 #define COL11 {0, 76, 255, 255} 2186 #define COL13 {24, 0, 255, 255} 2187 #define COL15 {84, 0, 255, 255} 2188 #define COL17 {104, 0, 255, 255} 2189 #define COL19 {184, 0, 255, 255} 2190 2191 StringXColor MeshOptions_Color[] = { 2192 { F|O, "Nodes" , opt_mesh_color_nodes , 2193 {0, 0, 255, 255}, {0, 0, 255, 255}, {0, 0, 0, 255}, {0, 0, 255, 255}, 2194 "Mesh node color" }, 2195 { F|O|D, "Points" , opt_mesh_color_nodes , 2196 {0, 0, 255, 255}, {0, 0, 255, 255}, {0, 0, 0, 255}, {0, 0, 255, 255}, 2197 "[Deprecated]" }, 2198 { F|O, "NodesSup" , opt_mesh_color_nodes_sup , 2199 {255, 0, 255, 255}, {255, 0, 255, 255}, {0, 0, 0, 255}, {255, 0, 255, 255}, 2200 "Second order mesh node color" }, 2201 { F|O|D, "PointsSup" , opt_mesh_color_nodes_sup , 2202 {255, 0, 255, 255}, {255, 0, 255, 255}, {0, 0, 0, 255}, {255, 0, 255, 255}, 2203 "[Deprecated]" }, 2204 { F|O, "Lines" , opt_mesh_color_lines , 2205 {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, 2206 "Mesh line color" }, 2207 { F|O, "Triangles" , opt_mesh_color_triangles , 2208 COLT, COLT, COLW, COLT, 2209 "Mesh triangle color (if Mesh.ColorCarousel=0)" }, 2210 { F|O, "Quadrangles" , opt_mesh_color_quadrangles , 2211 COLQ, COLQ, COLW, COLQ, 2212 "Mesh quadrangle color (if Mesh.ColorCarousel=0)" }, 2213 { F|O, "Tetrahedra" , opt_mesh_color_tetrahedra , 2214 COLT, COLT, COLW, COLT, 2215 "Mesh tetrahedron color (if Mesh.ColorCarousel=0)" }, 2216 { F|O, "Hexahedra" , opt_mesh_color_hexahedra , 2217 COLQ, COLQ, COLW, COLQ, 2218 "Mesh hexahedron color (if Mesh.ColorCarousel=0)" }, 2219 { F|O, "Prisms" , opt_mesh_color_prisms , 2220 COLP, COLP, COLW, COLP, 2221 "Mesh prism color (if Mesh.ColorCarousel=0)" }, 2222 { F|O, "Pyramids" , opt_mesh_color_pyramid , 2223 COLY, COLY, COLW, COLY, 2224 "Mesh pyramid color (if Mesh.ColorCarousel=0)" }, 2225 { F|O, "Trihedra" , opt_mesh_color_trihedron , 2226 COLR, COLR, COLW, COLR, 2227 "Mesh trihedron color (if Mesh.ColorCarousel=0)" }, 2228 { F|O, "Tangents" , opt_mesh_color_tangents , 2229 {255, 255, 0, 255}, {255, 255, 0, 255}, {0, 0, 0, 255}, {255, 255, 0, 255}, 2230 "Tangent mesh vector color" }, 2231 { F|O, "Normals" , opt_mesh_color_normals , 2232 {255, 0, 0, 255}, {255, 0, 0, 255}, {0, 0, 0, 255}, {255, 0, 0, 255}, 2233 "Normal mesh vector color" }, 2234 { F|O, "Zero" , opt_mesh_color_0 , COL0, COL0, COLW, COL0, 2235 "Color 0 in color carousel" }, 2236 { F|O, "One" , opt_mesh_color_1 , COL1, COL1, COLW, COL1, 2237 "Color 1 in color carousel" }, 2238 { F|O, "Two" , opt_mesh_color_2 , COL2, COL2, COLW, COL2, 2239 "Color 2 in color carousel" }, 2240 { F|O, "Three" , opt_mesh_color_3 , COL3, COL3, COLW, COL3, 2241 "Color 3 in color carousel" }, 2242 { F|O, "Four" , opt_mesh_color_4 , COL4, COL4, COLW, COL4, 2243 "Color 4 in color carousel" }, 2244 { F|O, "Five" , opt_mesh_color_5 , COL5, COL5, COLW, COL5, 2245 "Color 5 in color carousel" }, 2246 { F|O, "Six" , opt_mesh_color_6 , COL6, COL6, COLW, COL6, 2247 "Color 6 in color carousel" }, 2248 { F|O, "Seven" , opt_mesh_color_7 , COL7, COL7, COLW, COL7, 2249 "Color 7 in color carousel" }, 2250 { F|O, "Eight" , opt_mesh_color_8 , COL8, COL8, COLW, COL8, 2251 "Color 8 in color carousel" }, 2252 { F|O, "Nine" , opt_mesh_color_9 , COL9, COL9, COLW, COL9, 2253 "Color 9 in color carousel" }, 2254 { F|O, "Ten" , opt_mesh_color_10, COL10, COL10, COLW, COL10, 2255 "Color 10 in color carousel" }, 2256 { F|O, "Eleven" , opt_mesh_color_11, COL11, COL11, COLW, COL11, 2257 "Color 11 in color carousel" }, 2258 { F|O, "Twelve" , opt_mesh_color_12, COL12, COL12, COLW, COL12, 2259 "Color 12 in color carousel" }, 2260 { F|O, "Thirteen" , opt_mesh_color_13, COL13, COL13, COLW, COL13, 2261 "Color 13 in color carousel" }, 2262 { F|O, "Fourteen" , opt_mesh_color_14, COL14, COL14, COLW, COL14, 2263 "Color 14 in color carousel" }, 2264 { F|O, "Fifteen" , opt_mesh_color_15, COL15, COL15, COLW, COL15, 2265 "Color 15 in color carousel" }, 2266 { F|O, "Sixteen" , opt_mesh_color_16, COL16, COL16, COLW, COL16, 2267 "Color 16 in color carousel" }, 2268 { F|O, "Seventeen", opt_mesh_color_17, COL17, COL17, COLW, COL17, 2269 "Color 17 in color carousel" }, 2270 { F|O, "Eighteen" , opt_mesh_color_18, COL18, COL18, COLW, COL18, 2271 "Color 18 in color carousel" }, 2272 { F|O, "Nineteen" , opt_mesh_color_19, COL19, COL19, COLW, COL19, 2273 "Color 19 in color carousel" }, 2274 { 0, nullptr , nullptr , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , {0, 0, 0, 0} , nullptr } 2275 } ; 2276 2277 StringXColor SolverOptions_Color[] = { 2278 { 0, nullptr , nullptr , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , nullptr } 2279 } ; 2280 2281 StringXColor PostProcessingOptions_Color[] = { 2282 { 0, nullptr , nullptr , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , nullptr } 2283 } ; 2284 2285 #define ELECOL {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, {245, 245, 245, 255} 2286 2287 StringXColor ViewOptions_Color[] = { 2288 { F|O, "Points" , opt_view_color_points , ELECOL, "Point color" }, 2289 { F|O, "Lines" , opt_view_color_lines , ELECOL, "Line color" }, 2290 { F|O, "Triangles" , opt_view_color_triangles , ELECOL, "Triangle color" }, 2291 { F|O, "Quadrangles" , opt_view_color_quadrangles , ELECOL, "Quadrangle color" }, 2292 { F|O, "Tetrahedra" , opt_view_color_tetrahedra , ELECOL, "Tetrahedron color" }, 2293 { F|O, "Hexahedra" , opt_view_color_hexahedra , ELECOL, "Hexahedron color" }, 2294 { F|O, "Prisms" , opt_view_color_prisms , ELECOL, "Prism color" }, 2295 { F|O, "Pyramids" , opt_view_color_pyramids , ELECOL, "Pyramid color" }, 2296 { F|O, "Trihedra" , opt_view_color_trihedra , ELECOL, "Trihedron color" }, 2297 { F|O, "Tangents" , opt_view_color_tangents , 2298 {255, 255, 0, 255}, {255, 255, 0, 255}, {0, 0, 0, 255}, {255, 255, 0, 255}, 2299 "Tangent vector color" }, 2300 { F|O, "Normals" , opt_view_color_normals , 2301 {255, 0, 0, 255}, {255, 0, 0, 255}, {0, 0, 0, 255}, {255, 0, 0, 255}, 2302 "Normal vector color" }, 2303 { F|O, "Text2D" , opt_view_color_text2d , ELECOL, "2D text color" }, 2304 { F|O, "Text3D" , opt_view_color_text3d , ELECOL, "3D text color" }, 2305 { F|O, "Axes" , opt_view_color_axes , ELECOL, "Axes color" }, 2306 { F|O, "Background2D" , opt_view_color_background2d , 2307 {255, 255, 255, 200}, {255, 255, 255, 200}, {255, 255, 255, 200}, {245, 245, 245, 200}, 2308 "Bacground color for 2D plots" }, 2309 { 0, nullptr , nullptr , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , nullptr } 2310 } ; 2311 2312 StringXColor PrintOptions_Color[] = { 2313 { 0, nullptr , nullptr , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , nullptr } 2314 } ; 2315 2316 #undef S 2317 #undef O 2318 #undef F 2319 #undef D 2320 2321 #endif 2322