0021308: EDF 1923 SMESH: Remove hard-coded dependency of the external mesh plugins from the SMESH module: Update documentation.

This commit is contained in:
rnv 2012-03-27 13:02:49 +00:00
parent 7c7b7b476d
commit 8097c3fa57
25 changed files with 1543 additions and 27 deletions

View File

@ -39,9 +39,9 @@ else !NETGENPLUGIN_ENABLE_GUI
-I ${SMESH_ROOT_DIR}/adm_local/unix/config_files
endif
SUBDIRS = idl adm_local resources src bin
SUBDIRS = idl adm_local resources src bin doc
DIST_SUBDIRS = idl adm_local resources src bin
DIST_SUBDIRS = idl adm_local resources src bin doc
DISTCLEANFILES = a.out aclocal.m4 configure local-install.sh hack_libtool

View File

@ -440,6 +440,14 @@ AC_OUTPUT([ \
bin/VERSION \
bin/Makefile \
NETGENPLUGIN_version.h \
doc/Makefile \
doc/salome/Makefile \
doc/salome/gui/Makefile \
doc/salome/gui/NETGENPLUGIN/Makefile \
doc/salome/gui/NETGENPLUGIN/doxyfile \
doc/salome/gui/NETGENPLUGIN/doxyfile_py \
doc/salome/gui/NETGENPLUGIN/static/header.html \
doc/salome/gui/NETGENPLUGIN/static/header_py.html \
src/Makefile \
src/GUI/Makefile \
src/NETGEN/Makefile \

32
doc/Makefile.am Normal file
View File

@ -0,0 +1,32 @@
# Copyright (C) 2007-2011 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
#
# -* Makefile *-
# Author : Patrick GOLDBRONN (CEA)
# Date : 30/11/2001
# Modified by : Alexander BORODIN (OCN) - autotools usage
# $Header$
# source path
#
SUBDIRS = salome
usr_docs:
(cd salome && $(MAKE) $(AM_MAKEFLAGS) usr_docs)
docs: usr_docs

34
doc/salome/Makefile.am Normal file
View File

@ -0,0 +1,34 @@
# Copyright (C) 2007-2011 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
#
# -* Makefile *-
# Author : Patrick GOLDBRONN (CEA)
# Date : 30/11/2001
# Modified by : Alexander BORODIN (OCN) - autotools usage
# $Header:
#
SUBDIRS = gui
SUBDIRSGUI = gui
usr_docs:
@@SETX@; for d in $(SUBDIRSGUI); do \
(cd $$d && $(MAKE) $@) || exit 1; \
done;
docs: usr_docs

View File

@ -0,0 +1,32 @@
# Copyright (C) 2007-2011 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
#
# File : Makefile.in
# Author : Vasily Rusyaev (Open Cascade NN)
# Modified by : Alexander BORODIN (OCN) - autotools usage
# Module : doc
#
include $(top_srcdir)/adm_local/unix/make_common_starter.am
SUBDIRS = NETGENPLUGIN
usr_docs:
(cd NETGENPLUGIN && $(MAKE) $(AM_MAKEFLAGS) usr_docs)
docs: usr_docs

View File

@ -0,0 +1,67 @@
# Copyright (C) 2007-2011 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
#
# File : Makefile.in
# Author : Vasily Rusyaev (Open Cascade NN)
# Modified by : Alexander BORODIN (OCN) - autotools usage
# Module : doc
#
include $(top_srcdir)/adm_local/unix/make_common_starter.am
EXTRA_DIST += images input static/footer.html static/doxygen.css
guidocdir = $(docdir)/gui/NETGENPLUGIN
guidoc_DATA = images/head.png
usr_docs: doxyfile
echo "===========================================" ; \
echo "Generating Python interface documentation"; \
echo "===========================================" ; \
$(DOXYGEN) doxyfile_py \
echo "===========================================" ; \
echo "Generating GUI documentation" ; \
echo "===========================================" ; \
$(DOXYGEN) doxyfile ;
docs: usr_docs
clean-local:
@for filen in `find . -maxdepth 1` ; do \
case $${filen} in \
./Makefile | ./doxyfile | ./doxyfile_py ) ;; \
. | .. | ./static ) ;; \
*) echo "Removing $${filen}" ; rm -rf $${filen} ;; \
esac ; \
done ;
install-data-local: usr_docs
$(INSTALL) -d $(DESTDIR)$(docdir)/gui/NETGENPLUGIN
@for filen in `find . -maxdepth 1` ; do \
case $${filen} in \
./Makefile | ./doxyfile | ./doxyfile_py ) ;; \
./doxyfile.bak | ./doxyfile_py.bak ) ;; \
. | .. | ./static ) ;; \
*) echo "Installing $${filen}" ; cp -rp $${filen} $(DESTDIR)$(docdir)/gui/NETGENPLUGIN ;; \
esac ; \
done ;
cp -rp $(srcdir)/images/head.png $(DESTDIR)$(docdir)/gui/NETGENPLUGIN/netgenpluginpy_doc ;
uninstall-local:
rm -rf $(DESTDIR)$(docdir)/gui/NETGENPLUGIN

