Fix documentation problems (reported as doxygen warnings)

This commit is contained in:
vsr 2009-11-11 15:09:39 +00:00
parent 5178843360
commit b363a7ea2b
14 changed files with 183 additions and 174 deletions

View File

@ -47,7 +47,7 @@ tetrahedral (pyramidal) elements.</li>
\image html image126.gif "Example of a hexahedral 3D mesh"
</ul>
\Note that BLSURF and GHS3D are commercial meshers and require a
\note BLSURF and GHS3D are commercial meshers and require a
license to be used within the Mesh module.
There is also a number of more specific algorithms:

View File

@ -126,7 +126,7 @@ visualizing the geometrical entity that causes it.
\image html failed_computation.png "Example of the invalid input mesh"
\Note Mesh Computation Information box does not appear if you set
\note Mesh Computation Information box does not appear if you set
"Mesh computation/Show a computation result notification" preference
to the "Never" value. This option gives the possibility to control mesh
computation reporting. There are the following possibilities: always

View File

@ -2,7 +2,7 @@
\page editing_groups_page Editing groups
\n <em>To edit an existing group of elements:</em>
<em>To edit an existing group of elements:</em>
<ol>
<li>Select your group in the Object Browser and in the \b Mesh menu click
the <b>Edit Group</b> item or <em>"Edit Group"</em> button in the toolbar.</li>
@ -17,11 +17,12 @@ The following dialog box will appear:
In this dialog box you can modify the name of your group and add or
remove the elements forming it. For more information see
\ref creating_groups_page "Creating Groups" page.
<li>Click the \b Apply or <b>Apply and Close</b> button to confirm modification of the
group.</li>
</ol>
\n <em>To convert an existing group on geometry into standalone group
<em>To convert an existing group on geometry into standalone group
of elements and modify:</em>
<ol>
<li>Select your group on geometry in the Object Browser and in the \b Mesh menu click
@ -31,11 +32,12 @@ the <b>Edit Group as Standalone</b> item.</li>
<center><em>"Edit Group as Standalone" button</em></center>
The group on geometry will be converted into standalone group and can
be modified as group of elements
be modified as group of elements.
<li>Click the \b Apply or <b>Apply and Close</b> button to confirm modification of the
group.</li>
</ol>
<br><b>See Also</b> a sample TUI Script of an
\ref tui_edit_group "Edit Group" operation.
\sa A sample TUI Script of an \ref tui_edit_group "Edit Group" operation.
*/

View File

@ -2,16 +2,17 @@
\page free_faces_page Free faces
\n This mesh quality control highlights the faces connected to
This mesh quality control highlights the faces connected to
less than two mesh volume elements. The free faces are shown with a
color different from the color of shared faces.
\image html free_faces.png
<center>In this picture some volume mesh elements have been removed, as
In this picture some volume mesh elements have been removed, as
a result some faces became connected only to one
volume. i.e. became free.
<br><b>See Also</b> a sample TUI Script of a
\ref tui_free_faces "Free Faces quality control" operation.
\sa A sample TUI Script of a \ref tui_free_faces "Free Faces quality control"
operation.
*/

View File

@ -2,14 +2,15 @@
\page free_nodes_page Free nodes
\n This mesh quality control highlights the nodes which are not connected
This mesh quality control highlights the nodes which are not connected
to any mesh element.
\image html free_nodes.png
<center>In this picture some nodes are not connected to any mesh
In this picture some nodes are not connected to any mesh
element after deleting some elements and adding several isolated nodes.
<br><b>See Also</b> a sample TUI Script of a
\ref tui_free_nodes "Free Nodes quality control" operation.
\sa A sample TUI Script of a \ref tui_free_nodes "Free Nodes quality control"
operation.
*/

View File

