mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-24 16:30:34 +05:00
Merge from BR_pypkg (python packaging)
This commit is contained in:
parent
4de666ddfa
commit
656fe38db7
@ -28,6 +28,6 @@ find bin -name Makefile.in | xargs rm -f
|
||||
find doc -name Makefile.in | xargs rm -f
|
||||
find idl -name Makefile.in | xargs rm -f
|
||||
find resources -name Makefile.in | xargs rm -f
|
||||
find salome_adm -name Makefile.in | xargs rm -f
|
||||
find adm_local -name Makefile.in | xargs rm -f
|
||||
find src -name Makefile.in | xargs rm -f
|
||||
rm -f Makefile.in
|
||||
|
15
configure.ac
15
configure.ac
@ -347,6 +347,13 @@ echo
|
||||
|
||||
CHECK_HTML_GENERATORS
|
||||
|
||||
echo
|
||||
echo ---------------------------------------------
|
||||
echo testing sphinx
|
||||
echo ---------------------------------------------
|
||||
echo
|
||||
CHECK_SPHINX
|
||||
|
||||
echo
|
||||
echo ---------------------------------------------
|
||||
echo Testing Kernel
|
||||
@ -382,11 +389,11 @@ echo
|
||||
echo Configure
|
||||
|
||||
if test "${gui_ok}" = "yes"; then
|
||||
variables="cc_ok fortran_ok boost_ok lex_yacc_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok omniORB_ok occ_ok doxygen_ok graphviz_ok qwt_ok Kernel_ok Geom_ok Med_ok gui_ok"
|
||||
variables="cc_ok fortran_ok boost_ok lex_yacc_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok omniORB_ok occ_ok doxygen_ok graphviz_ok sphinx_ok qwt_ok Kernel_ok Geom_ok Med_ok gui_ok"
|
||||
elif test "${SalomeGUI_need}" != "no"; then
|
||||
variables="cc_ok fortran_ok boost_ok lex_yacc_ok python_ok swig_ok threads_ok hdf5_ok omniORB_ok occ_ok doxygen_ok graphviz_ok Kernel_ok Geom_ok Med_ok gui_ok"
|
||||
variables="cc_ok fortran_ok boost_ok lex_yacc_ok python_ok swig_ok threads_ok hdf5_ok omniORB_ok occ_ok doxygen_ok graphviz_ok sphinx_ok Kernel_ok Geom_ok Med_ok gui_ok"
|
||||
else
|
||||
variables="cc_ok fortran_ok boost_ok lex_yacc_ok python_ok swig_ok threads_ok hdf5_ok omniORB_ok occ_ok doxygen_ok graphviz_ok Kernel_ok Geom_ok Med_ok"
|
||||
variables="cc_ok fortran_ok boost_ok lex_yacc_ok python_ok swig_ok threads_ok hdf5_ok omniORB_ok occ_ok doxygen_ok graphviz_ok sphinx_ok Kernel_ok Geom_ok Med_ok"
|
||||
fi
|
||||
|
||||
for var in $variables
|
||||
@ -440,6 +447,7 @@ AC_OUTPUT([ \
|
||||
bin/Makefile \
|
||||
SMESH_version.h \
|
||||
doc/Makefile \
|
||||
doc/docutils/Makefile \
|
||||
doc/salome/Makefile \
|
||||
doc/salome/gui/Makefile \
|
||||
doc/salome/gui/SMESH/Makefile \
|
||||
@ -471,6 +479,7 @@ AC_OUTPUT([ \
|
||||
src/StdMeshers/Makefile \
|
||||
src/StdMeshersGUI/Makefile \
|
||||
src/StdMeshers_I/Makefile \
|
||||
src/SMESH_PY/Makefile \
|
||||
resources/Makefile \
|
||||
resources/SMESHCatalog.xml \
|
||||
idl/Makefile \
|
||||
|
@ -24,7 +24,7 @@
|
||||
# $Header$
|
||||
# source path
|
||||
#
|
||||
SUBDIRS = salome
|
||||
SUBDIRS = salome docutils
|
||||
|
||||
usr_docs:
|
||||
(cd salome && $(MAKE) $(AM_MAKEFLAGS) usr_docs)
|
||||
|
92
doc/docutils/Makefile.am
Normal file
92
doc/docutils/Makefile.am
Normal file
@ -0,0 +1,92 @@
|
||||
# -*- coding: iso-8859-1 -*-
|
||||
# Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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 $(top_srcdir)/adm_local/unix/make_common_starter.am
|
||||
|
||||
pydocdir = $(docdir)/tui/SMESH/docutils
|
||||
|
||||
.PHONY : latex
|
||||
|
||||
if SPHINX_IS_OK
|
||||
|
||||
pydoc_DATA=html/index.html
|
||||
html/index.html:$(RSTFILES)
|
||||
make htm
|
||||
|
||||
endif
|
||||
|
||||
EXTRA_DIST+= html
|
||||
|
||||
SPHINXOPTS =
|
||||
SOURCEDIR = $(srcdir)
|
||||
SPHINXBUILD = sphinx-build
|
||||
PAPEROPT_a4 = -D latex_paper_size=a4
|
||||
ALLSPHINXOPTS = -d doctrees $(PAPEROPT_a4) $(SPHINXOPTS) $(SOURCEDIR)
|
||||
|
||||
SPHINX_PYTHONPATH = $(prefix)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(KERNEL_ROOT_DIR)/bin/salome:$(KERNEL_ROOT_DIR)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(OMNIORB_ROOT)/lib/python$(PYTHON_VERSION)/site-packages
|
||||
|
||||
SPHINX_LD_LIBRARY_PATH = $(OMNIORB_ROOT)/lib
|
||||
|
||||
htm:
|
||||
mkdir -p html doctrees
|
||||
PYTHONPATH=$(SPHINX_PYTHONPATH):${PYTHONPATH}; \
|
||||
LD_LIBRARY_PATH=$(SPHINX_LD_LIBRARY_PATH):${LD_LIBRARY_PATH}; \
|
||||
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) html
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in html."
|
||||
|
||||
latex:
|
||||
mkdir -p latex doctrees
|
||||
PYTHONPATH=$(SPHINX_PYTHONPATH):${PYTHONPATH}; \
|
||||
LD_LIBRARY_PATH=$(SPHINX_LD_LIBRARY_PATH):${LD_LIBRARY_PATH}; \
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) latex
|
||||
@echo
|
||||
@echo "Build finished; the LaTeX files are in latex."
|
||||
@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
|
||||
"run these through (pdf)latex."
|
||||
|
||||
html:
|
||||
mkdir -p $@
|
||||
|
||||
RSTFILES= \
|
||||
index.rst \
|
||||
overview.rst \
|
||||
docapi.rst
|
||||
|
||||
EXTRA_DIST+= $(RSTFILES)
|
||||
|
||||
EXTRA_DIST+= \
|
||||
conf.py
|
||||
|
||||
install-data-local:
|
||||
$(INSTALL) -d $(pydocdir)
|
||||
if test -d "html"; then b=; else b="$(srcdir)/"; fi; \
|
||||
cp -rf $$b"html"/* $(pydocdir) ; \
|
||||
if test -f $$b"latex"/smeshpy.pdf; then cp -f $$b"latex"/smeshpy.pdf $(pydocdir) ; fi;
|
||||
|
||||
uninstall-local:
|
||||
chmod -R +w $(pydocdir)
|
||||
rm -rf $(pydocdir)/*
|
||||
|
||||
clean-local:
|
||||
-rm -rf html latex doctrees
|
||||
if test -d "html"; then rm -rf html ; fi
|
200
doc/docutils/conf.py
Normal file
200
doc/docutils/conf.py
Normal file
@ -0,0 +1,200 @@
|
||||
# -*- coding: iso-8859-1 -*-
|
||||
#
|
||||
# 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
|
||||
|
||||
# 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']
|
||||
|
||||
# Uncomment the following line to build the links with Python documentation
|
||||
# (you might need to set http_proxy environment variable for this to work)
|
||||
#extensions += ['sphinx.ext.intersphinx']
|
||||
|
||||
# Intersphinx mapping to add links to modules and objects in the Python
|
||||
# standard library documentation
|
||||
intersphinx_mapping = {'http://docs.python.org': None}
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_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 = 'SMESH python packages'
|
||||
copyright = '2010 EDF R&D'
|
||||
|
||||
# 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 = '5.1.4'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '5.1.4'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
language = 'en'
|
||||
|
||||
# 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','.svn']
|
||||
|
||||
# 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'.
|
||||
html_theme = 'default'
|
||||
#html_theme = 'nature'
|
||||
#html_theme = 'agogo'
|
||||
#html_theme = 'sphinxdoc'
|
||||
#html_theme = 'omadoc'
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
#html_theme_path = ['themes']
|
||||
|
||||
# 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 = ['_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 = False
|
||||
|
||||
# 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/<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 = 'smeshpydoc'
|
||||
|
||||
|
||||
# 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', 'smeshpy.tex', 'Documentation of the SMESH python packages', 'EDF R\&D', 'manual')
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
# the title page.
|
||||
latex_logo = '../salome/tui/images/head.png'
|
||||
|
||||
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||
# not chapters.
|
||||
#latex_use_parts = True
|
||||
|
||||
# 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 = False
|
17
doc/docutils/docapi.rst
Normal file
17
doc/docutils/docapi.rst
Normal file
@ -0,0 +1,17 @@
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Documentation of the programming interface (API)
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
This section describes the python packages and modules of the
|
||||
``salome.smesh`` python package. The main part is generated from the
|
||||
code documentation included in source python files.
|
||||
|
||||
:mod:`salome.smesh` -- Package containing the SMESH python utilities
|
||||
====================================================================
|
||||
|
||||
:mod:`smeshstudytools` -- Tools to access SMESH objects in the study
|
||||
--------------------------------------------------------------------
|
||||
|
||||
.. automodule:: salome.smesh.smeshstudytools
|
||||
:members:
|
14
doc/docutils/index.rst
Normal file
14
doc/docutils/index.rst
Normal file
@ -0,0 +1,14 @@
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Documentation of the SMESH python packages
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Main documentation
|
||||
==================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
|
||||
overview.rst
|
||||
docapi.rst
|
||||
|
24
doc/docutils/overview.rst
Normal file
24
doc/docutils/overview.rst
Normal file
@ -0,0 +1,24 @@
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
General presentation of the SMESH python package
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
The SMESH python package contains (today) helpser functions to
|
||||
manipulate mesh elements and interact with this elements.
|
||||
|
||||
Note that these functions either encapsulate the python programming
|
||||
interface of SMESH core (the CORBA or SWIG interface for example) or
|
||||
extend existing utilities as the ``smesh.py`` module.
|
||||
|
||||
The functions are distributed in the python package
|
||||
``salome.smesh``.
|
||||
|
||||
The specification of the programming interface of this package is
|
||||
detailled in the part :doc:`Documentation of the programming interface
|
||||
(API)</docapi>` of this documentation.
|
||||
|
||||
.. note::
|
||||
The main package ``salome`` contains other sub-packages that are
|
||||
distributed with the other SALOME modules. For example, the KERNEL
|
||||
module provides the python package ``salome.kernel`` and GEOM the
|
||||
package ``salome.geom``.
|
14
doc/salome/gui/SMESH/input/smeshpypkg.doc
Normal file
14
doc/salome/gui/SMESH/input/smeshpypkg.doc
Normal file
@ -0,0 +1,14 @@
|
||||
/*!
|
||||
|
||||
\page smeshpypkg_page Programming Interface of the SMESH python package
|
||||
|
||||
Sorry, but the documentation is not available yet in doxygen format.
|
||||
|
||||
Fortunately, a documentation exists in restructured format and then
|
||||
can be generated here using sphinx, in the expectative of the doxygen
|
||||
version.
|
||||
|
||||
Please refer to this <a href="../../tui/SMESH/docutils/index.html">
|
||||
documentation of the SMESH python packages</a>.
|
||||
|
||||
*/
|
@ -40,7 +40,8 @@ SUBDIRS = \
|
||||
SMESH_SWIG \
|
||||
MEFISTO2 \
|
||||
StdMeshers \
|
||||
StdMeshers_I
|
||||
StdMeshers_I \
|
||||
SMESH_PY
|
||||
|
||||
if SMESH_ENABLE_GUI
|
||||
SUBDIRS += \
|
||||
@ -54,4 +55,4 @@ endif
|
||||
|
||||
DIST_SUBDIRS = SMDS SMESHDS Controls Driver DriverMED DriverDAT DriverUNV DriverSTL SMESH \
|
||||
SMESH_I SMESHClient SMESH_SWIG MEFISTO2 StdMeshers StdMeshers_I OBJECT \
|
||||
SMESHFiltersSelection SMESHGUI PluginUtils SMESH_SWIG_WITHIHM StdMeshersGUI
|
||||
SMESHFiltersSelection SMESHGUI PluginUtils SMESH_SWIG_WITHIHM StdMeshersGUI SMESH_PY
|
||||
|
25
src/SMESH_PY/Makefile.am
Normal file
25
src/SMESH_PY/Makefile.am
Normal file
@ -0,0 +1,25 @@
|
||||
# Copyright (C) 2007-2010 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.
|
||||
#
|
||||
# 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 $(top_srcdir)/adm_local/unix/make_common_starter.am
|
||||
|
||||
salomepypkgdir = $(salomepythondir)/salome/smesh
|
||||
salomepypkg_PYTHON = \
|
||||
__init__.py \
|
||||
smeshstudytools.py
|
1
src/SMESH_PY/__init__.py
Normal file
1
src/SMESH_PY/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
# -*- coding: iso-8859-1 -*-
|
71
src/SMESH_PY/smeshstudytools.py
Normal file
71
src/SMESH_PY/smeshstudytools.py
Normal file
@ -0,0 +1,71 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright (C) 2007-2009 EDF R&D
|
||||
#
|
||||
# This file is part of PAL_SRC.
|
||||
#
|
||||
# PAL_SRC is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# PAL_SRC 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 General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with PAL_SRC; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
#
|
||||
"""
|
||||
This module provides a new class :class:`SMeshStudyTools` to facilitate the
|
||||
use of mesh objects in Salome study.
|
||||
"""
|
||||
|
||||
import salome
|
||||
SMESH = None # SMESH module is loaded only when needed
|
||||
|
||||
from salome.kernel.studyedit import getStudyEditor
|
||||
|
||||
class SMeshStudyTools:
|
||||
"""
|
||||
This class provides several methods to manipulate mesh objects in Salome
|
||||
study. The parameter `studyEditor` defines a
|
||||
:class:`~salome.kernel.studyedit.StudyEditor` object used to access the study. If
|
||||
:const:`None`, the method returns a :class:`~salome.kernel.studyedit.StudyEditor`
|
||||
object on the current study.
|
||||
|
||||
.. attribute:: editor
|
||||
|
||||
This instance attribute contains the underlying
|
||||
:class:`~salome.kernel.studyedit.StudyEditor` object. It can be used to access
|
||||
the study but the attribute itself should not be modified.
|
||||
|
||||
"""
|
||||
|
||||
def __init__(self, studyEditor = None):
|
||||
global SMESH
|
||||
if SMESH is None:
|
||||
SMESH = __import__("SMESH")
|
||||
if studyEditor is None:
|
||||
studyEditor = getStudyEditor()
|
||||
self.editor = studyEditor
|
||||
|
||||
def getMeshFromGroup(self, meshGroupItem):
|
||||
"""
|
||||
Get the mesh item owning the mesh group `meshGroupItem`.
|
||||
|
||||
:type meshGroupItem: SObject
|
||||
:param meshGroupItem: Mesh group belonging to the searched mesh.
|
||||
|
||||
:return: The SObject corresponding to the mesh, or None if it was not
|
||||
found.
|
||||
"""
|
||||
meshItem = None
|
||||
obj = self.editor.getOrLoadObject(meshGroupItem)
|
||||
group = obj._narrow(SMESH.SMESH_GroupBase)
|
||||
if group is not None: # The type of the object is ok
|
||||
meshObj = group.GetMesh()
|
||||
meshItem = salome.ObjectToSObject(meshObj)
|
||||
return meshItem
|
Loading…
Reference in New Issue
Block a user