View File

@ -0,0 +1,115 @@
# Copyright (C) 2007-2011 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
#
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "SALOME NETGENPLUGIN User's Guide"
OUTPUT_DIRECTORY = .
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
TAB_SIZE = 5
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
#---------------------------------------------------------------------------
#Input related options
#---------------------------------------------------------------------------
INPUT = @srcdir@/input
FILE_PATTERNS = *.doc
EXCLUDE =
IMAGE_PATH = @srcdir@/images
EXAMPLE_PATH =
#---------------------------------------------------------------------------
#HTML related options
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = .
HTML_HEADER = @builddir@/static/header.html
HTML_FOOTER = @srcdir@/static/footer.html
HTML_STYLESHEET = @srcdir@/static/doxygen.css
TOC_EXPAND = YES
DISABLE_INDEX = NO
GENERATE_TREEVIEW = YES
TREEVIEW_WIDTH = 300
#---------------------------------------------------------------------------
# Configuration options related to the dot tool...
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = NO
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = NO
CLASS_GRAPH = NO
COLLABORATION_GRAPH = NO
GROUP_GRAPHS = NO
UML_LOOK = NO
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = NO
INCLUDED_BY_GRAPH = NO
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = NO
DIRECTORY_GRAPH = NO
DOT_IMAGE_FORMAT = jpg
DOT_FONTNAME = Arial
DOT_PATH =.
DOTFILE_DIRS =.
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1200
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = NO
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
#SORT related options
#---------------------------------------------------------------------------
SORT_GROUP_NAMES = NO
#---------------------------------------------------------------------------
#LaTeX related option
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
EXTRA_PACKAGES = amsmath
#---------------------------------------------------------------------------
#RTF related options
#---------------------------------------------------------------------------
GENERATE_RTF = NO
#---------------------------------------------------------------------------
#External reference options
#---------------------------------------------------------------------------
#rnv: 07.04.2011 Workaround for the doxygen 1.7.3:
#because it wrongly defines location of the html files for search.
TAGFILES = netgenpluginpy_doc.tag=../NETGENPLUGIN/netgenpluginpy_doc
SEARCHENGINE = YES

View File

@ -0,0 +1,162 @@
# Copyright (C) 2007-2011 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
#
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "SALOME NETGENPLUGIN User's Guide"
OUTPUT_DIRECTORY = .
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = YES
INLINE_INHERITED_MEMB = YES
FULL_PATH_NAMES = NO
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = YES
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 5
OPTIMIZE_OUTPUT_FOR_C = YES
OPTIMIZE_OUTPUT_JAVA = YES
BUILTIN_STL_SUPPORT = NO
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related options
#---------------------------------------------------------------------------
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = YES
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = YES
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = NO
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
MAX_INITIALIZER_LINES = 25
SHOW_USED_FILES = NO
SHOW_DIRECTORIES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = YES
USE_HTAGS = NO
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
EXCLUDE_SYMLINKS = NO
EXAMPLE_RECURSIVE = NO
#---------------------------------------------------------------------------
#Input related options
#---------------------------------------------------------------------------
INPUT = @top_srcdir@/src/NETGENPlugin/NETGENPluginDC.py
FILE_PATTERNS =
IMAGE_PATH = @srcdir@/images
RECURSIVE = NO
EXAMPLE_PATH =
#---------------------------------------------------------------------------
#HTML related options
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = netgenpluginpy_doc
HTML_HEADER = @builddir@/static/header_py.html
HTML_FOOTER = @srcdir@/static/footer.html
HTML_STYLESHEET = @srcdir@/static/doxygen.css
TOC_EXPAND = YES
DISABLE_INDEX = NO
GENERATE_TREEVIEW = NO
#---------------------------------------------------------------------------
#LaTeX related option
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
#---------------------------------------------------------------------------
#RTF related options
#---------------------------------------------------------------------------
GENERATE_RTF = NO
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = NO
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = NO
CLASS_GRAPH = NO
COLLABORATION_GRAPH = NO
GROUP_GRAPHS = NO
UML_LOOK = NO
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = NO
INCLUDED_BY_GRAPH = NO
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = NO
DIRECTORY_GRAPH = NO
DOT_IMAGE_FORMAT = jpg
DOT_FONTNAME = Arial
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1200
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = NO
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
#External reference options
#---------------------------------------------------------------------------
GENERATE_TAGFILE = netgenpluginpy_doc.tag
SEARCHENGINE = YES

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,26 @@
/*!
\page additional_hypo_page Additional Hypotheses
\n <b>Additional Hypotheses</b> can be applied as a supplement to the
main hypotheses, introducing additional concepts to mesh creation.
Following additional hypotheses can be used together with NETGEN algoritm:
<ul>
<li><b>Quadrangle Preference</b> - This additional hypothesis can be used together with Netgen 2D algorithm.
It allows Netgen 2D to build quadrangular meshes.</li>
<br>
This hypothesis has one restriction on its work: the total quantity of
segments on all four sides of the face must be even (divisible by 2).
<li><b>Viscous Layers</b> additional hypothesis can be used together with NETGEN 3D.
This hypothesis allows creation of layers of highly stretched prisms near
mesh boundary, which is beneficial for high quality viscous
computations. The prisms constructed on the quadrangular mesh faces are
actually the hexahedrons.</li>
</ul>
For more detailed description of the described above hypothesis please refer SALOME Mesh User's Guide.
*/

