diff --git a/adm_local/unix/config_files/check_SMESH.m4 b/adm_local/unix/config_files/check_SMESH.m4 index f1dbf22f1..5518cfa24 100644 --- a/adm_local/unix/config_files/check_SMESH.m4 +++ b/adm_local/unix/config_files/check_SMESH.m4 @@ -28,7 +28,9 @@ if test "x$SMESH_DIR" == "x" ; then else # search SMESH binaries in PATH variable - AC_PATH_PROG(TEMP, libSMESH_Swig.py) + #CCRTAC_PATH_PROG(TEMP, libSMESH_Swig.py) + #AC_PATH_PROG(TEMP, MED_Test) + AC_PATH_PROG(TEMP, smesh.py) if test "x$TEMP" != "x" ; then SMESH_BIN_DIR=`dirname $TEMP` SMESH_DIR=`dirname $SMESH_BIN_DIR` @@ -38,7 +40,9 @@ if test "x$SMESH_DIR" == "x" ; then # fi -if test -f ${SMESH_DIR}/bin/salome/libSMESH_Swig.py ; then +#CCRTif test -f ${SMESH_DIR}/bin/salome/libSMESH_Swig.py ; then +#if test -f ${SMESH_DIR}/bin/salome/MED_Test ; then +if test -f ${SMESH_DIR}/bin/salome/smesh.py ; then SMesh_ok=yes AC_MSG_RESULT(Using SMesh module distribution in ${SMESH_DIR}) diff --git a/build_configure b/build_configure index 9a1d6494b..66f991e57 100755 --- a/build_configure +++ b/build_configure @@ -12,6 +12,7 @@ ORIG_DIR=`pwd` CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"` +SMESH_WITH_GUI="yes" ######################################################################## # Test if the KERNEL_ROOT_DIR is set correctly @@ -28,12 +29,26 @@ fi # exit #fi +for option +do + case $option in + -with-ihm | --with-ihm) + SMESH_WITH_GUI="yes" + break;; + -without-ihm | --without-ihm | -with-ihm=no | --with-ihm=no) + SMESH_WITH_GUI="no" + break;; + esac +done + ######################################################################## # Test if the GUI_ROOT_DIR is set correctly -if test ! -d "${GUI_ROOT_DIR}"; then - echo "failed : GUI_ROOT_DIR variable is not correct !" - exit +if test ${SMESH_WITH_GUI} = yes; then + if test ! -d "${GUI_ROOT_DIR}"; then + echo "failed : GUI_ROOT_DIR variable is not correct !" + exit + fi fi ######################################################################## @@ -56,23 +71,28 @@ fi cd ${CONF_DIR} ABS_CONF_DIR=`pwd` +####################################################################### +# Update configure.ac script: to set SMESH_WITH_GUI variable +sed -e s/SMESH_WITH_GUI=[a-z]*/SMESH_WITH_GUI=${SMESH_WITH_GUI}/g configure.ac > configure.tmp +mv -f configure.tmp configure.ac + mkdir -p salome_adm/unix/config_files -cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files/* salome_adm/unix/config_files -cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/pythonbe.py salome_adm/unix +#cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files/* salome_adm/unix/config_files +#cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/pythonbe.py salome_adm/unix cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/SALOMEconfig.h.in salome_adm/unix -cp -f ${GUI_ROOT_DIR}/adm_local/unix/config_files/* salome_adm/unix/config_files -cp -f ${MED_ROOT_DIR}/adm_local/unix/config_files/* salome_adm/unix/config_files -cp -f ${GEOM_ROOT_DIR}/adm_local/unix/config_files/* salome_adm/unix/config_files +#cp -f ${GUI_ROOT_DIR}/adm_local/unix/config_files/* salome_adm/unix/config_files +#cp -f ${MED_ROOT_DIR}/adm_local/unix/config_files/* salome_adm/unix/config_files +#cp -f ${GEOM_ROOT_DIR}/adm_local/unix/config_files/* salome_adm/unix/config_files # remove KERNEL deprecated configure files -for deprecated in ac_cc_warnings.m4 ac_cxx_partial_specialization.m4 \ - check_mico.m4 config.guess ltmain.sh ac_cxx_bool.m4 ltconfig ac_cxx_typename.m4 \ - check_pthreads.m4 config.sub libtool.m4 ac_cxx_mutable.m4 missing - do - rm -f salome_adm/unix/config_files/${deprecated} - done +#for deprecated in ac_cc_warnings.m4 ac_cxx_partial_specialization.m4 \ +# check_mico.m4 config.guess ltmain.sh ac_cxx_bool.m4 ltconfig ac_cxx_typename.m4 \ +# check_pthreads.m4 config.sub libtool.m4 ac_cxx_mutable.m4 missing +# do +# rm -f salome_adm/unix/config_files/${deprecated} +# done # ____________________________________________________________________ @@ -84,7 +104,18 @@ for deprecated in ac_cc_warnings.m4 ac_cxx_partial_specialization.m4 \ # autom4te.cache (directory) echo "====================================================== aclocal" -aclocal -I adm_local/unix/config_files -I salome_adm/unix/config_files || exit 1 +if test ${SMESH_WITH_GUI} = yes; then + aclocal -I adm_local/unix/config_files \ + -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \ + -I ${GUI_ROOT_DIR}/adm_local/unix/config_files \ + -I ${MED_ROOT_DIR}/adm_local/unix/config_files \ + -I ${GEOM_ROOT_DIR}/adm_local/unix/config_files || exit 1 +else + aclocal -I adm_local/unix/config_files \ + -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \ + -I ${MED_ROOT_DIR}/adm_local/unix/config_files \ + -I ${GEOM_ROOT_DIR}/adm_local/unix/config_files || exit 1 +fi # ____________________________________________________________________ # libtoolize creates some configuration files (ltmain.sh, diff --git a/configure.ac b/configure.ac index b4585ccc7..63eca7ec2 100644 --- a/configure.ac +++ b/configure.ac @@ -9,18 +9,13 @@ # -AC_INIT([Salome2 Project SMESH module], [4.0.0], [gboulant@CS], [salome]) +AC_INIT([Salome2 Project SMESH module], [4.1.1], [webmaster.salome@opencascade.com], [salome]) AC_CONFIG_AUX_DIR(salome_adm/unix/config_files) AC_CANONICAL_HOST AC_CANONICAL_TARGET AM_INIT_AUTOMAKE -PACKAGE=salome -AC_SUBST(PACKAGE) - -VERSION=4.0.0 -XVERSION=0x040000 -AC_SUBST(VERSION) +XVERSION=`echo $VERSION | awk -F. '{printf("0x%02x%02x%02x",$1,$2,$3)}'` AC_SUBST(XVERSION) # set up MODULE_NAME variable for dynamic construction of directories (resources, etc.) @@ -199,59 +194,11 @@ echo ENABLE_PTHREADS -if test "x${GUI_DISABLE_CORBA}" != "xyes" ; then -echo -echo --------------------------------------------- -echo testing omniORB -echo --------------------------------------------- -echo +SMESH_WITH_GUI=yes -CHECK_OMNIORB +AM_CONDITIONAL(SMESH_ENABLE_GUI, [test "${SMESH_WITH_GUI}" = "yes"]) -dnl echo -dnl echo --------------------------------------------- -dnl echo testing mico -dnl echo --------------------------------------------- -dnl echo - -dnl CHECK_MICO - -echo -echo --------------------------------------------- -echo default ORB : omniORB -echo --------------------------------------------- -echo - -DEFAULT_ORB=omniORB - -echo -echo --------------------------------------------- -echo testing Corba -echo --------------------------------------------- -echo - -CHECK_CORBA - -AC_SUBST_FILE(CORBA) -corba=make_$ORB -CORBA=adm_local/unix/$corba - -fi -echo -echo --------------------------------------------- -echo testing openGL -echo --------------------------------------------- -echo - -CHECK_OPENGL - -echo -echo --------------------------------------------- -echo testing QT -echo --------------------------------------------- -echo - -CHECK_QT +if test "${SMESH_WITH_GUI}" = "yes"; then echo echo --------------------------------------------- @@ -261,13 +208,93 @@ echo CHECK_MSG2QM -echo -echo --------------------------------------------- -echo testing VTK -echo --------------------------------------------- -echo +fi -CHECK_VTK +if test "x${GUI_DISABLE_CORBA}" != "xyes" ; then + echo + echo --------------------------------------------- + echo testing omniORB + echo --------------------------------------------- + echo + + CHECK_OMNIORB + +dnl echo +dnl echo --------------------------------------------- +dnl echo testing mico +dnl echo --------------------------------------------- +dnl echo + +dnl CHECK_MICO + + echo + echo --------------------------------------------- + echo default ORB : omniORB + echo --------------------------------------------- + echo + + DEFAULT_ORB=omniORB + + echo + echo --------------------------------------------- + echo testing Corba + echo --------------------------------------------- + echo + + CHECK_CORBA + + AC_SUBST_FILE(CORBA) + corba=make_$ORB + CORBA=adm_local/unix/$corba + +fi + + +if test "${SMESH_WITH_GUI}" = "yes"; then + echo + echo --------------------------------------------- + echo testing openGL + echo --------------------------------------------- + echo + + CHECK_OPENGL + + echo + echo --------------------------------------------- + echo testing QT + echo --------------------------------------------- + echo + + CHECK_QT + + echo + echo --------------------------------------------- + echo testing VTK + echo --------------------------------------------- + echo + + CHECK_VTK + + echo + echo --------------------------------------------- + echo Testing GUI + echo --------------------------------------------- + echo + + CHECK_SALOME_GUI + + echo + echo --------------------------------------------- + echo Testing full GUI + echo --------------------------------------------- + echo + + CHECK_CORBA_IN_GUI + if test "x${CORBA_IN_GUI}" != "xyes"; then + echo "failed : For configure SMESH module necessary full GUI !" + exit + fi +fi echo echo --------------------------------------------- @@ -293,6 +320,8 @@ echo CHECK_CAS +if test "${SMESH_WITH_GUI}" = "yes"; then + echo echo --------------------------------------------- echo Testing qwt @@ -301,6 +330,8 @@ echo CHECK_QWT +fi + echo echo --------------------------------------------- echo Testing html generators @@ -309,26 +340,6 @@ echo CHECK_HTML_GENERATORS -echo -echo --------------------------------------------- -echo Testing GUI -echo --------------------------------------------- -echo - -CHECK_SALOME_GUI - -echo -echo --------------------------------------------- -echo Testing full GUI -echo --------------------------------------------- -echo - -CHECK_CORBA_IN_GUI -if test "x${CORBA_IN_GUI}" != "xyes"; then - echo "failed : For configure SMESH module necessary full GUI !" - exit -fi - echo echo --------------------------------------------- echo Testing Kernel @@ -362,7 +373,13 @@ echo --------------------------------------------- echo echo Configure +if test "${SMESH_WITH_GUI}" = "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" +fi + +if test "${SMESH_WITH_GUI}" = "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" +fi for var in $variables do @@ -443,6 +460,8 @@ AC_OUTPUT([ \ ./doc/Makefile \ ./doc/salome/Makefile \ ./doc/salome/gui/Makefile \ + ./doc/salome/gui/SMESH/doxyfile \ + ./doc/salome/gui/SMESH/doxyfile_py \ ./doc/salome/tui/Makefile \ ./doc/salome/tui/SMESH/doxyfile \ ./doc/salome/tui/SMESH/sources/static/tree.js \ @@ -463,6 +482,7 @@ AC_OUTPUT([ \ ./src/SMESHGUI/Makefile \ ./src/SMESH_I/Makefile \ ./src/SMESH_SWIG/Makefile \ + ./src/SMESH_SWIG_WITHIHM/Makefile \ ./src/StdMeshers/Makefile \ ./src/StdMeshersGUI/Makefile \ ./src/StdMeshers_I/Makefile \ diff --git a/doc/salome/gui/Makefile.am b/doc/salome/gui/Makefile.am index f1bbb6dcc..e7c5dc8ae 100644 --- a/doc/salome/gui/Makefile.am +++ b/doc/salome/gui/Makefile.am @@ -25,9 +25,16 @@ include $(top_srcdir)/adm_local/unix/make_common_starter.am EXTRA_DIST+=SMESH +doxygen=@DOXYGEN@ + usr_docs: - cp -fr $(srcdir)/SMESH ./ - -find $(PWD) -name CVS -prune -exec rm -rf {} \; + cd ./SMESH; \ + echo "Processing smeshDC.py file: "; \ + $(doxygen) ./doxyfile_py; \ + sed 's|../../../share/salome|$(top_srcdir)|' ./doxyfile > ./doxyfile1; \ + mv -f doxyfile1 doxyfile; \ + echo "Running doxygen in directory: "`pwd`; \ + $(doxygen) ./doxyfile; docs: usr_docs @@ -42,3 +49,10 @@ install-data-local: usr_docs uninstall-local: rm -rf $(docdir)/gui/SMESH + +docguidir=$(docdir)/gui/SMESH + +nodist_docgui_DATA= SMESH/doxyfile +nodist_docgui_DATA+= SMESH/doxyfile_py +EXTRA_DIST+= SMESH/doxyfile.in +EXTRA_DIST+= SMESH/doxyfile_py.in diff --git a/doc/salome/gui/SMESH/about_viewing_meshes.htm b/doc/salome/gui/SMESH/about_viewing_meshes.htm deleted file mode 100755 index fcddab5db..000000000 --- a/doc/salome/gui/SMESH/about_viewing_meshes.htm +++ /dev/null @@ -1,174 +0,0 @@ - - - - -
-After definition of algorithms and hypotheses a new mesh is listed in
- the Object Browser. Right-click on it and select Compute - the mesh will be automatically
- displayed in the VTK 3D Viewer.
- Alternatively click Display only
- to hide all other objects at the same time.
- -
VTK 3D - Viewer is detailly described in the documentation on GUI - module.
- -After the mesh has appeared in the Viewer, you can select it with left - mouse click and get - information about it, change its presentation parameters and access to - other useful options by right-clicking on the selected mesh.
- -- -
- -
Erase all - - allows - to hide all objects in the viewer
Update - - refreshes the presentation of your mesh in the Object Browser, applying - all recent changes.
Advanced Mesh Infos - - provides - more detailed information about the mesh.
Standard - Mesh Infos - provides basic information - about the mesh.
Numbering - - allows - to display the ID numbers of all meshing elements or nodes composing your - mesh in the viewer.
Display - Mode - allows to select between - Wireframe, Shading and Nodes presentation.
Display Entity - - allows to display Faces, Edges or both.
Colors / Size - - allows to select color and size of meshes.
Transparency - - allows to change the transparency of mesh elements.
Clipping - allows - to create cross-sections of the selected objects.
Quality Controls - - graphically presents various information about meshes.
Erase - - allows to hide the selected mesh from the viewer.
Display Only - -allows to display only the selected mesh, hiding all other from the viewer.
Dump view - - exports an object from the viewer in bmp, png, jpg or jpeg image format. -
Change background - - allows to redefine the background color. By default it is black.
- - - - diff --git a/doc/salome/gui/SMESH/adding_quadratic_nodes_and_elements.htm b/doc/salome/gui/SMESH/adding_quadratic_nodes_and_elements.htm deleted file mode 100755 index b4d5067d2..000000000 --- a/doc/salome/gui/SMESH/adding_quadratic_nodes_and_elements.htm +++ /dev/null @@ -1,124 +0,0 @@ - - - - - -
MESH modules allows you to work with Quadratic - Elements.
- -Quadratic Edge in not a straight but a broken line and can be defined - by three points: first, middle and last. All more complex Quadratic - Elements differ from ordinary ones in that they consist of Quadratic - Edges.
- -To - add a quadratic element to your mesh:
- -1. Select your mesh in the Object Browser - or in the 3D viewer.
- -2. From the Modification - menu choose the Add item - and select one of the following:
- -To create any Quadratic - Element specify the nodes which will form your triangle by selecting - them in the 3D viewer with pressed Shift button. Their numbers will appear - in the dialog box as Corner Nodes - (alternatively you can just input numbers in this field without selection).The - edges formed by the corner nodes will appear in the table. To define the - middle nodes for each edge double-click on the respective field and input - the number of the node. All edges and the object formed by them will be - displayed in the Object browser. When all edges are defined you will be - able to click OK or Apply - button to add the element to the mesh.
- -
Reverse - button for Quadratic Edges switches the first and the last nodes. For all other elements it reverses the element. -
- -- - - - diff --git a/doc/salome/gui/SMESH/aspect_ratio_3d.htm b/doc/salome/gui/SMESH/aspect_ratio_3d.htm deleted file mode 100755 index bd1d7ddfc..000000000 --- a/doc/salome/gui/SMESH/aspect_ratio_3d.htm +++ /dev/null @@ -1,203 +0,0 @@ - - - - - -
- -
The Aspect Ratio 3D mesh quality criterion calculates
- the same parameter as the Aspect ratio
- criterion, but it is applied to 3D mesh elements: tetrahedrons, pentahedrons,
- hexahedrons, etc.
- -
The Aspect
- Ratio of a tetrahedron
- 3D element is calculated by the formula:
- -
- -
,
- -
where SK is the sum of surfaces of the faces - of К and VK is the volume of К :
- -- -
T
- -
Other element types like quadrangle, pentahedron - and hexahedron use the following formula:
, where Qi represents the value of Qk for all possible simplexes (of the
- same dimension as the element) that compose the element.
For example, a hexahedron is split in 6 tetrahedrons, the Aspect - ratio 3D is calculated for each of them, then the greatest Qk is considered to be the Aspect ratio 3D - criterion for the whole hexahedron.
- -- -
To apply the Aspect Ratio 3D quality criterion to your mesh:
- -- -
1. Display your mesh in the viewer.
- -- -
2. Choose Controls
- > Aspect Ratio 3D or click button of the toolbar.
- Your mesh will be displayed in the viewer with its elements colored according
- to the applied mesh quality control criterion:
- -
See Also - a sample TUI Script of an Aspect - Ratio 3D quality control operation.
- -- -
- -
- -
- - - - diff --git a/doc/salome/gui/SMESH/borders_at_multi-connection.htm b/doc/salome/gui/SMESH/borders_at_multi-connection.htm deleted file mode 100755 index 8ad86b523..000000000 --- a/doc/salome/gui/SMESH/borders_at_multi-connection.htm +++ /dev/null @@ -1,121 +0,0 @@ - - - - - -
This mesh quality control highlights borders of faces
- consisting of edges belonging to several faces. The amount of faces is
- specified by user.
- -
- -
In this picture the borders at multi-connection are displayed in blue.
- -- -
See Also - a sample TUI Script of a Borders - at Multi-Connection quality control operation.
- -- - - - diff --git a/doc/salome/gui/SMESH/borders_at_multiconnection_2d.htm b/doc/salome/gui/SMESH/borders_at_multiconnection_2d.htm deleted file mode 100755 index 2e9e180c0..000000000 --- a/doc/salome/gui/SMESH/borders_at_multiconnection_2d.htm +++ /dev/null @@ -1,115 +0,0 @@ - - - - - -
This mesh quality control highlights borders of elements
- of mesh, consisting of edges belonging to several elements of mesh.
- -
- -
See Also - a sample TUI Script of a Borders - at Multi-Connection quality control operation.
- -- - - - diff --git a/doc/salome/gui/SMESH/building_compounds.htm b/doc/salome/gui/SMESH/building_compounds.htm deleted file mode 100755 index 475759694..000000000 --- a/doc/salome/gui/SMESH/building_compounds.htm +++ /dev/null @@ -1,160 +0,0 @@ - - - - - -
Compound Mesh is a combination of several meshes.
- -To - Build a compound:
- -From the Mesh
- menu select Build Compound or
- click button in the toolbar. The following dialog box will
- appear:
Name - - allows selecting the name of the resulting Compound
Meshes - - allows selecting the meshes which will be concatenated. They - can be chosen in the Object Browser while holding Ctrl - button.
Processing - identical groups - allows selecting the method of processing the - namesake existing on the united meshes. They can be either
United - - all elements of Group1 - on Mesh_1 and - Group1 on Mesh_2 - become the elements of Group1 - on the Compound_Mesh, - or
Renamed - - Group1 on - Mesh_1 becomes - Group1_1 and - Group1 on Mesh_2 - becomes Group1_2. - See Creating - Groups for more information about groups.
You - can simply unite meshes or choose to Merge coincident nodes and - elements, in which case it is possible - to define the Tolerance for - this operation.
Example:
- -- - - - diff --git a/doc/salome/gui/SMESH/clipping.htm b/doc/salome/gui/SMESH/clipping.htm deleted file mode 100755 index dec479c99..000000000 --- a/doc/salome/gui/SMESH/clipping.htm +++ /dev/null @@ -1,140 +0,0 @@ - - - - - -
Using this menu you can create cross-section views (clipping planes) - of your mesh.
- -- -
To start, click on the New button.
- -- -
- -
Now you can define the parameters of your cross-section: Orientation - (X-Y, X-Z - or Y-Z); Distance between the - opposite extremities of the object, if - it is set to 0.5 the object is split in two halves; and Rotation - (in angle degrees) around X (Y to Z) - and around Y (X to Z). - If the Show preview button is - on, you can see the clipping plane in the Object - window.
- -- -
- -
If the - Auto Apply button is on, you can preview - the cross-section in the Object window
- -- -
- -
To get - a new object from Clipping, click - Ok.
- -- -
- - - - diff --git a/doc/salome/gui/SMESH/constructing_meshes.htm b/doc/salome/gui/SMESH/constructing_meshes.htm deleted file mode 100755 index a643f436f..000000000 --- a/doc/salome/gui/SMESH/constructing_meshes.htm +++ /dev/null @@ -1,448 +0,0 @@ - - - - - -
First of all see Example - of 3d mesh generation, which is an example of good python script style - for Mesh module.
- -Other examples of python - scripts will be also updated soon to use smesh package instead of direct - usage of idl interface.
- -import - geompy
- -import smesh
- -- -
# create a box
- -box = geompy.MakeBox(0., - 0., 0., 100., 200., 300.)
- -idbox = geompy.addToStudy(box, - "box")
- -- -
# create a mesh
- -tetra = smesh.Mesh(box, - "MeshBox")
- -- -
algo1D = tetra.Segment()
- -algo1D.NumberOfSegments(7)
- -- -
algo2D = tetra.Triangle()
- -algo2D.MaxElementArea(800.)
- -- -
algo3D = tetra.Tetrahedron(smesh.NETGEN)
- -algo3D.MaxElementVolume(900.)
- -- -
# compute the mesh
- -ret = tetra.Compute()
- -if ret == 0:
- -print - "problem when computing the mesh"
- -else:
- -print - "mesh computed"
- -pass -
- -- -
- -
from - geompy import *
- -import smesh
- -- -
# create a box
- -box = MakeBoxDXDYDZ(10., 10., 10.)
- -addToStudy(box, "Box")
- -- -
# select one edge of - the box for definition of a local hypothesis
- -p5 = MakeVertex(5., 0., 0.)
- -EdgeX = GetEdgeNearPoint(box, p5)
- -addToStudyInFather(box, EdgeX, "Edge - [0,0,0 - 10,0,0]")
- -- -
# create a hexahedral - mesh on the box
- -quadra = smesh.Mesh(box, "Box : quadrangle - 2D mesh")
- -- -
# create a regular - 1D algorithm for the faces
- -algo1D = quadra.Segment()
- -- -
# define "NumberOfSegments" - hypothesis to cut
- -# all the edges in - a fixed number of segments
- -algo1D.NumberOfSegments(4)
- -- -
# create a quadrangle - 2D algorithm for the faces
- -quadra.Quadrangle()
- -- -
# construct a submesh - on the edge with a local hypothesis
- -algo_local = quadra.Segment(EdgeX)
- -- -
# define "Arithmetic1D" - hypothesis to cut the edge - in several segments with increasing arithmetic length
- -algo_local.Arithmetic1D(1, 4)
- -- -
# define "Propagation" - hypothesis that propagates all other hypotheses
- -# on all edges of the - opposite side in case of quadrangular faces
- -algo_local.Propagation()
- -- -
# compute the mesh
- -quadra.Compute()
- -- -
import - geompy
- -import smesh
- -- -
def PrintMeshInfo(theMesh):
- -aMesh - = theMesh.GetMesh()
- -print - "Information about mesh:"
- -print - "Number of nodes : - ", aMesh.NbNodes()
- -print - "Number of edges : - ", aMesh.NbEdges()
- -print - "Number of faces : - ", aMesh.NbFaces()
- -print - "Number of volumes : - ", aMesh.NbVolumes()
- -pass
- -- -
# create a box
- -box = geompy.MakeBox(0., 0., 0., 20., - 20., 20.)
- -geompy.addToStudy(box, "box")
- -- -
# select one edge of - the box for definition of a local hypothesis
- -subShapeList = geompy.SubShapeAll(box, - geompy.ShapeType["EDGE"])
- -edge = subShapeList[0]
- -name = geompy.SubShapeName(edge, box)
- -geompy.addToStudyInFather(box, edge, name)
- -- -
# create a mesh
- -tria = smesh.Mesh(box, "Mesh 2D")
- -algo1D = tria.Segment()
- -hyp1 = algo1D.NumberOfSegments(3)
- -algo2D = tria.Triangle()
- -hyp2 = algo2D.MaxElementArea(10.)
- -- -
# create a sub-mesh
- -algo_local = tria.Segment(edge)
- -hyp3 = algo_local.Arithmetic1D(1, 6)
- -hyp4 = algo_local.Propagation()
- -- -
# compute the mesh
- -tria.Compute()
- -PrintMeshInfo(tria)
- -- -
# remove a local hypothesis
- -mesh = tria.GetMesh()
- -mesh.RemoveHypothesis(edge, hyp4)
- -- -
# compute the mesh
- -tria.Compute()
- -PrintMeshInfo(tria)
- -- -
# change the value - of the 2D hypothesis
- -hyp2.SetMaxElementArea(2.)
- -- -
# compute the mesh
- -tria.Compute()
- -PrintMeshInfo(tria)
- -- -
import geompy
- -import smesh
- -- -
# create a box
- -box = geompy.MakeBox(0., - 0., 0., 100., 200., 300.)
- -idbox = geompy.addToStudy(box, - "box")
- -- -
# create a mesh
- -tetra = smesh.Mesh(box, - "MeshBox")
- -- -
algo1D = tetra.Segment()
- -algo1D.NumberOfSegments(7)
- -- -
algo2D = tetra.Triangle()
- -algo2D.MaxElementArea(800.)
- -- -
algo3D = tetra.Tetrahedron(smesh.NETGEN)
- -algo3D.MaxElementVolume(900.)
- -- -
# compute the mesh
- -tetra.Compute()
- -- -
# export the mesh in a - MED file
- -tetra.ExportMED("/tmp/meshMED.med", - 0)
- - - - diff --git a/doc/salome/gui/SMESH/cshdat_robohelp.htm b/doc/salome/gui/SMESH/cshdat_robohelp.htm deleted file mode 100755 index 4a4ee57e1..000000000 --- a/doc/salome/gui/SMESH/cshdat_robohelp.htm +++ /dev/null @@ -1,258 +0,0 @@ - - -- -
import - geompy
- -import smesh
- -- -
# create a box
- -box = geompy.MakeBoxDXDYDZ(10., - 10., 10.)
- -geompy.addToStudy(box, - "Box")
- -- -
# create a hexahedral - mesh on the box
- -hexa = smesh.Mesh(box, - "Box : hexahedrical mesh")
- -- -
# create a Regular 1D - algorithm for edges
- -algo1D = hexa.Segment()
- -- -
# define "Arithmetic1D" - hypothesis to cut all edges in several segments with increasing arithmetic - length
- -algo1D.Arithmetic1D(1, - 4)
- -- -
# create a quadrangle - 2D algorithm for faces
- -hexa.Quadrangle()
- -- -
# create a hexahedron - 3D algorithm for solids
- -hexa.Hexahedron()
- -- -
# compute the mesh
- -hexa.Compute()
- -- -
import - geompy
- -import smesh
- -- -
# create a face from - arc and straight segment
- -px = geompy.MakeVertex(100., - 0. , 0. - )
- -py = geompy.MakeVertex(0. - , 100., - 0. )
- -pz = geompy.MakeVertex(0. - , 0. , - 100.)
- -- -
exy = geompy.MakeEdge(px, - py)
- -arc = geompy.MakeArc(py, - pz, px)
- -- -
wire = geompy.MakeWire([exy, - arc])
- -- -
isPlanarFace = 1
- -face1 = geompy.MakeFace(wire, - isPlanarFace)
- -geompy.addToStudy(face1,"Face1")
- -- -
# get edges from the - face
- -e_straight,e_arc = - geompy.SubShapeAll(face1, geompy.ShapeType["EDGE"])
- -geompy.addToStudyInFather(face1, - e_arc, "Arc Edge")
- -- -
# create hexahedral mesh
- -hexa = smesh.Mesh(face1, - "Face : triangle mesh")
- -- -
# define "NumberOfSegments" - hypothesis to cut a straight edge in a fixed number of segments
- -algo1D = hexa.Segment()
- -algo1D.NumberOfSegments(6)
- -- -
# define "MaxElementArea" - hypothesis
- -algo2D = hexa.Triangle()
- -algo2D.MaxElementArea(70.0)
- -- -
# define a local "Deflection1D" - hypothesis on the arc
- -algo_local = hexa.Segment(e_arc)
- -algo_local.Deflection1D(1.0)
- -- -
# compute the mesh
- -hexa.Compute()
- -from - geompy import *
- -import smesh
- -- -
# create a box
- -box = MakeBoxDXDYDZ(10., - 10., 10.)
- -addToStudy(box, "Box")
- -- -
# get one edge of the - box to put local hypothesis on
- -p5 = MakeVertex(5., - 0., 0.)
- -EdgeX = GetEdgeNearPoint(box, - p5)
- -addToStudyInFather(box, - EdgeX, "Edge [0,0,0 - 10,0,0]")
- -- -
# create a hexahedral - mesh on the box
- -hexa = smesh.Mesh(box, - "Box : hexahedrical mesh")
- -- -
# set algorithms
- -algo1D = hexa.Segment()
- -hexa.Quadrangle()
- -hexa.Hexahedron()
- -- -
# define "NumberOfSegments" - hypothesis to cut an edge in a fixed number of segments
- -algo1D.NumberOfSegments(4)
- -- -
# create a local hypothesis
- -algo_local = hexa.Segment(EdgeX)
- -- -
# define "StartEndLength" - hypothesis to cut an edge in several segments with increasing geometric - length
- -algo_local.StartEndLength(1, - 6)
- -- -
# define "Propagation" - hypothesis that propagates all other hypothesis
- -# on all edges on the - opposite side in case of quadrangular faces
- -algo_local.Propagation()
- -- -
# compute the mesh
- -hexa.Compute()
- -from - geompy import *
- -import smesh
- -- -
# create a box
- -box = MakeBoxDXDYDZ(10., - 10., 10.)
- -addToStudy(box, "Box")
- -- -
# get one edge of the - box to put local hypothesis on
- -p5 = MakeVertex(5., - 0., 0.)
- -EdgeX = GetEdgeNearPoint(box, - p5)
- -addToStudyInFather(box, - EdgeX, "Edge [0,0,0 - 10,0,0]")
- -- -
# create a hexahedral - mesh on the box
- -hexa = smesh.Mesh(box, - "Box : hexahedrical mesh")
- -- -
# set algorithms
- -algo1D = hexa.Segment()
- -hexa.Quadrangle()
- -hexa.Hexahedron()
- -- -
# define "NumberOfSegments" - hypothesis to cut all edges in a fixed number of segments
- -algo1D.NumberOfSegments(4)
- -- -
# create a sub-mesh
- -algo_local = hexa.Segment(EdgeX)
- -- -
# define "LocalLength" - hypothesis to cut an edge in several segments with the same length
- -algo_local.LocalLength(2.)
- -- -
# define "Propagation" - hypothesis that propagates all other hypothesis
- -# on all edges on the - opposite side in case of quadrangular faces
- -algo_local.Propagation()
- -- -
# compute the mesh
- -hexa.Compute()
- -import - geompy
- -import smesh
- -import salome
- -- -
# create a face
- -px = - geompy.MakeVertex(100., 0. , - 0. )
- -py = - geompy.MakeVertex(0. , - 100., 0. )
- -pz = - geompy.MakeVertex(0. , - 0. , 100.)
- -- -
vxy = geompy.MakeVector(px, - py)
- -arc = geompy.MakeArc(py, - pz, px)
- -wire = geompy.MakeWire([vxy, - arc])
- -- -
isPlanarFace = 1
- -face = geompy.MakeFace(wire, - isPlanarFace)
- -- -
# add the face in the - study
- -id_face = geompy.addToStudy(face, - "Face to be meshed")
- -- -
# create a mesh
- -tria_mesh = smesh.Mesh(face, - "Face : triangulation")
- -- -
# define 1D meshing:
- -algo = tria_mesh.Segment()
- -algo.NumberOfSegments(20)
- -- -
# define 2D meshing:
- -- -
# assign triangulation - algorithm
- -algo = tria_mesh.Triangle()
- -- -
# apply "Max Element - Area" hypothesis to each triangle
- -algo.MaxElementArea(100)
- -- -
# compute the mesh
- -tria_mesh.Compute() -
- -- -
import - geompy
- -import smesh
- -- -
# create a cylinder
- -cyl = geompy.MakeCylinderRH(30., - 50.)
- -geompy.addToStudy(cyl, - "cyl")
- -- -
# create a mesh on - the cylinder
- -tetra = smesh.Mesh(cyl, - "Cylinder : tetrahedrical mesh")
- -- -
# assign algorithms
- -algo1D = tetra.Segment()
- -algo2D = tetra.Triangle()
- -algo3D = tetra.Tetrahedron(smesh.NETGEN)
- -- -
# assign 1D and 2D - hypotheses
- -algo1D.NumberOfSegments(7)
- -algo2D.MaxElementArea(150.)
- -- -
# assign Max Element - Volume hypothesis
- -algo3D.MaxElementVolume(200.)
- -- -
# compute the mesh
- -ret = tetra.Compute()
- -if ret == 0:
- -print - "probleme when computing the mesh"
- -else:
- -print - "Computation succeded"
- -import - geompy
- -import smesh
- -- -
# create sketchers
- -sketcher1 = geompy.MakeSketcher("Sketcher:F - 0 0:TT 70 0:TT 70 70:TT 0 70:WW")
- -sketcher2 = geompy.MakeSketcher("Sketcher:F - 20 20:TT 50 20:TT 50 50:TT 20 50:WW")
- -- -
# create a face from - two wires
- -isPlanarFace = 1
- -face1 = geompy.MakeFaces([sketcher1, - sketcher2], isPlanarFace)
- -geompy.addToStudy(face1, - "Face1")
- -- -
# create a mesh
- -tria = smesh.Mesh(face1, - "Face : triangle 2D mesh")
- -- -
# Define 1D meshing
- -algo1D = tria.Segment()
- -algo1D.NumberOfSegments(2)
- -- -
# create and assign the - algorithm for 2D meshing with triangles
- -algo2D = tria.Triangle()
- -- -
# create and assign "LengthFromEdges" - hypothesis to build triangles - based on the length of the edges taken from the wire
- -algo2D.LengthFromEdges()
- -- -
# compute the mesh
- -tria.Compute()
- -- -
from geompy import - *
- -import smesh
- -- -
# create a box
- -box = MakeBoxDXDYDZ(10., - 10., 10.)
- -addToStudy(box, "Box")
- -- -
# get one edge of the - box to put local hypothesis on
- -p5 = MakeVertex(5., - 0., 0.)
- -EdgeX = GetEdgeNearPoint(box, - p5)
- -addToStudyInFather(box, - EdgeX, "Edge [0,0,0 - 10,0,0]")
- -- -
# create a hexahedral - mesh on the box
- -hexa = smesh.Mesh(box, - "Box : hexahedrical mesh")
- -- -
# set global algorithms - and hypotheses
- -algo1D = hexa.Segment()
- -hexa.Quadrangle()
- -hexa.Hexahedron()
- -algo1D.NumberOfSegments(4)
- -- -
# create a sub-mesh with - local 1D hypothesis and propagation
- -algo_local = hexa.Segment(EdgeX)
- -- -
# define "Arithmetic1D" - hypothesis to cut an edge in several segments with increasing length
- -algo_local.Arithmetic1D(1, - 4)
- -- -
# define "Propagation" - hypothesis that propagates all other 1D hypotheses
- -# from all edges on the - opposite side of a face in case of quadrangular faces
- -algo_local.Propagation()
- -- -
# compute the mesh
- -hexa.Compute() -
- -import geompy
- -import smesh
- -- -
# create a box
- -box = geompy.MakeBoxDXDYDZ(10., - 10., 10.)
- -geompy.addToStudy(box, - "Box")
- -- -
# 1. Create a hexahedral - mesh on the box
- -hexa = smesh.Mesh(box, - "Box : hexahedrical mesh")
- -- -
# create a Regular 1D algorithm - for edges
- -algo1D = hexa.Segment()
- -- -
# create a quadrangle 2D - algorithm for faces
- -algo2D = hexa.Quadrangle()
- -- -
# create a hexahedron 3D - algorithm for solids
- -algo3D = hexa.Hexahedron()
- -- -
# define hypotheses
- -algo1D.Arithmetic1D(1, - 4)
- -- -
# compute the mesh
- -hexa.Compute()
- -- -
# 2. Create a tetrahedral - mesh on the box
- -tetra = smesh.Mesh(box, - "Box : tetrahedrical mesh")
- -- -
# create a Regular 1D algorithm - for edges
- -algo1D = tetra.Segment()
- -- -
# create a Mefisto 2D algorithm - for faces
- -algo2D = tetra.Triangle()
- -- -
# create a Netgen 3D algorithm - for solids
- -algo3D = tetra.Tetrahedron(smesh.NETGEN)
- -- -
# define hypotheses
- -algo1D.Arithmetic1D(1, - 4)
- -algo2D.LengthFromEdges()
- -- -
# compute the mesh
- -tetra.Compute()
- -- -
# 3. Create a tetrahedral - mesh on the box with NETGEN_2D3D algorithm
- -tetraN = smesh.Mesh(box, - "Box : tetrahedrical mesh by NETGEN_2D3D")
- -- -
# create a Netgen_2D3D - algorithm for solids
- -algo3D = tetraN.Tetrahedron(smesh.FULL_NETGEN) -
- -- -
# define hypotheses
- -n23_params = algo3D.Parameters()
- -- -
# compute the mesh
- -tetraN.Compute() -
- - - - diff --git a/doc/salome/gui/SMESH/deleting_groups.htm b/doc/salome/gui/SMESH/deleting_groups.htm deleted file mode 100755 index 02a7b47e2..000000000 --- a/doc/salome/gui/SMESH/deleting_groups.htm +++ /dev/null @@ -1,119 +0,0 @@ - - - - - -To delete a group in the - Main Menu select Mesh - -> Delete Groups and select one or several - groups you wish to delete in the 3D viewer or in the Object Browser.
- -The selected groups will - be listed in Delete groups with contents - menu. Then click Ok button to remove the selected groups and close the - menu or Apply button to remove them and proceed with the selection.
- -- -
- -
- -
Please, note that this - operation removes groups with their elements. - To delete a group and leave its elements intact, right-click on the group - in the Object Browser and select Delete - in the pop-up menu or select the group and choose Edit - -> Delete in the Main Menu. -
- - - - diff --git a/doc/salome/gui/SMESH/display_entity.htm b/doc/salome/gui/SMESH/display_entity.htm deleted file mode 100755 index 51d7d6604..000000000 --- a/doc/salome/gui/SMESH/display_entity.htm +++ /dev/null @@ -1,101 +0,0 @@ - - - - - -In this submenu you can choose to display only volumes, faces or edges - or combine them.
- -- -
Only Faces Only - Edges
- -
- - - - diff --git a/doc/salome/gui/SMESH/doxyfile.in b/doc/salome/gui/SMESH/doxyfile.in new file mode 100755 index 000000000..37ef2d45f --- /dev/null +++ b/doc/salome/gui/SMESH/doxyfile.in @@ -0,0 +1,49 @@ +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "Mesh Module Reference Manual v.@VERSION@" +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 +IMAGE_PATH = @srcdir@/images +EXAMPLE_PATH = ../../../share/salome/src/SMESH_SWIG +#--------------------------------------------------------------------------- +#HTML related options +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = ./ +HTML_HEADER = @srcdir@/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 + +#--------------------------------------------------------------------------- +#LaTeX related option +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO + +#--------------------------------------------------------------------------- +#RTF related options +#--------------------------------------------------------------------------- +GENERATE_RTF = NO + +#--------------------------------------------------------------------------- +#External reference options +#--------------------------------------------------------------------------- +TAGFILES = smeshpy_doc.tag=./smeshpy_doc diff --git a/doc/salome/gui/SMESH/doxyfile_py.in b/doc/salome/gui/SMESH/doxyfile_py.in new file mode 100755 index 000000000..ff847e50e --- /dev/null +++ b/doc/salome/gui/SMESH/doxyfile_py.in @@ -0,0 +1,137 @@ +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "Mesh Module Reference Manual v.@VERSION@" +OUTPUT_DIRECTORY = ./ +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = NO +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 = NO +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/SMESH_SWIG +FILE_PATTERNS = smeshDC.py +IMAGE_PATH = @srcdir@/images +RECURSIVE = NO + +#--------------------------------------------------------------------------- +#HTML related options +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = ./smeshpy_doc +HTML_HEADER = @srcdir@/static/header.html +HTML_FOOTER = @srcdir@/static/footer.html +#HTML_STYLESHEET = @srcdir@/static/doxygen.css +TOC_EXPAND = YES +DISABLE_INDEX = YES +GENERATE_TREEVIEW = NO + +#--------------------------------------------------------------------------- +#LaTeX related option +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO + +#--------------------------------------------------------------------------- +#RTF related options +#--------------------------------------------------------------------------- +GENERATE_RTF = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = NO +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = NO +GROUP_GRAPHS = NO +UML_LOOK = NO +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = NO +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = jpg +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 = smeshpy_doc.tag diff --git a/doc/salome/gui/SMESH/ehelp.xml b/doc/salome/gui/SMESH/ehelp.xml deleted file mode 100755 index 8d61adcdc..000000000 --- a/doc/salome/gui/SMESH/ehelp.xml +++ /dev/null @@ -1,10 +0,0 @@ - - -