@ -12,19 +12,15 @@ dialog.</li>
<li> by creating a group of elements of the selected type from all
such elements of the chosen geometrical object - <b>Group on
geometry</b> tab of \ref creating_groups_page "Create group" dialog.</li>
<li> by creating a group including all types of elements from an
existing geometrical object - using \subpage create_groups_from_geometry_page "Create Groups from Geometry" dialog.</li>
<li> by creating several groups of elements (nodes,
edges, faces and volumes) from the chosen submesh - using <b>Mesh -> Construct
Group</b> Menu item. In this case groups of elements are created
automatically.</li>
<li> by creating groups of entities from existing groups of superior
dimensions - using \subpage group_of_underlying_elements_page "Create Group of Underlying Elements"
dialog.</li>
</ul>
@ -32,12 +28,12 @@ The created groups can be later:
<ul>
<li>\subpage editing_groups_page "Edited"</li>
<li>\subpage using_operations_on_groups_page "Subjected to Boolean operations", or</li>
<li>\subpage using_operations_on_groups_page "Subjected to Boolean operations"</li>
<li>\subpage deleting_groups_page "Deleted"</li>
</ul>
An important tool, providing filters for creation of \b Standalone
groups is \subpage selection_filter_library_page</li>.
groups is \subpage selection_filter_library_page.
*/

View File

@ -2,7 +2,7 @@
\page netgen_2d_3d_hypo_page Netgen 2D and 3D hypotheses
\n <b>Netgen 2D</b> and <b>Netgen 3D</b> hypotheses work only with <b>Netgen 1D-2D</b> and
<b>Netgen 2D</b> and <b>Netgen 3D</b> hypotheses work only with <b>Netgen 1D-2D</b> and
<b>Netgen 1D-2D-3D</b> algorithms. These algorithms do not require
definition of lower-level hypotheses and algorithms (2D and 1D for
meshing 3D objects and 1D for meshing 2D objects). They prove to be
@ -11,68 +11,64 @@ of the meshed object.
\image html netgen2d.png
<ul>
<li><b>Name</b> - allows to define the name for the algorithm (Netgen
2D (or 3D) Parameters by default).</li>
<li><b>Max Size</b> - maximum linear dimensions for mesh cells.</li>
<li><b>Second Order</b> - if this box is checked in, the algorithm will
- <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>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".</li>
<li><b>Fineness</b> - ranging from Very Coarse to Very Fine allows to set the
\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.</li>
<li><b>Growth rate</b> - allows to define how much the linear dimensions of
two adjacent cells can differ (i.e. 0.3 means 30%).</li>
<li><b>Nb. Segs per Edge</b> and <b>Nb Segs per Radius</b> - allows to define the
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.</li>
<li><b>Allow Quadrangles</b> - allows to use quadrangle elements in a
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.</li>
<li><b>Optimize</b> - if this box is checked in, the algorithm will try to
create regular (possessing even sides) elements.</li>
</ul>
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_simple.png
<b>Netgen 2D simple parameters</b> and <b>Netgen 3D simple parameters</b> allow defining the size of elements for each dimension. <br>
<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:
<ul>
<li><b>Number of Segments</b> has the same sense as \ref
- <b>Number of Segments</b> has the same sense as \ref
number_of_segments_anchor "Number of segments" hypothesis with
equidistant distribution.</li>
<li><b>Average Length</b> has the same sense as \ref
average_length_anchor "Average Length" hypothesis.</li>
</ul>
equidistant distribution.
- <b>Average Length</b> has the same sense as \ref
average_length_anchor "Average Length" hypothesis.
\b 2D group allows defining the size of 2D elements
<ul>
<li><b>Length from edges</b> if checked in, acts like \ref
length_from_edges_anchor "Length from Edges" hypothesis, else </li>
<li><b>Max. Element Area</b> defines the maximum element area like \ref
max_element_area_anchor "Max Element Area" hypothesis. </li>
</ul>
- <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 3D groups allows defining the size of 3D elements.
<ul>
<li><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 </li>
<li><b>Max. Element Volume</b> defines the maximum element volume like
- <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.</li>
<ul>
hypothesis.
\n Note that 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:
<ol>
<li> 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. </li>
<li> NETGEN additionally restricts the element size according to edge curvature.</li>
<li> The local size of edges influences the size of close triangles.</li>
<li> The order of elements and their size in the 1D mesh generated by
\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.</li>
</ol>
*/
algorithm, resulting in different 2D and 3D meshes.
*/

View File