View File

@ -0,0 +1,20 @@
/*!
\mainpage Introduction to NETGENPLUGIN
\b NETGENPLUGIN plugin is destined for:
- Meshing 1D, 2D and 3D geometric entities.
- Faces are split into triangular elements.
- Volumes are split into tetrahedral (pyramidal) elements.
- Generating 3D meshes from 2D meshes, working without geometrical objects.
To manage parameters of the NETGENPLUGIN use \subpage netgen_2d_3d_hypo_page and \subpage additional_hypo_page.
Also all NETGENPLUGIN functionalities are accessible via
\subpage netgenplugin_python_intarface_page "NETGENPLUGIN Python interface".
\image html image1.png "Example of a triangular 2D mesh"
\image html image2.gif "Example of a tetrahedral 3D mesh"
*/

View File

@ -0,0 +1,98 @@
/*!
\page netgen_2d_3d_hypo_page Netgen 2D and 3D hypotheses
<b>Netgen 2D Parameters</b> and <b>Netgen 3D Parameters</b> hypotheses work only with
<b>Netgen 1D-2D</b>, <b>Netgen 2D</b>, <b>Netgen 1D-2D-3D</b> and
<b>Netgen 3D</b> algorithms. <b>Netgen 1D-2D</b> and <b>Netgen
1D-2D-3D</b> algorithms do not require definition of lower-level
hypotheses and algorithms (2D and 1D for meshing 3D objects and 1D for
meshing 2D objects).
\image html netgen2d3d.png
<center><em>Dialog boxes of <b>Netgen 1D-2D</b> and <b>Netgen
1D-2D-3D</b> algorithms </em></center>
<br>
\image html netgen2d3d_only.png
<center><em>Dialog boxes of <b>Netgen 2D</b> and <b>Netgen 3D</b>
algorithms </em></center>
- <b>Name</b> - allows to define the name for the algorithm (Netgen
2D (or 3D) Parameters by default).
- <b>Max Size</b> - maximum linear dimensions for mesh cells.
- <b>Min Size</b> - minimum linear dimensions for mesh cells. It is
ignored if it is more than <b>Max Size</b>.
- <b>Second Order</b> - if this box is checked in, the algorithm will
create second order nodes on the mesh, which actually will become
\ref adding_quadratic_elements_page "Quadratic".
- <b>Fineness</b> - ranging from Very Coarse to Very Fine allows to set the
level of meshing detalization using the three parameters below. You
can select Custom to define them manually.
- <b>Growth rate</b> - allows to define how much the linear dimensions of
two adjacent cells can differ (i.e. 0.3 means 30%).
- <b>Nb. Segs per Edge</b> and <b>Nb Segs per Radius</b> - allows to define the
minimum number of mesh segments in which edges and radiuses will be
split.
- <b>Allow Quadrangles</b> - allows to use quadrangle elements in a
triangle 2D mesh. This checkbox is not present in Netgen 3D parameters
because currently building a tetrahedral mesh with quadrangle faces is
not possible.
- <b>Optimize</b> - if this box is checked in, the algorithm will try to
create regular (possessing even sides) elements.
\image html netgen3d_local_size.png
- <b>Local sizes</b> - allows to define size of elements on and
around specified geometrical edges and vertices. To define the local
size it is necessary to select a geometrical edge or vertex in the
object browser or in the viewer, and to click <b>On Edge</b> or <b>On
Vertex</b> correspondingly. <b>Name</b> of the geometrical object and
a default <b>Value</b> will be added in the table where the
<b>Value</b> can be changed.
- <b>Remove</b> - deletes a selected row from the table.
\image html netgen2d3d_simple.png
<b>Netgen 2D simple parameters</b> and <b>Netgen 3D simple
parameters</b> allow defining the size of elements for each
dimension.
\b 1D group allows defining the size of 1D elements in either of two ways:
- <b>Number of Segments</b> has the same sense as \ref
number_of_segments_anchor "Number of segments" hypothesis with
equidistant distribution.
- <b>Local Length</b> has the same sense as \ref
average_length_anchor "Local Length" hypothesis.
\b 2D group allows defining the size of 2D elements
- <b>Length from edges</b> if checked in, acts like \ref
length_from_edges_anchor "Length from Edges" hypothesis, else
- <b>Max. Element Area</b> defines the maximum element area like \ref
max_element_area_anchor "Max Element Area" hypothesis.
- <b>Allow Quadrangles</b> - allows to use quadrangle elements in a
triangle 2D mesh. This checkbox is not present in Netgen 3D simple parameters
because currently building a tetrahedral mesh with quadrangle faces is
not possible.
\b 3D groups allows defining the size of 3D elements.
- <b>Length from faces</b> if checked in, the area of sides of
volumic elements will be equal to an average area of 2D elements, else
- <b>Max. Element Volume</b> defines the maximum element volume like
\ref max_element_volume_hypo_page "Max Element Volume"
hypothesis.
\note Netgen algorithm does not strictly follow the input
parameters. The actual mesh can be more or less dense than
required. There are several factors in it:
- NETGEN does not actually use "NbOfSegments" parameter for discretization of
edge. This parameter is used only to define the local element size
(size at the given point), so local sizes of adjacent edges influence
each other.
- NETGEN additionally restricts the element size according to edge curvature.
- The local size of edges influences the size of close triangles.
- The order of elements and their size in the 1D mesh generated by
NETGEN differ from those in the 1D mesh generated by Regular_1D
algorithm, resulting in different 2D and 3D meshes.
*/

