diff --git a/Common/Context.h b/Common/Context.h index 5fcef16d91dee9b0e8129c05089e8d450ae7bf80..d75b207c4fa594cd21b5ca52b3564b2dde8d0d88 100644 --- a/Common/Context.h +++ b/Common/Context.h @@ -78,7 +78,7 @@ class CTX { int sessionSave, optionsSave; // ask confirmation when overwriting files? int confirmOverwrite; - // forced display host:0.0 under X11 + // forced display host:0.0 under X11 std::string display; // FLTK theme std::string guiTheme; @@ -103,7 +103,7 @@ class CTX { // batch mode (-4: lua session, -3: server daemon, -2: check coherence, -1: write // geo, 0: full gfx, 1: 1D mesh, 2: 2D mesh, 3: 3D mesh, 4: adapt // mesh, 5: refine mesh) - int batch; + int batch; // batch operations to apply after meshing (1: partition mesh) int batchAfterMesh; // initial menu (0: automatic, 1: geom, 2: mesh, 3: solver, 4: post) @@ -132,7 +132,7 @@ class CTX { // double buffer/antialias/stereo graphics? int db, antialiasing, stereo, camera; double eye_sep_ratio,focallength_ratio,camera_aperture; - // orthogonal projection? + // orthogonal projection? int ortho; // draw the bounding boxes and the rot center? int drawBBox, drawRotationCenter; @@ -144,7 +144,7 @@ class CTX { int axes, axesAutoPosition, axesTics[3], axesMikado; double axesPosition[6]; std::string axesLabel[3], axesFormat[3]; - // simple dynamic lock (should be a mutex) + // simple dynamic lock (should be a mutex) int lock; // enable alpha blending? int alpha; @@ -195,29 +195,29 @@ class CTX { // temporary storage of rotation, translation, scale (until the GUI // is ready) double tmpRotation[3], tmpTranslation[3], tmpScale[3], tmpQuaternion[4]; - // geometry options + // geometry options contextGeometryOptions geom; - // mesh options + // mesh options contextMeshOptions mesh; - // FIXME: putting these in the mesh struct (where they belong) causes + // FIXME: putting these in the mesh struct (where they belong) causes // an LNK1179 error ("duplicate COMDAT") with MSVC... meshPartitionOptions partitionOptions; CGNSOptions cgnsOptions; - // post processing options + // post processing options struct{ int draw, link, horizontalScales; int smooth, animCycle, animStep, combineTime, combineRemoveOrig; int fileFormat, plugins; double animDelay; }post; - // solver options + // solver options struct{ int plugins, listen; double timeout; std::string socketName; - std::string name[5], commandLine[5]; + std::string name[5], executable[5], hostname[5]; }solver; - // print options + // print options struct{ int fileFormat, epsQuality, epsCompress, epsPS3Shading; int epsOcclusionCulling, epsBestRoot; @@ -253,7 +253,7 @@ class CTX { int unpackGreen(unsigned int X); int unpackBlue(unsigned int X); int unpackAlpha(unsigned int X); - + }; #endif diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h index 075cf12384be46e48aa9ef54f55b4ab1e833884c..0292790898b9a17db4aa909ae15f8094fac01cf7 100644 --- a/Common/DefaultOptions.h +++ b/Common/DefaultOptions.h @@ -10,7 +10,7 @@ #include "GmshDefines.h" #include "Options.h" -// PLEASE RESPECT THE ALPHABETICAL ORDER WHEN +// PLEASE RESPECT THE ALPHABETICAL ORDER WHEN // INSERTING A NEW OPTION! // // Option Database (General, Geometry, Mesh, Post, View, Print), with @@ -25,17 +25,17 @@ // STRINGS StringXString GeneralOptions_String[] = { - { F|O, "AxesFormatX" , opt_general_axes_format0 , "%.3g" , + { F|O, "AxesFormatX" , opt_general_axes_format0 , "%.3g" , "Number format for X-axis (in standard C form)" }, - { F|O, "AxesFormatY" , opt_general_axes_format1 , "%.3g" , + { F|O, "AxesFormatY" , opt_general_axes_format1 , "%.3g" , "Number format for Y-axis (in standard C form)" }, - { F|O, "AxesFormatZ" , opt_general_axes_format2 , "%.3g" , + { F|O, "AxesFormatZ" , opt_general_axes_format2 , "%.3g" , "Number format for Z-axis (in standard C form)" }, - { F|O, "AxesLabelX" , opt_general_axes_label0 , "" , + { F|O, "AxesLabelX" , opt_general_axes_label0 , "" , "X-axis label" }, - { F|O, "AxesLabelY" , opt_general_axes_label1 , "" , + { F|O, "AxesLabelY" , opt_general_axes_label1 , "" , "Y-axis label" }, - { F|O, "AxesLabelZ" , opt_general_axes_label2 , "" , + { F|O, "AxesLabelZ" , opt_general_axes_label2 , "" , "Z-axis label" }, { F|O, "BackgroundImageFileName" , opt_general_background_image_filename , "" , @@ -49,15 +49,15 @@ StringXString GeneralOptions_String[] = { { F|O, "ErrorFileName" , opt_general_error_filename , ".gmsh-errors" , "File into which the log is saved if a fatal error occurs" }, - { F, "FileName" , opt_general_filename , "" , + { F, "FileName" , opt_general_filename , "" , "Current project file name (read-only)" }, { F|O, "FltkTheme" , opt_general_gui_theme , "" , "FLTK user interface theme (try e.g. plastic or gtk+)" }, { F|O, "GraphicsFont" , opt_general_graphics_font , "Helvetica" , - "Font used in the graphic window" }, + "Font used in the graphic window" }, { F|O, "GraphicsFontTitle" , opt_general_graphics_font_title , "Helvetica" , - "Font used in the graphic window for titles" }, + "Font used in the graphic window for titles" }, { F|S, "OptionsFileName" , opt_general_options_filename , ".gmsh-options" , "Option file created with `Tools->Options->Save'; automatically read on startup" }, @@ -72,14 +72,14 @@ StringXString GeneralOptions_String[] = { "4th most recent opened file"}, { F|S, "RecentFile4", opt_general_recent_file4 , "untitled.geo" , "5th most recent opened file"}, - + { 0, "SessionFileName" , opt_general_session_filename , ".gmshrc" , "Option file into which session specific information is saved; automatically " "read on startup" }, - { F|O, "TextEditor" , opt_general_editor , + { F|O, "TextEditor" , opt_general_editor , #if defined(WIN32) - "notepad.exe %s" , + "notepad.exe %s" , #elif defined(__APPLE__) "open -t %s" , #else @@ -89,9 +89,9 @@ StringXString GeneralOptions_String[] = { { F|S, "TmpFileName" , opt_general_tmp_filename , ".gmsh-tmp" , "Temporary file used by the geometry module" }, - { F|O, "WebBrowser" , opt_general_web_browser , + { F|O, "WebBrowser" , opt_general_web_browser , #if defined(WIN32) - "explorer.exe %s" , + "explorer.exe %s" , #elif defined(__APPLE__) "open %s" , #else @@ -116,15 +116,26 @@ StringXString MeshOptions_String[] = { StringXString SolverOptions_String[] = { { F|S, "Executable0" , opt_solver_executable0 , "", "System command to launch solver 0" }, - { F|S, "Executable1" , opt_solver_executable1 , "" , + { F|S, "Executable1" , opt_solver_executable1 , "" , "System command to launch solver 1" }, - { F|S, "Executable2" , opt_solver_executable2 , "" , + { F|S, "Executable2" , opt_solver_executable2 , "" , "System command to launch solver 2" }, - { F|S, "Executable3" , opt_solver_executable3 , "" , + { F|S, "Executable3" , opt_solver_executable3 , "" , "System command to launch solver 3" }, - { F|S, "Executable4" , opt_solver_executable4 , "" , + { F|S, "Executable4" , opt_solver_executable4 , "" , "System command to launch solver 4" }, + { F|S, "Hostname0" , opt_solver_hostname0 , "", + "Hostname where to launch solver 0" }, + { F|S, "Hostname1" , opt_solver_hostname1 , "" , + "Hostname where to launch solver 1" }, + { F|S, "Hostname2" , opt_solver_hostname2 , "" , + "Hostname where to launch solver 2" }, + { F|S, "Hostname3" , opt_solver_hostname3 , "" , + "Hostname where to launch solver 3" }, + { F|S, "Hostname4" , opt_solver_hostname4 , "" , + "Hostname where to launch solver 4" }, + { F|S, "Name0" , opt_solver_name0 , "GetDP" , "Name of solver 0" }, { F|S, "Name1" , opt_solver_name1 , "" , @@ -136,7 +147,7 @@ StringXString SolverOptions_String[] = { { F|S, "Name4" , opt_solver_name4 , "" , "Name of solver 4" }, - { F|O, "SocketName" , opt_solver_socket_name , + { F|O, "SocketName" , opt_solver_socket_name , #if defined(WIN32) && !defined(__CYGWIN__) "127.0.0.1:4412" , // use TCP/IP sockets by default on Windows #else @@ -152,53 +163,53 @@ StringXString PostProcessingOptions_String[] = { } ; StringXString ViewOptions_String[] = { - { F|O, "AxesFormatX" , opt_view_axes_format0 , "%.3g" , + { F|O, "AxesFormatX" , opt_view_axes_format0 , "%.3g" , "Number format for X-axis (in standard C form)" }, - { F|O, "AxesFormatY" , opt_view_axes_format1 , "%.3g" , + { F|O, "AxesFormatY" , opt_view_axes_format1 , "%.3g" , "Number format for Y-axis (in standard C form)" }, - { F|O, "AxesFormatZ" , opt_view_axes_format2 , "%.3g" , + { F|O, "AxesFormatZ" , opt_view_axes_format2 , "%.3g" , "Number format for Z-axis (in standard C form)" }, - { F|O, "AxesLabelX" , opt_view_axes_label0 , "" , + { F|O, "AxesLabelX" , opt_view_axes_label0 , "" , "X-axis label" }, - { F|O, "AxesLabelY" , opt_view_axes_label1 , "" , + { F|O, "AxesLabelY" , opt_view_axes_label1 , "" , "Y-axis label" }, - { F|O, "AxesLabelZ" , opt_view_axes_label2 , "" , + { F|O, "AxesLabelZ" , opt_view_axes_label2 , "" , "Z-axis label" }, - { F, "FileName" , opt_view_filename , "" , + { F, "FileName" , opt_view_filename , "" , "Default post-processing view file name" }, - { F|O, "Format" , opt_view_format , "%.3g" , + { F|O, "Format" , opt_view_format , "%.3g" , "Number format (in standard C form)" }, - { F|O, "GeneralizedRaiseX" , opt_view_gen_raise0 , "v0" , + { F|O, "GeneralizedRaiseX" , opt_view_gen_raise0 , "v0" , "Generalized elevation of the view along X-axis (in model coordinates)" }, - { F|O, "GeneralizedRaiseY" , opt_view_gen_raise1 , "v1" , + { F|O, "GeneralizedRaiseY" , opt_view_gen_raise1 , "v1" , "Generalized elevation of the view along Y-axis (in model coordinates)" }, - { F|O, "GeneralizedRaiseZ" , opt_view_gen_raise2 , "v2" , + { F|O, "GeneralizedRaiseZ" , opt_view_gen_raise2 , "v2" , "Generalized elevation of the view along Z-axis (in model coordinates)" }, - { F, "Name" , opt_view_name , "" , + { F, "Name" , opt_view_name , "" , "Default post-processing view name" }, - { F|O, "Stipple0" , opt_view_stipple0 , "1*0x1F1F" , + { F|O, "Stipple0" , opt_view_stipple0 , "1*0x1F1F" , "First stippling pattern" }, - { F|O, "Stipple1" , opt_view_stipple1 , "1*0x3333" , + { F|O, "Stipple1" , opt_view_stipple1 , "1*0x3333" , "Second stippling pattern" }, - { F|O, "Stipple2" , opt_view_stipple2 , "1*0x087F" , + { F|O, "Stipple2" , opt_view_stipple2 , "1*0x087F" , "Third stippling pattern" }, - { F|O, "Stipple3" , opt_view_stipple3 , "1*0xCCCF" , + { F|O, "Stipple3" , opt_view_stipple3 , "1*0xCCCF" , "Fourth stippling pattern" }, - { F|O, "Stipple4" , opt_view_stipple4 , "2*0x1111" , + { F|O, "Stipple4" , opt_view_stipple4 , "2*0x1111" , "Fifth stippling pattern" }, - { F|O, "Stipple5" , opt_view_stipple5 , "2*0x0F0F" , + { F|O, "Stipple5" , opt_view_stipple5 , "2*0x0F0F" , "Sixth stippling pattern" }, - { F|O, "Stipple6" , opt_view_stipple6 , "1*0xCFFF" , + { F|O, "Stipple6" , opt_view_stipple6 , "1*0xCFFF" , "Seventh stippling pattern" }, - { F|O, "Stipple7" , opt_view_stipple7 , "2*0x0202" , + { F|O, "Stipple7" , opt_view_stipple7 , "2*0x0202" , "Eighth stippling pattern" }, - { F|O, "Stipple8" , opt_view_stipple8 , "2*0x087F" , + { F|O, "Stipple8" , opt_view_stipple8 , "2*0x087F" , "Ninth stippling pattern" }, - { F|O, "Stipple9" , opt_view_stipple9 , "1*0xFFFF" , + { F|O, "Stipple9" , opt_view_stipple9 , "1*0xFFFF" , "Tenth stippling pattern" }, { 0, 0 , 0 , "" , 0 } @@ -223,22 +234,22 @@ StringXNumber GeneralOptions_Number[] = { "Relative radius of arrow stem" }, { F|O, "Axes" , opt_general_axes , 0. , "Axes (0=none, 1=simple axes, 2=box, 3=full grid, 4=open grid, 5=ruler)" }, - { F|O, "AxesMikado" , opt_general_axes_mikado , 0. , - "Mikado axes style" }, - { F|O, "AxesAutoPosition" , opt_general_axes_auto_position , 1. , - "Position the axes automatically" }, - { F|O, "AxesMaxX" , opt_general_axes_xmax , 1. , - "Maximum X-axis coordinate" }, - { F|O, "AxesMaxY" , opt_general_axes_ymax , 1. , - "Maximum Y-axis coordinate" }, - { F|O, "AxesMaxZ" , opt_general_axes_zmax , 1. , - "Maximum Z-axis coordinate" }, - { F|O, "AxesMinX" , opt_general_axes_xmin , 0. , - "Minimum X-axis coordinate" }, - { F|O, "AxesMinY" , opt_general_axes_ymin , 0. , - "Minimum Y-axis coordinate" }, - { F|O, "AxesMinZ" , opt_general_axes_zmin , 0. , - "Minimum Z-axis coordinate" }, + { F|O, "AxesMikado" , opt_general_axes_mikado , 0. , + "Mikado axes style" }, + { F|O, "AxesAutoPosition" , opt_general_axes_auto_position , 1. , + "Position the axes automatically" }, + { F|O, "AxesMaxX" , opt_general_axes_xmax , 1. , + "Maximum X-axis coordinate" }, + { F|O, "AxesMaxY" , opt_general_axes_ymax , 1. , + "Maximum Y-axis coordinate" }, + { F|O, "AxesMaxZ" , opt_general_axes_zmax , 1. , + "Maximum Z-axis coordinate" }, + { F|O, "AxesMinX" , opt_general_axes_xmin , 0. , + "Minimum X-axis coordinate" }, + { F|O, "AxesMinY" , opt_general_axes_ymin , 0. , + "Minimum Y-axis coordinate" }, + { F|O, "AxesMinZ" , opt_general_axes_zmin , 0. , + "Minimum Z-axis coordinate" }, { F|O, "AxesTicsX" , opt_general_axes_tics0 , 5. , "Number of tics on the X-axis" }, { F|O, "AxesTicsY" , opt_general_axes_tics1 , 5. , @@ -265,78 +276,78 @@ StringXNumber GeneralOptions_Number[] = { "Camera Focal length ratio" }, { F, "Clip0A" , opt_general_clip0a , 1.0 , "First coefficient in equation for clipping plane 0 (`A' in `AX+BY+CZ+D=0')" }, - { F, "Clip0B" , opt_general_clip0b , 0.0 , + { F, "Clip0B" , opt_general_clip0b , 0.0 , "Second coefficient in equation for clipping plane 0 (`B' in `AX+BY+CZ+D=0')" }, - { F, "Clip0C" , opt_general_clip0c , 0.0 , + { F, "Clip0C" , opt_general_clip0c , 0.0 , "Third coefficient in equation for clipping plane 0 (`C' in `AX+BY+CZ+D=0')" }, - { F, "Clip0D" , opt_general_clip0d , 0.0 , + { F, "Clip0D" , opt_general_clip0d , 0.0 , "Fourth coefficient in equation for clipping plane 0 (`D' in `AX+BY+CZ+D=0')" }, - { F, "Clip1A" , opt_general_clip1a , 0.0 , + { F, "Clip1A" , opt_general_clip1a , 0.0 , "First coefficient in equation for clipping plane 1" }, - { F, "Clip1B" , opt_general_clip1b , 1.0 , + { F, "Clip1B" , opt_general_clip1b , 1.0 , "Second coefficient in equation for clipping plane 1" }, - { F, "Clip1C" , opt_general_clip1c , 0.0 , + { F, "Clip1C" , opt_general_clip1c , 0.0 , "Third coefficient in equation for clipping plane 1" }, - { F, "Clip1D" , opt_general_clip1d , 0.0 , + { F, "Clip1D" , opt_general_clip1d , 0.0 , "Fourth coefficient in equation for clipping plane 1" }, - { F, "Clip2A" , opt_general_clip2a , 0.0 , + { F, "Clip2A" , opt_general_clip2a , 0.0 , "First coefficient in equation for clipping plane 2" }, - { F, "Clip2B" , opt_general_clip2b , 0.0 , + { F, "Clip2B" , opt_general_clip2b , 0.0 , "Second coefficient in equation for clipping plane 2" }, - { F, "Clip2C" , opt_general_clip2c , 1.0 , + { F, "Clip2C" , opt_general_clip2c , 1.0 , "Third coefficient in equation for clipping plane 2" }, - { F, "Clip2D" , opt_general_clip2d , 0.0 , + { F, "Clip2D" , opt_general_clip2d , 0.0 , "Fourth coefficient in equation for clipping plane 2" }, - { F, "Clip3A" , opt_general_clip3a , -1.0 , + { F, "Clip3A" , opt_general_clip3a , -1.0 , "First coefficient in equation for clipping plane 3" }, - { F, "Clip3B" , opt_general_clip3b , 0.0 , + { F, "Clip3B" , opt_general_clip3b , 0.0 , "Second coefficient in equation for clipping plane 3" }, - { F, "Clip3C" , opt_general_clip3c , 0.0 , + { F, "Clip3C" , opt_general_clip3c , 0.0 , "Third coefficient in equation for clipping plane 3" }, - { F, "Clip3D" , opt_general_clip3d , 1.0 , + { F, "Clip3D" , opt_general_clip3d , 1.0 , "Fourth coefficient in equation for clipping plane 3" }, - { F, "Clip4A" , opt_general_clip4a , 0.0 , + { F, "Clip4A" , opt_general_clip4a , 0.0 , "First coefficient in equation for clipping plane 4" }, - { F, "Clip4B" , opt_general_clip4b , -1.0 , + { F, "Clip4B" , opt_general_clip4b , -1.0 , "Second coefficient in equation for clipping plane 4" }, - { F, "Clip4C" , opt_general_clip4c , 0.0 , + { F, "Clip4C" , opt_general_clip4c , 0.0 , "Third coefficient in equation for clipping plane 4" }, - { F, "Clip4D" , opt_general_clip4d , 1.0 , + { F, "Clip4D" , opt_general_clip4d , 1.0 , "Fourth coefficient in equation for clipping plane 4" }, - { F, "Clip5A" , opt_general_clip5a , 0.0 , + { F, "Clip5A" , opt_general_clip5a , 0.0 , "First coefficient in equation for clipping plane 5" }, - { F, "Clip5B" , opt_general_clip5b , 0.0 , + { F, "Clip5B" , opt_general_clip5b , 0.0 , "Second coefficient in equation for clipping plane 5" }, - { F, "Clip5C" , opt_general_clip5c , -1.0 , + { F, "Clip5C" , opt_general_clip5c , -1.0 , "Third coefficient in equation for clipping plane 5" }, - { F, "Clip5D" , opt_general_clip5d , 1.0 , + { F, "Clip5D" , opt_general_clip5d , 1.0 , "Fourth coefficient in equation for clipping plane 5" }, - { F, "ClipFactor" , opt_general_clip_factor , 5.0 , + { F, "ClipFactor" , opt_general_clip_factor , 5.0 , "Near and far clipping plane distance factor (decrease value for better " "z-buffer resolution)" }, - { F|O, "ClipOnlyDrawIntersectingVolume" , - opt_general_clip_only_draw_intersecting_volume , 0. , + { F|O, "ClipOnlyDrawIntersectingVolume" , + opt_general_clip_only_draw_intersecting_volume , 0. , "Only draw layer of elements that intersect the clipping plane" }, - { F|O, "ClipOnlyVolume" , opt_general_clip_only_volume , 0. , + { F|O, "ClipOnlyVolume" , opt_general_clip_only_volume , 0. , "Only clip volume elements" }, - { F|S, "ClipPositionX" , opt_general_clip_position0 , 650. , + { F|S, "ClipPositionX" , opt_general_clip_position0 , 650. , "Horizontal position (in pixels) of the upper left corner of the clipping " - "planes window" }, - { F|S, "ClipPositionY" , opt_general_clip_position1 , 150. , + "planes window" }, + { F|S, "ClipPositionY" , opt_general_clip_position1 , 150. , "Vertical position (in pixels) of the upper left corner of the clipping " - "planes window" }, - { F|O, "ClipWholeElements" , opt_general_clip_whole_elements , 0. , + "planes window" }, + { F|O, "ClipWholeElements" , opt_general_clip_whole_elements , 0. , "Clip whole elements" }, { F|O, "ColorScheme", opt_general_color_scheme , 1. , "Default color scheme (0=dark, 1=light or 2=grayscale)" }, - { F|O, "ConfirmOverwrite" , opt_general_confirm_overwrite, 1. , - "Ask confirmation before overwriting files?" }, - { F|S, "ContextPositionX" , opt_general_context_position0 , 650. , + { F|O, "ConfirmOverwrite" , opt_general_confirm_overwrite, 1. , + "Ask confirmation before overwriting files?" }, + { F|S, "ContextPositionX" , opt_general_context_position0 , 650. , "Horizontal position (in pixels) of the upper left corner of the contextual " - "windows" }, + "windows" }, { F|S, "ContextPositionY" , opt_general_context_position1 , 150. , "Vertical position (in pixels) of the upper left corner of the contextual " - "windows" }, + "windows" }, { F|O, "DisplayBorderFactor" , opt_general_display_border_factor , 0.2 , "Border factor for model display (0: model fits window size exactly)" }, @@ -352,39 +363,39 @@ StringXNumber GeneralOptions_Number[] = { { F|O, "FastRedraw" , opt_general_fast_redraw, 0. , "Draw simplified model while rotating, panning and zooming" }, - { F|S, "FieldPositionX" , opt_general_field_position0 , 650. , - "Horizontal position (in pixels) of the upper left corner of the field window" }, - { F|S, "FieldPositionY" , opt_general_field_position1 , 550. , - "Vertical position (in pixels) of the upper left corner of the field window" }, - { F|S, "FieldHeight" , opt_general_field_size1 , 300. , - "Height (in pixels) of the field window" }, - { F|S, "FieldWidth" , opt_general_field_size0 , 300. , - "Width (in pixels) of the field window" }, - { F|S, "FileChooserPositionX" , opt_general_file_chooser_position0 , 200. , + { F|S, "FieldPositionX" , opt_general_field_position0 , 650. , + "Horizontal position (in pixels) of the upper left corner of the field window" }, + { F|S, "FieldPositionY" , opt_general_field_position1 , 550. , + "Vertical position (in pixels) of the upper left corner of the field window" }, + { F|S, "FieldHeight" , opt_general_field_size1 , 300. , + "Height (in pixels) of the field window" }, + { F|S, "FieldWidth" , opt_general_field_size0 , 300. , + "Width (in pixels) of the field window" }, + { F|S, "FileChooserPositionX" , opt_general_file_chooser_position0 , 200. , "Horizontal position (in pixels) of the upper left corner of the file chooser " - "windows" }, + "windows" }, { F|S, "FileChooserPositionY" , opt_general_file_chooser_position1 , 200. , "Vertical position (in pixels) of the upper left corner of the file chooser " - "windows" }, - { F|O, "FontSize" , opt_general_fontsize , -1. , + "windows" }, + { F|O, "FontSize" , opt_general_fontsize , -1. , "Size of the font in the user interface (-1=automatic)" }, { F|O, "GraphicsFontSize" , opt_general_graphics_fontsize , 17. , - "Size of the font in the graphic window" }, + "Size of the font in the graphic window" }, { F|O, "GraphicsFontSizeTitle" , opt_general_graphics_fontsize_title , 19. , - "Size of the font in the graphic window for titles" }, - { F|S, "GraphicsHeight" , opt_general_graphics_size1 , 600. , - "Height (in pixels) of the graphic window" }, - { F|S, "GraphicsPositionX" , opt_general_graphics_position0 , 50. , + "Size of the font in the graphic window for titles" }, + { F|S, "GraphicsHeight" , opt_general_graphics_size1 , 600. , + "Height (in pixels) of the graphic window" }, + { F|S, "GraphicsPositionX" , opt_general_graphics_position0 , 50. , "Horizontal position (in pixels) of the upper left corner of the graphic " - "window" }, + "window" }, { F|S, "GraphicsPositionY" , opt_general_graphics_position1 , 50. , "Vertical position (in pixels) of the upper left corner of the graphic " - "window" }, - { F|S, "GraphicsWidth" , opt_general_graphics_size0 , 600. , - "Width (in pixels) of the graphic window" }, + "window" }, + { F|S, "GraphicsWidth" , opt_general_graphics_size0 , 600. , + "Width (in pixels) of the graphic window" }, - { F|O, "InitialModule", opt_general_initial_context, 0. , + { F|O, "InitialModule", opt_general_initial_context, 0. , "Module launched on startup (0=automatic, 1=geometry, 2=mesh, 3=solver, " "4=post-processing) " }, @@ -392,95 +403,95 @@ StringXNumber GeneralOptions_Number[] = { "Enable light source 0" }, { F|O, "Light0X" , opt_general_light00 , 0.65 , "X position of light source 0" }, - { F|O, "Light0Y" , opt_general_light01 , 0.65 , + { F|O, "Light0Y" , opt_general_light01 , 0.65 , "Y position of light source 0" }, - { F|O, "Light0Z" , opt_general_light02 , 1.0 , + { F|O, "Light0Z" , opt_general_light02 , 1.0 , "Z position of light source 0" }, - { F|O, "Light0W" , opt_general_light03 , 0.0 , + { F|O, "Light0W" , opt_general_light03 , 0.0 , "Divisor of the X, Y and Z coordinates of light source 0 (W=0 means " "infinitely far source)" }, { F|O, "Light1" , opt_general_light1 , 0., "Enable light source 1" }, - { F|O, "Light1X" , opt_general_light10 , 0.5 , + { F|O, "Light1X" , opt_general_light10 , 0.5 , "X position of light source 1" }, - { F|O, "Light1Y" , opt_general_light11 , 0.3 , + { F|O, "Light1Y" , opt_general_light11 , 0.3 , "Y position of light source 1" }, - { F|O, "Light1Z" , opt_general_light12 , 1.0 , + { F|O, "Light1Z" , opt_general_light12 , 1.0 , "Z position of light source 1" }, - { F|O, "Light1W" , opt_general_light13 , 0.0 , + { F|O, "Light1W" , opt_general_light13 , 0.0 , "Divisor of the X, Y and Z coordinates of light source 1 (W=0 means infinitely " "far source)" }, { F|O, "Light2" , opt_general_light2 , 0., "Enable light source 2" }, - { F|O, "Light2X" , opt_general_light20 , 0.5 , + { F|O, "Light2X" , opt_general_light20 , 0.5 , "X position of light source 2" }, - { F|O, "Light2Y" , opt_general_light21 , 0.3 , + { F|O, "Light2Y" , opt_general_light21 , 0.3 , "Y position of light source 2" }, - { F|O, "Light2Z" , opt_general_light22 , 1.0 , + { F|O, "Light2Z" , opt_general_light22 , 1.0 , "Z position of light source 2" }, - { F|O, "Light2W" , opt_general_light23 , 0.0 , + { F|O, "Light2W" , opt_general_light23 , 0.0 , "Divisor of the X, Y and Z coordinates of light source 2 (W=0 means infinitely " "far source)" }, { F|O, "Light3" , opt_general_light3 , 0., "Enable light source 3" }, - { F|O, "Light3X" , opt_general_light30 , 0.5 , + { F|O, "Light3X" , opt_general_light30 , 0.5 , "X position of light source 3" }, - { F|O, "Light3Y" , opt_general_light31 , 0.3 , + { F|O, "Light3Y" , opt_general_light31 , 0.3 , "Y position of light source 3" }, - { F|O, "Light3Z" , opt_general_light32 , 1.0 , + { F|O, "Light3Z" , opt_general_light32 , 1.0 , "Z position of light source 3" }, - { F|O, "Light3W" , opt_general_light33 , 0.0 , + { F|O, "Light3W" , opt_general_light33 , 0.0 , "Divisor of the X, Y and Z coordinates of light source 3 (W=0 means infinitely " "far source)" }, { F|O, "Light4" , opt_general_light4 , 0., "Enable light source 4" }, - { F|O, "Light4X" , opt_general_light40 , 0.5 , + { F|O, "Light4X" , opt_general_light40 , 0.5 , "X position of light source 4" }, - { F|O, "Light4Y" , opt_general_light41 , 0.3 , + { F|O, "Light4Y" , opt_general_light41 , 0.3 , "Y position of light source 4" }, - { F|O, "Light4Z" , opt_general_light42 , 1.0 , + { F|O, "Light4Z" , opt_general_light42 , 1.0 , "Z position of light source 4" }, - { F|O, "Light4W" , opt_general_light43 , 0.0 , + { F|O, "Light4W" , opt_general_light43 , 0.0 , "Divisor of the X, Y and Z coordinates of light source 4 (W=0 means infinitely " "far source)" }, { F|O, "Light5" , opt_general_light5 , 0., "Enable light source 5" }, - { F|O, "Light5X" , opt_general_light50 , 0.5 , + { F|O, "Light5X" , opt_general_light50 , 0.5 , "X position of light source 5" }, - { F|O, "Light5Y" , opt_general_light51 , 0.3 , + { F|O, "Light5Y" , opt_general_light51 , 0.3 , "Y position of light source 5" }, - { F|O, "Light5Z" , opt_general_light52 , 1.0 , + { F|O, "Light5Z" , opt_general_light52 , 1.0 , "Z position of light source 5" }, - { F|O, "Light5W" , opt_general_light53 , 0.0 , + { F|O, "Light5W" , opt_general_light53 , 0.0 , "Divisor of the X, Y and Z coordinates of light source 5 (W=0 means infinitely " "far source)" }, - { F|O, "LineWidth" , opt_general_line_width , 1.0 , + { F|O, "LineWidth" , opt_general_line_width , 1.0 , "Display width of lines (in pixels)" }, - { F|S, "ManipulatorPositionX" , opt_general_manip_position0 , 650. , + { F|S, "ManipulatorPositionX" , opt_general_manip_position0 , 650. , "Horizontal position (in pixels) of the upper left corner of the manipulator " - "window" }, - { F|S, "ManipulatorPositionY" , opt_general_manip_position1 , 150. , + "window" }, + { F|S, "ManipulatorPositionY" , opt_general_manip_position1 , 150. , "Vertical position (in pixels) of the upper left corner of the manipulator " - "window" }, - { F, "MaxX" , opt_general_xmax , 0. , - "Maximum model coordinate along the X-axis (read-only)" }, - { F, "MaxY" , opt_general_ymax , 0. , - "Maximum model coordinate along the Y-axis (read-only)" }, - { F, "MaxZ" , opt_general_zmax , 0. , - "Maximum model coordinate along the Z-axis (read-only)" }, - { F|S, "MenuPositionX" , opt_general_menu_position0 , 800. , - "Horizontal position (in pixels) of the upper left corner of the menu window" }, + "window" }, + { F, "MaxX" , opt_general_xmax , 0. , + "Maximum model coordinate along the X-axis (read-only)" }, + { F, "MaxY" , opt_general_ymax , 0. , + "Maximum model coordinate along the Y-axis (read-only)" }, + { F, "MaxZ" , opt_general_zmax , 0. , + "Maximum model coordinate along the Z-axis (read-only)" }, + { F|S, "MenuPositionX" , opt_general_menu_position0 , 800. , + "Horizontal position (in pixels) of the upper left corner of the menu window" }, { F|S, "MenuPositionY" , opt_general_menu_position1 , 50. , - "Vertical position (in pixels) of the upper left corner of the menu window" }, - { F|S, "MessageHeight" , opt_general_message_size , 300. , - "Height (in pixels) of the message console" }, - { F, "MinX" , opt_general_xmin , 0. , - "Minimum model coordinate along the X-axis (read-only)" }, - { F, "MinY" , opt_general_ymin , 0. , - "Minimum model coordinate along the Y-axis (read-only)" }, - { F, "MinZ" , opt_general_zmin , 0. , - "Minimum model coordinate along the Z-axis (read-only)" }, + "Vertical position (in pixels) of the upper left corner of the menu window" }, + { F|S, "MessageHeight" , opt_general_message_size , 300. , + "Height (in pixels) of the message console" }, + { F, "MinX" , opt_general_xmin , 0. , + "Minimum model coordinate along the X-axis (read-only)" }, + { F, "MinY" , opt_general_ymin , 0. , + "Minimum model coordinate along the Y-axis (read-only)" }, + { F, "MinZ" , opt_general_zmin , 0. , + "Minimum model coordinate along the Z-axis (read-only)" }, { F|O, "MouseHoverMeshes" , opt_general_mouse_hover_meshes , 0. , "Enable mouse hover on meshes" }, { F|O, "MouseSelection" , opt_general_mouse_selection , 1. , @@ -489,75 +500,75 @@ StringXNumber GeneralOptions_Number[] = { { F|S, "NonModalWindows" , opt_general_non_modal_windows , 1. , "Force all control windows to be on top of the graphic window " "(\"non-modal\")" }, - { F|O, "NoPopup" , opt_general_nopopup , 0. , + { F|O, "NoPopup" , opt_general_nopopup , 0. , "Disable interactive dialog windows in scripts (and use default values " "instead)" }, - { F|S, "OptionsPositionX" , opt_general_option_position0 , 650. , + { F|S, "OptionsPositionX" , opt_general_option_position0 , 650. , "Horizontal position (in pixels) of the upper left corner of the option " - "window" }, - { F|S, "OptionsPositionY" , opt_general_option_position1 , 150. , - "Vertical position (in pixels) of the upper left corner of the option window" }, + "window" }, + { F|S, "OptionsPositionY" , opt_general_option_position1 , 150. , + "Vertical position (in pixels) of the upper left corner of the option window" }, { F|O, "Orthographic" , opt_general_orthographic , 1. , "Orthographic projection mode (0=perspective projection)" }, - { F|S, "PluginPositionX" , opt_general_plugin_position0 , 650. , + { F|S, "PluginPositionX" , opt_general_plugin_position0 , 650. , "Horizontal position (in pixels) of the upper left corner of the plugin " - "window" }, - { F|S, "PluginPositionY" , opt_general_plugin_position1 , 550. , - "Vertical position (in pixels) of the upper left corner of the plugin window" }, - { F|S, "PluginHeight" , opt_general_plugin_size1 , 300. , - "Height (in pixels) of the plugin window" }, - { F|S, "PluginWidth" , opt_general_plugin_size0 , 300. , - "Width (in pixels) of the plugin window" }, - { F|O, "PointSize" , opt_general_point_size , 3. , + "window" }, + { F|S, "PluginPositionY" , opt_general_plugin_position1 , 550. , + "Vertical position (in pixels) of the upper left corner of the plugin window" }, + { F|S, "PluginHeight" , opt_general_plugin_size1 , 300. , + "Height (in pixels) of the plugin window" }, + { F|S, "PluginWidth" , opt_general_plugin_size0 , 300. , + "Width (in pixels) of the plugin window" }, + { F|O, "PointSize" , opt_general_point_size , 3. , "Display size of points (in pixels)" }, - { F|O, "PolygonOffsetAlwaysOn" , opt_general_polygon_offset_always , 0. , + { F|O, "PolygonOffsetAlwaysOn" , opt_general_polygon_offset_always , 0. , "Always apply polygon offset, instead of trying to detect when it is required" }, - { F|O, "PolygonOffsetFactor" , opt_general_polygon_offset_factor , + { F|O, "PolygonOffsetFactor" , opt_general_polygon_offset_factor , #if defined(__APPLE__) 0.5 , #else 1.0 , #endif "Polygon offset factor (offset = factor * DZ + r * units)" }, - { F|O, "PolygonOffsetUnits" , opt_general_polygon_offset_units , 1. , + { F|O, "PolygonOffsetUnits" , opt_general_polygon_offset_units , 1. , "Polygon offset units (offset = factor * DZ + r * units)" }, { F|O, "QuadricSubdivisions" , opt_general_quadric_subdivisions, 6. , "Number of subdivisions used to draw points or lines as spheres or cylinders" }, - { F, "RotationX" , opt_general_rotation0 , 0.0 , - "First Euler angle (used if Trackball=0)" }, - { F, "RotationY" , opt_general_rotation1 , 0.0 , - "Second Euler angle (used if Trackball=0)" }, - { F, "RotationZ" , opt_general_rotation2 , 0.0 , - "Third Euler angle (used if Trackball=0)" }, + { F, "RotationX" , opt_general_rotation0 , 0.0 , + "First Euler angle (used if Trackball=0)" }, + { F, "RotationY" , opt_general_rotation1 , 0.0 , + "Second Euler angle (used if Trackball=0)" }, + { F, "RotationZ" , opt_general_rotation2 , 0.0 , + "Third Euler angle (used if Trackball=0)" }, { F|O, "RotationCenterGravity" , opt_general_rotation_center_cg , 1. , "Rotate around the (pseudo) center of mass instead of (RotationCenterX, " "RotationCenterY, RotationCenterZ)" }, - { F, "RotationCenterX" , opt_general_rotation_center0 , 0.0 , - "X coordinate of the center of rotation" }, - { F, "RotationCenterY" , opt_general_rotation_center1 , 0.0 , - "Y coordinate of the center of rotation" }, - { F, "RotationCenterZ" , opt_general_rotation_center2 , 0.0 , - "Z coordinate of the center of rotation" }, - - { F|S, "SaveOptions" , opt_general_options_save, 0. , + { F, "RotationCenterX" , opt_general_rotation_center0 , 0.0 , + "X coordinate of the center of rotation" }, + { F, "RotationCenterY" , opt_general_rotation_center1 , 0.0 , + "Y coordinate of the center of rotation" }, + { F, "RotationCenterZ" , opt_general_rotation_center2 , 0.0 , + "Z coordinate of the center of rotation" }, + + { F|S, "SaveOptions" , opt_general_options_save, 0. , "Automatically save current options in General.OptionsFileName (1) or per model (2)" - "each time you quit Gmsh?" }, - { F|S, "SaveSession" , opt_general_session_save, 1. , + "each time you quit Gmsh?" }, + { F|S, "SaveSession" , opt_general_session_save, 1. , "Automatically save session specific information in General.SessionFileName " - "each time you quit Gmsh?" }, - { F, "ScaleX" , opt_general_scale0 , 1.0 , + "each time you quit Gmsh?" }, + { F, "ScaleX" , opt_general_scale0 , 1.0 , "X-axis scale factor" }, - { F, "ScaleY" , opt_general_scale1 , 1.0 , + { F, "ScaleY" , opt_general_scale1 , 1.0 , "Y-axis scale factor" }, - { F, "ScaleZ" , opt_general_scale2 , 1.0 , + { F, "ScaleZ" , opt_general_scale2 , 1.0 , "Z-axis scale factor" }, - { F|O, "Shininess" , opt_general_shine , 0.4 , + { F|O, "Shininess" , opt_general_shine , 0.4 , "Material shininess" }, - { F|O, "ShininessExponent" , opt_general_shine_exponent , 40. , + { F|O, "ShininessExponent" , opt_general_shine_exponent , 40. , "Material shininess exponent (between 0 and 128)" }, { F|O, "SmallAxes" , opt_general_small_axes , 1. , "Display the small axes" }, @@ -569,21 +580,21 @@ StringXNumber GeneralOptions_Number[] = { " centered)" }, { F|O, "SmallAxesSize" , opt_general_small_axes_size , 30. , "Size (in pixels) of small axes" }, - { F|S, "SolverPositionX" , opt_general_solver_position0 , 650. , + { F|S, "SolverPositionX" , opt_general_solver_position0 , 650. , "Horizontal position (in pixels) of the upper left corner of the solver " - "windows" }, + "windows" }, { F|S, "SolverPositionY" , opt_general_solver_position1 , 150. , - "Vertical position (in pixels) of the upper left corner of the solver windows" }, - { F|S, "StatisticsPositionX" , opt_general_statistics_position0 , 650. , + "Vertical position (in pixels) of the upper left corner of the solver windows" }, + { F|S, "StatisticsPositionX" , opt_general_statistics_position0 , 650. , "Horizontal position (in pixels) of the upper left corner of the statistic " - "window" }, - { F|S, "StatisticsPositionY" , opt_general_statistics_position1 , 150. , + "window" }, + { F|S, "StatisticsPositionY" , opt_general_statistics_position1 , 150. , "Vertical position (in pixels) of the upper left corner of the statistic" - " window" }, + " window" }, { F|O, "Stereo" , opt_general_stereo_mode , 0. , "Use stereo rendering" }, - { F|S, "SystemMenuBar" , opt_general_system_menu_bar , 1. , - "Use the system menu bar on Mac OS X?" }, + { F|S, "SystemMenuBar" , opt_general_system_menu_bar , 1. , + "Use the system menu bar on Mac OS X?" }, { F|O, "Terminal" , opt_general_terminal , 0. , "Should information be printed on the terminal (if available)?" }, @@ -593,31 +604,31 @@ StringXNumber GeneralOptions_Number[] = { "Use trackball rotation mode" }, { F|O, "TrackballHyperbolicSheet" , opt_general_trackball_hyperbolic_sheet , 1. , "Use hyperbolic sheet away from trackball center for z-rotations" }, - { F, "TrackballQuaternion0" , opt_general_quaternion0 , 0.0 , - "First trackball quaternion component (used if General.Trackball=1)" }, - { F, "TrackballQuaternion1" , opt_general_quaternion1 , 0.0 , - "Second trackball quaternion component (used if General.Trackball=1)" }, - { F, "TrackballQuaternion2" , opt_general_quaternion2 , 0.0 , - "Third trackball quaternion component (used if General.Trackball=1)" }, - { F, "TrackballQuaternion3" , opt_general_quaternion3 , 1.0 , - "Fourth trackball quaternion component (used if General.Trackball=1)" }, - { F, "TranslationX" , opt_general_translation0 , 0.0 , + { F, "TrackballQuaternion0" , opt_general_quaternion0 , 0.0 , + "First trackball quaternion component (used if General.Trackball=1)" }, + { F, "TrackballQuaternion1" , opt_general_quaternion1 , 0.0 , + "Second trackball quaternion component (used if General.Trackball=1)" }, + { F, "TrackballQuaternion2" , opt_general_quaternion2 , 0.0 , + "Third trackball quaternion component (used if General.Trackball=1)" }, + { F, "TrackballQuaternion3" , opt_general_quaternion3 , 1.0 , + "Fourth trackball quaternion component (used if General.Trackball=1)" }, + { F, "TranslationX" , opt_general_translation0 , 0.0 , "X-axis translation (in model units)" }, - { F, "TranslationY" , opt_general_translation1 , 0.0 , + { F, "TranslationY" , opt_general_translation1 , 0.0 , "Y-axis translation (in model units)" }, - { F, "TranslationZ" , opt_general_translation2 , 0.0 , + { F, "TranslationZ" , opt_general_translation2 , 0.0 , "Z-axis translation (in model units)" }, { F|O, "VectorType" , opt_general_vector_type , 4 , "Default vector display type (for normals, etc.)" }, { F|O, "Verbosity" , opt_general_verbosity , 4. , "Level of information printed during processing (0=no information)" }, - { F|S, "VisibilityPositionX" , opt_general_visibility_position0 , 650. , + { F|S, "VisibilityPositionX" , opt_general_visibility_position0 , 650. , "Horizontal position (in pixels) of the upper left corner of the visibility " - "window" }, - { F|S, "VisibilityPositionY" , opt_general_visibility_position1 , 150. , + "window" }, + { F|S, "VisibilityPositionY" , opt_general_visibility_position1 , 150. , "Vertical position (in pixels) of the upper left corner of the visibility " - "window" }, + "window" }, { F|O, "ZoomFactor" , opt_general_zoom_factor , 4.0 , "Middle mouse button zoom acceleration factor" }, @@ -626,8 +637,8 @@ StringXNumber GeneralOptions_Number[] = { } ; StringXNumber GeometryOptions_Number[] = { - { F|O, "AutoCoherence" , opt_geometry_auto_coherence , 1. , - "Should all duplicate entities be automatically removed?" }, + { F|O, "AutoCoherence" , opt_geometry_auto_coherence , 1. , + "Should all duplicate entities be automatically removed?" }, { F, "Clip" , opt_geometry_clip , 0., "Enable clipping planes? (Plane[i]=2^i, i=0,...,5)" }, @@ -642,67 +653,67 @@ StringXNumber GeometryOptions_Number[] = { { F|O, "ExtrudeSplinePoints" , opt_geometry_extrude_spline_points, 5. , "Number of control points for splines created during extrusion" }, - { F|O, "HighlightOrphans" , opt_geometry_highlight_orphans, 0. , - "Highlight orphan entities (lines connected to a single surface, etc.)?" }, + { F|O, "HighlightOrphans" , opt_geometry_highlight_orphans, 0. , + "Highlight orphan entities (lines connected to a single surface, etc.)?" }, - { F|O, "Light" , opt_geometry_light , 1. , + { F|O, "Light" , opt_geometry_light , 1. , "Enable lighting for the geometry" }, - { F|O, "LightTwoSide" , opt_geometry_light_two_side , 1. , + { F|O, "LightTwoSide" , opt_geometry_light_two_side , 1. , "Light both sides of surfaces (leads to slower rendering)" }, - { F|O, "Lines" , opt_geometry_lines , 1. , + { F|O, "Lines" , opt_geometry_lines , 1. , "Display geometry curves?" }, - { F|O, "LineNumbers" , opt_geometry_lines_num , 0. , + { F|O, "LineNumbers" , opt_geometry_lines_num , 0. , "Display curve numbers?" }, - { F|O, "LineSelectWidth" , opt_geometry_line_sel_width , 2. , + { F|O, "LineSelectWidth" , opt_geometry_line_sel_width , 2. , "Display width of selected lines (in pixels)" }, - { F|O, "LineType" , opt_geometry_line_type , 0. , + { F|O, "LineType" , opt_geometry_line_type , 0. , "Display lines as solid color segments (0), 3D cylinders (1) or tapered " "cylinders (2)" }, - { F|O, "LineWidth" , opt_geometry_line_width , 2. , + { F|O, "LineWidth" , opt_geometry_line_width , 2. , "Display width of lines (in pixels)" }, { F|O, "MatchGeomAndMesh" , opt_geometry_match_geom_and_mesh, 0 , "Matches geometries and meshes." }, - { F|O, "Normals" , opt_geometry_normals , 0. , - "Display size of normal vectors (in pixels)" }, + { F|O, "Normals" , opt_geometry_normals , 0. , + "Display size of normal vectors (in pixels)" }, { F|O, "NumSubEdges" , opt_geometry_num_sub_edges , 20. , - "Number of edge subdivisions between control points when displaying curves" }, + "Number of edge subdivisions between control points when displaying curves" }, - { F|O, "OCCFixDegenerated" , opt_geometry_occ_fix_degenerated , 0. , + { F|O, "OCCFixDegenerated" , opt_geometry_occ_fix_degenerated , 0. , "Fix degenerated edges/faces in STEP, IGES and BRep models" }, - { F|O, "OCCFixSmallEdges" , opt_geometry_occ_fix_small_edges , 0. , + { F|O, "OCCFixSmallEdges" , opt_geometry_occ_fix_small_edges , 0. , "Fix small edges in STEP, IGES and BRep models" }, - { F|O, "OCCFixSmallFaces" , opt_geometry_occ_fix_small_faces , 0. , + { F|O, "OCCFixSmallFaces" , opt_geometry_occ_fix_small_faces , 0. , "Fix small faces in STEP, IGES and BRep models" }, - { F|O, "OCCSewFaces" , opt_geometry_occ_sew_faces , 0. , + { F|O, "OCCSewFaces" , opt_geometry_occ_sew_faces , 0. , "Sew faces in STEP, IGES and BRep models" }, - { F|O, "OCCConnectFaces" , opt_geometry_occ_connect_faces , 0. , + { F|O, "OCCConnectFaces" , opt_geometry_occ_connect_faces , 0. , "Cut and connect faces in STEP, IGES and BRep models" }, - { F, "OffsetX" , opt_geometry_offset0 , 0. , + { F, "OffsetX" , opt_geometry_offset0 , 0. , "Model display offset along X-axis (in model coordinates)" }, - { F, "OffsetY" , opt_geometry_offset1 , 0. , + { F, "OffsetY" , opt_geometry_offset1 , 0. , "Model display offset along Y-axis (in model coordinates)" }, - { F, "OffsetZ" , opt_geometry_offset2 , 0. , + { F, "OffsetZ" , opt_geometry_offset2 , 0. , "Model display offset along Z-axis (in model coordinates)" }, - { F|O, "OldCircle" , opt_geometry_old_circle , 0. , + { F|O, "OldCircle" , opt_geometry_old_circle , 0. , "Use old circle description (compatibility option for old Gmsh geometries)" }, - { F|O, "OldNewReg" , opt_geometry_old_newreg , 1. , + { F|O, "OldNewReg" , opt_geometry_old_newreg , 1. , "Use old newreg definition for geometrical transformations (compatibility " "option for old Gmsh geometries)" }, { F|O, "Points" , opt_geometry_points , 1. , "Display geometry points?" }, - { F|O, "PointNumbers" , opt_geometry_points_num , 0. , + { F|O, "PointNumbers" , opt_geometry_points_num , 0. , "Display points numbers?" }, - { F|O, "PointSelectSize" , opt_geometry_point_sel_size , 5. , + { F|O, "PointSelectSize" , opt_geometry_point_sel_size , 5. , "Display size of selected points (in pixels)" }, - { F|O, "PointSize" , opt_geometry_point_size , 4. , + { F|O, "PointSize" , opt_geometry_point_size , 4. , "Display size of points (in pixels)" }, - { F|O, "PointType" , opt_geometry_point_type , 0. , + { F|O, "PointType" , opt_geometry_point_type , 0. , "Display points as solid color dots (0) or 3D spheres (1)" }, - { F|O, "ScalingFactor" , opt_geometry_scaling_factor , 1.0 , + { F|O, "ScalingFactor" , opt_geometry_scaling_factor , 1.0 , "Global geometry scaling factor" }, { F|O, "SnapX" , opt_geometry_snap0 , 0.1 , "Snapping grid spacing along the X-axis" }, @@ -710,11 +721,11 @@ StringXNumber GeometryOptions_Number[] = { "Snapping grid spacing along the Y-axis" }, { F|O, "SnapZ" , opt_geometry_snap2 , 0.1 , "Snapping grid spacing along the Z-axis" }, - { F|O, "Surfaces" , opt_geometry_surfaces , 0. , + { F|O, "Surfaces" , opt_geometry_surfaces , 0. , "Display geometry surfaces?" }, - { F|O, "SurfaceNumbers" , opt_geometry_surfaces_num , 0. , + { F|O, "SurfaceNumbers" , opt_geometry_surfaces_num , 0. , "Display surface numbers?" }, - { F|O, "SurfaceType" , opt_geometry_surface_type , 2. , + { F|O, "SurfaceType" , opt_geometry_surface_type , 2. , "Surface display type (0=cross, 1=wireframe, 2=solid)" }, { F|O, "Tangents" , opt_geometry_tangents , 0. , @@ -742,9 +753,9 @@ StringXNumber GeometryOptions_Number[] = { { F, "TransformZZ" , opt_geometry_transform22 , 1. , "Element (3,3) of the 3x3 model display transformation matrix" }, - { F|O, "Volumes" , opt_geometry_volumes , 0. , + { F|O, "Volumes" , opt_geometry_volumes , 0. , "Display geometry volumes? (not implemented yet)" }, - { F|O, "VolumeNumbers" , opt_geometry_volumes_num , 0. , + { F|O, "VolumeNumbers" , opt_geometry_volumes_num , 0. , "Display volume numbers? (not implemented yet)" }, { 0, 0 , 0 , 0. , 0 } @@ -752,25 +763,25 @@ StringXNumber GeometryOptions_Number[] = { StringXNumber MeshOptions_Number[] = { { F|O, "Algorithm" , opt_mesh_algo2d , ALGO_2D_AUTO , - "2D mesh algorithm (1=MeshAdapt, 2=Automatic, 5=Delaunay, 6=Frontal, 7=bamg, 8=delquad)" }, - { F|O, "Algorithm3D" , opt_mesh_algo3d , + "2D mesh algorithm (1=MeshAdapt, 2=Automatic, 5=Delaunay, 6=Frontal, 7=bamg, 8=delquad)" }, + { F|O, "Algorithm3D" , opt_mesh_algo3d , #if defined(HAVE_TETGEN) ALGO_3D_DELAUNAY , #else ALGO_3D_FRONTAL , #endif - "3D mesh algorithm (1=Delaunay, 4=Frontal, 5=Frontal Delaunay, 6=Frontal Hex, 7=MMG3D)" }, + "3D mesh algorithm (1=Delaunay, 4=Frontal, 5=Frontal Delaunay, 6=Frontal Hex, 7=MMG3D)" }, { F|O, "AngleSmoothNormals" , opt_mesh_angle_smooth_normals , 30.0 , - "Threshold angle below which normals are not smoothed" }, + "Threshold angle below which normals are not smoothed" }, { F|O, "AnisoMax" , opt_mesh_aniso_max, 1.e33, "Maximum anisotropy of the mesh" }, { F|O, "AllowSwapAngle" , opt_mesh_allow_swap_edge_angle , 10.0 , "Threshold angle (in degrees) between faces normals under which we allow " - "an edge swap" }, + "an edge swap" }, - { F|O, "BdfFieldFormat" , opt_mesh_bdf_field_format , 1. , + { F|O, "BdfFieldFormat" , opt_mesh_bdf_field_format , 1. , "Field format for Nastran BDF files (0=free, 1=small, 2=large)" }, - { F|O, "Binary" , opt_mesh_binary , 0. , + { F|O, "Binary" , opt_mesh_binary , 0. , "Write mesh files in binary format (if possible)" }, { F|O, "ChacoArchitecture" , opt_mesh_partition_chaco_architecture, 1. , @@ -802,18 +813,18 @@ StringXNumber MeshOptions_Number[] = { { F|O, "ChacoVMax" , opt_mesh_partition_chaco_vmax, 250. , "(Adv. Chaco): Maximum vertices in a coarse graph (for multilevel-KL " "algorithm and Multilevel RQI/Symmlq eigensolver)" }, - { F|O, "ChacoParamINTERNAL_VERTICES" , + { F|O, "ChacoParamINTERNAL_VERTICES" , opt_mesh_partition_chaco_internal_vertices, 0. , "(Adv. Chaco): Parameter INTERNAL_VERTICES" }, { F|O, "ChacoParamREFINE_MAP" , opt_mesh_partition_chaco_refine_map, 1. , "(Adv. Chaco): Parameter REFINE_MAP" }, - { F|O, "ChacoParamREFINE_PARTITION" , + { F|O, "ChacoParamREFINE_PARTITION" , opt_mesh_partition_chaco_refine_partition, 0. , "(Adv. Chaco): Parameter REFINE_PARTITION" }, - { F|O, "ChacoParamTERMINAL_PROPOGATION" , + { F|O, "ChacoParamTERMINAL_PROPOGATION" , opt_mesh_partition_chaco_terminal_propogation, 0. , "(Adv. Chaco): Parameter TERMINAL_PROPOGATION" }, - { F|O, "CharacteristicLengthExtendFromBoundary" , + { F|O, "CharacteristicLengthExtendFromBoundary" , opt_mesh_lc_extend_from_boundary, 1. , "Extend computation of mesh element sizes from the boundaries into the surfaces/volumes" }, { F|O, "CharacteristicLengthFactor" , opt_mesh_lc_factor , 1.0 , @@ -831,7 +842,7 @@ StringXNumber MeshOptions_Number[] = { { F|O, "ColorCarousel" , opt_mesh_color_carousel , 1. , "Mesh coloring (0=by element type, 1=by elementary entity, 2=by physical " "entity, 3=by partition)" }, - { F, "CpuTime" , opt_mesh_cpu_time , 0. , + { F, "CpuTime" , opt_mesh_cpu_time , 0. , "CPU time (in seconds) for the generation of the current mesh (read-only)" }, { F|O, "DrawSkinOnly" , opt_mesh_draw_skin_only , 0. , @@ -845,34 +856,34 @@ StringXNumber MeshOptions_Number[] = { { F|O, "Explode" , opt_mesh_explode , 1.0 , "Element shrinking factor (between 0 and 1)" }, - { F|O, "Format" , opt_mesh_file_format , FORMAT_AUTO , + { F|O, "Format" , opt_mesh_file_format , FORMAT_AUTO , "Mesh output format (1=msh, 2=unv, 10=automatic, 19=vrml, 27=stl, 30=mesh, 31=bdf, " "32=cgns, 33=med, 40=ply2)" }, - { F|O, "Hexahedra" , opt_mesh_hexahedra , 1. , + { F|O, "Hexahedra" , opt_mesh_hexahedra , 1. , "Display mesh hexahedra?" }, - { F|O, "HighOrderNoMetric" , opt_mesh_hom_no_metric , 0. , + { F|O, "HighOrderNoMetric" , opt_mesh_hom_no_metric , 0. , "Don't use metric computation to create high-order meshes." }, - { F|O, "LabelSampling" , opt_mesh_label_sampling , 1. , + { F|O, "LabelSampling" , opt_mesh_label_sampling , 1. , "Label sampling rate (display one label every `LabelSampling' elements)" }, - { F|O, "LabelType" , opt_mesh_label_type , 0. , + { F|O, "LabelType" , opt_mesh_label_type , 0. , "Type of element label (0=element number, 1=elementary entity number, " "2=physical entity number, 3=partition number, 4=coordinates)" }, { F|O, "LcIntegrationPrecision" , opt_mesh_lc_integration_precision, 1.e-9 , "Accuracy of evaluation of the LC field for 1D mesh generation" }, - { F|O, "Light" , opt_mesh_light , 1. , + { F|O, "Light" , opt_mesh_light , 1. , "Enable lighting for the mesh" }, - { F|O, "LightLines" , opt_mesh_light_lines , 1. , + { F|O, "LightLines" , opt_mesh_light_lines , 1. , "Enable lighting for mesh lines (element edges)" }, - { F|O, "LightTwoSide" , opt_mesh_light_two_side , 1. , + { F|O, "LightTwoSide" , opt_mesh_light_two_side , 1. , "Light both sides of surfaces (leads to slower rendering)" }, - { F|O, "Lines" , opt_mesh_lines , 0. , + { F|O, "Lines" , opt_mesh_lines , 0. , "Display mesh lines (1D elements)?" }, - { F|O, "LineNumbers" , opt_mesh_lines_num , 0. , + { F|O, "LineNumbers" , opt_mesh_lines_num , 0. , "Display mesh line numbers?" }, - { F|O, "LineWidth" , opt_mesh_line_width , 1.0 , + { F|O, "LineWidth" , opt_mesh_line_width , 1.0 , "Display width of mesh lines (in pixels)" }, { F|O, "MeshOnlyVisible" , opt_mesh_mesh_only_visible, 0. , @@ -889,81 +900,81 @@ StringXNumber MeshOptions_Number[] = { "Minimum number of points used to mesh a circle" }, { F|O, "MinimumCurvePoints" , opt_mesh_min_curv_points, 3. , "Minimum number of points used to mesh a (non-straight) curve" }, - { F|O, "MshFileVersion" , opt_mesh_msh_file_version , 2.2 , + { F|O, "MshFileVersion" , opt_mesh_msh_file_version , 2.2 , "Version of the MSH file format to use" }, - { F|O, "MshFilePartitioned" , opt_mesh_msh_file_partitioned , 0. , + { F|O, "MshFilePartitioned" , opt_mesh_msh_file_partitioned , 0. , "Split MSH file by mesh partition" }, - { F|O, "MultiplePassesMeshes" , opt_mesh_multiple_passes , 0. , + { F|O, "MultiplePassesMeshes" , opt_mesh_multiple_passes , 0. , "Do a first simple mesh and use it for complex background meshes (curvatures...)" }, - - { F|O, "PartitionHexWeight" , opt_mesh_partition_hex_weight , 1 , + + { F|O, "PartitionHexWeight" , opt_mesh_partition_hex_weight , 1 , "Weight of hexahedral element for METIS load balancing" }, - { F|O, "PartitionPrismWeight" , opt_mesh_partition_pri_weight , 1 , + { F|O, "PartitionPrismWeight" , opt_mesh_partition_pri_weight , 1 , "Weight of prismatic element (wedge) for METIS load balancing" }, - { F|O, "PartitionPyramidWeight" , opt_mesh_partition_pyr_weight , 1 , + { F|O, "PartitionPyramidWeight" , opt_mesh_partition_pyr_weight , 1 , "Weight of pyramidal element for METIS load balancing" }, - { F|O, "PartitionQuadWeight" , opt_mesh_partition_qua_weight , 1 , + { F|O, "PartitionQuadWeight" , opt_mesh_partition_qua_weight , 1 , "Weight of quadrangle for METIS load balancing" }, - { F|O, "PartitionTetWeight" , opt_mesh_partition_tet_weight , 1 , + { F|O, "PartitionTetWeight" , opt_mesh_partition_tet_weight , 1 , "Weight of tetrahedral element for METIS load balancing" }, - { F|O, "PartitionTriWeight" , opt_mesh_partition_tri_weight , 1 , + { F|O, "PartitionTriWeight" , opt_mesh_partition_tri_weight , 1 , "Weight of triangle for METIS load balancing" ,}, - { F, "NbHexahedra" , opt_mesh_nb_hexahedra , 0. , + { F, "NbHexahedra" , opt_mesh_nb_hexahedra , 0. , "Number of hexahedra in the current mesh (read-only)" }, - { F, "NbNodes" , opt_mesh_nb_nodes , 0. , + { F, "NbNodes" , opt_mesh_nb_nodes , 0. , "Number of nodes in the current mesh (read-only)" }, { F|O, "NbPartitions" , opt_mesh_partition_num, 1. , "Number of partitions" }, - { F, "NbPrisms" , opt_mesh_nb_prisms , 0. , + { F, "NbPrisms" , opt_mesh_nb_prisms , 0. , "Number of prisms in the current mesh (read-only)" }, - { F, "NbPyramids" , opt_mesh_nb_pyramids , 0. , + { F, "NbPyramids" , opt_mesh_nb_pyramids , 0. , "Number of pyramids in the current mesh (read-only)" }, - { F, "NbQuadrangles" , opt_mesh_nb_quadrangles , 0. , + { F, "NbQuadrangles" , opt_mesh_nb_quadrangles , 0. , "Number of quadrangles in the current mesh (read-only)" }, - { F, "NbTetrahedra" , opt_mesh_nb_tetrahedra , 0. , + { F, "NbTetrahedra" , opt_mesh_nb_tetrahedra , 0. , "Number of tetrahedra in the current mesh (read-only)" }, - { F, "NbTriangles" , opt_mesh_nb_triangles , 0. , + { F, "NbTriangles" , opt_mesh_nb_triangles , 0. , "Number of triangles in the current mesh (read-only)" }, { F|O, "Normals" , opt_mesh_normals , 0.0 , - "Display size of normal vectors (in pixels)" }, + "Display size of normal vectors (in pixels)" }, { F|O, "NumSubEdges" , opt_mesh_num_sub_edges , 2. , - "Number of edge subdivisions when displaying high order elements" }, + "Number of edge subdivisions when displaying high order elements" }, - { F|O, "Optimize" , opt_mesh_optimize , 0. , + { F|O, "Optimize" , opt_mesh_optimize , 0. , "Optimize the mesh to improve the quality of tetrahedral elements" }, - { F|O, "OptimizeNetgen" , opt_mesh_optimize_netgen , 0. , + { F|O, "OptimizeNetgen" , opt_mesh_optimize_netgen , 0. , "Optimize the mesh using Netgen to improve the quality of tetrahedral " "elements" }, { F|O, "Partitioner" , opt_mesh_partition_partitioner, 2. , "Partitioner software (1=Chacho, 2=METIS)" }, - { F|O, "Points" , opt_mesh_points , 0. , + { F|O, "Points" , opt_mesh_points , 0. , "Display mesh vertices (nodes)?" }, - { F|O, "PointNumbers" , opt_mesh_points_num , 0. , + { F|O, "PointNumbers" , opt_mesh_points_num , 0. , "Display mesh node numbers?" }, - { F|O, "PointSize" , opt_mesh_point_size , 4. , + { F|O, "PointSize" , opt_mesh_point_size , 4. , "Display size of mesh vertices (in pixels)" }, - { F|O, "PointType" , opt_mesh_point_type , 0. , + { F|O, "PointType" , opt_mesh_point_type , 0. , "Display mesh vertices as solid color dots (0) or 3D spheres (1)" }, - { F|O, "Prisms" , opt_mesh_prisms , 1. , + { F|O, "Prisms" , opt_mesh_prisms , 1. , "Display mesh prisms?" }, - { F|O, "Pyramids" , opt_mesh_pyramids , 1. , + { F|O, "Pyramids" , opt_mesh_pyramids , 1. , "Display mesh pyramids?" }, - { F|O, "Quadrangles" , opt_mesh_quadrangles , 1. , + { F|O, "Quadrangles" , opt_mesh_quadrangles , 1. , "Display mesh quadrangles?" }, - { F|O, "QualityInf" , opt_mesh_quality_inf , 0.0 , + { F|O, "QualityInf" , opt_mesh_quality_inf , 0.0 , "Only display elements whose quality measure is greater than QualityInf" }, - { F|O, "QualitySup" , opt_mesh_quality_sup , 0.0 , + { F|O, "QualitySup" , opt_mesh_quality_sup , 0.0 , "Only display elements whose quality measure is smaller than QualitySup" }, - { F|O, "QualityType" , opt_mesh_quality_type , 2. , + { F|O, "QualityType" , opt_mesh_quality_type , 2. , "Type of quality measure (0=gamma~vol/sum_face/max_edge, " "1=eta~vol^(2/3)/sum_edge^2, 2=rho~min_edge/max_edge)" }, - { F|O, "RadiusInf" , opt_mesh_radius_inf , 0.0 , + { F|O, "RadiusInf" , opt_mesh_radius_inf , 0.0 , "Only display elements whose longest edge is greater than RadiusInf" }, - { F|O, "RadiusSup" , opt_mesh_radius_sup , 0.0 , + { F|O, "RadiusSup" , opt_mesh_radius_sup , 0.0 , "Only display elements whose longest edge is smaller than RadiusSup" }, { F|O, "RandomFactor" , opt_mesh_rand_factor , 1.e-9 , "Random factor used in the 2D meshing algorithm (should be increased if " @@ -973,30 +984,30 @@ StringXNumber MeshOptions_Number[] = { #else { F|O, "RecombinationAlgorithm" , opt_mesh_algo_recombine , 0 , #endif - "Mesh recombination algorithm (0=standard, 1=blossom)" }, + "Mesh recombination algorithm (0=standard, 1=blossom)" }, { F|O, "RecombineAll" , opt_mesh_recombine_all , 0 , - "Apply recombination algorithm to all surfaces, ignoring per-surface spec" }, + "Apply recombination algorithm to all surfaces, ignoring per-surface spec" }, { F|O, "RemeshAlgorithm" , opt_mesh_remesh_algo , 0 , - "Remeshing algorithm (0=no split, 1=automatic, 2=automatic only with metis)" }, + "Remeshing algorithm (0=no split, 1=automatic, 2=automatic only with metis)" }, { F|O, "RemeshParametrization" , opt_mesh_remesh_param , 0 , - "Remsh Parametrization (0=harmonic, 1=conformal, 2=rbf harmonic)" }, + "Remsh Parametrization (0=harmonic, 1=conformal, 2=rbf harmonic)" }, { F|O, "RefineSteps" , opt_mesh_refine_steps , 10 , - "Number of refinement steps in the MeshAdapt-based 2D algorithms" }, + "Number of refinement steps in the MeshAdapt-based 2D algorithms" }, { F|O, "Remove4Triangles" , opt_mesh_remove_4_triangles , 0 , - "Try to remove nodes surrounded by 4 triangles in 2D triangular meshes" }, - { F|O, "ReverseAllNormals" , opt_mesh_reverse_all_normals , 0. , + "Try to remove nodes surrounded by 4 triangles in 2D triangular meshes" }, + { F|O, "ReverseAllNormals" , opt_mesh_reverse_all_normals , 0. , "Reverse all the mesh normals (for display)" }, - { F, "SaveAll" , opt_mesh_save_all , 0. , + { F, "SaveAll" , opt_mesh_save_all , 0. , "Ignore Physical definitions and save all elements" }, - { F|O, "SaveElementTagType" , opt_mesh_save_element_tag_type , 1. , + { F|O, "SaveElementTagType" , opt_mesh_save_element_tag_type , 1. , "Type of the element tag saved in mesh formats that don't support saving " "physical or partition ids (1=elementary, 2=physical, 3=partition)" }, - { F|O, "SaveParametric" , opt_mesh_save_parametric , 0. , + { F|O, "SaveParametric" , opt_mesh_save_parametric , 0. , "Save parametric coordinates of nodes" }, - { F|O, "SaveGroupsOfNodes" , opt_mesh_save_groups_of_nodes , 0. , + { F|O, "SaveGroupsOfNodes" , opt_mesh_save_groups_of_nodes , 0. , "Save groups of nodes for each physical line and surface (UNV mesh " "format only)" }, { F|O, "ScalingFactor" , opt_mesh_scaling_factor , 1.0 , @@ -1011,41 +1022,41 @@ StringXNumber MeshOptions_Number[] = { "Number of smoothing steps applied to the final mesh" }, { F|O, "SmoothInternalEdges" , opt_mesh_smooth_internal_edges , 0 , "Number of smoothing steps of internal edges for high order meshes" }, - { F|O, "SmoothNormals" , opt_mesh_smooth_normals , 0. , + { F|O, "SmoothNormals" , opt_mesh_smooth_normals , 0. , "Smooth the mesh normals?" }, { F|O, "SmoothRatio" , opt_mesh_smooth_ratio , 1.8 , "Ratio between mesh sizes at vertices of a same edeg (used in BAMG)" }, { F|O, "SubdivisionAlgorithm" , opt_mesh_algo_subdivide , 0 , - "Mesh subdivision algorithm (0=none, 1=all quadrangles, 2=all hexahedra)" }, - { F|O, "SurfaceEdges" , opt_mesh_surfaces_edges , 1. , + "Mesh subdivision algorithm (0=none, 1=all quadrangles, 2=all hexahedra)" }, + { F|O, "SurfaceEdges" , opt_mesh_surfaces_edges , 1. , "Display edges of surface mesh?" }, - { F|O, "SurfaceFaces" , opt_mesh_surfaces_faces , 0. , + { F|O, "SurfaceFaces" , opt_mesh_surfaces_faces , 0. , "Display faces of surface mesh?" }, - { F|O, "SurfaceNumbers" , opt_mesh_surfaces_num , 0. , + { F|O, "SurfaceNumbers" , opt_mesh_surfaces_num , 0. , "Display surface mesh element numbers?" }, { F|O, "SwitchElementTags", opt_mesh_switch_elem_tags, 0. , "Invert elementary and physical tags when reading the mesh"}, - { F|O, "Tangents" , opt_mesh_tangents , 0.0 , - "Display size of tangent vectors (in pixels)" }, - { F|O, "Tetrahedra" , opt_mesh_tetrahedra , 1. , + { F|O, "Tangents" , opt_mesh_tangents , 0.0 , + "Display size of tangent vectors (in pixels)" }, + { F|O, "Tetrahedra" , opt_mesh_tetrahedra , 1. , "Display mesh tetrahedra?" }, { F|O, "ToleranceEdgeLength" , opt_mesh_tolerance_edge_length, 0.0, "Skip a model edge in mesh generation if its length is less than user's " "defined tolerance" }, - { F|O, "Triangles" , opt_mesh_triangles , 1. , + { F|O, "Triangles" , opt_mesh_triangles , 1. , "Display mesh triangles?" }, - { F|O, "VolumeEdges" , opt_mesh_volumes_edges , 1. , + { F|O, "VolumeEdges" , opt_mesh_volumes_edges , 1. , "Display edges of volume mesh?" }, - { F|O, "VolumeFaces" , opt_mesh_volumes_faces , 0. , + { F|O, "VolumeFaces" , opt_mesh_volumes_faces , 0. , "Display faces of volume mesh?" }, - { F|O, "VolumeNumbers" , opt_mesh_volumes_num , 0. , + { F|O, "VolumeNumbers" , opt_mesh_volumes_num , 0. , "Display volume mesh element numbers?" }, { F|O, "Voronoi" , opt_mesh_voronoi , 0. , "Display the voronoi diagram" }, - { F|O, "ZoneDefinition" , opt_mesh_zone_definition , 0. , + { F|O, "ZoneDefinition" , opt_mesh_zone_definition , 0. , "Method for defining a zone (0=single zone, 1=by partition, 2=by physical)" }, { 0, 0 , 0 , 0. , 0 } @@ -1080,7 +1091,7 @@ StringXNumber PostProcessingOptions_Number[] = { "view, 2=parsed view, 3=STL triangulation, 4=raw text, 5=Gmsh mesh, 6=MED file, " "10=automatic)" }, - { F|O, "HorizontalScales" , opt_post_horizontal_scales , 1. , + { F|O, "HorizontalScales" , opt_post_horizontal_scales , 1. , "Display value scales horizontally" }, { F|O, "Link" , opt_post_link , 0. , @@ -1101,33 +1112,33 @@ StringXNumber PostProcessingOptions_Number[] = { StringXNumber ViewOptions_Number[] = { { F|O, "AdaptVisualizationGrid" , opt_view_adapt_visualization_grid , 0. , - "Use adaptive visualization grid (for high-order elements)?" }, + "Use adaptive visualization grid (for high-order elements)?" }, { F|O, "AngleSmoothNormals" , opt_view_angle_smooth_normals , 30.0 , "Threshold angle below which normals are not smoothed" }, { F|O, "ArrowSizeMax" , opt_view_arrow_size_max , 60. , "Maximum display size of arrows (in pixels)" }, { F|O, "ArrowSizeMin" , opt_view_arrow_size_min , 0. , "Minimum display size of arrows (in pixels)" }, - { F|O, "AutoPosition" , opt_view_auto_position , 1. , - "Position the scale or 2D plot automatically" }, + { F|O, "AutoPosition" , opt_view_auto_position , 1. , + "Position the scale or 2D plot automatically" }, { F|O, "Axes" , opt_view_axes , 0 , "Axes (0=none, 1=simple axes, 2=box, 3=full grid, 4=open grid, 5=ruler)" }, - { F|O, "AxesMikado" , opt_view_axes_mikado , 0. , - "Mikado axes style" }, - { F|O, "AxesAutoPosition" , opt_view_axes_auto_position , 1. , - "Position the axes automatically" }, - { F|O, "AxesMaxX" , opt_view_axes_xmax , 1. , - "Maximum X-axis coordinate" }, - { F|O, "AxesMaxY" , opt_view_axes_ymax , 1. , - "Maximum Y-axis coordinate" }, - { F|O, "AxesMaxZ" , opt_view_axes_zmax , 1. , - "Maximum Z-axis coordinate" }, - { F|O, "AxesMinX" , opt_view_axes_xmin , 0. , - "Minimum X-axis coordinate" }, - { F|O, "AxesMinY" , opt_view_axes_ymin , 0. , - "Minimum Y-axis coordinate" }, - { F|O, "AxesMinZ" , opt_view_axes_zmin , 0. , - "Minimum Z-axis coordinate" }, + { F|O, "AxesMikado" , opt_view_axes_mikado , 0. , + "Mikado axes style" }, + { F|O, "AxesAutoPosition" , opt_view_axes_auto_position , 1. , + "Position the axes automatically" }, + { F|O, "AxesMaxX" , opt_view_axes_xmax , 1. , + "Maximum X-axis coordinate" }, + { F|O, "AxesMaxY" , opt_view_axes_ymax , 1. , + "Maximum Y-axis coordinate" }, + { F|O, "AxesMaxZ" , opt_view_axes_zmax , 1. , + "Maximum Z-axis coordinate" }, + { F|O, "AxesMinX" , opt_view_axes_xmin , 0. , + "Minimum X-axis coordinate" }, + { F|O, "AxesMinY" , opt_view_axes_ymin , 0. , + "Minimum Y-axis coordinate" }, + { F|O, "AxesMinZ" , opt_view_axes_zmin , 0. , + "Minimum Z-axis coordinate" }, { F|O, "AxesTicsX" , opt_view_axes_tics0 , 5. , "Number of tics on the X-axis" }, { F|O, "AxesTicsY" , opt_view_axes_tics1 , 5. , @@ -1139,7 +1150,7 @@ StringXNumber ViewOptions_Number[] = { "Draw the `N minus b'-dimensional boundary of the element (N=element " "dimension, b=option value)" }, - { F|O, "CenterGlyphs" , opt_view_center_glyphs , 0, + { F|O, "CenterGlyphs" , opt_view_center_glyphs , 0, "Center glyphs (arrows, numbers, etc.)? (0=left, 1=centered, 2=right)" }, { F, "Clip" , opt_view_clip , 0., "Enable clipping planes? (Plane[i]=2^i, i=0,...,5)" }, @@ -1161,149 +1172,149 @@ StringXNumber ViewOptions_Number[] = { "Incremental colormap rotation" }, { F|O, "ColormapSwap" , opt_view_colormap_swap , 0. , "Swap the min/max values in the colormap?" }, - { F|O, "ComponentMap0" , opt_view_component_map0 , 0, + { F|O, "ComponentMap0" , opt_view_component_map0 , 0, "Forced component 0 (if View.ForceComponents > 0)" }, - { F|O, "ComponentMap1" , opt_view_component_map1 , 1, + { F|O, "ComponentMap1" , opt_view_component_map1 , 1, "Forced component 1 (if View.ForceComponents > 0)" }, - { F|O, "ComponentMap2" , opt_view_component_map2 , 2, + { F|O, "ComponentMap2" , opt_view_component_map2 , 2, "Forced component 2 (if View.ForceComponents > 0)" }, - { F|O, "ComponentMap3" , opt_view_component_map3 , 3, + { F|O, "ComponentMap3" , opt_view_component_map3 , 3, "Forced component 3 (if View.ForceComponents > 0)" }, - { F|O, "ComponentMap4" , opt_view_component_map4 , 4, + { F|O, "ComponentMap4" , opt_view_component_map4 , 4, "Forced component 4 (if View.ForceComponents > 0)" }, - { F|O, "ComponentMap5" , opt_view_component_map5 , 5, + { F|O, "ComponentMap5" , opt_view_component_map5 , 5, "Forced component 5 (if View.ForceComponents > 0)" }, - { F|O, "ComponentMap6" , opt_view_component_map6 , 6, + { F|O, "ComponentMap6" , opt_view_component_map6 , 6, "Forced component 6 (if View.ForceComponents > 0)" }, - { F|O, "ComponentMap7" , opt_view_component_map7 , 7, + { F|O, "ComponentMap7" , opt_view_component_map7 , 7, "Forced component 7 (if View.ForceComponents > 0)" }, - { F|O, "ComponentMap8" , opt_view_component_map8 , 8, + { F|O, "ComponentMap8" , opt_view_component_map8 , 8, "Forced component 8 (if View.ForceComponents > 0)" }, - { F, "CustomMax" , opt_view_custom_max , 0. , + { F, "CustomMax" , opt_view_custom_max , 0. , "User-defined maximum value to be displayed" }, - { F, "CustomMin" , opt_view_custom_min , 0. , + { F, "CustomMin" , opt_view_custom_min , 0. , "User-defined minimum value to be displayed" }, { F|O, "DisplacementFactor" , opt_view_displacement_factor , 1. , "Displacement amplification" }, - { F|O, "DrawHexahedra" , opt_view_draw_hexahedra , 1. , + { F|O, "DrawHexahedra" , opt_view_draw_hexahedra , 1. , "Display post-processing hexahedra?" }, - { F|O, "DrawLines" , opt_view_draw_lines , 1. , + { F|O, "DrawLines" , opt_view_draw_lines , 1. , "Display post-processing lines?" }, { F|O, "DrawPoints" , opt_view_draw_points , 1. , "Display post-processing points?" }, - { F|O, "DrawPrisms" , opt_view_draw_prisms , 1. , + { F|O, "DrawPrisms" , opt_view_draw_prisms , 1. , "Display post-processing prisms?" }, - { F|O, "DrawPyramids" , opt_view_draw_pyramids , 1. , + { F|O, "DrawPyramids" , opt_view_draw_pyramids , 1. , "Display post-processing pyramids?" }, - { F|O, "DrawQuadrangles" , opt_view_draw_quadrangles , 1. , + { F|O, "DrawQuadrangles" , opt_view_draw_quadrangles , 1. , "Display post-processing quadrangles?" }, - { F|O, "DrawScalars" , opt_view_draw_scalars , 1. , + { F|O, "DrawScalars" , opt_view_draw_scalars , 1. , "Display scalar values?" }, - { F|O, "DrawSkinOnly" , opt_view_draw_skin_only , 0. , + { F|O, "DrawSkinOnly" , opt_view_draw_skin_only , 0. , "Draw only the skin of 3D scalar views?" }, { F|O, "DrawStrings" , opt_view_draw_strings , 1. , "Display post-processing annotation strings?" }, - { F|O, "DrawTensors" , opt_view_draw_tensors , 1. , + { F|O, "DrawTensors" , opt_view_draw_tensors , 1. , "Display tensor values?" }, - { F|O, "DrawTetrahedra" , opt_view_draw_tetrahedra , 1. , + { F|O, "DrawTetrahedra" , opt_view_draw_tetrahedra , 1. , "Display post-processing tetrahedra?" }, - { F|O, "DrawTriangles" , opt_view_draw_triangles , 1. , + { F|O, "DrawTriangles" , opt_view_draw_triangles , 1. , "Display post-processing triangles?" }, - { F|O, "DrawVectors" , opt_view_draw_vectors , 1. , + { F|O, "DrawVectors" , opt_view_draw_vectors , 1. , "Display vector values?" }, - { F|O, "Explode" , opt_view_explode , 1. , + { F|O, "Explode" , opt_view_explode , 1. , "Element shrinking factor (between 0 and 1)" }, { F|O, "ExternalView" , opt_view_external_view , -1. , "Index of the view used to color vector fields (-1=self)" }, { F|O, "FakeTransparency" , opt_view_fake_transparency , 0. , "Use fake transparency (cheaper than the real thing, but incorrect)" }, - { F|O, "ForceNumComponents" , opt_view_force_num_components , 0. , + { F|O, "ForceNumComponents" , opt_view_force_num_components , 0. , "Force number of components to display (see View.ComponentMapN for mapping)" }, { F|O, "GeneralizedRaiseFactor" , opt_view_gen_raise_factor , 1. , "Generalized raise amplification factor" }, { F|O, "GeneralizedRaiseView" , opt_view_gen_raise_view , -1. , "Index of the view used for generalized raise (-1=self)" }, - { F|O, "GlyphLocation" , opt_view_glyph_location , 1, + { F|O, "GlyphLocation" , opt_view_glyph_location , 1, "Glyph (arrow, number, etc.) location (1=center of gravity, 2=node)" }, - { F|O, "Height" , opt_view_size1 , 200. , - "Height (in pixels) of the scale or 2D plot" }, + { F|O, "Height" , opt_view_size1 , 200. , + "Height (in pixels) of the scale or 2D plot" }, { F|O, "IntervalsType" , opt_view_intervals_type , 2 , "Type of interval display (1=iso, 2=continuous, 3=discrete, 4=numeric)" }, { F|O, "Light" , opt_view_light , 1. , "Enable lighting for the view" }, - { F|O, "LightLines" , opt_view_light_lines , 1. , + { F|O, "LightLines" , opt_view_light_lines , 1. , "Light element edges" }, - { F|O, "LightTwoSide" , opt_view_light_two_side , 1. , + { F|O, "LightTwoSide" , opt_view_light_two_side , 1. , "Light both sides of surfaces (leads to slower rendering)" }, - { F|O, "LineType" , opt_view_line_type , 0. , + { F|O, "LineType" , opt_view_line_type , 0. , "Display lines as solid color segments (0) or 3D cylinders (1)" }, - { F|O, "LineWidth" , opt_view_line_width , 1.0 , + { F|O, "LineWidth" , opt_view_line_width , 1.0 , "Display width of lines (in pixels)" }, - { F|O, "MaxRecursionLevel" , opt_view_max_recursion_level , 0. , + { F|O, "MaxRecursionLevel" , opt_view_max_recursion_level , 0. , "Maximum recursion level for adaptive views" }, - { F, "Max" , opt_view_max , 0. , + { F, "Max" , opt_view_max , 0. , "Maximum value in the view (read-only)" }, - { F, "MaxX" , opt_view_xmax , 0. , - "Maximum view coordinate along the X-axis (read-only)" }, - { F, "MaxY" , opt_view_ymax , 0. , - "Maximum view coordinate along the Y-axis (read-only)" }, - { F, "MaxZ" , opt_view_zmax , 0. , - "Maximum view coordinate along the Z-axis (read-only)" }, + { F, "MaxX" , opt_view_xmax , 0. , + "Maximum view coordinate along the X-axis (read-only)" }, + { F, "MaxY" , opt_view_ymax , 0. , + "Maximum view coordinate along the Y-axis (read-only)" }, + { F, "MaxZ" , opt_view_zmax , 0. , + "Maximum view coordinate along the Z-axis (read-only)" }, { F, "Min" , opt_view_min , 0. , "Minimum value in the view (read-only)" }, - { F, "MinX" , opt_view_xmin , 0. , - "Minimum view coordinate along the X-axis (read-only)" }, - { F, "MinY" , opt_view_ymin , 0. , - "Minimum view coordinate along the Y-axis (read-only)" }, - { F, "MinZ" , opt_view_zmin , 0. , - "Minimum view coordinate along the Z-axis (read-only)" }, + { F, "MinX" , opt_view_xmin , 0. , + "Minimum view coordinate along the X-axis (read-only)" }, + { F, "MinY" , opt_view_ymin , 0. , + "Minimum view coordinate along the Y-axis (read-only)" }, + { F, "MinZ" , opt_view_zmin , 0. , + "Minimum view coordinate along the Z-axis (read-only)" }, { F|O, "NbIso" , opt_view_nb_iso , 10. , "Number of intervals" }, { F, "NbTimeStep" , opt_view_nb_timestep , 1. , "Number of time steps in the view (do not change this!)" }, - { F, "NormalRaise" , opt_view_normal_raise , 0. , + { F, "NormalRaise" , opt_view_normal_raise , 0. , "Elevation of the view along the normal (in model coordinates)" }, { F|O, "Normals" , opt_view_normals , 0. , - "Display size of normal vectors (in pixels)" }, + "Display size of normal vectors (in pixels)" }, - { F, "OffsetX" , opt_view_offset0 , 0. , + { F, "OffsetX" , opt_view_offset0 , 0. , "Translation of the view along X-axis (in model coordinates)" }, - { F, "OffsetY" , opt_view_offset1 , 0. , + { F, "OffsetY" , opt_view_offset1 , 0. , "Translation of the view along Y-axis (in model coordinates)" }, - { F, "OffsetZ" , opt_view_offset2 , 0. , + { F, "OffsetZ" , opt_view_offset2 , 0. , "Translation of the view along Z-axis (in model coordinates)" }, - { F|O, "PointSize" , opt_view_point_size , 3. , + { F|O, "PointSize" , opt_view_point_size , 3. , "Display size of points (in pixels)" }, - { F|O, "PointType" , opt_view_point_type , 0. , + { F|O, "PointType" , opt_view_point_type , 0. , "Display points as solid color dots (0), 3D spheres (1), scaled dots " "(2) or scaled spheres (3)" }, - { F|O, "PositionX" , opt_view_position0 , 100. , + { F|O, "PositionX" , opt_view_position0 , 100. , "X position (in pixels) of the scale or 2D plot (< 0: measure from right " - "edge; >= 1e5: centered)" }, - { F|O, "PositionY" , opt_view_position1 , 50. , + "edge; >= 1e5: centered)" }, + { F|O, "PositionY" , opt_view_position1 , 50. , "Y position (in pixels) of the scale or 2D plot (< 0: measure from bottom " - "edge; >= 1e5: centered)" }, + "edge; >= 1e5: centered)" }, - { F, "RaiseX" , opt_view_raise0 , 0. , + { F, "RaiseX" , opt_view_raise0 , 0. , "Elevation of the view along X-axis (in model coordinates)" }, - { F, "RaiseY" , opt_view_raise1 , 0. , + { F, "RaiseY" , opt_view_raise1 , 0. , "Elevation of the view along Y-axis (in model coordinates)" }, - { F, "RaiseZ" , opt_view_raise2 , 0. , + { F, "RaiseZ" , opt_view_raise2 , 0. , "Elevation of the view along Z-axis (in model coordinates)" }, { F|O, "RangeType" , opt_view_range_type , 1 , "Value scale range type (1=default, 2=custom, 3=per time step)" }, - { F|O, "Sampling" , opt_view_sampling , 1. , + { F|O, "Sampling" , opt_view_sampling , 1. , "Element sampling rate (draw one out every `Sampling' elements)" }, { F|O, "SaturateValues" , opt_view_saturate_values , 0. , "Saturate the view values to custom min and max (1=true, 0=false)" }, @@ -1322,9 +1333,9 @@ StringXNumber ViewOptions_Number[] = { "Stipple curves in 2D plots?" }, { F|O, "Tangents" , opt_view_tangents , 0. , - "Display size of tangent vectors (in pixels)" }, + "Display size of tangent vectors (in pixels)" }, { F|O, "TargetError" , opt_view_target_error , 0.01 , - "Target representation error for adaptive views" }, + "Target representation error for adaptive views" }, { F|O, "TensorType" , opt_view_tensor_type , 1. , "Tensor Visualization Type" }, { F, "TimeStep" , opt_view_timestep , 0. , @@ -1359,8 +1370,8 @@ StringXNumber ViewOptions_Number[] = { { F, "Visible" , opt_view_visible , 1. , "Is the view visible?" }, - { F|O, "Width" , opt_view_size0 , 300. , - "Width (in pixels) of the scale or 2D plot" }, + { F|O, "Width" , opt_view_size0 , 300. , + "Width (in pixels) of the scale or 2D plot" }, { 0, 0 , 0 , 0. , 0 } } ; @@ -1391,8 +1402,8 @@ StringXNumber PrintOptions_Number[] = { "PostScript/PDF quality (0=bitmap, 1=vector (simple sort), 2=vector " "(accurate sort), 3=vector (unsorted)" }, - { F|O, "Format" , opt_print_file_format , FORMAT_AUTO , - "File format (10=automatic)" }, + { F|O, "Format" , opt_print_file_format , FORMAT_AUTO , + "File format (10=automatic)" }, { F|O, "GeoLabels" , opt_print_geo_labels , 1. , "Save labels in unrolled Gmsh geometries" }, @@ -1445,10 +1456,10 @@ StringXNumber PrintOptions_Number[] = { StringXColor GeneralOptions_Color[] = { { F|O, "Background" , opt_general_color_background , - {0, 0, 0, 255}, {255, 255, 255, 255}, {255, 255, 255, 255}, + {0, 0, 0, 255}, {255, 255, 255, 255}, {255, 255, 255, 255}, "Background color" }, { F|O, "BackgroundGradient" , opt_general_color_background_gradient , - {0, 0, 128, 255}, {128, 147, 255, 255}, {125, 125, 125, 255}, + {0, 0, 128, 255}, {128, 147, 255, 255}, {125, 125, 125, 255}, "Background gradient color" }, { F|O, "Foreground" , opt_general_color_foreground , {170, 170, 170, 255}, {85, 85, 85, 255}, {128, 128, 128, 255}, @@ -1475,8 +1486,8 @@ StringXColor GeneralOptions_Color[] = { } ; StringXColor GeometryOptions_Color[] = { - { F|O, "Points" , opt_geometry_color_points , - {178, 182, 129, 255}, {90, 90, 90, 255}, {0, 0, 0, 255}, + { F|O, "Points" , opt_geometry_color_points , + {178, 182, 129, 255}, {90, 90, 90, 255}, {0, 0, 0, 255}, "Normal geometry point color" }, { F|O, "Lines" , opt_geometry_color_lines , {0, 0, 255, 255}, {0, 0, 255, 255}, {0, 0, 0, 255}, @@ -1539,26 +1550,26 @@ StringXColor GeometryOptions_Color[] = { #define COL19 {184, 0, 255, 255} StringXColor MeshOptions_Color[] = { - { F|O, "Points" , opt_mesh_color_points , + { F|O, "Points" , opt_mesh_color_points , {0, 0, 255, 255}, {0, 0, 255, 255}, {0, 0, 0, 255}, "Mesh node color" }, - { F|O, "PointsSup" , opt_mesh_color_points_sup , + { F|O, "PointsSup" , opt_mesh_color_points_sup , {255, 0, 255, 255}, {255, 0, 255, 255}, {0, 0, 0, 255}, "Second order mesh node color" }, - { F|O, "Lines" , opt_mesh_color_lines , + { F|O, "Lines" , opt_mesh_color_lines , {0, 0, 0, 255}, {0, 0, 0, 255}, {0, 0, 0, 255}, "Mesh line color" }, - { F|O, "Triangles" , opt_mesh_color_triangles , - COLT, COLT, COLW, + { F|O, "Triangles" , opt_mesh_color_triangles , + COLT, COLT, COLW, "Mesh triangle color (if Mesh.ColorCarousel=0)" }, { F|O, "Quadrangles" , opt_mesh_color_quadrangles , - COLQ, COLQ, COLW, + COLQ, COLQ, COLW, "Mesh quadrangle color (if Mesh.ColorCarousel=0)" }, { F|O, "Tetrahedra" , opt_mesh_color_tetrahedra , COLT, COLT, COLW, "Mesh tetrahedron color (if Mesh.ColorCarousel=0)" }, { F|O, "Hexahedra" , opt_mesh_color_hexahedra , - COLQ, COLQ, COLW, + COLQ, COLQ, COLW, "Mesh hexahedron color (if Mesh.ColorCarousel=0)" }, { F|O, "Prisms" , opt_mesh_color_prisms , COLP, COLP, COLW, @@ -1572,45 +1583,45 @@ StringXColor MeshOptions_Color[] = { { F|O, "Normals" , opt_mesh_color_normals , {255, 0, 0, 255}, {255, 0, 0, 255}, {0, 0, 0, 255}, "Normal mesh vector color" }, - { F|O, "Zero" , opt_mesh_color_0 , COL0, COL0, COLW, + { F|O, "Zero" , opt_mesh_color_0 , COL0, COL0, COLW, "Color 0 in color carousel" }, - { F|O, "One" , opt_mesh_color_1 , COL1, COL1, COLW, + { F|O, "One" , opt_mesh_color_1 , COL1, COL1, COLW, "Color 1 in color carousel" }, - { F|O, "Two" , opt_mesh_color_2 , COL2, COL2, COLW, + { F|O, "Two" , opt_mesh_color_2 , COL2, COL2, COLW, "Color 2 in color carousel" }, - { F|O, "Three" , opt_mesh_color_3 , COL3, COL3, COLW, + { F|O, "Three" , opt_mesh_color_3 , COL3, COL3, COLW, "Color 3 in color carousel" }, - { F|O, "Four" , opt_mesh_color_4 , COL4, COL4, COLW, + { F|O, "Four" , opt_mesh_color_4 , COL4, COL4, COLW, "Color 4 in color carousel" }, - { F|O, "Five" , opt_mesh_color_5 , COL5, COL5, COLW, + { F|O, "Five" , opt_mesh_color_5 , COL5, COL5, COLW, "Color 5 in color carousel" }, - { F|O, "Six" , opt_mesh_color_6 , COL6, COL6, COLW, + { F|O, "Six" , opt_mesh_color_6 , COL6, COL6, COLW, "Color 6 in color carousel" }, - { F|O, "Seven" , opt_mesh_color_7 , COL7, COL7, COLW, + { F|O, "Seven" , opt_mesh_color_7 , COL7, COL7, COLW, "Color 7 in color carousel" }, - { F|O, "Eight" , opt_mesh_color_8 , COL8, COL8, COLW, + { F|O, "Eight" , opt_mesh_color_8 , COL8, COL8, COLW, "Color 8 in color carousel" }, - { F|O, "Nine" , opt_mesh_color_9 , COL9, COL9, COLW, + { F|O, "Nine" , opt_mesh_color_9 , COL9, COL9, COLW, "Color 9 in color carousel" }, - { F|O, "Ten" , opt_mesh_color_10, COL10, COL10, COLW, + { F|O, "Ten" , opt_mesh_color_10, COL10, COL10, COLW, "Color 10 in color carousel" }, - { F|O, "Eleven" , opt_mesh_color_11, COL11, COL11, COLW, + { F|O, "Eleven" , opt_mesh_color_11, COL11, COL11, COLW, "Color 11 in color carousel" }, - { F|O, "Twelve" , opt_mesh_color_12, COL12, COL12, COLW, + { F|O, "Twelve" , opt_mesh_color_12, COL12, COL12, COLW, "Color 12 in color carousel" }, - { F|O, "Thirteen" , opt_mesh_color_13, COL13, COL13, COLW, + { F|O, "Thirteen" , opt_mesh_color_13, COL13, COL13, COLW, "Color 13 in color carousel" }, - { F|O, "Fourteen" , opt_mesh_color_14, COL14, COL14, COLW, + { F|O, "Fourteen" , opt_mesh_color_14, COL14, COL14, COLW, "Color 14 in color carousel" }, - { F|O, "Fifteen" , opt_mesh_color_15, COL15, COL15, COLW, + { F|O, "Fifteen" , opt_mesh_color_15, COL15, COL15, COLW, "Color 15 in color carousel" }, - { F|O, "Sixteen" , opt_mesh_color_16, COL16, COL16, COLW, + { F|O, "Sixteen" , opt_mesh_color_16, COL16, COL16, COLW, "Color 16 in color carousel" }, - { F|O, "Seventeen", opt_mesh_color_17, COL17, COL17, COLW, + { F|O, "Seventeen", opt_mesh_color_17, COL17, COL17, COLW, "Color 17 in color carousel" }, - { F|O, "Eighteen" , opt_mesh_color_18, COL18, COL18, COLW, + { F|O, "Eighteen" , opt_mesh_color_18, COL18, COL18, COLW, "Color 18 in color carousel" }, - { F|O, "Nineteen" , opt_mesh_color_19, COL19, COL19, COLW, + { F|O, "Nineteen" , opt_mesh_color_19, COL19, COL19, COLW, "Color 19 in color carousel" }, { 0, 0 , 0 , {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} , 0 } } ; diff --git a/Common/Options.cpp b/Common/Options.cpp index 2647bbc61cedc9fc8171a4f4295a63bfc493382d..2d148c1ad5ef95dc0bb7df4afa3a721d68a5a425 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -50,7 +50,7 @@ // General routines for string options -bool StringOption(int action, const char *category, int num, +bool StringOption(int action, const char *category, int num, const char *name, std::string &val) { StringXString *s = 0; @@ -102,7 +102,7 @@ static void SetStringOptionsGUI(int num, StringXString s[]) } } -static void PrintStringOptions(int num, int level, int diff, int help, +static void PrintStringOptions(int num, int level, int diff, int help, StringXString s[], const char *prefix, FILE *file) { int i = 0; @@ -111,7 +111,7 @@ static void PrintStringOptions(int num, int level, int diff, int help, if(!diff || s[i].function(num, GMSH_GET, "") != s[i].def){ char tmp[1024]; sprintf(tmp, "%s%s = \"%s\";%s%s", prefix, - s[i].str, s[i].function(num, GMSH_GET, "").c_str(), + s[i].str, s[i].function(num, GMSH_GET, "").c_str(), help ? " // " : "", help ? s[i].help : ""); if(file) fprintf(file, "%s\n", tmp); @@ -163,7 +163,7 @@ static void PrintStringOptionsDoc(StringXString s[], const char *prefix, FILE *f // General routines for numeric options -bool NumberOption(int action, const char *category, int num, +bool NumberOption(int action, const char *category, int num, const char *name, double &val) { StringXNumber *s = 0; @@ -223,7 +223,7 @@ static void PrintNumberOptions(int num, int level, int diff, int help, if(s[i].level & level) { if(!diff || (s[i].function(num, GMSH_GET, 0) != s[i].def)){ sprintf(tmp, "%s%s = %.16g;%s%s", prefix, - s[i].str, s[i].function(num, GMSH_GET, 0), + s[i].str, s[i].function(num, GMSH_GET, 0), help ? " // " : "", help ? s[i].help : ""); if(file) fprintf(file, "%s\n", tmp); @@ -249,7 +249,7 @@ static void PrintNumberOptionsDoc(StringXNumber s[], const char *prefix, FILE * // General routines for color options -bool ColorOption(int action, const char *category, int num, +bool ColorOption(int action, const char *category, int num, const char *name, unsigned int &val) { StringXColor *s = 0; @@ -344,15 +344,15 @@ static void PrintColorOptions(int num, int level, int diff, int help, if(s[i].level & level) { unsigned int def; switch (CTX::instance()->colorScheme) { - case 1: + case 1: def = CTX::instance()->packColor (s[i].def2[0], s[i].def2[1], s[i].def2[2], s[i].def2[3]); break; - case 2: + case 2: def = CTX::instance()->packColor (s[i].def3[0], s[i].def3[1], s[i].def3[2], s[i].def3[3]); break; - default: + default: def = CTX::instance()->packColor (s[i].def1[0], s[i].def1[1], s[i].def1[2], s[i].def1[3]); break; @@ -362,7 +362,7 @@ static void PrintColorOptions(int num, int level, int diff, int help, prefix, s[i].str, CTX::instance()->unpackRed(s[i].function(num, GMSH_GET, 0)), CTX::instance()->unpackGreen(s[i].function(num, GMSH_GET, 0)), - CTX::instance()->unpackBlue(s[i].function(num, GMSH_GET, 0)), + CTX::instance()->unpackBlue(s[i].function(num, GMSH_GET, 0)), help ? " // " : "", help ? s[i].help : ""); if(file) fprintf(file, "%s\n", tmp); @@ -426,13 +426,13 @@ void ReInitOptions(int num) // horrible trick so that opt_view_XXX will act on the reference view #if defined(HAVE_POST) std::vector<PView*> tmp = PView::list; - PView::list.clear(); + PView::list.clear(); #endif InitOptions(num); #if defined(HAVE_POST) - PView::list = tmp; + PView::list = tmp; for(unsigned int i = 0; i < PView::list.size(); i++) PView::list[i]->setOptions(); #endif @@ -509,7 +509,7 @@ static void PrintColorTable(int num, int diff, const char *prefix, FILE *file) // compare the current colormap with a vanilla colormap having the // parameters GmshColorTable ref; - ColorTable_InitParam(opt->colorTable.ipar[COLORTABLE_NUMBER], &ref); + ColorTable_InitParam(opt->colorTable.ipar[COLORTABLE_NUMBER], &ref); for(int i = 0; i < COLORTABLE_NBMAX_PARAM; i++){ ref.ipar[i] = opt->colorTable.ipar[i]; ref.dpar[i] = opt->colorTable.dpar[i]; @@ -670,7 +670,7 @@ void PrintOptionsDoc() "@c This file is generated automatically by running \"gmsh -doc\".\n" "@c Do not edit by hand!\n" "@c\n\n"; - + FILE *file = fopen("opt_general.texi", "w"); if(!file) { Msg::Error("Unable to open file 'opt_general.texi'"); @@ -1143,8 +1143,8 @@ std::string opt_solver_name4(OPT_ARGS_STR) std::string opt_solver_executable(OPT_ARGS_STR) { if(action & GMSH_SET) - CTX::instance()->solver.commandLine[num] = val; - return CTX::instance()->solver.commandLine[num]; + CTX::instance()->solver.executable[num] = val; + return CTX::instance()->solver.executable[num]; } std::string opt_solver_executable0(OPT_ARGS_STR) @@ -1172,6 +1172,38 @@ std::string opt_solver_executable4(OPT_ARGS_STR) return opt_solver_executable(4, action, val); } +std::string opt_solver_hostname(OPT_ARGS_STR) +{ + if(action & GMSH_SET) + CTX::instance()->solver.hostname[num] = val; + return CTX::instance()->solver.hostname[num]; +} + +std::string opt_solver_hostname0(OPT_ARGS_STR) +{ + return opt_solver_hostname(0, action, val); +} + +std::string opt_solver_hostname1(OPT_ARGS_STR) +{ + return opt_solver_hostname(1, action, val); +} + +std::string opt_solver_hostname2(OPT_ARGS_STR) +{ + return opt_solver_hostname(2, action, val); +} + +std::string opt_solver_hostname3(OPT_ARGS_STR) +{ + return opt_solver_hostname(3, action, val); +} + +std::string opt_solver_hostname4(OPT_ARGS_STR) +{ + return opt_solver_hostname(4, action, val); +} + #if defined(HAVE_FLTK) int _gui_action_valid(int action, int num) { @@ -1183,7 +1215,7 @@ int _gui_action_valid(int action, int num) std::string opt_view_name(OPT_ARGS_STR) { #if defined(HAVE_POST) - GET_VIEW(""); + GET_VIEW(""); if(!data) return ""; if(action & GMSH_SET) { data->setName(val); @@ -1191,9 +1223,9 @@ std::string opt_view_name(OPT_ARGS_STR) // change name in GUI for the view and its aliases if(FlGui::available()){ for(int i = 0; i < (int)PView::list.size(); i++){ - if((i == num || + if((i == num || PView::list[i]->getAliasOf() == view->getNum() || - PView::list[i]->getNum() == view->getAliasOf()) && + PView::list[i]->getNum() == view->getAliasOf()) && i < (int)FlGui::instance()->menu->toggle.size()) { FlGui::instance()->menu->toggle[i]->copy_label(data->getName().c_str()); FlGui::instance()->menu->toggle[i]->redraw(); @@ -1428,7 +1460,7 @@ void _string2stipple(std::string str, int &repeat, int &pattern) } else{ repeat = (int)str[0] - '0'; - pattern = 16 * 16 * 16 * _h2d(str[4]) + 16 * 16 * _h2d(str[5]) + + pattern = 16 * 16 * 16 * _h2d(str[4]) + 16 * 16 * _h2d(str[5]) + 16 * _h2d(str[6]) + _h2d(str[7]); } } @@ -1874,7 +1906,7 @@ double opt_general_visibility_position1(OPT_ARGS_NUM) CTX::instance()->visPosition[1] = (int)val; return CTX::instance()->visPosition[1]; } - + double opt_general_clip_position0(OPT_ARGS_NUM) { if(action & GMSH_SET) @@ -2181,10 +2213,10 @@ double opt_general_clip_factor(OPT_ARGS_NUM) { if(action & GMSH_SET){ // should NEVER be zero (or negative) - if(val < 0.01) + if(val < 0.01) CTX::instance()->clipFactor = 0.01; else - CTX::instance()->clipFactor = val; + CTX::instance()->clipFactor = val; } #if defined(HAVE_FLTK) if(FlGui::available() && (action & GMSH_GUI)) @@ -2197,7 +2229,7 @@ double opt_general_clip_factor(OPT_ARGS_NUM) double opt_general_display_border_factor(OPT_ARGS_NUM) { if(action & GMSH_SET) - CTX::instance()->displayBorderFactor = val; + CTX::instance()->displayBorderFactor = val; return CTX::instance()->displayBorderFactor; } @@ -2875,10 +2907,10 @@ double opt_general_stereo_mode(OPT_ARGS_NUM) double opt_general_eye_sep_ratio(OPT_ARGS_NUM) { - if(action & GMSH_SET) + if(action & GMSH_SET) CTX::instance()->eye_sep_ratio = (double)val; #if defined(HAVE_FLTK) - if(FlGui::available() && (action & GMSH_GUI)) + if(FlGui::available() && (action & GMSH_GUI)) FlGui::instance()->options->general.value[29]->value (CTX::instance()->eye_sep_ratio) ; #endif @@ -3474,8 +3506,8 @@ double opt_geometry_transform(OPT_ARGS_NUM) { if(action & GMSH_SET){ CTX::instance()->geom.useTransform = (int)val; - if(CTX::instance()->geom.useTransform < 0 || - CTX::instance()->geom.useTransform > 1) + if(CTX::instance()->geom.useTransform < 0 || + CTX::instance()->geom.useTransform > 1) CTX::instance()->geom.useTransform = 0; } #if defined(HAVE_FLTK) @@ -3514,7 +3546,7 @@ static double _opt_geometry_transform(OPT_ARGS_NUM, int ii, int jj, int nn) if(action & GMSH_SET){ drawTransform *tr = FlGui::instance()->graph[0]->gl[0]-> getDrawContext()->getTransform(); - if(tr) tr->setMatrix(CTX::instance()->geom.transform, + if(tr) tr->setMatrix(CTX::instance()->geom.transform, CTX::instance()->geom.offset); } } @@ -3579,7 +3611,7 @@ static double _opt_geometry_offset(OPT_ARGS_NUM, int ii, int nn) if(action & GMSH_SET){ drawTransform *tr = FlGui::instance()->graph[0]->gl[0]-> getDrawContext()->getTransform(); - if(tr) tr->setMatrix(CTX::instance()->geom.transform, + if(tr) tr->setMatrix(CTX::instance()->geom.transform, CTX::instance()->geom.offset); } } @@ -4094,7 +4126,7 @@ double opt_mesh_remove_4_triangles(OPT_ARGS_NUM) (CTX::instance()->mesh.remove4triangles); #endif return CTX::instance()->mesh.remove4triangles; - + } double opt_mesh_refine_steps(OPT_ARGS_NUM) @@ -4120,7 +4152,7 @@ double opt_mesh_normals(OPT_ARGS_NUM) double opt_mesh_num_sub_edges(OPT_ARGS_NUM) { if(action & GMSH_SET){ - if(CTX::instance()->mesh.numSubEdges != val) + if(CTX::instance()->mesh.numSubEdges != val) CTX::instance()->mesh.changed |= (ENT_LINE | ENT_SURFACE | ENT_VOLUME); CTX::instance()->mesh.numSubEdges = (int)val; if(CTX::instance()->mesh.numSubEdges < 1) @@ -4150,7 +4182,7 @@ double opt_mesh_tangents(OPT_ARGS_NUM) double opt_mesh_explode(OPT_ARGS_NUM) { if(action & GMSH_SET) { - if(CTX::instance()->mesh.explode != val) + if(CTX::instance()->mesh.explode != val) CTX::instance()->mesh.changed |= (ENT_LINE | ENT_SURFACE | ENT_VOLUME); CTX::instance()->mesh.explode = val; } @@ -4267,7 +4299,7 @@ double opt_mesh_rand_factor(OPT_ARGS_NUM) double opt_mesh_quality_type(OPT_ARGS_NUM) { if(action & GMSH_SET) { - if(CTX::instance()->mesh.qualityType != val) + if(CTX::instance()->mesh.qualityType != val) CTX::instance()->mesh.changed |= (ENT_LINE | ENT_SURFACE | ENT_VOLUME); CTX::instance()->mesh.qualityType = (int)val; if(CTX::instance()->mesh.qualityType < 0 || CTX::instance()->mesh.qualityType > 3) @@ -4285,7 +4317,7 @@ double opt_mesh_quality_type(OPT_ARGS_NUM) double opt_mesh_quality_inf(OPT_ARGS_NUM) { if(action & GMSH_SET) { - if(CTX::instance()->mesh.qualityInf != val) + if(CTX::instance()->mesh.qualityInf != val) CTX::instance()->mesh.changed |= (ENT_LINE | ENT_SURFACE | ENT_VOLUME); CTX::instance()->mesh.qualityInf = val; } @@ -4300,7 +4332,7 @@ double opt_mesh_quality_inf(OPT_ARGS_NUM) double opt_mesh_quality_sup(OPT_ARGS_NUM) { if(action & GMSH_SET) { - if(CTX::instance()->mesh.qualitySup != val) + if(CTX::instance()->mesh.qualitySup != val) CTX::instance()->mesh.changed |= (ENT_LINE | ENT_SURFACE | ENT_VOLUME); CTX::instance()->mesh.qualitySup = val; } @@ -4315,7 +4347,7 @@ double opt_mesh_quality_sup(OPT_ARGS_NUM) double opt_mesh_radius_inf(OPT_ARGS_NUM) { if(action & GMSH_SET) { - if(CTX::instance()->mesh.radiusInf != val) + if(CTX::instance()->mesh.radiusInf != val) CTX::instance()->mesh.changed |= (ENT_LINE | ENT_SURFACE | ENT_VOLUME); CTX::instance()->mesh.radiusInf = val; } @@ -4330,7 +4362,7 @@ double opt_mesh_radius_inf(OPT_ARGS_NUM) double opt_mesh_radius_sup(OPT_ARGS_NUM) { if(action & GMSH_SET) { - if(CTX::instance()->mesh.radiusSup != val) + if(CTX::instance()->mesh.radiusSup != val) CTX::instance()->mesh.changed |= (ENT_LINE | ENT_SURFACE | ENT_VOLUME); CTX::instance()->mesh.radiusSup = val; } @@ -4374,7 +4406,7 @@ double opt_mesh_points(OPT_ARGS_NUM) double opt_mesh_lines(OPT_ARGS_NUM) { if(action & GMSH_SET) { - if(CTX::instance()->mesh.lines != val) + if(CTX::instance()->mesh.lines != val) CTX::instance()->mesh.changed |= ENT_LINE; CTX::instance()->mesh.lines = (int)val; } @@ -4389,7 +4421,7 @@ double opt_mesh_lines(OPT_ARGS_NUM) double opt_mesh_triangles(OPT_ARGS_NUM) { if(action & GMSH_SET) { - if(CTX::instance()->mesh.triangles != val) + if(CTX::instance()->mesh.triangles != val) CTX::instance()->mesh.changed |= ENT_SURFACE; CTX::instance()->mesh.triangles = (int)val; } @@ -4407,7 +4439,7 @@ double opt_mesh_triangles(OPT_ARGS_NUM) double opt_mesh_quadrangles(OPT_ARGS_NUM) { if(action & GMSH_SET) { - if(CTX::instance()->mesh.quadrangles != val) + if(CTX::instance()->mesh.quadrangles != val) CTX::instance()->mesh.changed |= ENT_SURFACE; CTX::instance()->mesh.quadrangles = (int)val; } @@ -4425,7 +4457,7 @@ double opt_mesh_quadrangles(OPT_ARGS_NUM) double opt_mesh_tetrahedra(OPT_ARGS_NUM) { if(action & GMSH_SET) { - if(CTX::instance()->mesh.tetrahedra != val) + if(CTX::instance()->mesh.tetrahedra != val) CTX::instance()->mesh.changed |= ENT_VOLUME; CTX::instance()->mesh.tetrahedra = (int)val; } @@ -4443,7 +4475,7 @@ double opt_mesh_tetrahedra(OPT_ARGS_NUM) double opt_mesh_hexahedra(OPT_ARGS_NUM) { if(action & GMSH_SET) { - if(CTX::instance()->mesh.hexahedra != val) + if(CTX::instance()->mesh.hexahedra != val) CTX::instance()->mesh.changed |= ENT_VOLUME; CTX::instance()->mesh.hexahedra = (int)val; } @@ -4461,7 +4493,7 @@ double opt_mesh_hexahedra(OPT_ARGS_NUM) double opt_mesh_prisms(OPT_ARGS_NUM) { if(action & GMSH_SET) { - if(CTX::instance()->mesh.prisms != val) + if(CTX::instance()->mesh.prisms != val) CTX::instance()->mesh.changed |= ENT_VOLUME; CTX::instance()->mesh.prisms = (int)val; } @@ -4497,7 +4529,7 @@ double opt_mesh_pyramids(OPT_ARGS_NUM) double opt_mesh_surfaces_edges(OPT_ARGS_NUM) { if(action & GMSH_SET) { - if(CTX::instance()->mesh.surfacesEdges != val) + if(CTX::instance()->mesh.surfacesEdges != val) CTX::instance()->mesh.changed |= ENT_SURFACE; CTX::instance()->mesh.surfacesEdges = (int)val; } @@ -4691,14 +4723,14 @@ double opt_mesh_smooth_normals(OPT_ARGS_NUM) double opt_mesh_smooth_ratio(OPT_ARGS_NUM) { - if(action & GMSH_SET) + if(action & GMSH_SET) CTX::instance()->mesh.smoothRatio = val; return CTX::instance()->mesh.smoothRatio; } double opt_mesh_aniso_max(OPT_ARGS_NUM) { - if(action & GMSH_SET) + if(action & GMSH_SET) CTX::instance()->mesh.anisoMax = val; return CTX::instance()->mesh.anisoMax; } @@ -4777,44 +4809,44 @@ double opt_mesh_msh_file_partitioned(OPT_ARGS_NUM) return CTX::instance()->mesh.mshFilePartitioned; } -double opt_mesh_partition_hex_weight(OPT_ARGS_NUM) +double opt_mesh_partition_hex_weight(OPT_ARGS_NUM) { - if (action & GMSH_SET) + if (action & GMSH_SET) CTX::instance()->partitionOptions.hexWeight = (int) val; return CTX::instance()->partitionOptions.hexWeight; } -double opt_mesh_partition_pri_weight(OPT_ARGS_NUM) +double opt_mesh_partition_pri_weight(OPT_ARGS_NUM) { - if (action & GMSH_SET) + if (action & GMSH_SET) CTX::instance()->partitionOptions.priWeight = (int) val; return CTX::instance()->partitionOptions.priWeight; } -double opt_mesh_partition_pyr_weight(OPT_ARGS_NUM) +double opt_mesh_partition_pyr_weight(OPT_ARGS_NUM) { - if (action & GMSH_SET) + if (action & GMSH_SET) CTX::instance()->partitionOptions.pyrWeight = (int) val; return CTX::instance()->partitionOptions.pyrWeight; } -double opt_mesh_partition_qua_weight(OPT_ARGS_NUM) +double opt_mesh_partition_qua_weight(OPT_ARGS_NUM) { - if (action & GMSH_SET) + if (action & GMSH_SET) CTX::instance()->partitionOptions.quaWeight = (int) val; return CTX::instance()->partitionOptions.quaWeight; } -double opt_mesh_partition_tet_weight(OPT_ARGS_NUM) +double opt_mesh_partition_tet_weight(OPT_ARGS_NUM) { - if (action & GMSH_SET) + if (action & GMSH_SET) CTX::instance()->partitionOptions.tetWeight = (int) val; return CTX::instance()->partitionOptions.tetWeight; } -double opt_mesh_partition_tri_weight(OPT_ARGS_NUM) +double opt_mesh_partition_tri_weight(OPT_ARGS_NUM) { - if (action & GMSH_SET) + if (action & GMSH_SET) CTX::instance()->partitionOptions.triWeight = (int) val; return CTX::instance()->partitionOptions.triWeight; } @@ -4884,7 +4916,7 @@ double opt_mesh_algo_recombine(OPT_ARGS_NUM) { if(action & GMSH_SET){ CTX::instance()->mesh.algoRecombine = (int)val; - if(CTX::instance()->mesh.algoRecombine < 0 && + if(CTX::instance()->mesh.algoRecombine < 0 && CTX::instance()->mesh.algoRecombine > 1) CTX::instance()->mesh.algoRecombine = 0; } @@ -4914,7 +4946,7 @@ double opt_mesh_remesh_algo(OPT_ARGS_NUM) { if(action & GMSH_SET){ CTX::instance()->mesh.remeshAlgo = (int)val; - if(CTX::instance()->mesh.remeshAlgo < 0 && + if(CTX::instance()->mesh.remeshAlgo < 0 && CTX::instance()->mesh.remeshAlgo > 2) CTX::instance()->mesh.remeshAlgo = 0; } @@ -4931,7 +4963,7 @@ double opt_mesh_remesh_param(OPT_ARGS_NUM) { if(action & GMSH_SET){ CTX::instance()->mesh.remeshParam = (int)val; - if(CTX::instance()->mesh.remeshParam < 0 && + if(CTX::instance()->mesh.remeshParam < 0 && CTX::instance()->mesh.remeshParam > 2) CTX::instance()->mesh.remeshParam = 0; } @@ -4948,7 +4980,7 @@ double opt_mesh_algo_subdivide(OPT_ARGS_NUM) { if(action & GMSH_SET){ CTX::instance()->mesh.algoSubdivide = (int)val; - if(CTX::instance()->mesh.algoSubdivide < 0 && + if(CTX::instance()->mesh.algoSubdivide < 0 && CTX::instance()->mesh.algoSubdivide > 2) CTX::instance()->mesh.algoSubdivide = 0; } @@ -5141,11 +5173,11 @@ double opt_mesh_color_carousel(OPT_ARGS_NUM) if(action & GMSH_SET) { // vertex arrays need to be regenerated only when we color by // element type or by partition - if(CTX::instance()->mesh.colorCarousel != (int)val && + if(CTX::instance()->mesh.colorCarousel != (int)val && ((val == 0. || val == 3.) || CTX::instance()->pickElements)) CTX::instance()->mesh.changed |= (ENT_LINE | ENT_SURFACE | ENT_VOLUME); CTX::instance()->mesh.colorCarousel = (int)val; - if(CTX::instance()->mesh.colorCarousel < 0 || + if(CTX::instance()->mesh.colorCarousel < 0 || CTX::instance()->mesh.colorCarousel > 3) CTX::instance()->mesh.colorCarousel = 0; } @@ -5170,7 +5202,7 @@ double opt_mesh_zone_definition(OPT_ARGS_NUM) { if(action & GMSH_SET){ CTX::instance()->mesh.zoneDefinition = (int)val; - if( (CTX::instance()->mesh.zoneDefinition < 0 || + if( (CTX::instance()->mesh.zoneDefinition < 0 || CTX::instance()->mesh.zoneDefinition > 2) || (CTX::instance()->mesh.zoneDefinition == 1 && GModel::current()->getMinPartitionSize() + @@ -6215,7 +6247,7 @@ double opt_view_visible(OPT_ARGS_NUM) opt->visible = (int)val; } #if defined(HAVE_FLTK) - if(FlGui::available() && (action & GMSH_GUI) && num >= 0 && + if(FlGui::available() && (action & GMSH_GUI) && num >= 0 && num < (int)FlGui::instance()->menu->toggle.size()) FlGui::instance()->menu->toggle[num]->value(opt->visible); #endif @@ -7311,7 +7343,7 @@ double opt_view_point_type(OPT_ARGS_NUM) GET_VIEW(0.); if(action & GMSH_SET) { opt->pointType = (int)val; - if(opt->pointType < 0 || opt->pointType > 3) + if(opt->pointType < 0 || opt->pointType > 3) opt->pointType = 0; if(view) view->setChanged(true); } @@ -7332,7 +7364,7 @@ double opt_view_line_type(OPT_ARGS_NUM) GET_VIEW(0.); if(action & GMSH_SET) { opt->lineType = (int)val; - if(opt->lineType < 0 || opt->lineType > 2) + if(opt->lineType < 0 || opt->lineType > 2) opt->lineType = 0; if(view) view->setChanged(true); } @@ -8144,7 +8176,7 @@ unsigned int opt_mesh_color_lines(OPT_ARGS_COL) if(action & GMSH_SET) { // vertex arrays need to be regenerated only when we color by // element type - if(CTX::instance()->color.mesh.line != val && + if(CTX::instance()->color.mesh.line != val && CTX::instance()->mesh.colorCarousel == 0) CTX::instance()->mesh.changed |= (ENT_LINE | ENT_SURFACE | ENT_VOLUME); CTX::instance()->color.mesh.line = val; @@ -8176,7 +8208,7 @@ unsigned int opt_mesh_color_quadrangles(OPT_ARGS_COL) if(action & GMSH_SET) { // vertex arrays need to be regenerated only when we color by // element type - if(CTX::instance()->color.mesh.quadrangle != val && + if(CTX::instance()->color.mesh.quadrangle != val && CTX::instance()->mesh.colorCarousel == 0) CTX::instance()->mesh.changed |= ENT_SURFACE; CTX::instance()->color.mesh.quadrangle = val; @@ -8192,7 +8224,7 @@ unsigned int opt_mesh_color_tetrahedra(OPT_ARGS_COL) if(action & GMSH_SET) { // vertex arrays need to be regenerated only when we color by // element type - if(CTX::instance()->color.mesh.tetrahedron != val && + if(CTX::instance()->color.mesh.tetrahedron != val && CTX::instance()->mesh.colorCarousel == 0) CTX::instance()->mesh.changed |= ENT_VOLUME; CTX::instance()->color.mesh.tetrahedron = val; @@ -8208,13 +8240,13 @@ unsigned int opt_mesh_color_hexahedra(OPT_ARGS_COL) if(action & GMSH_SET) { // vertex arrays need to be regenerated only when we color by // element type - if(CTX::instance()->color.mesh.hexahedron != val && + if(CTX::instance()->color.mesh.hexahedron != val && CTX::instance()->mesh.colorCarousel == 0) CTX::instance()->mesh.changed |= ENT_VOLUME; CTX::instance()->color.mesh.hexahedron = val; } #if defined(HAVE_FLTK) - CCC(CTX::instance()->color.mesh.hexahedron, + CCC(CTX::instance()->color.mesh.hexahedron, FlGui::instance()->options->mesh.color[6]); #endif return CTX::instance()->color.mesh.hexahedron; @@ -8225,7 +8257,7 @@ unsigned int opt_mesh_color_prisms(OPT_ARGS_COL) if(action & GMSH_SET) { // vertex arrays need to be regenerated only when we color by // element type - if(CTX::instance()->color.mesh.prism != val && + if(CTX::instance()->color.mesh.prism != val && CTX::instance()->mesh.colorCarousel == 0) CTX::instance()->mesh.changed |= ENT_VOLUME; CTX::instance()->color.mesh.prism = val; @@ -8241,7 +8273,7 @@ unsigned int opt_mesh_color_pyramid(OPT_ARGS_COL) if(action & GMSH_SET) { // vertex arrays need to be regenerated only when we color by // element type - if(CTX::instance()->color.mesh.pyramid != val && + if(CTX::instance()->color.mesh.pyramid != val && CTX::instance()->mesh.colorCarousel == 0) CTX::instance()->mesh.changed |= ENT_VOLUME; CTX::instance()->color.mesh.pyramid = val; @@ -8279,7 +8311,7 @@ unsigned int opt_mesh_color_(int i, OPT_ARGS_COL) if(action & GMSH_SET) { // vertex arrays need to be regenerated only when we color by // partition - if(CTX::instance()->color.mesh.carousel[i] != val && + if(CTX::instance()->color.mesh.carousel[i] != val && CTX::instance()->mesh.colorCarousel == 3) CTX::instance()->mesh.changed |= (ENT_LINE | ENT_SURFACE | ENT_VOLUME); CTX::instance()->color.mesh.carousel[i] = val; diff --git a/Common/Options.h b/Common/Options.h index 7979e94e0790fd08e9bf3229cd0a82b069ad47eb..0c43e95f5765ec4755cac4ded40eb08c5ee85b12 100644 --- a/Common/Options.h +++ b/Common/Options.h @@ -22,7 +22,7 @@ #define OPT_ARGS_STR int num, int action, std::string val #define OPT_ARGS_NUM int num, int action, double val #define OPT_ARGS_COL int num, int action, unsigned int val - + // STRINGS std::string opt_general_axes_label0(OPT_ARGS_STR); @@ -63,6 +63,12 @@ std::string opt_solver_executable1(OPT_ARGS_STR); std::string opt_solver_executable2(OPT_ARGS_STR); std::string opt_solver_executable3(OPT_ARGS_STR); std::string opt_solver_executable4(OPT_ARGS_STR); +std::string opt_solver_hostname(OPT_ARGS_STR); +std::string opt_solver_hostname0(OPT_ARGS_STR); +std::string opt_solver_hostname1(OPT_ARGS_STR); +std::string opt_solver_hostname2(OPT_ARGS_STR); +std::string opt_solver_hostname3(OPT_ARGS_STR); +std::string opt_solver_hostname4(OPT_ARGS_STR); std::string opt_view_name(OPT_ARGS_STR); std::string opt_view_format(OPT_ARGS_STR); std::string opt_view_filename(OPT_ARGS_STR); @@ -609,7 +615,7 @@ unsigned int opt_general_color_small_axes(OPT_ARGS_COL); unsigned int opt_general_color_ambient_light(OPT_ARGS_COL); unsigned int opt_general_color_diffuse_light(OPT_ARGS_COL); unsigned int opt_general_color_specular_light(OPT_ARGS_COL); -unsigned int opt_geometry_color_points(OPT_ARGS_COL); +unsigned int opt_geometry_color_points(OPT_ARGS_COL); unsigned int opt_geometry_color_lines(OPT_ARGS_COL); unsigned int opt_geometry_color_surfaces(OPT_ARGS_COL); unsigned int opt_geometry_color_volumes(OPT_ARGS_COL); @@ -620,9 +626,9 @@ unsigned int opt_geometry_color_highlight2(OPT_ARGS_COL); unsigned int opt_geometry_color_tangents(OPT_ARGS_COL); unsigned int opt_geometry_color_normals(OPT_ARGS_COL); unsigned int opt_geometry_color_projection(OPT_ARGS_COL); -unsigned int opt_mesh_color_points(OPT_ARGS_COL); -unsigned int opt_mesh_color_points_sup(OPT_ARGS_COL); -unsigned int opt_mesh_color_lines(OPT_ARGS_COL); +unsigned int opt_mesh_color_points(OPT_ARGS_COL); +unsigned int opt_mesh_color_points_sup(OPT_ARGS_COL); +unsigned int opt_mesh_color_lines(OPT_ARGS_COL); unsigned int opt_mesh_color_triangles(OPT_ARGS_COL); unsigned int opt_mesh_color_quadrangles(OPT_ARGS_COL); unsigned int opt_mesh_color_tetrahedra(OPT_ARGS_COL); @@ -668,7 +674,7 @@ unsigned int opt_view_color_axes(OPT_ARGS_COL); // Data structures and global functions typedef struct { - const char *str ; + const char *str ; int int1, int2, int3, int4 ; } StringX4Int; @@ -705,11 +711,11 @@ void ReInitOptions(int num); void PrintOptions(int num, int level, int diff, int help, const char *filename); void PrintOptionsDoc(); -bool StringOption(int action, const char *category, int num, +bool StringOption(int action, const char *category, int num, const char *name, std::string &val); -bool NumberOption(int action, const char *category, int num, +bool NumberOption(int action, const char *category, int num, const char *name, double &val); -bool ColorOption(int action, const char *category, int num, +bool ColorOption(int action, const char *category, int num, const char *name, unsigned int &val); GmshColorTable *GetColorTable(int num); diff --git a/Fltk/onelabWindow.cpp b/Fltk/onelabWindow.cpp index 7523fd30782bdf02cec162ad2acbfe8bb91cf44c..6af057bf358ac66c620c180ce05f0a9d1ea73ce4 100644 --- a/Fltk/onelabWindow.cpp +++ b/Fltk/onelabWindow.cpp @@ -533,6 +533,13 @@ static void updateOnelabGraphs() drawContext::global()->draw(); } +static void importPhysicalGroups(GModel *m) +{ + std::map<int, std::vector<GEntity*> > groups[4]; + m->getPhysicalGroups(groups); + +} + static void runGmshClient(const std::string &action) { if(action == "initialize") return; @@ -557,6 +564,7 @@ static void runGmshClient(const std::string &action) // the model name has changed modelName = GModel::current()->getName(); geometry_reload_cb(0, 0); + importPhysicalGroups(GModel::current()); } } else if(action == "compute"){ @@ -567,6 +575,7 @@ static void runGmshClient(const std::string &action) // changed modelName = GModel::current()->getName(); geometry_reload_cb(0, 0); + importPhysicalGroups(GModel::current()); if(FlGui::instance()->onelab->meshAuto()){ mesh_3d_cb(0, 0); CreateOutputFile(mshFileName, CTX::instance()->mesh.fileFormat); @@ -588,9 +597,24 @@ void onelab_cb(Fl_Widget *w, void *data) if(!data) return; std::string action((const char*)data); + if(action == "refresh"){ + static int recurse = false; + if(recurse) return; + recurse = true; + updateOnelabGraphs(); + FlGui::instance()->onelab->rebuildTree(); + recurse = false; + return; + } + if(action == "stop"){ FlGui::instance()->onelab->stop(true); FlGui::instance()->onelab->setButtonMode("kill"); + for(onelab::server::citer it = onelab::server::instance()->firstClient(); + it != onelab::server::instance()->lastClient(); it++){ + onelab::string o(it->second->getName() + "/Action", "stop"); + onelab::server::instance()->set(o); + } return; } @@ -954,17 +978,20 @@ void onelabWindow::setButtonMode(const std::string &mode) if(mode == "compute"){ _butt[0]->label("Compute"); _butt[0]->callback(onelab_cb, (void*)"compute"); - _butt[1]->activate(); + _butt[1]->label("Check"); + _butt[1]->callback(onelab_cb, (void*)"check"); } else if(mode == "stop"){ _butt[0]->label("Stop"); _butt[0]->callback(onelab_cb, (void*)"stop"); - _butt[1]->deactivate(); + _butt[1]->label("Refresh"); + _butt[1]->callback(onelab_cb, (void*)"refresh"); } else{ _butt[0]->label("Kill"); _butt[0]->callback(onelab_cb, (void*)"kill"); - _butt[1]->deactivate(); + _butt[1]->label("Refresh"); + _butt[1]->callback(onelab_cb, (void*)"refresh"); } }