@ -17,4 +17,6 @@ of mesh layers along the radius. The distribution of layers can be set with any
\image html mesh_radquad_02.png "Radial Quadrangle 2D mesh on a part of circle"
\sa A sample \ref tui_radial_quadrangle "TUI Script".
*/

View File

@ -2,129 +2,140 @@
\page smeshpy_interface_page Python interface
\n Python package smesh defines several classes, destined for easy and
Python package smesh defines several classes, destined for easy and
clear mesh creation and edition.
\n Documentation for smesh package is available in two forms:
Documentation for smesh package is available in two forms:
\n The <a href="smeshpy_doc/modules.html"> structured
documentation for smesh package</a>, where all methods and
classes are grouped by their functionality, like it is done in the GUI documentation
\n and the \ref smeshDC "linear documentation for smesh package"
grouped only by classes, declared in the smesh.py file.
The <a href="smeshpy_doc/modules.html"> structured
documentation for smesh package</a>, where all methods and
classes are grouped by their functionality, like it is done in the GUI documentation
and the \ref smeshDC "linear documentation for smesh package"
grouped only by classes, declared in the smesh.py file.
\n The main page of the \ref smeshDC "linear documentation for smesh package"
contains a list of data structures and a list of
functions, provided by the package smesh.py. The first item in
the list of data structures (\ref smeshDC::smeshDC "class smesh")
also represents documentation for the methods of the package smesh.py itself.
The main page of the \ref smeshDC "linear documentation for smesh package"
contains a list of data structures and a list of
functions, provided by the package smesh.py. The first item in
the list of data structures (\ref smeshDC::smeshDC "class smesh")
also represents documentation for the methods of the package smesh.py itself.
\n The package smesh.py provides an interface to create and handle
meshes. Use it to create an empty mesh or to import it from the data file.
The package smesh.py provides an interface to create and handle
meshes. Use it to create an empty mesh or to import it from the data file.
\n Once a mesh has been created, it is possible to manage it via its own
methods, described at \ref smeshDC::Mesh "class Mesh" documentation
(it is also accessible by the second item "class Mesh" in the list of data structures).
Once a mesh has been created, it is possible to manage it via its own
methods, described at \ref smeshDC::Mesh "class Mesh" documentation
(it is also accessible by the second item "class Mesh" in the list of data structures).
\n Class Mesh allows assigning algorithms to a mesh.
\n Please note, that some algorithms,
included in the standard Salome installation are always available:
- REGULAR(1D), COMPOSITE(1D), MEFISTO(2D), Quadrangle(2D), Hexa(3D), etc.
Class \b Mesh allows assigning algorithms to a mesh.
Please note, that some algorithms, included in the standard SALOME
distribution are always available:
- REGULAR (1D)
- COMPOSITE (1D)
- MEFISTO (2D)
- Quadrangle (2D)
- Hexa(3D)
- etc...
\n There are also some algorithms, which can be installed optionally,
\n some of them are based on open-source meshers:
- NETGEN(1D-2D,2D,1D-2D-3D,3D),
There are also some algorithms, which can be installed optionally,
some of them are based on open-source meshers:
- NETGEN (1D-2D, 2D, 1D-2D-3D, 3D)
\n others are based on commercial meshers:
- GHS3D(3D), BLSURF(2D).
... and others are based on commercial meshers:
- GHS3D (3D)
- BLSURF (2D)
\n To add hypotheses, use the interfaces, provided by the assigned
To add hypotheses, use the interfaces, provided by the assigned
algorithms.
\n Below you can see an example of usage of the package smesh for 3d mesh generation.
Below you can see an example of usage of the package smesh for 3d mesh generation.
\anchor example_3d_mesh
<h2>Example of 3d mesh generation with NETGEN:</h2>
\n from geompy import *
\n import smesh
\code
from geompy import *
import smesh
<b># Geometry</b>
\n <b># an assembly of a box, a cylinder and a truncated cone meshed with tetrahedral</b>.
###
# Geometry: an assembly of a box, a cylinder and a truncated cone
# meshed with tetrahedral
###
<b># Define values</b>
\n name = "ex21_lamp"
\n cote = 60
\n section = 20
\n size = 200
\n radius_1 = 80
\n radius_2 = 40
\n height = 100
# Define values
name = "ex21_lamp"
cote = 60
section = 20
size = 200
radius_1 = 80
radius_2 = 40
height = 100
<b># Build a box</b>
\n box = MakeBox(-cote, -cote, -cote, +cote, +cote, +cote)
# Build a box
box = MakeBox(-cote, -cote, -cote, +cote, +cote, +cote)
<b># Build a cylinder</b>
\n pt1 = MakeVertex(0, 0, cote/3)
\n di1 = MakeVectorDXDYDZ(0, 0, 1)
\n cyl = MakeCylinder(pt1, di1, section, size)
# Build a cylinder
pt1 = MakeVertex(0, 0, cote/3)
di1 = MakeVectorDXDYDZ(0, 0, 1)
cyl = MakeCylinder(pt1, di1, section, size)
<b># Build a truncated cone</b>
\n pt2 = MakeVertex(0, 0, size)
\n cone = MakeCone(pt2, di1, radius_1, radius_2, height)
# Build a truncated cone
pt2 = MakeVertex(0, 0, size)
cone = MakeCone(pt2, di1, radius_1, radius_2, height)
<b># Fuse </b>
\n box_cyl = MakeFuse(box, cyl)
\n piece = MakeFuse(box_cyl, cone)
# Fuse
box_cyl = MakeFuse(box, cyl)
piece = MakeFuse(box_cyl, cone)
<b># Add in study</b>
\n addToStudy(piece, name)
# Add to the study
addToStudy(piece, name)
<b># Create a group of faces</b>
\n group = CreateGroup(piece, ShapeType["FACE"])
\n group_name = name + "_grp"
\n addToStudy(group, group_name)
\n group.SetName(group_name)
# Create a group of faces
group = CreateGroup(piece, ShapeType["FACE"])
group_name = name + "_grp"
addToStudy(group, group_name)
group.SetName(group_name)
<b># Add faces in the group</b>
\n faces = SubShapeAllIDs(piece, ShapeType["FACE"])
\n UnionIDs(group, faces)
# Add faces to the group
faces = SubShapeAllIDs(piece, ShapeType["FACE"])
UnionIDs(group, faces)
<b># Create a mesh</b>
###
# Create a mesh
###
<b># Define a mesh on a geometry</b>
\n tetra = smesh.Mesh(piece, name)
# Define a mesh on a geometry
tetra = smesh.Mesh(piece, name)
<b># Define 1D hypothesis</b>
\n algo1d = tetra.Segment()
\n algo1d.LocalLength(10)
# Define 1D hypothesis
algo1d = tetra.Segment()
algo1d.LocalLength(10)
<b># Define 2D hypothesis</b>
\n algo2d = tetra.Triangle()
\n algo2d.LengthFromEdges()
# Define 2D hypothesis
algo2d = tetra.Triangle()
algo2d.LengthFromEdges()
<b># Define 3D hypothesis</b>
\n algo3d = tetra.Tetrahedron(smesh.NETGEN)
\n algo3d.MaxElementVolume(100)
# Define 3D hypothesis
algo3d = tetra.Tetrahedron(smesh.NETGEN)
algo3d.MaxElementVolume(100)
<b># Compute the mesh</b>
\n tetra.Compute()
# Compute the mesh
tetra.Compute()
<b># Create a groupe of faces</b>
\n tetra.Group(group)
# Create a groupe of faces
tetra.Group(group)
\n Examples of Python scripts for all Mesh operations are available by
\endcode
Examples of Python scripts for all Mesh operations are available by
the following links:
<ul>
<li>\subpage tui_creating_meshes_page</li>
<li>\subpage tui_viewing_meshes_page</li>
<li>\subpage tui_defining_hypotheses_page</li>
<li>\subpage tui_quality_controls_page</li>
<li>\subpage tui_grouping_elements_page</li>
<li>\subpage tui_modifying_meshes_page</li>
<li>\subpage tui_transforming_meshes_page</li>
<li>\subpage tui_notebook_smesh_page</li>
</ul>
- \subpage tui_creating_meshes_page
- \subpage tui_viewing_meshes_page
- \subpage tui_defining_hypotheses_page
- \subpage tui_quality_controls_page
- \subpage tui_grouping_elements_page
- \subpage tui_modifying_meshes_page
- \subpage tui_transforming_meshes_page
- \subpage tui_notebook_smesh_page
*/