View File

@ -0,0 +1,57 @@
/*!
\page netgenplugin_python_intarface_page Python Interface
Python package \ref NETGENPluginDC "NETGENPlugin" defines several classes, destined for creation of the 2D and 3D meshes.
Documentation for NETGENPlugin package is available in linear form grouped by classes, declared in the NETGENPluginDC.py file.
Below you can see an example of usage of the NETGENPlugin package for mesh generation:
\code
import geompy
import smesh
# create a box
box = geompy.MakeBoxDXDYDZ(10., 10., 10.)
geompy.addToStudy(box, "Box")
# 1. Create a triangular 2D mesh on the box with NETGEN_1D2D algorithm
triaN = smesh.Mesh(box, "Box : triangular mesh by NETGEN_1D2D")
# create a Netgen_1D2D algorithm for solids
algo2D = triaN.Triangle(smesh.NETGEN_1D2D)
# define hypotheses
n12_params = algo2D.Parameters()
# define number of segments
n12_params.SetNbSegPerEdge(19)
# define max element
n12_params.SetMaxSize(300)
# 2. Create a tetrahedral mesh on the box with NETGEN_1D2D3D algorithm (full netgen)
tetraN = smesh.Mesh(box, "Box : tetrahedrical mesh by NETGEN_1D2D3D")
# create a Netgen_1D2D3D algorithm for solids
algo3D = tetraN.Tetrahedron(smesh.FULL_NETGEN)
# define hypotheses
n123_params = algo3D.Parameters()
# define number of segments
n123_params.SetNbSegPerEdge(11)
# define max element size
n123_params.SetMaxSize(300)
# compute the meshes
triaN.Compute()
tetraN.Compute()
\endcode
*/

View File

