/*!

\page mesh_preferences_page Mesh preferences

In the Mesh module you can set mesh preferences, which can be used right now 
or in later sessions with this module according to the preferences.

<h2>General Preferences</h2>

\image html pref21.png

- <b>Automatic Update</b>
  - If you toggle <b>Automatic Update</b> checkbox, the model in your
    viewer will be automatically updated when you make changes in it, depending on
    values of additional preferences specified below.
  - <b>Size limit (elements)</b> - allows specifying the maximum
    number of elements in the resulting mesh for which the automatic updating
    of the presentation is performed. This option affects only
    <b>Compute</b> operation. Zero value means "no limit". Default value
    is 500 000 mesh elements.
  - <b>Incremental limit check</b> - when this control is switched on,
    the mesh size limit check is not applied to the total number of
    elements in the resulting mesh, it is applied iteratively to each entity type
    in the following order: 0D elements, edges, faces, volumes, balls.
    At each step the number of entities of a certain type is added to the
    total number of elements computed at the previous step - if the resulting
    number of elements does not exceed the size limit, the entities of
    this type are shown, otherwise the user is warned that some entities are not shown.

- <b>Quality Controls</b>
  - If you toggle <b>Display entity</b>, both faces and edges of an
    object will be displayed in the viewer by default.
  - If you toggle <b>Use precision</b> checkbox, you can display numbers in
    <b>Quality Control</b> diagrams at the necessary level of precision.
  - <b>Number of digits after point</b> - defines precision for
    <b>Quality Controls</b>. By default, numbers in <b>Quality Control</b>
    diagrams are presented as integers.
  - <b>Double nodes tolerance</b> defines the maximal distance between two
    mesh nodes, at which they are considered coincident by <b>Double nodes</b>
    quality control.

- <b>Display mode</b>
  - <b>Default display mode</b> - allows to set Wireframe, Shading, Nodes or Shrink
  presentation mode as default.

- <b>Representation of the 2D quadratic elements</b>
  - <b>Default mode of the 2D quadratic elements</b> combo-box - allows
    to select lines or arcs for representation of quadratic elements as default.
  - <b>Maximum Angle</b> - maximum deviation angle used by the
    application to build arcs.

- <b>Mesh export</b>
  - If you toggle <b>Automatically create groups for MED export</b> check-box,
    this operation will be carried out automatically.

- <b>Mesh computation</b>
  - <b>Show a computation result notification</b> combo-box allows to
    select the notification mode about a mesh computation result.
    There are 3 possible modes:
    - <b>Never</b> - do not show the result dialog at all;
    - <b>Errors only</b> - the result dialog will be shown if there were
      some errors during a mesh computation;
    - <b>Always</b> - show the result dialog after each mesh
      computation. This is a default mode.

- <b>Mesh information</b>
  - <b>Mesh element information</b> - change the way mesh element
    information is shown:
    - <b>Simple</b> - as a plain text
    - <b>Tree</b> - in a tree-like form
  - <b>Automatic nodes compute limit</b> - allows defining the size limit for the
    mesh groups for which the number of underlying nodes is calculated
    automatically. If the group size exceeds the value set in the preferences,
    the user will have to press \em Compute button explicitly. Zero value
    means "no limit". By default the value is set to 100 000 mesh elements.
  - <b>Automatic controls compute limit</b> - allows defining the size limit for the
    mesh elements for which the Aspect Ratio histogram is calculated
    automatically. If the mesh elements size exceeds the value set in the preferences,
    it is possible to press \b Compute button explicitly to calculate the histogram . Zero value
    means "no limit". By default the value is set to 3 000 mesh elements.
  - <b>Show details on groups in element information tab</b> - when
    this option is switched off (default), only the names of groups, to which the node
    or element belongs, are shown in the \ref mesh_element_info_anchor "Info Tab"
    tab of "Mesh Information" dialog box. If this option is
    switched on, the detailed information on groups is shown.
  - <b>Dump base information</b> - allows dumping base mesh information to the
    file, see \ref mesh_infos_page.
  - <b>Dump element information</b> - allows dumping element information to the
    file, see \ref mesh_infos_page.
  - <b>Dump additional information</b> - allows dumping additional mesh
    information to the file, see \ref mesh_infos_page.
  - <b>Dump controls information</b> - allows dumping quality mesh
    information to the file, see \ref mesh_infos_page.

- <b>Automatic Parameters</b>
  - <b>Ratio Bounding Box Diagonal / Max Size</b> - this parameter is
    used for automatic meshing. This is the ratio between the bounding box of the
    meshed object and the Max Size of segments.
  - <b>Default Number of Segments</b> - defines the default
    number of segments on each edge.

- <b>Mesh loading</b>
  - If <b>No mesh loading from study file at hypothesis modification</b>
    check-box is on, the mesh data will not be loaded from the study file
    when a hypothesis is modified. This allows  saving time by omitting
    loading data of a large mesh that is planned to be recomputed with other parameters.

- <b>Input fields precision</b>
  - <b>Length precision</b> - allows to adjust input precision of coordinates and dimensions.
  - <b>Angular precision</b> - allows to adjust input precision of angles.
  - <b>Length tolerance precision</b> - allows to adjust input precision of tolerance of coordinates and dimensions.
  - <b>Parametric precision</b> - allows to adjust input precision of parametric values.
  - <b>Area precision</b> - allows to adjust input precision of mesh element area.
  - <b>Volume precision</b> - allows to adjust input precision of mesh element volume.

- <b>Preview</b>
  - <b>Sub-shapes preview chunk size</b> - allows to limit the number
    of previewed sub-shapes shown in the hypotheses creation dialog boxes,
    for example "Reverse Edges" parameter of \ref number_of_segments_anchor "Number of segments" hypothesis.

- <b>Python Dump</b>
  - <b>Historical python dump</b> checkbox allows switching between
    \a Historical and \a Snapshot dump mode:
    - In \a Historical mode, Python Dump script includes all commands
      performed by SMESH engine.
    - In \a Snapshot mode, the commands relating to objects removed
      from the Study as well as the commands not influencing the
      current state of meshes are excluded from the script.

<h2>Mesh Preferences</h2>

\image html pref22.png

- <b>Nodes</b> allows to define default parameters for nodes, which will be applied 
  for a newly created mesh only. Existing meshes can be customized using 
  \ref colors_size_page "Properties dialog box" available from the context menu of a mesh.
  - <b>Color</b> -  allows to select the color of nodes. Click on the
    colored line to access to the <b>Select Color</b> dialog box.
  - <b>Type of marker</b> - allows to define the shape of nodes.
  - <b>Scale of marker</b> - allows to define the size of nodes.

- <b>Elements</b> allows to define default parameters for different elements, which will be applied 
  for a newly created mesh only. Existing meshes can be customized using 
  \ref colors_size_page "Properties dialog box" available from the context menu of a mesh.
  - <b>Surface color</b>  - allows to select the surface color of 2D elements
    (seen in Shading mode). Click on the colored line to access to the
    <b>Select Color</b> dialog box.
  - <b>Back surface color</b> - allows to select the back surface color
    of 2D elements. This is useful to differ 2d elements with
    reversed orientation. Use the slider to select the color generated basing on
    the <b>Surface color</b> by changing its brightness and saturation.
  - <b>Volume color</b> - allows to select the surface color of 3D elements
    (seen in Shading mode).
  - <b>Reversed volume color</b> - allows to select the surface color
    of reversed 3D elements. Use the slider to select the color generated basing on
    the <b>Volume color</b> by changing its brightness and saturation.
  - <b>0D element color</b> - allows to choose color of 0D mesh elements.
  - <b>Ball color</b> - allows to choose color of discrete mesh elements (balls).
  - <b>Outline color</b> - allows to select the color of element
    borders.
  - <b>Wireframe color</b> - allows to select the color of borders of
    elements in the wireframe mode.
  - <b>Preview color</b> - allows to select the preview color of the elements.
  - <b>Size of 0D elements</b> - specifies default size of 0D elements.
  - <b>Size of ball elements</b> - specifies default size of discrete
    elements (balls).
  - <b>Scale factor of ball elements</b> - specifies default scale factor of discrete
    elements (balls).
  - <b>Line width</b> - allows to define the width of 1D elements (edges).
  - <b>Outline width</b> - allows to define the width of borders of
    2D and 3D elements (shown in the Shading mode).
  - <b>Shrink coef.</b> - allows to define relative space of elements
    compared to gaps between them in shrink mode.

- <b>Groups</b>
  - <b>Names color</b> - specifies color of group names to be used in
    3D viewer.
  - <b>Default color</b> - specifies the default group color, which is used 
  to create a new mesh group (see \ref creating_groups_page "Create Group dialog box").

- <b>Numbering</b> allows to define properties of numbering functionality:
  - <b>Nodes</b> - specifies text properties of nodes numbering
    (font family, size, attributes, color).
  - <b>Elements</b> - same for elements.

- <b>Orientation of Faces</b> - allows to define default properties of orientation vectors.
  These preferences will be applied to the newly created meshes only; properties of existing meshes
  can be customized using \ref colors_size_page "Properties dialog box"
  available from the context menu of a mesh.
  - \b Color - allows to define the color of orientation vectors;
  - \b Scale - allows to define the size of orientation vectors;
  - <b>3D Vector</b> check-box allows to choose between 2D planar
    and 3D vectors.

<br><h2>Selection Preferences</h2>

\image html pref23.png

- <b>Selection</b> - performed with mouse-indexing (preselection)
  and left-clicking on an object, whose appearance changes as defined in
  the <b>Preferences</b>.
  - <b>Object color</b> -  allows to select the color of mesh (edges and
    borders of meshes) of the selected entity. Click on the colored line
    to access to the <b>Select Color</b> dialog box.
  - <b>Element color</b> - allows to select the color of surface of selected
    elements (seen in Shading mode). Click on the colored line to access
    to the <b>Select Color</b> dialog box.

- <b>Preselection</b> - performed with mouse-indexing on an object,
  whose appearance changes as defined in the <b>Preferences</b>.
  - <b>Highlight color</b> -  allows to select the color of mesh (edges and
    borders of meshes) of the entity . Click on the colored line to access
    to the <b>Select Color</b> dialog box.

- <b>Precision</b> - in this menu you can set the value of precision
  used for <b>Nodes</b>, <b>Elements</b> and <b>Objects</b>.

<br><h2>Scalar Bar Preferences</h2>

\image html pref24.png

\note The following settings are default and will be applied for 
a newly created mesh only. Existing meshes 
can be customized using local \ref scalar_bar_dlg "Scalar Bar Properties dialog box" 
available from the context menu of a mesh.

- <b>Font</b> - in this menu you can set type, face and color for
  the font of <b>Title</b> and <b>Labels</b>.

- <b>Colors & Labels</b> - in this menu you can set the <b>number of
  colors</b> and the <b>number of labels</b> in use.

- <b>Orientation</b> - here you can choose between vertical and
  horizontal orientation of the <b>Scalar Bar</b>

- <b>Origin & Size Vertical & Horizontal</b> - allows to define
  placement (<b>X</b> and <b>Y</b>) and lookout (<b>Width</b> and
  <b>Height</b>) of Scalar Bars.
  - <b>X</b>: abscissa of the point of origin (from the left
    side)
  - <b>Y</b>: ordinate of the origin of the bar (from the bottom)

- <b>Distribution</b> in this menu you can Show/Hide distribution
  histogram of the values of the <b>Scalar Bar</b> and specify the
  <b>Coloring Type</b> of the histogram:
  - <b>Multicolor</b> the histogram is colored as <b>Scalar Bar</b>
  - <b>Monocolor</b> the histogram is colored as selected with
    <b>Distribution color</b> selector 

*/