View File

@ -64,13 +64,9 @@ name in the adjacent box);</li>
</ul>
</li>
<li>Click \b Apply or <b> Apply and Close</b> button to confirm the
operation.</li>
<li>Click \b Apply or <b> Apply and Close</b> button to confirm the operation.</li>
</ol>
<br><b>See Also</b> a sample TUI Script of a
\ref tui_translation "Translation" operation.
<br><b>See Also</b> a sample TUI Script of a \ref tui_translation "Translation" operation.
*/

View File

@ -2,7 +2,7 @@
\page tui_creating_meshes_page Creating Meshes
\n First of all see \ref introduction_to_mesh_python_page "Example of 3d mesh generation",
\n First of all see \ref example_3d_mesh "Example of 3d mesh generation",
which is an example of good python script style for Mesh module.
<br>

View File

@ -1,4 +1,4 @@
/*!
/*!
\page tui_grouping_elements_page Grouping Elements
@ -318,13 +318,13 @@ salome.sg.updateObjBrowser(1)
\endcode
\image html dimgroup_tui1.png
<center>Source groups of faces<\center>
<center>Source groups of faces</center>
\image html dimgroup_tui2.png
<center>Result groups of edges and nodes<\center>
<center>Result groups of edges and nodes</center>
*/
*/