@ -0,0 +1,830 @@
/* The standard CSS for doxygen */
body, table, div, p, dl {
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
font-size: 12px;
}
/* @group Heading Levels */
h1 {
font-size: 150%;
}
h2 {
font-size: 120%;
}
h3 {
font-size: 100%;
}
dt {
font-weight: bold;
}
div.multicol {
-moz-column-gap: 1em;
-webkit-column-gap: 1em;
-moz-column-count: 3;
-webkit-column-count: 3;
}
p.startli, p.startdd, p.starttd {
margin-top: 2px;
}
p.endli {
margin-bottom: 0px;
}
p.enddd {
margin-bottom: 4px;
}
p.endtd {
margin-bottom: 2px;
}
/* @end */
caption {
font-weight: bold;
}
span.legend {
font-size: 70%;
text-align: center;
}
h3.version {
font-size: 90%;
text-align: center;
}
div.qindex, div.navtab{
background-color: #EBEFF6;
border: 1px solid #A3B4D7;
text-align: center;
margin: 2px;
padding: 2px;
}
div.qindex, div.navpath {
width: 100%;
line-height: 140%;
}
div.navtab {
margin-right: 15px;
}
/* @group Link Styling */
a {
color: #3D578C;
font-weight: normal;
text-decoration: none;
}
.contents a:visited {
color: #4665A2;
}
a:hover {
text-decoration: underline;
}
a.qindex {
font-weight: bold;
}
a.qindexHL {
font-weight: bold;
background-color: #9CAFD4;
color: #ffffff;
border: 1px double #869DCA;
}
.contents a.qindexHL:visited {
color: #ffffff;
}
a.el {
font-weight: bold;
}
a.elRef {
}
a.code {
color: #4665A2;
}
a.codeRef {
color: #4665A2;
}
/* @end */
dl.el {
margin-left: -1cm;
}
.fragment {
font-family: monospace, fixed;
font-size: 105%;
}
pre.fragment {
border: 1px solid #C4CFE5;
background-color: #FBFCFD;
padding: 4px 6px;
margin: 4px 8px 4px 2px;
overflow: auto;
word-wrap: break-word;
font-size: 9pt;
line-height: 125%;
}
div.ah {
background-color: black;
font-weight: bold;
color: #ffffff;
margin-bottom: 3px;
margin-top: 3px;
padding: 0.2em;
border: solid thin #333;
border-radius: 0.5em;
-webkit-border-radius: .5em;
-moz-border-radius: .5em;
box-shadow: 2px 2px 3px #999;
-webkit-box-shadow: 2px 2px 3px #999;
-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
}
div.groupHeader {
margin-left: 16px;
margin-top: 12px;
font-weight: bold;
}
div.version {
border:1px solid #0000FF;
color: #CCCCCC;
font-family: Arial, Helvetica, sans-serif;
font-size: 9pt;
text-align: center;
width:100px;
-moz-border-radius: 8px;
margin: 5px;
}
div.footer1 {
background-color: #DFE5F1;
border: 1px solid #AAAAAA;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
padding: 10px;
margin-top: 15px;
}
div.groupText {
margin-left: 16px;
font-style: italic;
}
body {
background: white;
color: black;
margin: 0;
}
div.contents {
margin-top: 10px;
margin-left: 10px;
margin-right: 10px;
}
td.indexkey {
background-color: #EBEFF6;
font-weight: bold;
border: 1px solid #C4CFE5;
margin: 2px 0px 2px 0;
padding: 2px 10px;
}
td.indexvalue {
background-color: #EBEFF6;
border: 1px solid #C4CFE5;
padding: 2px 10px;
margin: 2px 0px;
}
tr.memlist {
background-color: #EEF1F7;
}
p.formulaDsp {
text-align: center;
}
img.formulaDsp {
}
img.formulaInl {
vertical-align: middle;
}
div.center {
text-align: center;
margin-top: 0px;
margin-bottom: 0px;
padding: 0px;
}
div.center img {
border: 0px;
}
address.footer {
text-align: right;
padding-right: 12px;
}
img.footer {
border: 0px;
vertical-align: middle;
}
/* @group Code Colorization */
span.keyword {
color: #008000
}
span.keywordtype {
color: #604020
}
span.keywordflow {
color: #e08000
}
span.comment {
color: #800000
}
span.preprocessor {
color: #806020
}
span.stringliteral {
color: #002080
}
span.charliteral {
color: #008080
}
span.vhdldigit {
color: #ff00ff
}
span.vhdlchar {
color: #000000
}
span.vhdlkeyword {
color: #700070
}
span.vhdllogic {
color: #ff0000
}
/* @end */
/*
.search {
color: #003399;
font-weight: bold;
}
form.search {
margin-bottom: 0px;
margin-top: 0px;
}
input.search {
font-size: 75%;
color: #000080;
font-weight: normal;
background-color: #e8eef2;
}
*/
td.tiny {
font-size: 75%;
}
.dirtab {
padding: 4px;
border-collapse: collapse;
border: 1px solid #A3B4D7;
}
th.dirtab {
background: #EBEFF6;
font-weight: bold;
}
hr {
height: 0px;
border: none;
border-top: 1px solid #4A6AAA;
}
hr.footer {
height: 1px;
}
/* @group Member Descriptions */
table.memberdecls {
border-spacing: 0px;
padding: 0px;
}
.mdescLeft, .mdescRight,
.memItemLeft, .memItemRight,
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
background-color: #F9FAFC;
border: none;
margin: 4px;
padding: 1px 0 0 8px;
}
.mdescLeft, .mdescRight {
padding: 0px 8px 4px 8px;
color: #555;
}
.memItemLeft, .memItemRight, .memTemplParams {
border-top: 1px solid #C4CFE5;
}
.memItemLeft, .memTemplItemLeft {
white-space: nowrap;
}
.memTemplParams {
color: #4665A2;
white-space: nowrap;
}
/* @end */
/* @group Member Details */
/* Styles for detailed member documentation */
.memtemplate {
font-size: 80%;
color: #4665A2;
font-weight: normal;
margin-left: 9px;
}
.memnav {
background-color: #EBEFF6;
border: 1px solid #A3B4D7;
text-align: center;
margin: 2px;
margin-right: 15px;
padding: 2px;
}
.memitem {
padding: 0;
margin-bottom: 10px;
}
.memname {
white-space: nowrap;
font-weight: bold;
margin-left: 6px;
}
.memproto {
border-top: 1px solid #A8B8D9;
border-left: 1px solid #A8B8D9;
border-right: 1px solid #A8B8D9;
padding: 6px 0px 6px 0px;
color: #253555;
font-weight: bold;
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
/* opera specific markup */
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
border-top-right-radius: 8px;
border-top-left-radius: 8px;
/* firefox specific markup */
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-moz-border-radius-topright: 8px;
-moz-border-radius-topleft: 8px;
/* webkit specific markup */
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-webkit-border-top-right-radius: 8px;
-webkit-border-top-left-radius: 8px;
background-image:url('nav_f.png');
background-repeat:repeat-x;
background-color: #E2E8F2;
}
.memdoc {
border-bottom: 1px solid #A8B8D9;
border-left: 1px solid #A8B8D9;
border-right: 1px solid #A8B8D9;
padding: 2px 5px;
background-color: #FBFCFD;
border-top-width: 0;
/* opera specific markup */
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
/* firefox specific markup */
-moz-border-radius-bottomleft: 8px;
-moz-border-radius-bottomright: 8px;
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
/* webkit specific markup */
-webkit-border-bottom-left-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
}
.paramkey {
text-align: right;
}
.paramtype {
white-space: nowrap;
}
.paramname {
color: #602020;
white-space: nowrap;
}
.paramname em {
font-style: normal;
}
.params, .retval, .exception, .tparams {
border-spacing: 6px 2px;
}
.params .paramname, .retval .paramname {
font-weight: bold;
vertical-align: top;
}
.params .paramtype {
font-style: italic;
vertical-align: top;
}
.params .paramdir {
font-family: "courier new",courier,monospace;
vertical-align: top;
}
/* @end */
/* @group Directory (tree) */
/* for the tree view */
.ftvtree {
font-family: sans-serif;
margin: 0px;
}
/* these are for tree view when used as main index */
.directory {
font-size: 9pt;
font-weight: bold;
margin: 5px;
}
.directory h3 {
margin: 0px;
margin-top: 1em;
font-size: 11pt;
}
/*
The following two styles can be used to replace the root node title
with an image of your choice. Simply uncomment the next two styles,
specify the name of your image and be sure to set 'height' to the
proper pixel height of your image.
*/
/*
.directory h3.swap {
height: 61px;
background-repeat: no-repeat;
background-image: url("yourimage.gif");
}
.directory h3.swap span {
display: none;
}
*/
.directory > h3 {
margin-top: 0;
}
.directory p {
margin: 0px;
white-space: nowrap;
}
.directory div {
display: none;
margin: 0px;
}
.directory img {
vertical-align: -30%;
}
/* these are for tree view when not used as main index */
.directory-alt {
font-size: 100%;
font-weight: bold;
}
.directory-alt h3 {
margin: 0px;
margin-top: 1em;
font-size: 11pt;
}
.directory-alt > h3 {
margin-top: 0;
}
.directory-alt p {
margin: 0px;
white-space: nowrap;
}
.directory-alt div {
display: none;
margin: 0px;
}
.directory-alt img {
vertical-align: -30%;
}
/* @end */
div.dynheader {
margin-top: 8px;
}
address {
font-style: normal;
color: #2A3D61;
}
table.doxtable {
border-collapse:collapse;
}
table.doxtable td, table.doxtable th {
border: 1px solid #2D4068;
padding: 3px 7px 2px;
}
table.doxtable th {
background-color: #374F7F;
color: #FFFFFF;
font-size: 110%;
padding-bottom: 4px;
padding-top: 5px;
text-align:left;
}
.tabsearch {
top: 0px;
left: 10px;
height: 36px;
background-image: url('tab_b.png');
z-index: 101;
overflow: hidden;
font-size: 13px;
}
.navpath ul
{
font-size: 11px;
background-image:url('tab_b.png');
background-repeat:repeat-x;
height:30px;
line-height:30px;
color:#8AA0CC;
border:solid 1px #C2CDE4;
overflow:hidden;
margin:0px;
padding:0px;
}
.navpath li
{
list-style-type:none;
float:left;
padding-left:10px;
padding-right:15px;
background-image:url('bc_s.png');
background-repeat:no-repeat;
background-position:right;
color:#364D7C;
}
.navpath li.navelem a
{
height:32px;
display:block;
text-decoration: none;
outline: none;
}
.navpath li.navelem a:hover
{
color:#6884BD;
}
.navpath li.footer
{
list-style-type:none;
float:right;
padding-left:10px;
padding-right:15px;
background-image:none;
background-repeat:no-repeat;
background-position:right;
color:#364D7C;
font-size: 8pt;
}
div.summary
{
float: right;
font-size: 8pt;
padding-right: 5px;
width: 50%;
text-align: right;
}
div.summary a
{
white-space: nowrap;
}
div.ingroups
{
font-size: 8pt;
padding-left: 5px;
width: 50%;
text-align: left;
}
div.ingroups a
{
white-space: nowrap;
}
div.header
{
background-image:url('nav_h.png');
background-repeat:repeat-x;
background-color: #F9FAFC;
margin: 0px;
border-bottom: 1px solid #C4CFE5;
}
div.headertitle
{
padding: 5px 5px 5px 10px;
}
dl
{
padding: 0 0 0 10px;
}
dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug
{
border-left:4px solid;
padding: 0 0 0 6px;
}
dl.note
{
border-color: #D0D000;
}
dl.warning, dl.attention
{
border-color: #FF0000;
}
dl.pre, dl.post, dl.invariant
{
border-color: #00D000;
}
dl.deprecated
{
border-color: #505050;
}
dl.todo
{
border-color: #00C0E0;
}
dl.test
{
border-color: #3030E0;
}
dl.bug
{
border-color: #C08050;
}
#projectlogo
{
text-align: center;
vertical-align: bottom;
border-collapse: separate;
}
#projectlogo img
{
border: 0px none;
}
#projectname
{
background-color: #175783;
border: 1px solid;
height: 80px;
background-repeat: no-repeat;
/* font: 300% arial,sans-serif;*/
margin: 0px;
padding: 0px;
}
#projectbrief
{
font: 120% arial,sans-serif;
margin: 0px;
padding: 0px;
}
#projectnumber
{
font: 50% arial,sans-serif;
margin: 0px;
padding: 0px;
}
#titlearea
{
background: url("head.png");
background-color: #175783;
border: 1px solid;
height: 80px;
background-repeat: no-repeat;
padding: 0px;
margin: 0px;
width: 100%;
border-bottom: 1px solid #5373B4;
}

