OPTION(SALOME_BUILD_GUI "Build GUI of FIELDS." ON)
OPTION(SALOME_BUILD_TESTS "Build FIELDS tests." ON)
OPTION(SALOME_BUILD_DOC "Build FIELDS doc." ON)
+CMAKE_DEPENDENT_OPTION(SALOME_FIELDS_BUILD_FRENCH_DOC "Generate SALOME Fields French documentation" OFF
+ "SALOME_BUILD_DOC" OFF)
+
# Find MEDCoupling (required)
# ==========================
**User documentation**
+.. _FIELDS module\: User guide for simplified MED visualisation: ../../MEDCalc/index.html
+
+* `FIELDS module\: User guide for simplified MED visualisation`_
+
.. toctree::
:maxdepth: 1
.. include:: medcalc-definitions.rst
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-FIELDS module: User guide for graphical interface
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FIELDS module: User guide for field manipulation
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This document is a quick guide for Graphical User Interface of FIELDS module. It
shows how to use this module on the basis of a few reference examples, built
ADD_SUBDIRECTORY(exe)
ENDIF()
+IF(SALOME_BUILD_DOC)
+ ADD_SUBDIRECTORY(doc)
+ENDIF(SALOME_BUILD_DOC)
+
INSTALL(FILES MEDCalcConstants.hxx DESTINATION ${SALOME_INSTALL_HEADERS})
--- /dev/null
+# Copyright (C) 2021 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+INCLUDE(UseSphinx)
+
+SALOME_CONFIGURE_FILE(conf.py.in conf.py)
+
+IF(SALOME_FIELDS_BUILD_FRENCH_DOC)
+ SET(BUILD_LANGUAGE_SWITCHER "true")
+ SALOME_CONFIGURE_FILE(static/switchers.js.in static/switchers.js)
+ ADD_MULTI_LANG_DOCUMENTATION(TARGET_NAME usr_docs MODULE MEDCalc LANGUAGES fr)
+ELSE()
+ SET(BUILD_LANGUAGE_SWITCHER "false")
+ SALOME_CONFIGURE_FILE(static/switchers.js.in static/switchers.js)
+ ADD_MULTI_LANG_DOCUMENTATION(TARGET_NAME usr_docs MODULE MEDCalc)
+ENDIF()
+
+INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target usr_docs)")
+INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/MEDCalc DESTINATION ${SALOME_INSTALL_DOC})
+IF(SALOME_FIELDS_BUILD_FRENCH_DOC)
+ INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/MEDCalc_fr DESTINATION ${SALOME_INSTALL_DOC})
+ENDIF()
--- /dev/null
+# -*- coding: utf-8 -*-
+#
+# yacs documentation build configuration file, created by
+# sphinx-quickstart on Fri Aug 29 09:57:25 2008.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# The contents of this file are pickled, so don't put values in the namespace
+# that aren't pickleable (module imports are okay, they're removed automatically).
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+import sphinx
+
+# If your extensions are in another directory, add it here. If the directory
+# is relative to the documentation root, use os.path.abspath to make it
+# absolute, like shown here.
+#sys.path.append(os.path.abspath('.'))
+
+# General configuration
+# ---------------------
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = ['sphinx.ext.autodoc']
+try:
+ import sphinx_rtd_theme
+ extensions += ['sphinx_rtd_theme']
+ use_rtd_theme = True
+except:
+ use_rtd_theme = False
+#add pdfbuilder to build a pdf with rst2pdf
+#extensions = ['rst2pdf.pdfbuilder']
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = [os.path.join('@CMAKE_CURRENT_SOURCE_DIR@','templates')]
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = 'Fields'
+copyright = '2012-2021 CEA/DEN, EDF R&D'
+
+# Copyright is shown via custom footer
+html_show_copyright = True
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = '@SALOMEGUI_VERSION@'
+# The full version, including alpha/beta/rc tags.
+release = '@SALOMEGUI_VERSION@'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of documents that shouldn't be included in the build.
+#unused_docs = []
+
+# List of directories, relative to source directory, that shouldn't be searched
+# for source files.
+exclude_trees = ['.build','ref','images','CVS']
+
+# A list of glob-style patterns that should be excluded when looking for source
+# files. They are matched against the source file names relative to the
+# source directory, using slashes as directory separators on all platforms.
+exclude_patterns = ['**/CVS']
+
+# The reST default role (used for this markup: `text`) to use for all documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+
+# Options for HTML output
+# -----------------------
+
+# The theme to use for HTML and HTML Help pages. Major themes that come with
+# Sphinx are currently 'default' and 'sphinxdoc'.
+if use_rtd_theme:
+ html_theme = 'sphinx_rtd_theme'
+else:
+ html_theme = 'default' if sphinx.version_info[:2] < (1,3) else 'classic'
+
+themes_options = {}
+themes_options['classic'] = {
+ 'body_max_width':'none',
+ 'body_min_width':0,
+}
+html_theme_options = themes_options.get(html_theme, {})
+
+# The name for this set of Sphinx documents. If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar. Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = [os.path.join('@CMAKE_CURRENT_BINARY_DIR@','static')]
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+html_sidebars = { '**': ['globaltoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html'],}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+html_use_modindex = True
+
+# If false, no index is generated.
+html_use_index = False
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, the reST sources are included in the HTML build as _sources/<name>.
+#html_copy_source = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it. The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = ''
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'guidoc'
+
+
+# Options for LaTeX output
+# ------------------------
+
+# The paper size ('letter' or 'a4').
+latex_paper_size = 'a4'
+
+# The font size ('10pt', '11pt' or '12pt').
+latex_font_size = '10pt'
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title, author, document class [howto/manual]).
+latex_documents = [
+ ('index', 'FIELDS.tex', 'Fields User Documentation', '', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# Additional stuff for the LaTeX preamble.
+latex_preamble = """
+\RecustomVerbatimEnvironment
+ {Verbatim}{Verbatim}
+ {fontsize=\scriptsize}
+"""
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+latex_use_modindex = True
+
+#Options for rst2pdf output (through reportlab)
+pdf_documents = [
+ ('index', 'GUI.tex', 'GUI User Documentation', '', 'manual'),
+]
+
+# A comma-separated list of custom stylesheets.
+pdf_stylesheets = ['sphinx','kerning','a4']
+
+# Create a compressed PDF
+# Use True/False or 1/0
+#pdf_compressed = False
+
+# A colon-separated list of folders to search for fonts. Example:
+# pdf_font_path = ['/usr/share/fonts', '/usr/share/texmf-dist/fonts/']
+
+# Language to be used for hyphenation support
+#pdf_language = "en_US"
+
+# Example configuration for intersphinx: refer to the Python standard library.
+intersphinx_mapping = {'https://docs.python.org/': None}
+
+locale_dirs = [os.path.join('@CMAKE_CURRENT_BINARY_DIR@','locale')] # path is example but recommended.
+gettext_compact = False # optional
--- /dev/null
+.. _fields_contour_presentation_page:
+
+********************
+Contour presentation
+********************
+
+.. image:: ../images/image_contour_prs.png
+ :align: center
+
+**Contour** presentation combines all equal scalar values applied to the cells and constructs isobaric surfaces.
+
+.. |img_ct| image:: ../images/image_contour.png
+
+To create a **Contour** presentation,
+
+* Select a field item in the **Object Browser**, and
+* Choose **Presentations > Contour** menu or click |img_ct| button in the *Presentations* toolbar.
+
+As a result, **Contour** presentation is published in the **Object Browser** under selected field and displayed
+in the 3D Viewer.
+
+**Contour** presentation has the same base parameters as :ref:`fields_scalar_map_presentation_page`, plus
+the following own ones:
+
+* **Number of contours**: number of contours which are generated: max allowed value of this parameter is 50,
+* **Contour By**: this parameter is available only for vector fields; it allows choosing the component of the vector
+ field from which isobaric surfaces are generated.
--- /dev/null
+.. _fields_cut_segment_presentation_page:
+
+************************
+Cut Segment presentation
+************************
+
+.. image:: ../images/image_cut_segment_prs.png
+ :align: center
+
+**Cut segment** presentation is a type of presentation which displays colored cells with applied scalar values on the
+mesh where cut segment is placed.
+
+.. |img_cs| image:: ../images/image_cut_segment.png
+
+To create a **Cut segment** presentation,
+
+* Select a field item in the **Object Browser**, and
+* Choose **Presentations > Cut segment** menu or click |img_cs| button in the *Presentations* toolbar.
+
+As a result, **Cut segment** presentation is published in the **Object Browser** under selected field and displayed
+in the 3D Viewer. In addition, 2D presentation is displayed in the 2D Viewer; this 2D presentation consist of the
+field scalar values located on the cut segment of the constructed presentation.
+
+**Cut segment** presentation has the same base parameters as a :ref:`fields_scalar_map_presentation_page`, but
+in addition it also has the following own specific parameters:
+
+* **Point 1**: cut segment's start coordinates,
+* **Point 2**: cut segment's end coordinates.
--- /dev/null
+.. _fields_data_source_page:
+
+***********
+Data Source
+***********
+
+.. |img| image:: ../images/image_datasource_add.png
+ :scale: 50 %
+
+Data Source for all presentations of Fields module is a MED file. To add Data Source into Fields module, choose
+**File > Add Data Source** menu (or click **Add Data Source** |img| button in the *Datasource* toolbar).
+This shows a standard dialog that allows browsing and choosing \*.med files:
+
+.. image:: ../images/image_file_search.png
+ :align: center
+
+Select a file and confirm your choice by pressing **Open** button.
+As a result, Data Source representation appears in **Object Browser**:
+
+.. image:: ../images/image_data_source_representation.png
+ :align: center
+
+It contains the following information:
+
+* A path to the MED file (root Data Source item),
+* A list of the meshes present in the Data Source,
+* For each Mesh item - a list of the fields plus **Mesh view** presentation item.
+
+Also, :ref:`fields_mesh_presentation_page` is displayed in 3D Viewer.
--- /dev/null
+.. _fields_deflection_shape_presentation_page:
+
+*****************************
+Deflection shape presentation
+*****************************
+
+.. image:: ../images/image_deflection_shape_prs.png
+ :align: center
+
+**Deflection shape** is a type of field presentation when vector values corresponding to the mesh cells are
+visualized by shifting these cells.
+
+.. |img_dfl| image:: ../images/image_deflection.png
+
+To create a **Deflection shape** presentation,
+
+* Select a field item in the **Object Browser**, and
+* Choose **Presentations > Deflection shape** menu or click |img_dfl| button in the *Presentations* toolbar.
+
+As a result, **Deflection shape** presentation is published in the **Object Browser** under selected field and displayed
+in the 3D Viewer.
+
+**Deflection shape** presentation has the same base parameters as :ref:`fields_scalar_map_presentation_page`.
--- /dev/null
+.. _fields_fields_presentation_page:
+
+********************
+Fields Presentations
+********************
+
+Fields module provides the following types of field presentations:
+
+.. toctree::
+ :titlesonly:
+ :maxdepth: 2
+
+ fields_scalar_map_presentation.rst
+ fields_contour_presentation.rst
+ fields_vector_field_presentation.rst
+ fields_slices_presentation.rst
+ fields_deflection_shape_presentation.rst
+ fields_point_sprite_presentation.rst
+ fields_plot3d_presentation.rst
+ fields_stream_lines_presentation.rst
+ fields_cut_segment_presentation.rst
+
+
--- /dev/null
+*****************************
+Introduction to Fields module
+*****************************
+
+.. image:: ../images/image_fields.png
+ :align: center
+
+Fields module is used for analysis and post-processing of numerical simulation results. It is based upon ParaVis module, MEDReader ParaVis
+module plugin and MEDCoupling library. Main advantage of this module is that it provides a simplified (in comparison with ParaVis module)
+way to create different presentations. After applying this simplified visualization it is possible to switch to ParaVis module and
+complete a more complex presentation if necessary.
+
+Fields module uses Python API of the ParaVis module to build presentations.
+Any presentation in the Fields module is a pipeline of the ParaVis filters, which always starts with MEDReader.
+For example, :ref:`fields_plot3d_presentation_page` is a sequence of the following ParaVis filters: **MEDReader > Calculator > WarpByScalar**.
--- /dev/null
+.. _fields_managing_presentations_page:
+
+**********************
+Managing presentations
+**********************
+
+To delete a presentation,
+
+* Select it in the **Object Browser** and
+* Choose **Presentations > Delete presentation** menu.
+
+To dump Python script that generates given presentation into the terminal,
+
+* Select presentation in the **Object Browser** and
+* Choose **Presentations > Dump pipeline** menu.
--- /dev/null
+.. _fields_mesh_presentation_page:
+
+*****************
+Mesh presentation
+*****************
+
+.. image:: ../images/image_mesh_prs.png
+ :align: center
+
+The main purpose of this presentation is to display the mesh structure without any physical data.
+
+.. |img_msh| image:: ../images/image_mesh.png
+
+This presentation is automatically created when importing a :ref:`fields_data_source_page`.
+Additionally, **Mesh** presentation can be created by
+
+* Selecting a Mesh item in the **Object Browser**, and
+* Choosing **Presentations > Mesh** menu or clicking |img_msh| button in the *Presentations* toolbar.
--- /dev/null
+.. _fields_plot3d_presentation_page:
+
+*******************
+Plot3D presentation
+*******************
+
+.. image:: ../images/image_plot3d_prs.png
+ :align: center
+
+**Plot3D** is a presentation of scalar values of meshes lying on a cutting plane.
+The relief and coloring of the resulting presentation both correspond to the values applied to the cells of a mesh.
+
+.. |img_pl3| image:: ../images/image_slices.png
+
+To create a **Plot3D** presentation,
+
+* Select a field item in the **Object Browser**, and
+* Choose **Presentations > Plot3D** menu or click |img_pl3| button in the *Presentations* toolbar.
+
+As a result, **Plot3D** presentation is published in the **Object Browser** under selected field and displayed
+in the 3D Viewer.
+
+**Plot3D** presentation has the same base parameters as :ref:`fields_scalar_map_presentation_page`, but in addition it also has
+the following own specific parameters:
+
+* **Plane normal**: specifies a cutting plane normal and a direction along which to warp a presentation,
+* **Plane position**: allows selecting the position of the cutting plane within the bounding box of the
+ mesh (ranging from 0 to 1).
--- /dev/null
+.. _fields_point_sprite_presentation_page:
+
+*************************
+Point sprite presentation
+*************************
+
+.. image:: ../images/image_point_sprite_prs.png
+ :align: center
+
+**Point sprite** presentation presents data on field as a set of fixed points of the renormalisation group flow
+with Gaussian distribution.
+
+.. |img_ps| image:: ../images/image_point_sprite.png
+
+To create a **Point sprite** presentation,
+
+* Select a field item in the **Object Browser**, and
+* Choose **Presentations > Point sprite** menu or click |img_ps| button in the *Presentations* toolbar.
+
+As a result, **Point sprite** presentation is published in the **Object Browser** under selected field and displayed
+in the 3D Viewer.
+
+**Point sprite** presentation has the same base and additional parameters as :ref:`fields_scalar_map_presentation_page`.
+
--- /dev/null
+***********
+Preferences
+***********
+
+.. image:: ../images/image_fields_preferences.png
+ :align: center
+
+Preferences dialog allows choosing icons theme for use in Fields module.
+One of the following themes can be chosen:
+
+* **Modern**: modern icons
+.. image:: ../images/image_icons_modern.png
+ :align: center
+
+* **Classic**: classic icons
+.. image:: ../images/image_icons_standard.png
+ :align: center
--- /dev/null
+.. _presentations_page:
+
+*************
+Presentations
+*************
+
+.. image:: ../images/image_representations.png
+ :align: center
+
+Fields module allows creating several types of presentations. All presentation types can be split in two main groups:
+
+* :ref:`fields_mesh_presentation_page`: can be created on a mesh
+* :ref:`fields_fields_presentation_page`: can be created on a field
+
+.. toctree::
+ :hidden:
+ :maxdepth: 2
+
+ fields_mesh_presentation.rst
+ fields_fields_presentation.rst
+ fields_managing_presentations.rst
+
--- /dev/null
+.. _fields_scalar_map_presentation_page:
+
+***********************
+Scalar map presentation
+***********************
+
+.. image:: ../images/image_scalar_map_prs.png
+ :align: center
+
+**Scalar map** is the basic type of presentation in Fields module. It consists in coloring each cell of a field
+in accordance with the scalar or vector data applied to it.
+
+.. |img_sm| image:: ../images/image_scalar_map.png
+
+To create a **Scalar map** presentation,
+
+* Select a field item in the **Object Browser**, and
+* Choose **Presentations > Scalar map** menu or click |img_sm| button in the *Presentations* toolbar.
+
+As a result, **Scalar map** presentation is published in the **Object Browser** under selected field and
+displayed in the 3D Viewer.
+
+As soon as **Scalar map** presentation is created, it is possible to modify the following base parameters:
+
+* **Show Scalar Bar**: allows showing/hiding Scalar Bar for the presentation,
+* **Range**: allows choosing a way of coloring presentation:
+
+ * **All timesteps**: color presentation by the entire dataset in a time series,
+ * **Current timestep**: color presentation by the current time step,
+
+* **Color map**: allows choosing a color palette for the presentation - "Cool to warm" or "Blue to red rainbow",
+* **Custom Range**: allows coloring presentation according to a custom data range,
+* **Hide Data outside custom Range**: allows showing/hiding cells with values outside of the custom range.
+
+In addition, if **Scalar map** presentation is created on a vector field, it is possible to modify the following
+parameters:
+
+* **Displayed component**: allows coloring the presentation according to an Euclidean norm value of vector field or
+ to a given component of vector field.
--- /dev/null
+.. _fields_slices_presentation_page:
+
+*******************
+Slices presentation
+*******************
+
+.. image:: ../images/image_slices_prs.png
+ :align: center
+
+**Slices** is a type of field presentation, when the given mesh is cut by a number of planes.
+These planes are colored according the the values applied to the mesh cells.
+
+.. |img_sl| image:: ../images/image_slices.png
+
+To create a **Slices** presentation,
+
+* Select a field item in the **Object Browser**, and
+* Choose **Presentations > Slices** menu or click |img_sl| button in the *Presentations* toolbar.
+
+As a result, **Slices** presentation is published in the **Object Browser** under selected field and displayed
+in the 3D Viewer.
+
+**Slices** presentation has the same base parameters as :ref:`fields_scalar_map_presentation_page`, plus
+the following own ones:
+
+* **Displayed component**: this parameter is available only for vector fields; it allows coloring the presentation
+ in accordance with the Euclidean norm value of a vector field or with the given component of a vector field,
+* **Number of slices**: specifies the number of cutting planes; max allowed value of this parameter is 20,
+* **Slice orientation**: defines an orientation of cutting planes.
--- /dev/null
+.. _fields_stream_lines_presentation_page:
+
+*************************
+Stream lines presentation
+*************************
+
+.. image:: ../images/image_stream_lines_prs.png
+ :align: center
+
+**Stream lines** is a type of presentation transforming the cells with vectors having most similar direction into lines.
+A streamline can be thought of as the path that a massless particle takes in a vector field. Streamlines are used to
+convey the structure of a vector field.
+
+.. |img_stl| image:: ../images/image_stream_lines.png
+
+To create a **Stream lines** presentation,
+
+* Select a field item in the **Object Browser**, and
+* Choose **Presentations > Stream lines** menu or click |img_stl| button in the *Presentations* toolbar.
+
+As a result, **Stream lines** presentation is published in the **Object Browser** under selected field and displayed
+in the 3D Viewer.
+
+**Stream lines** presentation has the same base parameters as a :ref:`fields_scalar_map_presentation_page`,
+but in addition it also has own specific ones:
+
+* **Integration Direction**: specifies in which direction(s) streamlines are generated.
--- /dev/null
+.. _fields_vector_field_presentation_page:
+
+*************************
+Vector field presentation
+*************************
+
+.. image:: ../images/image_vector_field_prs.png
+ :align: center
+
+**Vector field** presentation visualizes vectors of the corresponding mesh cells in graphical mode.
+
+.. |img_vct| image:: ../images/image_vector.png
+
+To create a **Vector field** presentation,
+
+* Select a field item in the **Object Browser**, and
+* Choose **Presentations > Vector field** menu or click |img_vct| button in the *Presentations* toolbar.
+
+As a result, **Vector field** presentation is published in the **Object Browser** under selected field and displayed
+in the 3D Viewer.
+
+**Vector field** presentation has the same base parameters as :ref:`fields_scalar_map_presentation_page`, plus
+the following own ones:
+
+* **Scale Factor**: specifies the constant multiplier to apply - it is used to scale vectors.
--- /dev/null
+**********
+View Modes
+**********
+
+View mode specifies a way presentations are created. The following view modes are supported:
+
+* **Replace**: a newly created presentation is published in the Object Browser and displayed in the active 3D Viewer.
+ All previously created presentations are deleted.
+* **Overlap**: a newly created presentation is added into Object Browser and displayed in the active 3D Viewer.
+ All previously created presentations are kept as is.
+* **New Layout**: a newly created presentation is added into Object Browser. New 3D Viewer (layout) is created and
+ presentation is displayed in this new 3D Viewer. All previously created presentations are kept as is.
+* **Split**: a newly created presentation is added into Object Browser. An active 3D Viewer (layout) is split,
+ and a new 3D Viewer is added to the layout. Newly created presentation is displayed in this new 3D Viewer;
+ all previously created presentations are kept as is.
--- /dev/null
+Welcome to Fields's documentation!
+==================================
+
+.. toctree::
+
+ fields_introduction.rst
+ fields_preferences.rst
+ fields_data_source.rst
+ fields_view_modes.rst
+ fields_presentations.rst
+
+Indices and tables
+==================
+
+* :ref:`search`
--- /dev/null
+This directory stores French localization files of documentation.
\ No newline at end of file
--- /dev/null
+(function() {
+ 'use strict';
+
+ // Parses versions in URL segments like:
+
+ var all_languages = {
+ 'en': 'English',
+ 'fr': 'French',
+ };
+
+ function build_language_select(current_language) {
+ var buf = ['<select>'];
+
+ $.each(all_languages, function(language, title) {
+ if (language == current_language)
+ buf.push('<option value="' + language + '" selected="selected">' +
+ all_languages[current_language] + '</option>');
+ else
+ buf.push('<option value="' + language + '">' + title + '</option>');
+ });
+ buf.push('</select>');
+ return buf.join('');
+ }
+
+ function on_language_switch() {
+ var selected_language = $(this).children('option:selected').attr('value') + '/';
+ var url = window.location.href;
+
+ var current_language = language_segment_from_url(url);
+ var current_suffix = "";
+ if (current_language != "") {
+ current_suffix = "_";
+ } else {
+ current_language = "/";
+ }
+
+ var selected_suffix = "_";
+ if (selected_language == 'en/') { // Special 'default' case for english.
+ selected_language = '';
+ selected_suffix = "/";
+ }
+
+ var new_url = url.replace('/gui/GUI' + current_suffix + current_language,
+ '/gui/GUI' + selected_suffix + selected_language);
+ if (new_url != url) {
+ window.location.href = new_url;
+ }
+ }
+
+ // Returns the path segment of the language as a string, like 'fr/'
+ // or '' if not found.
+ function language_segment_from_url(url) {
+ var language_regexp = '\/gui/GUI_([a-z]{2}(?:-[a-z]{2})?/)';
+ var match = url.match(language_regexp);
+ if (match !== null)
+ return match[1];
+ return '';
+ }
+
+ $(document).ready(function() {
+ if(@BUILD_LANGUAGE_SWITCHER@) {
+ var release = DOCUMENTATION_OPTIONS.VERSION;
+ var language_segment = language_segment_from_url(window.location.href);
+ var current_language = language_segment.replace(/\/+$/g, '') || 'English';
+
+ var language_select = build_language_select(current_language);
+
+ $('.language_switcher_placeholder').html(language_select);
+ $('.language_switcher_placeholder select').bind('change', on_language_switch);
+ }
+ });
+})();
--- /dev/null
+{% extends "!breadcrumbs.html" %}
+
+{% block breadcrumbs_aside %}
+{{ super() }}
+ <ul class="wy-breadcrumbs">
+ {% set path_to_main = pathto('../dev/FIELDS/index') %}
+ <li><a href="{{ path_to_main }}">Return to main documentation page</a></li>
+ </ul
+{% endblock %}
--- /dev/null
+{% extends "!layout.html" %}
+
+{% block rootrellink %}
+ <span class="language_switcher_placeholder">{{ language or 'English' }}</span>
+ {{ super() }}
+{% endblock %}
+
+{% block extrahead %}
+<script type="text/javascript" src="{{ pathto('_static/switchers.js', 1) }}"></script>
+{{ super() }}
+{% endblock %}
+
+{%- block sidebarlogo %}
+{{ super() }}
+{%-
+include "searchbox.html"
+%}
+<p/>
+{%- endblock %}
+{%- block sidebarsearch %}
+{%- endblock %}
+
+{%- block footer %}
+ <div class="footer">
+ Copyright © 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE
+ <br>
+ Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS.
+ </div>
+ {{ super() }}
+{%- endblock %}