View File

@ -38,7 +38,7 @@ meshes.</li>
<li>\subpage transparency_page "Transparency" - allows to change the
transparency of mesh elements.</li>
<li>\subpage clipping_page "Clipping" - allows to create cross-sections of the selected objects.</li>
<li>\ref about_quality_controls_page "Controls" - graphically
<li>\ref quality_page "Controls" - graphically
presents various information about meshes.</li>
<li><b>Hide</b> - allows to hide the selected mesh from the viewer.</li>
<li><b>Show Only</b> -allows to display only the selected mesh, hiding all other from the viewer.</li>

View File

@ -810,8 +810,8 @@ class smeshDC(SMESH._objref_SMESH_Gen):
print "Error: given parameter is not numerucal functor type."
## Creates hypothesis
# @param
# @param
# @param theHType mesh hypothesis type (string)
# @param theLibName mesh plug-in library name
# @return created hypothesis instance
def CreateHypothesis(self, theHType, theLibName="libStdMeshersEngine.so"):
return SMESH._objref_SMESH_Gen.CreateHypothesis(self, theHType, theLibName )
@ -1320,6 +1320,8 @@ class Mesh:
# Exports the mesh in a file in MED format and chooses the \a version of MED format
# @param f the file name
# @param version values are SMESH.MED_V2_1, SMESH.MED_V2_2
# @param opt boolean parameter for creating/not creating
# the groups Group_On_All_Nodes, Group_On_All_Faces, ...
# @ingroup l2_impexp
def ExportToMED(self, f, version, opt=0):
self.mesh.ExportToMED(f, opt, version)
@ -2190,6 +2192,8 @@ class Mesh:
# @param x the X coordinate of a point
# @param y the Y coordinate of a point
# @param z the Z coordinate of a point
# @param NodeID if specified (>0), the node with this ID is moved,
# otherwise, the node closest to point (@a x,@a y,@a z) is moved
# @return the ID of a node
# @ingroup l2_modif_throughp
def MoveClosestNodeToPoint(self, x, y, z, NodeID):
@ -5175,7 +5179,7 @@ omniORB.registerObjref(StdMeshers._objref_StdMeshers_MaxElementArea._NP_Reposito
class MaxElementVolume(StdMeshers._objref_StdMeshers_MaxElementVolume):
## Set Max Element Volume parameter value
# @param area numerical value or name of variable from notebook
# @param volume numerical value or name of variable from notebook
def SetMaxElementVolume(self, volume):
volume ,parameters = ParseParameters(StdMeshers._objref_StdMeshers_MaxElementVolume.GetLastParameters(self),1,1,volume)
StdMeshers._objref_StdMeshers_MaxElementVolume.SetParameters(self,parameters)