View File

@ -0,0 +1,12 @@
<li class="footer"></li>
</ul>
</div>
<div class="footer1">
<div style="text-align: center;">
Copyright &copy; 2007-2011 CEA/DEN, EDF R&amp;D, OPEN CASCADE<br>
Copyright &copy; 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&amp;D, LEG, PRINCIPIA R&amp;D, BUREAU VERITAS<br>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,22 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>$title</title>
<link href="$relpath$tabs.css" rel="stylesheet" type="text/css"/>
<link href="$relpath$search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="$relpath$search/search.js"></script>
<link href="$relpath$navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="$relpath$jquery.js"></script>
<script type="text/javascript" src="$relpath$navtree.js"></script>
<script type="text/javascript" src="$relpath$resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="$relpath$doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea"><div align="right"><div class="version">Version: @VERSION@</div></div></div>
</div>

View File

@ -0,0 +1,23 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>$title</title>
<link href="$relpath$tabs.css" rel="stylesheet" type="text/css"/>
<link href="$relpath$search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="$relpath$search/search.js"></script>
<link href="$relpath$navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="$relpath$jquery.js"></script>
<script type="text/javascript" src="$relpath$navtree.js"></script>
<script type="text/javascript" src="$relpath$resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="$relpath$doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea"><div align="right"><div class="version">Version: @VERSION@</div></div></div>
<div align="bottom-left"><a href=../index.html>Home</a></div>
</div>

