From: cvw Date: Thu, 13 Jun 2013 13:50:31 +0000 (+0000) Subject: add SMESH plugin MGCleaner X-Git-Tag: V7_3_0a1~344 X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=commitdiff_plain;h=3bd0a20a52001d4fef699d9d609048c3f99f2f42;hp=739951e33dc4c26bfb1bf492bf4d9293fe084018 add SMESH plugin MGCleaner --- diff --git a/src/Tools/MGCleanerPlug/doc/Advanced_params.rst b/src/Tools/MGCleanerPlug/doc/Advanced_params.rst new file mode 100644 index 000000000..34178cfd3 --- /dev/null +++ b/src/Tools/MGCleanerPlug/doc/Advanced_params.rst @@ -0,0 +1,11 @@ +Advanced Remeshing Options +========================== + +See tooltips comments for each parameter. +See also :download:`MG-cleaner user manual `. + +.. image:: images/Advanced.png + :align: center + + + diff --git a/src/Tools/MGCleanerPlug/doc/Generics_params.rst b/src/Tools/MGCleanerPlug/doc/Generics_params.rst new file mode 100644 index 000000000..45133412c --- /dev/null +++ b/src/Tools/MGCleanerPlug/doc/Generics_params.rst @@ -0,0 +1,18 @@ +Generic Options +================= + +These options are not meshing options but allow the user to configure control parameters for MG-Cleaner. + + +- **Verbosity Level** + +This parameter (between 0 and 10) indicates the amount of information that MG-Cleaner prints during the run. + + +- **File** + +You can change the file used to store your favorite remeshing hypothesis. see paragraph :ref:`hypothesis-label` for further informations. + +.. image:: images/Generic.png + :align: center + diff --git a/src/Tools/MGCleanerPlug/doc/Makefile.am b/src/Tools/MGCleanerPlug/doc/Makefile.am new file mode 100644 index 000000000..d122e7966 --- /dev/null +++ b/src/Tools/MGCleanerPlug/doc/Makefile.am @@ -0,0 +1,70 @@ +# Makefile for Sphinx documentation +# + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +MGCleanerdocdir=$(docdir)/gui/SMESH/MGCleaner + +RSTFILES = lct.rst \ + index.rst \ + editHypo.rst \ + Mandatory_params.rst \ + Generics_params.rst \ + Advanced_params.rst + +EXTRA_DIST += $(RSTFILES) images files + +# You can set these variables from the command line. +SPHINXOPTS = +SOURCEDIR = $(srcdir) +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build +CONF_FILE_DIR = $(top_builddir)/src/Tools/MGCleanerPlug/doc + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees -c $(CONF_FILE_DIR) $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) $(SOURCEDIR) + +.PHONY: help clean html latexpdf + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +install-data-local: $(BUILDDIR)/html/index.html + -test -z $(MGCleanerdocdir) || mkdir -p $(MGCleanerdocdir) && cp -rf $(BUILDDIR)/html/* $(MGCleanerdocdir) ; + +uninstall-local: + -test -d $(MGCleanerdocdir) && chmod -R +w $(MGCleanerdocdir) && rm -rf $(MGCleanerdocdir)/* + +clean-local: + -rm -rf $(BUILDDIR)/* + +$(BUILDDIR)/html/index.html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + diff --git a/src/Tools/MGCleanerPlug/doc/Mandatory_params.rst b/src/Tools/MGCleanerPlug/doc/Mandatory_params.rst new file mode 100644 index 000000000..541a3bdf7 --- /dev/null +++ b/src/Tools/MGCleanerPlug/doc/Mandatory_params.rst @@ -0,0 +1,27 @@ +Simple Remeshing Options +========================= + +simple case +----------- + + All options, but the input mesh, have default values. however, **you have to specified these + simple options in order to drive MG-Cleaner and control remeshing parameters**. + + You can access Distene documentation by clicking on Help button. + + +.. image:: images/Simple.png + :align: center + + +- **Original Mesh** + + You have to select a Mesh Object from Salome Object Browser or choose a .GMF file. + + +Options +------------ + +This is the main remeshing Option. + + diff --git a/src/Tools/MGCleanerPlug/doc/conf.py.in b/src/Tools/MGCleanerPlug/doc/conf.py.in new file mode 100644 index 000000000..b8f430700 --- /dev/null +++ b/src/Tools/MGCleanerPlug/doc/conf.py.in @@ -0,0 +1,179 @@ +# -*- coding: utf-8 -*- +# +# MGCleaner PlugIn documentation build configuration file, created by +# sphinx-quickstart on April 2013. +# +# 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 value; values that are commented out +# serve to show the default value. + +import sys, os + +# 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('some/directory')) + +# 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'] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['.templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# General substitutions. +project = 'MGCleaner Plug-in' +copyright = '2013, CEA' + +# The default replacements for |version| and |release|, also used in various +# other places throughout the built documents. +# +# The short X.Y version. +version = '@VERSION@' +# The full version, including alpha/beta/rc tags. +release = '@VERSION@' + +# 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 directories, that shouldn't be searched +# for source files. +#exclude_dirs = [] + +# 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 style sheet to use for HTML and HTML Help pages. A file of that name +# must exist either in Sphinx' static/ path, or in one of the custom paths +# given in html_static_path. +html_style = 'default.css' + +# The name for this set of Sphinx documents. If None, it defaults to +# " v 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 (within the static path) 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 = ['.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 = {} + +# 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 = True + +# 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/. +#html_copy_source = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a 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 = 'MGCleanerPlug-in doc' + + +# Options for LaTeX output +# ------------------------ + +# The paper size ('letter' or 'a4'). +#latex_paper_size = 'letter' + +# 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', 'MGCleanerPlugIn.tex', 'MGCleaner PlugIn Documentation', + 'CEA', '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 = '' + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_use_modindex = True diff --git a/src/Tools/MGCleanerPlug/doc/editHypo.rst b/src/Tools/MGCleanerPlug/doc/editHypo.rst new file mode 100644 index 000000000..5ab05f374 --- /dev/null +++ b/src/Tools/MGCleanerPlug/doc/editHypo.rst @@ -0,0 +1,50 @@ +.. _hypothesis-label: + +=========================== +How to save MG-Cleaner Parameters +=========================== + +MG-Cleaner hypothesis is not meshing hypothesis for Salome, but hypothesis for MG-Cleaner. +The current set of parameters is automatically written in the salome study object browser when you run computation. + +Theses parameters could also be stored in a special file. +Default file is $HOME/.MGCleaner.dat. +This ASCII file is appended, and never cleaned. + +In frame "Plug-in Generic Options": + +- To save the current setting in this file, click on "Save" pushbutton. +- To load the last set of parameters saved, click on "Load" pushbutton. + +At the bottom of the dialog window: + +- To save a current setting in the study object browser, click on "Save" pushbutton. +- To load a current setting from the study object browser, click on "Load" pushbutton. +- To load the default setting, click on "Default" pushbutton. . + + +**example of .MGCleaner.dat** + + +.. code-block:: python + + # MGCleaner hypothesis parameters + # Params for mesh : Mesh_1 + # Date : 21/05/13 10:44:05 + # Command : mg-cleaner.exe --verbose 2 --in /tmp/ForMGCleaner_2.mesh --out /tmp/ForMGCleaner_2_fix.mesh --check --topology ignore --tolerance_displacement 0.0 --folding_angle 15.0 --overlap_angle 15.0 + CheckOrFix=check + PreserveTopology=False + FillHoles=False + MinHoleSize=0.0 + ComputedToleranceDisplacement=True + ToleranceDisplacement=0.0 + ComputedResolutionLength=False + ResolutionLength=0.0 + FoldingAngle=15.0 + RemeshPlanes=False + ComputedOverlapDistance=True + OverlapDistance=0.0 + OverlapAngle=15.0 + Verbosity=2 + + diff --git a/src/Tools/MGCleanerPlug/doc/files/mg-cleaner_user_manual.pdf b/src/Tools/MGCleanerPlug/doc/files/mg-cleaner_user_manual.pdf new file mode 100644 index 000000000..a3907d243 Binary files /dev/null and b/src/Tools/MGCleanerPlug/doc/files/mg-cleaner_user_manual.pdf differ diff --git a/src/Tools/MGCleanerPlug/doc/images/Advanced.png b/src/Tools/MGCleanerPlug/doc/images/Advanced.png new file mode 100644 index 000000000..2e19ee577 Binary files /dev/null and b/src/Tools/MGCleanerPlug/doc/images/Advanced.png differ diff --git a/src/Tools/MGCleanerPlug/doc/images/AppelMGCleaner.png b/src/Tools/MGCleanerPlug/doc/images/AppelMGCleaner.png new file mode 100644 index 000000000..620e8f2e6 Binary files /dev/null and b/src/Tools/MGCleanerPlug/doc/images/AppelMGCleaner.png differ diff --git a/src/Tools/MGCleanerPlug/doc/images/Generic.png b/src/Tools/MGCleanerPlug/doc/images/Generic.png new file mode 100644 index 000000000..a6614bf49 Binary files /dev/null and b/src/Tools/MGCleanerPlug/doc/images/Generic.png differ diff --git a/src/Tools/MGCleanerPlug/doc/images/Simple.png b/src/Tools/MGCleanerPlug/doc/images/Simple.png new file mode 100644 index 000000000..52775723c Binary files /dev/null and b/src/Tools/MGCleanerPlug/doc/images/Simple.png differ diff --git a/src/Tools/MGCleanerPlug/doc/images/Tolerance.png b/src/Tools/MGCleanerPlug/doc/images/Tolerance.png new file mode 100644 index 000000000..6df0c80c7 Binary files /dev/null and b/src/Tools/MGCleanerPlug/doc/images/Tolerance.png differ diff --git a/src/Tools/MGCleanerPlug/doc/index.rst b/src/Tools/MGCleanerPlug/doc/index.rst new file mode 100644 index 000000000..533951573 --- /dev/null +++ b/src/Tools/MGCleanerPlug/doc/index.rst @@ -0,0 +1,30 @@ +.. MeshGems-Cleaner documentation master file, created by sphinx-quickstart on Wed Sep 14 11:40:32 2011. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +MeshGems-Cleaner plugin documentation +===================================== + +This documentation covers the usage of MeshGems-Cleaner, also named MG-Cleaner or MGCleaner as plug-in in Salome that can be used within the Salome +Mesh module for remeshing 2D Surface. + +MG-Cleaner plug-in uses Distene commercial software MeshGems-Cleaner, which is an **automatic surface remeshing tool**. +This plug_in offers only the most common functionnalities of the tool. + +.. note:: + for a complete documentation, see :download:`MG-cleaner user manual `. + +Contents: + +.. toctree:: + :maxdepth: 2 + + lct.rst + Mandatory_params.rst + Advanced_params.rst + Generics_params.rst + editHypo.rst + + + + diff --git a/src/Tools/MGCleanerPlug/doc/lct.rst b/src/Tools/MGCleanerPlug/doc/lct.rst new file mode 100644 index 000000000..c37726b9e --- /dev/null +++ b/src/Tools/MGCleanerPlug/doc/lct.rst @@ -0,0 +1,11 @@ +Running MGCleaner Plug-in +===================== + +MGCleaner plug-in can be invoked via SMESH Plugin item in Mesh menu bar + +.. image:: images/AppelMGCleaner.png + :align: center + + +This plug-in works only with the commercial software MeshGemsCleaner. To obtain a license, +visit www.distene.comm