View File

@ -29,4 +29,7 @@
<!-- Default SMESH module plugins -->
<parameter name="plugins" value="NETGENPlugin,GHS3DPlugin"/>
</section>
<section name="smesh_help">
<parameter name="Plug-ins/NETGEN plugin User's Guide" value="${NETGENPLUGIN_ROOT_DIR}/share/doc/salome/gui/NETGENPLUGIN/index.html"/>
</section>
</document>

View File

@ -50,7 +50,6 @@ Custom = 5
## Base of all NETGEN algorithms.
#
# @ingroup l3_algos_basic
class NETGEN_Algorithm(Mesh_Algorithm):
def __init__(self, mesh, geom=0):
@ -61,14 +60,12 @@ class NETGEN_Algorithm(Mesh_Algorithm):
## Sets MaxSize
#
# @ingroup l3_hypos_netgen
def SetMaxSize(self, theSize):
if self.Parameters():
self.params.SetMaxSize(theSize)
## Sets MinSize
#
# @ingroup l3_hypos_netgen
def SetMinSize(self, theSize):
if self.Parameters():
self.params.SetMinSize(theSize)
@ -76,7 +73,6 @@ class NETGEN_Algorithm(Mesh_Algorithm):
## Sets Optimize flag
#
# @ingroup l3_hypos_netgen
def SetOptimize(self, theVal):
if self.Parameters():
self.params.SetOptimize(theVal)
@ -85,21 +81,18 @@ class NETGEN_Algorithm(Mesh_Algorithm):
# @param theFineness is:
# VeryCoarse, Coarse, Moderate, Fine, VeryFine or Custom
#
# @ingroup l3_hypos_netgen
def SetFineness(self, theFineness):
if self.Parameters():
self.params.SetFineness(theFineness)
## Sets GrowthRate
#
# @ingroup l3_hypos_netgen
def SetGrowthRate(self, theRate):
if self.Parameters():
self.params.SetGrowthRate(theRate)
## Defines hypothesis having several parameters
#
# @ingroup l3_hypos_netgen
def Parameters(self, which=SOLE):
if self.algoType == NETGEN_1D2D:
if which == SIMPLE:
@ -129,7 +122,6 @@ class NETGEN_Algorithm(Mesh_Algorithm):
## Defines a tetrahedron 1D-2D-3D algorithm
# It is created by calling Mesh.Triangle( NETGEN_1D2D3D, geom=0 )
#
# @ingroup l3_algos_basic
class NETGEN_1D2D3D_Algorithm(NETGEN_Algorithm):
meshMethod = "Tetrahedron"
@ -141,21 +133,18 @@ class NETGEN_1D2D3D_Algorithm(NETGEN_Algorithm):
## Sets SecondOrder flag
#
# @ingroup l3_hypos_netgen
def SetSecondOrder(self, theVal):
if self.Parameters():
self.params.SetSecondOrder(theVal)
## Sets NbSegPerEdge
#
# @ingroup l3_hypos_netgen
def SetNbSegPerEdge(self, theVal):
if self.Parameters():
self.params.SetNbSegPerEdge(theVal)
## Sets NbSegPerRadius
#
# @ingroup l3_hypos_netgen
def SetNbSegPerRadius(self, theVal):
if self.Parameters():
self.params.SetNbSegPerRadius(theVal)
@ -163,37 +152,31 @@ class NETGEN_1D2D3D_Algorithm(NETGEN_Algorithm):
## Sets number of segments overriding the value set by SetLocalLength()
#
# @ingroup l3_hypos_netgen
def SetNumberOfSegments(self, theVal):
self.Parameters(SIMPLE).SetNumberOfSegments(theVal)
## Sets number of segments overriding the value set by SetNumberOfSegments()
#
# @ingroup l3_hypos_netgen
def SetLocalLength(self, theVal):
self.Parameters(SIMPLE).SetLocalLength(theVal)
## Defines "MaxElementArea" parameter of NETGEN_SimpleParameters_3D hypothesis.
# Overrides value set by LengthFromEdges()
# @ingroup l3_hypos_netgen
def MaxElementArea(self, area):
self.Parameters(SIMPLE).SetMaxElementArea(area)
## Defines "LengthFromEdges" parameter of NETGEN_SimpleParameters_3D hypothesis
# Overrides value set by MaxElementArea()
# @ingroup l3_hypos_netgen
def LengthFromEdges(self):
self.Parameters(SIMPLE).LengthFromEdges()
## Defines "LengthFromFaces" parameter of NETGEN_SimpleParameters_3D hypothesis
# Overrides value set by MaxElementVolume()
# @ingroup l3_hypos_netgen
def LengthFromFaces(self):
self.Parameters(SIMPLE).LengthFromFaces()
## Defines "MaxElementVolume" parameter of NETGEN_SimpleParameters_3D hypothesis
# Overrides value set by LengthFromFaces()
# @ingroup l3_hypos_netgen
def MaxElementVolume(self, vol):
self.Parameters(SIMPLE).SetMaxElementVolume(vol)
@ -201,7 +184,6 @@ class NETGEN_1D2D3D_Algorithm(NETGEN_Algorithm):
## Triangle NETGEN 1D-2D algorithm.
# It is created by calling Mesh.Triangle( NETGEN_1D2D, geom=0 )
#
# @ingroup l3_algos_basic
class NETGEN_1D2D_Algorithm(NETGEN_1D2D3D_Algorithm):
meshMethod = "Triangle"
@ -212,7 +194,6 @@ class NETGEN_1D2D_Algorithm(NETGEN_1D2D3D_Algorithm):
NETGEN_1D2D3D_Algorithm.__init__(self, mesh, geom)
## Sets QuadAllowed flag.
# @ingroup l3_hypos_netgen
def SetQuadAllowed(self, toAllow=True):
if self.Parameters():
self.params.SetQuadAllowed(toAllow)
@ -222,7 +203,6 @@ class NETGEN_1D2D_Algorithm(NETGEN_1D2D3D_Algorithm):
## Triangle NETGEN 2D algorithm
# It is created by calling Mesh.Triangle( NETGEN_2D, geom=0 )
#
# @ingroup l3_algos_basic
class NETGEN_2D_Only_Algorithm(NETGEN_Algorithm):
meshMethod = "Triangle"
@ -237,7 +217,6 @@ class NETGEN_2D_Only_Algorithm(NETGEN_Algorithm):
# @param UseExisting if ==true - searches for an existing hypothesis created with the
# same parameters, else (default) - creates a new one
#
# @ingroup l3_hypos_2dhyps
def MaxElementArea(self, area, UseExisting=0):
compFun = lambda hyp, args: IsEqual(hyp.GetMaxElementArea(), args[0])
hyp = self.Hypothesis("MaxElementArea", [area], UseExisting=UseExisting,
@ -248,13 +227,11 @@ class NETGEN_2D_Only_Algorithm(NETGEN_Algorithm):
## Defines "LengthFromEdges" hypothesis to build triangles
# based on the length of the edges taken from the wire
#
# @ingroup l3_hypos_2dhyps
def LengthFromEdges(self):
hyp = self.Hypothesis("LengthFromEdges", UseExisting=1, CompareMethod=self.CompareEqualHyp)
return hyp
## Sets QuadAllowed flag.
# @ingroup l3_hypos_netgen
def SetQuadAllowed(self, toAllow=True):
if not self.params:
# use simple hyps
@ -282,7 +259,6 @@ class NETGEN_2D_Only_Algorithm(NETGEN_Algorithm):
## Defines a tetrahedron 3D algorithm
# It is created by calling Mesh.Tetrahedron()
#
# @ingroup l3_algos_basic
class NETGEN_3D_Algorithm(NETGEN_Algorithm):
meshMethod = "Tetrahedron"
@ -297,7 +273,6 @@ class NETGEN_3D_Algorithm(NETGEN_Algorithm):
# @param vol for the maximum volume of each tetrahedron
# @param UseExisting if ==true - searches for the existing hypothesis created with
# the same parameters, else (default) - creates a new one
# @ingroup l3_hypos_maxvol
def MaxElementVolume(self, vol, UseExisting=0):
compFun = lambda hyp, args: IsEqual(hyp.GetMaxElementVolume(), args[0])
hyp = self.Hypothesis("MaxElementVolume", [vol], UseExisting=UseExisting,