From: jfa Date: Fri, 7 Mar 2008 07:47:05 +0000 (+0000) Subject: Join modifications from BR_Dev_For_4_0 tag V4_1_1. X-Git-Tag: V4_1_2rc1~32 X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=commitdiff_plain;h=79b1ac2b6df9117f16f11d444b1f165d477a1813 Join modifications from BR_Dev_For_4_0 tag V4_1_1. --- diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 000000000..e69de29bb diff --git a/COPYING b/COPYING new file mode 100644 index 000000000..b1e3f5a26 --- /dev/null +++ b/COPYING @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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, or (at your option) any later version. + + 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 + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 000000000..abe560f09 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,52 @@ +# Copyright (C) 2005 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 +# +# -* Makefile *- +# +# Author : Patrick GOLDBRONN (CEA) +# Date : 28/06/2001 +# Modified by : Alexander BORODIN (OCN) - autotools usage +# $Header$ +# + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +SUBDIRS = idl adm_local resources src doc bin + +DIST_SUBDIRS = idl adm_local resources src doc bin + +DISTCLEANFILES = a.out aclocal.m4 configure + +salomeinclude_DATA=SMESH_version.h + +EXTRA_DIST+= \ + build_configure \ + clean_configure \ + LICENCE + +dist-hook: + rm -rf `find $(distdir) -name CVS` + +usr_docs: + (cd doc && $(MAKE) $(AM_MAKEFLAGS) usr_docs) + +docs:usr_docs + +dev_docs: + (cd doc && $(MAKE) $(AM_MAKEFLAGS) dev_docs) diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index 5c579e676..000000000 --- a/Makefile.in +++ /dev/null @@ -1,253 +0,0 @@ -# Copyright (C) 2005 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 -# -# -* Makefile *- -# -# Author : Patrick GOLDBRONN (CEA) -# Date : 28/06/2001 -# $Header$ -# - -# source path -top_srcdir=@top_srcdir@ -top_builddir=. -srcdir=@srcdir@ -VPATH=.:@srcdir@:@top_srcdir@/bin:./bin/salome:./resources:@top_srcdir@/resources:./bin:@top_srcdir@/idl - - -@COMMENCE@ - -SUBDIRS = idl src doc adm_local - -RESOURCES_FILES = \ -delete.png \ -mesh_add_sub.png \ -mesh_algo_hexa.png \ -mesh_algo_mefisto.png \ -mesh_algo_quad.png \ -mesh_algo_regular.png \ -mesh_algo_tetra.png \ -mesh_angle.png \ -mesh_area.png \ -mesh_aspect.png \ -mesh_aspect_3d.png \ -mesh_compute.png \ -mesh_connectivity.png \ -mesh_diagonal.png \ -mesh_edit.png \ -mesh_hexa_n.png \ -mesh_hexa.png \ -mesh_hypo_area.png \ -mesh_hypo_length.png \ -mesh_hypo_segment.png \ -mesh_hypo_volume.png \ -mesh_hypo_edit.png \ -mesh_info.png \ -advanced_mesh_info.png \ -standard_mesh_info.png \ -mesh_init.png \ -mesh_length.png \ -mesh_length_2d.png \ -mesh_free_edges.png \ -mesh_free_edges_2d.png \ -mesh_multi_edges.png \ -mesh_multi_edges_2d.png \ -mesh_line_n.png \ -mesh_line.png \ -mesh_move_node.png \ -mesh_orientation.png \ -mesh.png \ -mesh_polygon.png \ -mesh_polyhedron.png \ -mesh_pyramid_n.png \ -mesh_pyramid.png \ -mesh_quad_n.png \ -mesh_quad.png \ -mesh_rem_element.png \ -mesh_rem_node.png \ -mesh_set_algo.png \ -mesh_set_hypo.png \ -mesh_shading.png \ -mesh_shrink.png \ -mesh_skew.png \ -mesh_taper.png \ -mesh_tetra_n.png \ -mesh_tetra.png \ -mesh_tree_algo_hexa.png \ -mesh_tree_algo_mefisto.png \ -mesh_tree_algo.png \ -mesh_tree_algo_quad.png \ -mesh_tree_algo_regular.png \ -mesh_tree_algo_tetra.png \ -mesh_tree_algo_netgen_2d3d.png \ -mesh_tree_algo_netgen_2d.png \ -mesh_tree_hypo_area.png \ -mesh_tree_hypo_length.png \ -mesh_tree_hypo.png \ -mesh_tree_hypo_segment.png \ -mesh_tree_hypo_volume.png \ -mesh_tree_hypo_netgen.png \ -mesh_tree_hypo_netgen_2d.png \ -mesh_tree_mesh.png \ -mesh_tree_importedmesh.png \ -mesh_tree_mesh_warn.png \ -mesh_triangle_n.png \ -mesh_triangle.png \ -mesh_update.png \ -mesh_vertex_n.png \ -mesh_vertex.png \ -mesh_volume_3d.png \ -mesh_wireframe.png \ -mesh_points.png \ -mesh_wrap.png \ -mesh_tree_group.png \ -mesh_edit_group.png \ -mesh_make_group.png \ -mesh_union2tri.png \ -mesh_uniontri.png \ -mesh_cutquad.png \ -mesh_smoothing.png \ -mesh_renumbering_nodes.png \ -mesh_renumbering_elements.png \ -mesh_extrusion.png \ -mesh_extrusionpath.png \ -mesh_revolution.png \ -ModuleMesh.png \ -mesh_unionGroups.png \ -mesh_intersectGroups.png \ -mesh_cutGroups.png \ -mesh_deleteGroups.png \ -mesh_translation_vector.png \ -mesh_translation_points.png \ -mesh_rotation.png \ -mesh_symmetry_point.png \ -mesh_symmetry_axis.png \ -mesh_symmetry_plane.png \ -mesh_sew_freeborders.png \ -mesh_sew_conform_freeborders.png \ -mesh_sew_bordertoside.png \ -mesh_sew_sideelements.png \ -mesh_merge_nodes.png \ -mesh_merge_elements.png \ -select1.png \ -SMESH_en.xml \ -SMESH.config \ -StdMeshers.xml \ -SMESHCatalog.xml \ -SalomeApp.xml \ -mesh_pattern.png \ -pattern_sample_2d.png \ -pattern_sample_3D.png \ -mesh_add.png \ -mesh_remove.png \ -mesh_quad_edge.png \ -mesh_quad_triangle.png \ -mesh_quad_quadrangle.png \ -mesh_quad_tetrahedron.png \ -mesh_quad_pyramid.png \ -mesh_quad_pentahedron.png \ -mesh_quad_hexahedron.png \ -mesh_conv_to_quad.png - -BIN_SCRIPT= \ -VERSION - -# copy header files in common directory - -include_list = include/salome/SALOMEconfig.h \ - include/salome/SMESH_version.h - -ifneq ($(HAVE_SSTREAM),yes) - include_list += include/salome/sstream -endif - -inc: idl $(include_list) - -bin: bin/salome/VERSION - -bin/salome/VERSION : bin/VERSION - -$(RM) $@ - $(LN_S) ../../$< $@ - -include/salome/SALOMEconfig.h: salome_adm/unix/SALOMEconfig.ref - -$(RM) $@ - $(LN_S) ../../$< $@ - -# test if SALOMEconfig.h has changed (contents) -salome_adm/unix/SALOMEconfig.ref: salome_adm/unix/SALOMEconfig.h - @if ! [ -a $@ ]; then \ - cp -p -f $< $@; \ - fi; \ - if ! cmp $< $@; then \ - cp -p -f $< $@; \ - fi; \ - -include/salome/sstream: salome_adm/unix/sstream - -$(RM) $@ - $(LN_S) ../../$< $@ - -include/salome/SMESH_version.h: SMESH_version.h - -$(RM) $@ - $(LN_S) ../../$< $@ - -depend: depend_idl - -depend_idl: - (cd idl ; $(MAKE) $@) || exit 1 - -# doc is already build : if you want to had documents, go manually to doc and run 'make doc' -#doc: -# (cd doc && $(MAKE) $@) || exit 1 - -install-end: -# finish libtool install -# @$(LT) --mode=finish $(libdir) - -install-include: $(include_list) - $(INSTALL) -d $(includedir) - @for f in X $(include_list); do \ - if test $$f != X; then \ - ($(INSTALL_DATA) -p $$f $(includedir)/. || exit 1); \ - fi; \ - done - -# install script in $(bindir) : -install-bin: $(BIN_SCRIPT) - $(INSTALL) -d $(bindir) - if test $(BIN_SCRIPT)X != X; then \ - $(INSTALL_PROGRAM) $^ $(bindir); \ - fi - -uninstall: uninstall-idl - -uninstall-idl: - $(RM) $(idldir)/*.idl - -distclean: distclean-other - -distclean-other: - -$(RM) salome_adm/unix/*~ salome_adm/unix/*% salome_adm/unix/*.bak salome_adm/unix/*.new salome_adm/unix/*.old - -$(RM) salome_adm/unix/make_* - -$(RM) salome_adm/unix/depend salome_adm/unix/SALOMEconfig.h - -$(RM) config.cache config.log config.status - -@MODULE@ - -install: install-bin install-include install-end - diff --git a/NEWS b/NEWS new file mode 100644 index 000000000..e69de29bb diff --git a/README b/README new file mode 100644 index 000000000..e69de29bb diff --git a/adm_local/Makefile.am b/adm_local/Makefile.am new file mode 100644 index 000000000..7ae83a6fc --- /dev/null +++ b/adm_local/Makefile.am @@ -0,0 +1,19 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# 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 +# +SUBDIRS = unix diff --git a/adm_local/Makefile.in b/adm_local/Makefile.in deleted file mode 100644 index e2133b49b..000000000 --- a/adm_local/Makefile.in +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (C) 2005 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 -# -# source path -top_srcdir=@top_srcdir@ -top_builddir=.. -srcdir=@srcdir@ -VPATH=.:$(srcdir)/adm_local - - -all: resources - -install: - cp -rf @top_srcdir@/adm_local @prefix@ - -bin: - -resources : - cp -rf @top_srcdir@/adm_local $(top_builddir) - -inc: - -lib: - -depend: - -depend_idl: - -install-end: - -install-include: - -install-bin: - -uninstall: - -uninstall-idl: - -distclean: - -clean: - -distclean-other: - diff --git a/adm_local/unix/Makefile.am b/adm_local/unix/Makefile.am new file mode 100644 index 000000000..facd4e6f4 --- /dev/null +++ b/adm_local/unix/Makefile.am @@ -0,0 +1,22 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +SUBDIRS = config_files diff --git a/adm_local/unix/config_files/Makefile.am b/adm_local/unix/config_files/Makefile.am new file mode 100644 index 000000000..3198e9da1 --- /dev/null +++ b/adm_local/unix/config_files/Makefile.am @@ -0,0 +1,23 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +dist_admlocalm4_DATA = \ + check_SMESH.m4 \ + check_f77.m4 diff --git a/adm_local/unix/config_files/check_Platform.m4 b/adm_local/unix/config_files/check_Platform.m4 new file mode 100755 index 000000000..b4cd3d875 --- /dev/null +++ b/adm_local/unix/config_files/check_Platform.m4 @@ -0,0 +1,117 @@ +dnl Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +dnl +dnl This library is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Lesser General Public +dnl License as published by the Free Software Foundation; either +dnl version 2.1 of the License. +dnl +dnl This library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Lesser General Public License for more details. +dnl +dnl You should have received a copy of the GNU Lesser General Public +dnl License along with this library; if not, write to the Free Software +dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +dnl +dnl See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +dnl +dnl +dnl + +AC_DEFUN([CHECK_PLATFORM],[ +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_CPP])dnl + +AC_CHECKING(for Platform) + +AC_SUBST(PLATFORM_INCLUDES) + +PLATFORM_INCLUDES="PCLINUX" +SUFFIXES="" + +f77int="F77INT32" +case $host_os in + irix5.* | irix6.* | osf4.* | osf5.* | linux* ) + + linux64="true" + expr "$host_os" : 'linux' >/dev/null && test ! x"$host_cpu" = x"x86_64" && linux64="false" + if test ! x"$linux64" = "xfalse" ; then + echo "$as_me:$LINENO: checking for 64bits integers size in F77/F90" >&5 +echo $ECHO_N "checking for 64bits integers size in F77/F90... $ECHO_C" >&6 + # Check whether --enable-int64 or --disable-int64 was given. +if test "${enable_int64+set}" = set; then + enableval="$enable_int64" + +fi; + case "X-$enable_int64" in + X-no) + echo "$as_me:$LINENO: result: \"disabled\"" >&5 +echo "${ECHO_T}\"disabled\"" >&6 + SUFFIXES="_32" + ;; + *) + echo "$as_me:$LINENO: result: \"enabled\"" >&5 +echo "${ECHO_T}\"enabled\"" >&6 + SUFFIXES="" + f77int="F77INT64" + ;; + esac + fi + ;; + *) + ;; +esac + +case $host_os in + linux*) + test x"$linux64" = x"true" && \ + MACHINE="PCLINUX64${SUFFIXES}" || \ + MACHINE=PCLINUX + ;; + hpux*) + MACHINE=HP9000 + ;; + aix4.*) + MACHINE=RS6000 + host_os_novers=aix4.x + ;; + irix5.*) + MACHINE="IRIX64${SUFFIXES}" + host_os_novers=irix5.x + ;; + irix6.*) + MACHINE="IRIX64${SUFFIXES}" + host_os_novers=irix6.x + ;; + osf4.*) + MACHINE="OSF1${SUFFIXES}" + host_os_novers=osf4.x + ;; + osf5.*) + MACHINE="OSF1${SUFFIXES}" + host_os_novers=osf5.x + ;; + solaris2.*) + MACHINE=SUN4SOL2 + host_os_novers=solaris2.x + ;; + uxpv*) + MACHINE=VPP5000 + ;; + *) + MACHINE= + host_os_novers=$host_os + ;; +esac + +case $host_cpu in + ia64*) + MACHINE="PCLINUX64" + ;; +esac + +PLATFORM_INCLUDES=" -D$MACHINE " + +])dnl 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/adm_local/unix/make_commence.in b/adm_local/unix/make_commence.in deleted file mode 100644 index 71df45053..000000000 --- a/adm_local/unix/make_commence.in +++ /dev/null @@ -1,307 +0,0 @@ -# common directories to put headerfiles -inc_builddir=$(top_builddir)/include/salome - -@SET_MAKE@ -SHELL=/bin/sh - -# header missing - -HAVE_SSTREAM=@HAVE_SSTREAM@ - - -LIBS=@LIBS@ -LIBSFORBIN=@LIBS@ -LDFLAGS=@LDFLAGS@ -L$(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome -Xlinker -rpath-link -Xlinker -LDFLAGSFORBIN=@LDFLAGS@ -L$(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome -Xlinker -rpath-link -Xlinker -# add libstdc++ to link c++ library with libtool ! -LDFLAGS+= -lstdc++ -LDFLAGSFORBIN+= -lstdc++ - -CP=@CP@ - -# CPP - -CPP=@CPP@ -CXXCPP=@CXXCPP@ -CPPFLAGS=@CPPFLAGS@ -I$(inc_builddir) -I$(srcdir) -I. - -# C - -CC = @CC@ -CFLAGS = @CFLAGS@ -C_DEPEND_FLAG = @C_DEPEND_FLAG@ - -# C++ - -CXX = @CXX@ -CXXFLAGS = @CXXFLAGS@ -CXX_DEPEND_FLAG = @CXX_DEPEND_FLAG@ - -# BOOST Library - -BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ - -# JAVA - -JAVA_INCLUDES = @JAVA_INCLUDES@ -JAVA_LIBS = @JAVA_LIBS@ -JAVA_LDPATH = @JAVA_LDPATH@ - -# PYTHON - -PYTHON = @PYTHON@ -PYTHONHOME = @PYTHONHOME@ -PYTHON_INCLUDES = @PYTHON_INCLUDES@ -PYTHON_LIBS = @PYTHON_LIBS@ -PYTHON_VERSION = @PYTHON_VERSION@ -PYTHON_SITE = $(prefix)/lib@LIB_LOCATION_SUFFIX@/python$(PYTHON_VERSION)/site-packages -PYTHON_SITE_INSTALL = $(prefix)/lib@LIB_LOCATION_SUFFIX@/python$(PYTHON_VERSION)/site-packages/salome - -# QT - -QT_ROOT = @QT_ROOT@ -QT_INCLUDES = @QT_INCLUDES@ -QT_MT_INCLUDES = @QT_INCLUDES@ -DQT_THREAD_SUPPORT -QT_LIBS = @QT_LIBS@ -QT_MT_LIBS = @QT_MT_LIBS@ - -MOC = @MOC@ -UIC = @UIC@ -MSG2QM = @MSG2QM@ - -#QWT - -QWT_INCLUDES=@QWT_INCLUDES@ -QWT_LIBS=@QWT_LIBS@ - -# SIP -SIP = @SIP@ -SIP_INCLUDES = @SIP_INCLUDES@ -SIP_LIBS = @SIP_LIBS@ - -# PYQT -PYQT_SIPS = @PYQT_SIPS@ -PYQT_LIBS = @PYQT_LIBS@ - -# openGL -OGL_INCLUDES=@OGL_INCLUDES@ -OGL_LIBS=@OGL_LIBS@ - -# VTK -VTK_INCLUDES=@VTK_INCLUDES@ -VTK_LIBS=@VTK_LIBS@ - -# HDF5 - -HDF5_INCLUDES=@HDF5_INCLUDES@ -HDF5_LIBS=@HDF5_LIBS@ -HDF5_MT_LIBS=@HDF5_MT_LIBS@ - -# OpenCasCade - -OCC_INCLUDES=@CAS_CPPFLAGS@ -OCC_CXXFLAGS=@CAS_CXXFLAGS@ - -OCC_KERNEL_LIBS=@CAS_KERNEL@ -OCC_OCAF_LIBS=@CAS_OCAF@ -OCC_VIEWER_LIBS=@CAS_VIEWER@ -OCC_MODELER_LIBS=@CAS_MODELER@ -OCC_DATAEXCHANGE_LIBS=@CAS_DATAEXCHANGE@ -OCC_LIBS=@CAS_LDFLAGS@ -OCC_LDPATH=@CAS_LDPATH@ - -# MPICH - -MPICH_INCLUDES=@MPICH_INCLUDES@ -MPICH_LIBS=@MPICH_LIBS@ - -# Swig C++ Python - -SWIG = @SWIG@ -SWIG_FLAGS = @SWIG_FLAGS@ -I$(inc_builddir) -I$(srcdir) -I. - -# OMNIORB - -OMNIORB_ROOT = @OMNIORB_ROOT@ -OMNIORB_INCLUDES = @OMNIORB_INCLUDES@ -OMNIORB_LIBS = @OMNIORB_LIBS@ -OMNIORB_CXXFLAGS = @OMNIORB_CXXFLAGS@ - -OMNIORB_IDL = @OMNIORB_IDL@ -OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@ -OMNIORB_IDLPYFLAGS = @OMNIORB_IDLPYFLAGS@ -I$(top_srcdir)/idl -I$(top_builddir)/idl/salome \ - -I$(KERNEL_ROOT_DIR)/idl/salome -I$(GEOM_ROOT_DIR)/idl/salome -I$(MED_ROOT_DIR)/idl/salome - -OMNIORB_IDL_CLN_H = @OMNIORB_IDL_CLN_H@ -OMNIORB_IDL_CLN_CXX = @OMNIORB_IDL_CLN_CXX@ -OMNIORB_IDL_CLN_OBJ = @OMNIORB_IDL_CLN_OBJ@ - -OMNIORB_IDL_SRV_H = @OMNIORB_IDL_SRV_H@ -OMNIORB_IDL_SRV_CXX = @OMNIORB_IDL_SRV_CXX@ -OMNIORB_IDL_SRV_OBJ = @OMNIORB_IDL_SRV_OBJ@ - -# Default ORB - -CORBA_ROOT = @CORBA_ROOT@ -CORBA_INCLUDES = @CORBA_INCLUDES@ -CORBA_LIBS = @CORBA_LIBS@ -CORBA_CXXFLAGS = @CORBA_CXXFLAGS@ - -IDLCXXFLAGS = -bcxx @IDLCXXFLAGS@ -I$(top_srcdir)/idl -I$(top_builddir)/idl/salome \ - -I$(KERNEL_ROOT_DIR)/idl/salome -I$(GEOM_ROOT_DIR)/idl/salome -I$(MED_ROOT_DIR)/idl/salome -IDLPYFLAGS = @IDLPYFLAGS@ - -IDL = @IDL@ - -IDL_CLN_H = @IDL_CLN_H@ -IDL_CLN_CXX = @IDL_CLN_CXX@ -IDL_CLN_OBJ = @IDL_CLN_OBJ@ - -IDL_SRV_H = @IDL_SRV_H@ -IDL_SRV_CXX = @IDL_SRV_CXX@ -IDL_SRV_OBJ = @IDL_SRV_OBJ@ - -CPPFLAGS+= $(CORBA_INCLUDES) -CXXFLAGS+= $(CORBA_CXXFLAGS) - -# add corba libs when link salome application ! -#LDFLAGS+= $(CORBA_LIBS) -LIBS+=$(CORBA_LIBS) - -DOXYGEN = @DOXYGEN@ -DOXYGEN_WITH_PYTHON = @DOXYGEN_WITH_PYTHON@ -DOXYGEN_WITH_STL = @DOXYGEN_WITH_STL@ - -## Shared libraries -LT_STATIC_EXEC=@LT_STATIC_EXEC@ -DYNAMIC_DIRS=@DYNAMIC_DIRS@ -LT_LIB=libtool -LT=$(top_builddir)/libtool -LT_COMPILE=$(LT) --mode=compile $(CC) -LT_LINK_LIB=$(LT_LIB) --mode=link $(CC) -rpath $(libdir) -LT_LINK_EXE=$(LT) --mode=link $(CC) $(LT_STATIC_EXEC) -dlopen self -rpath $(bindir) $(DYNAMIC_DIRS) -LT_RUN=$(LT) --mode=execute -LT_INSTALL_PROG=$(LT) --mode=install $(INSTALL_PROGRAM) -LT_INSTALL_LIB=$(LT) --mode=install $(INSTALL_DATA) -LT_UNINSTALL=$(LT) --mode=uninstall $(RM) - -INSTALL=@INSTALL@ -INSTALL_PROGRAM=@INSTALL_PROGRAM@ -INSTALL_DATA=@INSTALL_DATA@ - -# create a symbolic link (or a copie ?) -LN_S=@LN_S@ - -KERNEL_ROOT_DIR=@KERNEL_ROOT_DIR@ -KERNEL_SITE_DIR=@KERNEL_SITE_DIR@ -KERNEL_LDFLAGS=@KERNEL_LDFLAGS@ -KERNEL_CXXFLAGS=@KERNEL_CXXFLAGS@ - -GUI_ROOT_DIR=@GUI_ROOT_DIR@ -GUI_LDFLAGS=@GUI_LDFLAGS@ -GUI_CXXFLAGS=@GUI_CXXFLAGS@ - -MED_ROOT_DIR=@MED_ROOT_DIR@ -MED_LDFLAGS=@MED_LDFLAGS@ -MED_CXXFLAGS=@MED_CXXFLAGS@ - -GEOM_ROOT_DIR=@GEOM_ROOT_DIR@ -GEOM_LDFLAGS=@GEOM_LDFLAGS@ -GEOM_CXXFLAGS=@GEOM_CXXFLAGS@ - -## Installation points -prefix=@prefix@ -exec_prefix=@exec_prefix@ -bindir=@exec_prefix@/bin/salome -libdir=@exec_prefix@/lib@LIB_LOCATION_SUFFIX@/salome -# warning : if user give this path in configure we could have salome/salome :-( -includedir=@includedir@/salome -datadir=@datadir@/salome -idldir=$(prefix)/idl/salome -sharedpydir=@exec_prefix@/lib@LIB_LOCATION_SUFFIX@/python$(PYTHON_VERSION)/site-packages/salome/shared_modules - -docdir=${prefix}/doc/salome - -# -# begin of package rules -# - -.PHONY: all lib bin inc resources docs tests install uninstall dep depend depend_idl cleandep mostlyclean clean distclean - -.SUFFIXES: .cxx .cc .c .f .o .lo .idl .py .i .ui .po .qm - -all: - $(MAKE) inc - $(MAKE) depend_idl - $(MAKE) depend - $(MAKE) lib - $(MAKE) bin - $(MAKE) resources - -# -# add target to build administrative files -# - -Makefile: $(top_builddir)/config.status $(srcdir)/Makefile.in - cd $(top_builddir) ; ./config.status - -LOCAL_MAKE = make_commence make_conclude make_omniorb - -KERNEL_MAKE = make_module depend SALOMEconfig.h F77config.h sstream envScript - -$(top_builddir)/config.status: $(top_srcdir)/configure \ - $(LOCAL_MAKE:%=$(top_srcdir)/adm_local/unix/%.in) \ - $(KERNEL_MAKE:%=$(KERNEL_ROOT_DIR)/salome_adm/unix/%.in) - cd $(top_builddir) ; ./config.status --recheck - -# VPATH contain $(srcdir), so make configure is good in top_srcdir and we must add target configure otherwise :-) -ifneq ($(top_srcdir),$(srcdir)) -configure: $(top_srcdir)/configure -endif - -$(top_srcdir)/configure: $(top_srcdir)/configure.in $(top_srcdir)/aclocal.m4 - cd $(top_srcdir) ; autoconf - -$(top_srcdir)/configure.in: $(top_srcdir)/configure.in.base - cd $(top_srcdir) && ./build_configure - - -ACLOCAL_KERNEL = \ - ac_cxx_bool.m4 \ - check_corba.m4 \ - ac_cxx_depend_flag.m4 \ - check_hdf5.m4 \ - enable_pthreads.m4 \ - ac_cxx_mutable.m4 \ - check_mico.m4 \ - ac_cxx_namespaces.m4 \ - check_omniorb.m4 \ - pyembed.m4 \ - ac_cxx_partial_specialization.m4 \ - python.m4 \ - ac_cxx_typename.m4 \ - check_pthreads.m4 \ - check_cas.m4 \ - ac_cc_warnings.m4 \ - check_boost.m4 \ - check_swig.m4 - -ACLOCAL_GUI = \ - check_vtk.m4 \ - check_opengl.m4 \ - check_qt.m4 \ - check_GUI.m4 \ - check_corba_in_GUI.m4 - -ACLOCAL_MED = check_Med.m4 -ACLOCAL_GEOM = check_GEOM.m4 - -$(top_srcdir)/aclocal.m4: $(ACLOCAL_KERNEL:%=@KERNEL_ROOT_DIR@/salome_adm/unix/config_files/%) \ - $(ACLOCAL_GUI:%=@GUI_ROOT_DIR@/adm_local/unix/config_files/%) \ - $(ACLOCAL_MED:%=@MED_ROOT_DIR@/adm_local/unix/config_files/%) \ - $(ACLOCAL_GEOM:%=@GEOM_ROOT_DIR@/adm_local/unix/config_files/%) - cd $(top_srcdir) ; 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 - diff --git a/adm_local/unix/make_common_starter.am b/adm_local/unix/make_common_starter.am new file mode 100644 index 000000000..533941331 --- /dev/null +++ b/adm_local/unix/make_common_starter.am @@ -0,0 +1,54 @@ +# +# ============================================================ +# This file defines the common definitions used in several +# Makefile. This file must be included, if needed, by the file +# Makefile.am. +# ============================================================ +# + +# Standard directory for installation +salomeincludedir = $(includedir)/@PACKAGE@ +libdir = $(prefix)/lib@LIB_LOCATION_SUFFIX@/@PACKAGE@ +bindir = $(prefix)/bin/@PACKAGE@ +salomescriptdir = $(bindir) + +# Directory for installing idl files +salomeidldir = $(prefix)/idl/@PACKAGE@ + +# Directory for installing resource files +salomeresdir = $(prefix)/share/@PACKAGE@/resources/@MODULE_NAME@ + +# Directories for installing admin files +admlocaldir = $(prefix)/adm_local +admlocalunixdir = $(admlocaldir)/unix +admlocalm4dir = $(admlocaldir)/unix/config_files + +# Shared modules installation directory +sharedpkgpythondir =$(pkgpythondir)/shared_modules + +# Documentation directory +docdir = $(datadir)/doc/@PACKAGE@ + +# common rules + +# moc-files generation +%_moc.cxx: %.h + $(MOC) $< -o $@ + +# qm-files generation +%.qm: %.po + $(MSG2QM) $< $@ + +EXTRA_DIST=$(MOC_FILES:%_moc.cxx=%.h) $(nodist_salomeres_DATA:%.qm=%.po) + +mostlyclean-local: + rm -f @builddir@/*_moc.cxx + rm -f @builddir@/*.qm + +# tests +tests: unittest + +unittest: $(UNIT_TEST_PROG) + @if test "x$(UNIT_TEST_PROG)" != "x"; then \ + $(UNIT_TEST_PROG); \ + fi; diff --git a/adm_local/unix/make_conclude.in b/adm_local/unix/make_conclude.in deleted file mode 100644 index 37c65077f..000000000 --- a/adm_local/unix/make_conclude.in +++ /dev/null @@ -1,342 +0,0 @@ -#======================================================================= -# This section of this makefile comes from the file -# 'adm/unix/make_conclude' which was generated with config.status -# from file adm/unix/make_conclude.in -#======================================================================= -# -* Makefile *- -# -# Authors : Patrick GOLDBRONN (CEA) - Marc Tajchman (CEA) -# Date : 6/07/2001 -# $Header$ -# - -# ORB Specifics rules -@CORBA@ - -# transform idl reference in appropriate obj file -LIB_CLIENT_SRC = $(LIB_CLIENT_IDL:%.idl=%$(IDL_CLN_CXX)) -LIB_SERVER_SRC = $(LIB_SERVER_IDL:%.idl=%$(IDL_SRV_CXX)) -LIB_MOC_SRC = $(LIB_MOC:%.h=%_moc.cxx) -LIB_SRC+=$(LIB_MOC_SRC) -LIB_SWIG_SRC = $(SWIG_DEF:%.i=%_wrap.cxx) -LIB_DEP= $(LIB_SRC) $(LIB_CLIENT_SRC) $(LIB_SERVER_SRC) $(LIB_SWIG_SRC) - -LIB_CLIENT_OBJ = $(LIB_CLIENT_IDL:%.idl=%$(IDL_CLN_OBJ)) -LIB_SERVER_OBJ = $(LIB_SERVER_IDL:%.idl=%$(IDL_SRV_OBJ)) - - -# transform c file in appropriate libtool obj file (.c, .cc and .cxx) -LIB_OBJ_C = $(patsubst %.c, %.lo, $(filter %.c, $(LIB_SRC))) -LIB_OBJ_CC = $(patsubst %.cc, %.lo, $(filter %.cc, $(LIB_SRC))) -LIB_OBJ_CXX = $(patsubst %.cxx, %.lo, $(filter %.cxx, $(LIB_SRC))) -LIB_SWIG_OBJ = $(LIB_SWIG_SRC:%.cxx=%.lo) -LIB_OBJ_F = $(patsubst %.f, %.lo, $(filter %.f, $(LIB_SRC))) - -# all libtool obj file in library -LIB_OBJ = $(LIB_OBJ_CXX) $(LIB_OBJ_CC) $(LIB_OBJ_C) $(LIB_CLIENT_OBJ:%.o=%.lo) $(LIB_SERVER_OBJ:%.o=%.lo) $(LIB_SWIG_OBJ) $(LIB_OBJ_F) - -# LIB_BUILD = $(LIB:%.la=$(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/%.la) -LIB_BUILD = $(patsubst %.la, $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/%.la, $(filter %.la, $(LIB))) -LIB_BUILD_A = $(patsubst %.a, $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/%.a, $(filter %.a, $(LIB))) - -ifneq ($(findstring cmodule.la,$(filter %.la, $(LIB))),) -LIB_SWIG = $(patsubst %cmodule.la,%.so, $(filter %.la, $(LIB))) -else -LIB_SWIG = -endif - -lib: $(LIB_BUILD) $(LIB_CLIENT_PY) -# we don't build static library ! - -$(LIB_BUILD): $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/%.la: %.la - -$(RM) $@ - -$(RM) $(patsubst %.la, %.so, $@) - -$(RM) $(patsubst %.la, %.a, $@) - ln -sf $(CURDIR)/$< $@ || true - ln -sf $(patsubst %.la, %.so, $(CURDIR)/.libs/$<) \ - $(patsubst %.la, %.so, $@) || true - ln -sf $(patsubst %.la, %.so, $(CURDIR)/.libs/$<).0 \ - $(patsubst %.la, %.so, $@).0 || true - - if ! test -z $(LIB_SWIG) ; then \ - ln -sf $(patsubst %.la,%.so, $(CURDIR)/.libs/$<) $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/_$(LIB_SWIG) || true;\ - fi; - -$(LIB_BUILD_A): $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/%.a: %.a - -$(RM) $@ - ln -sf $(CURDIR)/$< $@ || true - -$(LIB): $(LIB_OBJ) - @$(LT) --mode=link $(CXX) -rpath $(libdir) -o $@ $(CXXFLAGS) $(LIB_OBJ) $(LDFLAGS) $(LIBS) - -# transform idl reference in appropriate obj file -BIN_CLIENT_SRC = $(BIN_CLIENT_IDL:%.idl=%$(IDL_CLN_CXX)) -BIN_SERVER_SRC = $(BIN_SERVER_IDL:%.idl=%$(IDL_SRV_CXX)) -BIN_MOC_SRC = $(BIN_MOC:%.h=%_moc.cxx) -BIN_SRC+=$(BIN_MOC_SRC) -BIN_DEP=$(BIN:%=%.cxx) $(BIN_SRC) $(BIN_CLIENT_SRC) $(BIN_SERVER_SRC) - -BIN_CLIENT_OBJ = $(BIN_CLIENT_IDL:%.idl=%$(IDL_CLN_OBJ)) -BIN_SERVER_OBJ = $(BIN_SERVER_IDL:%.idl=%$(IDL_SRV_OBJ)) -# transform c file in appropriate libtool obj file (.c) -BIN_OBJ_C = $(patsubst %.c, %.o, $(filter %.c, $(BIN_SRC))) -# transform c++ file in appropriate libtool obj file (.cc and .cxx) -BIN_OBJ_CC = $(patsubst %.cc, %.o, $(filter %.cc, $(BIN_SRC))) -BIN_OBJ_CXX = $(patsubst %.cxx, %.o, $(filter %.cxx, $(BIN_SRC))) -# all obj file in bin target -BIN_OBJ = $(BIN_OBJ_CC) $(BIN_OBJ_CXX) $(BIN_OBJ_C) $(BIN_CLIENT_OBJ) $(BIN_SERVER_OBJ) - -bin: $(BIN:%=$(top_builddir)/bin/salome/%) $(BIN) $(LIB) pyscripts sharedpyscripts - -BIN_LIB=$(LIB:lib%.la=-l%) - -$(BIN:%=$(top_builddir)/bin/salome/%) $(TEST_PROGS:%=$(top_builddir)/bin/salome/%): $(top_builddir)/bin/salome/%: % - -$(RM) $@ - ln -sf $(CURDIR)/$< $@ - -$(BIN) $(TEST_PROGS): %: %.lo $(BIN_OBJ) - $(CXX) $(CXXFLAGS) -o $@ $^ $(BIN_LIB) $(LDFLAGSFORBIN) $(LIBSFORBIN) - -# copy python scripts in $(top_builddir)/bin/salome -# -DEST_PYSCRIPTS = $(EXPORT_PYSCRIPTS:%=$(top_builddir)/bin/salome/%) -pyscripts: $(DEST_PYSCRIPTS) -$(DEST_PYSCRIPTS): $(top_builddir)/bin/salome/%: % - cp -f $< $@ - -# copy pyqt files in $(PYTHON_SHARED_SITE) -# -PYTHON_SHARED_SITE=$(top_builddir)/lib@LIB_LOCATION_SUFFIX@/python$(PYTHON_VERSION)/site-packages/salome/shared_modules - -$(PYTHON_SHARED_SITE): - $(INSTALL) -d $@ - -DEST_SHAREDPYSCRIPTS = $(EXPORT_SHAREDPYSCRIPTS:%=$(PYTHON_SHARED_SITE)/%) -sharedpyscripts: $(PYTHON_SHARED_SITE) $(DEST_SHAREDPYSCRIPTS) -$(DEST_SHAREDPYSCRIPTS): $(PYTHON_SHARED_SITE)/%: % - cp -f $< $@ - -check: test - -tests: test - -test: $(LIB) $(TEST_PROGS:%=$(top_builddir)/bin/salome/%) - - -# copy header file in $(inc_builddir) -# -DEST_HEADERS = $(EXPORT_HEADERS:%=$(inc_builddir)/%) -inc: $(DEST_HEADERS) -$(DEST_HEADERS): $(inc_builddir)/%: % - cp -f $< $@ - -# build resources file (icons and messages) : .qm file from .po file -resources: $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/%.qm) - -# Make installation directories if they don't exist. -$(libdir) $(includedir) $(bindir) $(datadir) $(idldir) $(sharedpydir): - $(INSTALL) -d $@ && chmod 755 $@ - -# Install the library, the public header files, and programs. -install: $(LIB) $(BIN) $(TEST_PROGS) $(libdir) $(includedir) $(bindir) $(datadir) $(idldir) install-python install-sharedpyqt install-qm - @for f in X $(LIB); do \ - if test $$f != X; then \ - ($(LT_INSTALL_LIB) $$f $(libdir)/. || exit 1); \ - fi; \ - done - @if ! test -z $(LIB_SWIG) ; then \ - (cd $(libdir); ln -sf $(patsubst %.so, %cmodule.so, $(LIB_SWIG)) _$(LIB_SWIG) || true); \ - fi; - @for f in X $(BIN); do \ - if test $$f != X; then \ - ($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1); \ - fi; \ - done -# Install tests programmes in bindir - @for f in X $(TEST_PROGS); do \ - if test $$f != X; then \ - ($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1); \ - fi; \ - done -# Install exported includes in includedir - @for f in X $(EXPORT_HEADERS:%=$(srcdir)/%); do \ - if test $$f != X; then \ - (cp -p -f $$f $(includedir) || exit 1); \ - fi; \ - done - -# Install python script in $(bindir) -install-python: $(bindir) $(EXPORT_PYSCRIPTS:%=install-%) - -$(EXPORT_PYSCRIPTS:%=install-%): install-%: % - $(INSTALL_PROGRAM) $< $(bindir)/. - -#install-python: $(bindir) $(EXPORT_PYSCRIPTS) -# @for f in X $(EXPORT_PYSCRIPTS); do \ -# if test $$f != X; then \ -# ($(INSTALL_PROGRAM) $$f $(bindir)/. || exit 1); \ -# fi; \ -# done - -# Install pyqt script in $(install-sharedpyqt) -install-sharedpyqt: $(sharedpydir) $(EXPORT_SHAREDPYSCRIPTS:%=install-%) - -$(EXPORT_SHAREDPYSCRIPTS:%=install-%): install-%: % - $(INSTALL_PROGRAM) $< $(sharedpydir)/. - - -# generic rule to install .qm files : -install-qm: resources - $(INSTALL) -d $(datadir)/resources - @for f in X $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/%.qm); do \ - if test $$f != X; then \ - ($(INSTALL_DATA) $$f $(datadir)/resources/. || exit 1); \ - fi; \ - done - -# Removes those things that `make install' (would have) installed. -uninstall: - @if test "X$(LIB)" != X; then \ - for f in $(LIB); do \ - $(LT_UNINSTALL) $(libdir)/$$f; \ - done; \ - fi - @if test "X$(BIN)" != X; then \ - for f in $(BIN); do \ - $(LT_UNINSTALL) $(bindir)/$$f; \ - done; \ - fi - @for f in X $(TEST_PROGS); do \ - if test $$f != X; then \ - $(LT_UNINSTALL) $(bindir)/$$f; \ - fi; \ - done -# Uninstall exported includes in includedir - @for f in X $(EXPORT_HEADERS); do \ - if test $$f != X; then \ - $(LT_UNINSTALL) $(includedir)/$$f; \ - fi; \ - done -# Uninstall python script in $(bindir) - @for f in X $(EXPORT_PYSCRIPTS); do \ - if test $$f != X; then \ - $(LT_UNINSTALL) $(bindir)/$$f ; \ - fi; \ - done - -# Uninstall pyqt script in $(sharedpydir) - @for f in X $(EXPORT_SHAREDPYSCRIPTS); do \ - if test $$f != X; then \ - $(LT_UNINSTALL) $(sharedpydir)/$$f ; \ - fi; \ - done - -# Uninstall qm files - @for f in X $(PO_FILES:%.po=%.qm); do \ - if test $$f != X; then \ - $(LT_UNINSTALL) $(datadir)/resources/$$f ; \ - fi; \ - done - -# remove all dependencies files -# -cleandep: - -$(RM) .dep* - -# Removes temporary files without removing the final target files. That is, -# remove things like object files but not libraries or executables. -# -mostlyclean: cleandep - -$(RM) $(LIB_OBJ) $(LIB_OBJ:.lo=.o) - -$(RM) $(BIN_OBJ) $(BIN:%=%.o) - -$(RM) $(TEST_OBJ) $(TEST_OBJ:.lo=.o) - -$(RM) $(PROG_OBJ) $(PROG_OBJ:.lo=.o) $(MOSTLYCLEAN) - -# Like `mostlyclean' except it also removes the final targets: things like -# libraries and executables. This target doesn't remove any file that -# is part of the SALOME distribution. -# -clean: mostlyclean - -$(RM) $(LIB) $(TEST_PROGS) $(BIN) $(CLEAN) - -$(RM) TAGS *~ *# core *.core - -$(RM) -r .libs - -$(RM) $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/$(LIB) - -$(RM) $(patsubst %,$(top_builddir)/bin/salome/%, $(BIN)) - -$(RM) $(patsubst %.la, %.so, $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/$(LIB)) - -$(RM) $(patsubst %.la, %.a, $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/$(LIB)) -# remove idl generated files (sources) - -$(RM) $(LIB_CLIENT_SRC) $(LIB_SERVER_SRC) $(BIN_CLIENT_SRC) $(BIN_SERVER_SRC) -# remove idl generated files (headers) - -$(RM) $(LIB_CLIENT_IDL:%.idl=%$(IDL_CLN_H)) $(LIB_SERVER_IDL:%.idl=%$(IDL_SRV_H)) - -$(RM) $(BIN_CLIENT_IDL:%.idl=%$(IDL_CLN_H)) $(BIN_SERVER_IDL:%.idl=%$(IDL_SRV_H)) - -$(RM) $(LIB_MOC_SRC) $(BIN_MOC_SRC) - -$(RM) $(LIB_SWIG_SRC) - -# Like `clean' except it also removes files that were created by running -# configure. If you've unpacked the source and built without creating -# any other files, then `make distclean' will leave only the files that were -# in the distribution. -# -distclean: clean - #remove qm file ! - -$(RM) $(PO_FILES:%.po=%.qm) $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/%.qm) - #remove include files - -$(RM) $(DEST_HEADERS) - -$(RM) $(DISTCLEAN) *.bak *.old *.new .dep* - @if test -f $(srcdir)/Makefile.in; then \ - (@SETX@; $(RM) Makefile); \ - fi - - -#implicits rules -.cc.o: - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< - -.cc.lo: - $(LT) --mode=compile $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< - -.cxx.o: - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< - -.cxx.lo: - $(LT) --mode=compile $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< - -.c.o: - $(CC) $(CFLAGS) $(CPPFLAGS) -c $< - -.c.lo: - $(LT_COMPILE) $(CFLAGS) $(CPPFLAGS) -c $< - -.f.o: - $(FC) $(FFLAGS) -c $< -o $@ - -.f.lo: - $(LT) --mode=compile $(FC) $(FFLAGS) -c $< - -.ui.h: - $(UIC) -o $@ $< - -.ui.cxx: - $(UIC) -o $@ -i $*.h $< - -#pattern rules -%_moc.cxx : %.h - $(MOC) $< -o $@ - -%_wrap.cxx : %.i - $(SWIG) $(SWIG_FLAGS) -o $@ $< - -$(top_builddir)/share/salome/resources/%.qm: %.po - $(MSG2QM) $< $@ ; \ - -#------------------------------------------------------------------------------ -# The following section of this makefile contains dependencies between the -# source files and the header files. If GNU make and GCC are being used then -# the dependencies are in the form of rules that cause the information to -# be kept updated automatically. Otherwise the dependencies are listed -# explicitly and come from the `.distdep' files in the various directories. -# These files are part of the distribution and are generated automatically on -# GNU/GCC systems. -#------------------------------------------------------------------------------ - -@DEPEND@ diff --git a/adm_local/unix/make_omniorb.in b/adm_local/unix/make_omniorb.in deleted file mode 100644 index 1299082fa..000000000 --- a/adm_local/unix/make_omniorb.in +++ /dev/null @@ -1,59 +0,0 @@ -#======================================================================= -# Begin specific part to omniorb -# (include from file adm/unix/make_omniorb generated by -# adm/unix/make_omniorb.in) -#======================================================================= -# -* Makefile *- -# -# Author : Patrick GOLDBRONN (CEA) -# Date : 29/06/2001 -# $Header$ -# - -# Client and server object are the same with omniorb -# There are one header file and one source file generate - -#IDLOBJ=$(IDLSRC:%.idl=%$(IDL_CLN_OBJ)) - -# dependancies between idl and it's generated files -%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${KERNEL_ROOT_DIR}/idl/salome/%.idl - $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< - -%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${GEOM_ROOT_DIR}/idl/salome/%.idl - $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< - -%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${MED_ROOT_DIR}/idl/salome/%.idl - $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< - -%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${top_srcdir}/idl/%.idl - $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< - -# dependncies between idl files -depend_idl: .depidl - -# we use cpp to generate dependencies between idl files. -# we change cpp output to keep only idl file and transform it to get a suitable rule -.depidl: $(IDL_FILES) - @touch $@ - @for dep in $? dummy; do \ - if [ $$dep != "dummy" ]; then \ - echo Building dependencies for $$dep; \ - basedep=`basename $$dep .idl`; \ - header="$$basedep"$(IDL_CLN_H); \ - sed '\%^'"$$header"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@; \ - $(CPP) $(C_DEPEND_FLAG) -I$(srcdir) $$dep 2>/dev/null | \ - sed `echo "s%$$basedep\\.idl%$$header:%g"` | \ - sed 's% $(srcdir)/% %g' | \ - sed 's% $(top_srcdir)/% %g' | \ - sed 's% $(top_builddir)/% %g' | \ - sed 's%^.*:\.o: *%%' | sed 's%^ *\\ *%%'| sed 's%^ *\(.*\):%\1:%' | \ - sed 's/\.idl/$(IDL_CLN_H)/' >>$@; \ - echo '' >>$@; \ - fi; \ - done ; - --include .depidl - -#======================================================================= -# End specific part to omniorb -#======================================================================= diff --git a/bin/Makefile.am b/bin/Makefile.am new file mode 100644 index 000000000..4fdbc5386 --- /dev/null +++ b/bin/Makefile.am @@ -0,0 +1,36 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# 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 : Guillaume Boulant (CSSI) +# Module : KERNEL +# $Header$ +# + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +# +# =============================================================== +# Files to be installed +# =============================================================== +# + +# These files are data, module or lib files +nodist_salomescript_DATA= VERSION + +EXTRA_DIST+= VERSION.in diff --git a/build_configure b/build_configure index 121fb5d2a..66f991e57 100755 --- a/build_configure +++ b/build_configure @@ -6,11 +6,13 @@ # # Author : Marc Tajchman - CEA # Date : 10/10/2002 +# Modified by : Alexander BORODIN (OCN) - autotools usage # $Header$ # 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 @@ -27,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 ######################################################################## @@ -51,194 +67,91 @@ if test ! -d "${GEOM_ROOT_DIR}"; then exit fi -######################################################################## -# find_in - utility function -# -# usage : -# find_in directory filename -# -# Finds files following the *.in pattern, recursively in the -# directory (first argument). -# Results are appended into the file (second argument) -# -# Difference from the standard unix find is that files are tested -# before directories -# - -find_in() -{ - local i - local f=$2 - -# if the first argument is not a directory, returns - - if [ ! -d "$1" ] ; then - return - fi - -# dont look in the CVS directories - - case $1 in - */CVS) return ;; - */adm_local/*) return ;; - *) ;; - esac - -# for each regular file contained in the directory -# test if it's a .in file - - for i in "$1"/* - do - if [ -f "$i" ] ; then - case $i in - *.in) echo " "$i" \\" >> $f;; - *) ;; - esac - fi - done - -# for each subdirectory of the first argument, proceeds recursively - - for i in "$1"/* - do - if [ -d "$i" ] ; then - find_in "$i" "$f" - fi - done -} - - -####################################################################### -# Generate list of .in files (Makefile.in, config.h.in, etc) -# appending it in file configure.in cd ${CONF_DIR} ABS_CONF_DIR=`pwd` -# -# Common part of the configure.in file -# -chmod u+w configure.in.base -if ! \cp -f configure.in.base configure.in_tmp1 -then - echo - echo "error : can't create files in" ${CONF_DIR} - echo "aborting ..." - chmod u-w configure.in.base - exit -fi -chmod u-w configure.in.base - -if [ -e "${CONF_DIR}/salome_adm" ] ; then - \rm -f ${CONF_DIR}/salome_adm -fi - -# make a link allowing AC_OUTPUT to find the salome_adm/.../*.in files -echo "" >> configure.in_tmp1 -echo 'ln -fs ${KERNEL_ROOT_DIR}/salome_adm ${ROOT_SRCDIR}/.' >> configure.in_tmp1 - -echo "" >> configure.in_tmp1 -echo "AC_OUTPUT([ \\" >> configure.in_tmp1 - -# -# List of .in files in the adm/unix directory -# These files MUST be on top of AC_OUTPUT list so we -# put them "manually" -# - -echo " ./salome_adm/unix/SALOMEconfig.h \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/F77config.h \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/sstream \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/depend \\" >> configure.in_tmp1 -echo " ./adm_local/unix/make_omniorb:${ABS_CONF_DIR}/adm_local/unix/make_omniorb.in \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/envScript \\" >> configure.in_tmp1 -echo " ./adm_local/unix/make_commence:${ABS_CONF_DIR}/adm_local/unix/make_commence.in \\" >> configure.in_tmp1 -echo " ./adm_local/unix/make_conclude:${ABS_CONF_DIR}/adm_local/unix/make_conclude.in \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/make_module \\" >> configure.in_tmp1 - -\rm -f configure.in_tmp2 configure.in_tmp3 -touch configure.in_tmp2 -find_in . configure.in_tmp2 -sed -e '/^...salome_adm/d' configure.in_tmp2 > configure.in_tmp3 -sed -e '/^...adm_local.unix.make_omniorb/d' configure.in_tmp3 > configure.in_tmp2 -sed -e '/^...adm_local.unix.make_commence/d' configure.in_tmp2 > configure.in_tmp3 -sed -e '/configure.in/d' configure.in_tmp3 > configure.in_tmp2 -sed -e 's/.in / /' configure.in_tmp2 >> configure.in_tmp1 -#sed '/^.salome_adm/d' configure.in_tmp2 > configure.in_tmp3 -#sed '/configure.in/d' configure.in_tmp3 > configure.in_tmp2 -#sed 's/.in / /' configure.in_tmp2 >> configure.in_tmp1 - -echo "])" >> configure.in_tmp1 - -# delete the link created for AC_OUTPUT -echo "" >> configure.in_tmp1 -#echo 'rm -f ${ROOT_SRCDIR}/salome_adm' >> configure.in_tmp1 -\mv configure.in_tmp1 configure.in_new -\rm -f configure.in_tmp2 configure.in_tmp3 - - -######################################################################## -# Create new (or replace old) configure.in file -# Print a message if the file is write protected -# - -echo -if test ! -f configure.in -then - echo -n "Creating new file 'configure.in' ... " - if \mv configure.in_new configure.in >& /dev/null - then - echo "done" - else - echo "error, check your file permissions" - fi -else - echo -n "Updating 'configure.in' file ... " - if ! \cp configure.in configure.in_old >& /dev/null - then - echo - echo - echo "Can't backup previous configure.in" - echo -n "Continue (you will not be able to revert) - (Y/N) ? " - read R - case "x$R" in - xn*) exit;; - xN*) exit;; - esac - echo - echo -n " " - fi - if \cp configure.in_new configure.in >& /dev/null - then - echo "done" - else - echo - echo "error, can't update previous configure.in" - fi -fi - -######################################################################## -# Use autoconf to rebuild the configure script -# - -if test -f configure -then - echo -n "Updating 'configure' script ... " -else - echo -n "Creating 'configure' script ... " -fi - -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 -if autoconf -then - echo "done" +####################################################################### +# 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/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 + +# 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 + + +# ____________________________________________________________________ +# aclocal creates the aclocal.m4 file from the standard macro and the +# custom macro embedded in the directory salome_adm/unix/config_files +# and KERNEL config_files directory. +# output: +# aclocal.m4 +# autom4te.cache (directory) +echo "====================================================== aclocal" + +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 - echo "failed (check file permissions and/or user quotas ...)" + 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 -cd ${ORIG_DIR} - -echo +# ____________________________________________________________________ +# libtoolize creates some configuration files (ltmain.sh, +# config.guess and config.sub). It only depends on the libtool +# version. The files are created in the directory specified with the +# AC_CONFIG_AUX_DIR() tag (see configure.ac). +# output: +# salome_adm/unix/config_files/config.guess +# salome_adm/unix/config_files/config.sub +# salome_adm/unix/config_files/ltmain.sh +#echo "====================================================== libtoolize" + +libtoolize --force --copy --automake || exit 1 + +# ____________________________________________________________________ +# autoconf creates the configure script from the file configure.ac (or +# configure.in if configure.ac doesn't exist) +# output: +# configure +echo "====================================================== autoconf" + +autoconf + +# ____________________________________________________________________ +# automake creates some scripts used in building process +# (install-sh, missing, ...). It only depends on the automake +# version. The files are created in the directory specified with the +# AC_CONFIG_AUX_DIR() tag (see configure.ac). This step also +# creates the Makefile.in files from the Makefile.am files. +# output: +# salome_adm/unix/config_files/compile +# salome_adm/unix/config_files/depcomp +# salome_adm/unix/config_files/install-sh +# salome_adm/unix/config_files/missing +# salome_adm/unix/config_files/py-compile +# Makefile.in (from Makefile.am) +echo "====================================================== automake" + +automake --copy --gnu --add-missing diff --git a/configure.ac b/configure.ac new file mode 100644 index 000000000..63eca7ec2 --- /dev/null +++ b/configure.ac @@ -0,0 +1,493 @@ +# +# Author : Marc Tajchman (CEA) +# Date : 28/06/2001 +# Modified by : Patrick GOLDBRONN (CEA) +# Modified by : Marc Tajchman (CEA) +# Modified by : Alexander BORODIN (OCN) - autotools usage +# +# Created from configure.in.base +# + + +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 + +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.) +MODULE_NAME=smesh +AC_SUBST(MODULE_NAME) + +echo +echo --------------------------------------------- +echo Initialize source and build root directories +echo --------------------------------------------- +echo + +dnl +dnl Initialize source and build root directories +dnl + +ROOT_BUILDDIR=`pwd` +ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"` +cd $ROOT_SRCDIR +ROOT_SRCDIR=`pwd` +cd $ROOT_BUILDDIR + +AC_SUBST(ROOT_SRCDIR) +AC_SUBST(ROOT_BUILDDIR) + +echo +echo Source root directory : $ROOT_SRCDIR +echo Build root directory : $ROOT_BUILDDIR +echo +echo + +if test -z "$AR"; then + AC_CHECK_PROGS(AR,ar xar,:,$PATH) +fi +AC_SUBST(AR) + +dnl Export the AR macro so that it will be placed in the libtool file +dnl correctly. +export AR + +echo +echo --------------------------------------------- +echo testing make +echo --------------------------------------------- +echo + +AC_PROG_MAKE_SET +AC_PROG_INSTALL +dnl +dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques ! + +echo +echo --------------------------------------------- +echo Coniguring production +echo --------------------------------------------- +echo +AC_ENABLE_DEBUG(yes) +AC_DISABLE_PRODUCTION + +echo --------------------------------------------- +echo testing libtool +echo --------------------------------------------- + +dnl first, we set static to no! +dnl if we want it, use --enable-static +AC_ENABLE_STATIC(no) + +AC_LIBTOOL_DLOPEN +AC_PROG_LIBTOOL + +dnl Fix up the INSTALL macro if it s a relative path. We want the +dnl full-path to the binary instead. +case "$INSTALL" in + *install-sh*) + INSTALL='\${ROOT_BUILDDIR}'/salome_adm/unix/config_files/install-sh + ;; +esac + +echo +echo --------------------------------------------- +echo testing C/C++ +echo --------------------------------------------- +echo + +cc_ok=no +dnl inutil car libtool +dnl AC_PROG_CC +AC_PROG_CXX +AC_CXX_WARNINGS +AC_CXX_TEMPLATE_OPTIONS +AC_DEPEND_FLAG +# AC_CC_WARNINGS([ansi]) +cc_ok=yes + +echo +echo --------------------------------------------- +echo testing Fortran +echo --------------------------------------------- +echo + +fortran_ok=no +AC_PROG_F77 +AC_F77_LIBRARY_LDFLAGS +AC_PROG_FC +AC_FC_LIBRARY_LDFLAGS +if test "X$FC" != "X" ; then + fortran_ok=yes +fi + +dnl AM_CONDITIONAL( USE_GFORTRAN, [test "$F77" = "gfortran"]) + +echo + +dnl Library libdl : +AC_CHECK_LIB(dl,dlopen) + +dnl add library libm : +AC_CHECK_LIB(m,ceil) + +dnl +dnl Well we use sstream which is not in gcc pre-2.95.3 +dnl We must test if it exists. If not, add it in include ! +dnl + +AC_CXX_HAVE_SSTREAM + +dnl +dnl --------------------------------------------- +dnl testing MPICH +dnl --------------------------------------------- +dnl + +CHECK_MPICH + +echo +echo --------------------------------------------- +echo testing LEX \& YACC +echo --------------------------------------------- +echo + +lex_yacc_ok=no +AC_PROG_YACC +AC_PROG_LEX +lex_yacc_ok=yes + +echo +echo --------------------------------------------- +echo testing python +echo --------------------------------------------- +echo + +CHECK_PYTHON + +dnl echo +dnl echo --------------------------------------------- +dnl echo testing java +dnl echo --------------------------------------------- +dnl echo + +dnl CHECK_JAVA + +echo +echo --------------------------------------------- +echo testing swig +echo --------------------------------------------- +echo + +AM_PATH_PYTHON(2.3) +CHECK_SWIG + +echo +echo --------------------------------------------- +echo testing threads +echo --------------------------------------------- +echo + +ENABLE_PTHREADS + +SMESH_WITH_GUI=yes + +AM_CONDITIONAL(SMESH_ENABLE_GUI, [test "${SMESH_WITH_GUI}" = "yes"]) + +if test "${SMESH_WITH_GUI}" = "yes"; then + +echo +echo --------------------------------------------- +echo testing msg2qm +echo --------------------------------------------- +echo + +CHECK_MSG2QM + +fi + +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 --------------------------------------------- +echo testing HDF5 +echo --------------------------------------------- +echo + +CHECK_HDF5 + +echo +echo --------------------------------------------- +echo BOOST Library +echo --------------------------------------------- +echo + +CHECK_BOOST + +echo +echo --------------------------------------------- +echo Testing OpenCascade +echo --------------------------------------------- +echo + +CHECK_CAS + +if test "${SMESH_WITH_GUI}" = "yes"; then + +echo +echo --------------------------------------------- +echo Testing qwt +echo --------------------------------------------- +echo + +CHECK_QWT + +fi + +echo +echo --------------------------------------------- +echo Testing html generators +echo --------------------------------------------- +echo + +CHECK_HTML_GENERATORS + +echo +echo --------------------------------------------- +echo Testing Kernel +echo --------------------------------------------- +echo + +CHECK_KERNEL + +echo +echo --------------------------------------------- +echo Testing Geom +echo --------------------------------------------- +echo + +CHECK_GEOM + +echo +echo --------------------------------------------- +echo Testing Med +echo --------------------------------------------- +echo + +CHECK_MED + +CHECK_PLATFORM + +echo +echo --------------------------------------------- +echo Summary +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 + printf " %10s : " `echo \$var | sed -e "s,_ok,,"` + eval echo \$$var +done + +echo +echo "Default ORB : $DEFAULT_ORB" +echo + +dnl We don t need to say when we re entering directories if we re using +dnl GNU make becuase make does it for us. +if test "X$GMAKE" = "Xyes"; then + AC_SUBST(SETX) SETX=":" +else + AC_SUBST(SETX) SETX="set -x" +fi + +dnl AM_CONDITIONAL(GUI_ENABLE_CORBA, [test "$GUI_DISABLE_CORBA" = no]) +dnl AM_CONDITIONAL(ENABLE_PYCONSOLE, [test "$DISABLE_PYCONSOLE" = no]) +dnl AM_CONDITIONAL(ENABLE_GLVIEWER, [test "$DISABLE_GLVIEWER" = no]) +dnl AM_CONDITIONAL(ENABLE_PLOT2DVIEWER, [test "$DISABLE_PLOT2DVIEWER" = no]) +dnl AM_CONDITIONAL(ENABLE_SUPERVGRAPHVIEWER, [test "$DISABLE_SUPERVGRAPHVIEWER" = no]) +dnl AM_CONDITIONAL(ENABLE_OCCVIEWER, [test "$DISABLE_OCCVIEWER" = no]) +dnl AM_CONDITIONAL(ENABLE_VTKVIEWER, [test "$DISABLE_VTKVIEWER" = no]) +dnl AM_CONDITIONAL(ENABLE_SALOMEOBJECT, [test "$DISABLE_SALOMEOBJECT" = no]) + +echo +echo --------------------------------------------- +echo copying resource files, shell scripts, and +echo xml files +echo --------------------------------------------- +echo + + +dnl copy shells and utilities contained in the bin directory +dnl excluding .in files (treated in AC-OUTPUT below) and CVS +dnl directory + +mkdir -p bin/salome +cd bin/salome + +for i in $ROOT_SRCDIR/bin/* +do + local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"` + case "$local_bin" in + *.in | *~) ;; + ./bin/CVS | ./bin/salome) ;; + *) $INSTALL $i . ; echo $local_bin ;; + esac +done +cd $ROOT_BUILDDIR + +echo +echo --------------------------------------------- +echo generating Makefiles and configure files +echo --------------------------------------------- +echo + +AC_OUTPUT_COMMANDS([ \ + chmod +x ./bin/*; \ + chmod +x ./bin/salome/*; \ +]) + +# This list is initiated using autoscan and must be updated manually +# when adding a new file .in to manage. When you execute +# autoscan, the Makefile list is generated in the output file configure.scan. +# This could be helpfull to update de configuration. +AC_OUTPUT([ \ + ./salome_adm/unix/SALOMEconfig.h \ + ./adm_local/Makefile \ + ./adm_local/unix/Makefile \ + ./adm_local/unix/config_files/Makefile \ + ./bin/VERSION \ + ./bin/Makefile \ + ./SMESH_version.h \ + ./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 \ + ./src/Makefile \ + ./src/Controls/Makefile \ + ./src/Driver/Makefile \ + ./src/DriverDAT/Makefile \ + ./src/DriverMED/Makefile \ + ./src/DriverSTL/Makefile \ + ./src/DriverUNV/Makefile \ + ./src/MEFISTO2/Makefile \ + ./src/OBJECT/Makefile \ + ./src/SMDS/Makefile \ + ./src/SMESH/Makefile \ + ./src/SMESHClient/Makefile \ + ./src/SMESHDS/Makefile \ + ./src/SMESHFiltersSelection/Makefile \ + ./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 \ + ./resources/Makefile \ + ./resources/SMESHCatalog.xml \ + ./idl/Makefile \ + Makefile +]) diff --git a/configure.in.base b/configure.in.base deleted file mode 100644 index cc915a120..000000000 --- a/configure.in.base +++ /dev/null @@ -1,423 +0,0 @@ -# -# PLEASE DO NOT MODIFY configure.in FILE -# -# ALL CHANGES WILL BE DISCARDED BY THE NEXT -# build_configure COMMAND -# -# CHANGES MUST BE MADE IN configure.in.base FILE -# -# -# Author : Marc Tajchman (CEA) -# Date : 28/06/2001 -# Modified by : Patrick GOLDBRONN (CEA) -# Modified by : Marc Tajchman (CEA) -# -# Created from configure.in.base -# - -AC_INIT(src) -AC_CONFIG_AUX_DIR(${KERNEL_ROOT_DIR}/salome_adm/unix/config_files) -AC_CANONICAL_HOST - -PACKAGE=salome -AC_SUBST(PACKAGE) - -VERSION=3.2.0 -XVERSION=0x030200 -AC_SUBST(VERSION) -AC_SUBST(XVERSION) - -dnl -dnl Initialize source and build root directories -dnl - -ROOT_BUILDDIR=`pwd` -ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"` -cd $ROOT_SRCDIR -ROOT_SRCDIR=`pwd` -cd $ROOT_BUILDDIR - -AC_SUBST(ROOT_SRCDIR) -AC_SUBST(ROOT_BUILDDIR) - -echo -echo Source root directory : $ROOT_SRCDIR -echo Build root directory : $ROOT_BUILDDIR -echo -echo - -if test -z "$AR"; then - AC_CHECK_PROGS(AR,ar xar,:,$PATH) -fi -AC_SUBST(AR) - -dnl Export the AR macro so that it will be placed in the libtool file -dnl correctly. -export AR - -echo -echo --------------------------------------------- -echo testing make -echo --------------------------------------------- -echo - -AC_PROG_MAKE_SET -AC_PROG_INSTALL -dnl -dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques ! - -AC_ENABLE_DEBUG(yes) -AC_DISABLE_PRODUCTION - -echo --------------------------------------------- -echo testing libtool -echo --------------------------------------------- - -dnl first, we set static to no! -dnl if we want it, use --enable-static -AC_ENABLE_STATIC(no) - -AC_LIBTOOL_DLOPEN -AC_PROG_LIBTOOL - -dnl Fix up the INSTALL macro if it s a relative path. We want the -dnl full-path to the binary instead. -case "$INSTALL" in - *install-sh*) - INSTALL='\${KERNEL_ROOT_DIR}'/salome_adm/unix/config_files/install-sh - ;; -esac - -echo -echo --------------------------------------------- -echo testing C/C++ -echo --------------------------------------------- -echo - -cc_ok=no -dnl inutil car libtool -dnl AC_PROG_CC -AC_PROG_CXX -AC_DEPEND_FLAG -# AC_CC_WARNINGS([ansi]) -cc_ok=yes - -dnl Library libdl : -AC_CHECK_LIB(dl,dlopen) - -dnl add library libm : -AC_CHECK_LIB(m,ceil) - -dnl -dnl Well we use sstream which is not in gcc pre-2.95.3 -dnl We must test if it exists. If not, add it in include ! -dnl - -AC_CXX_HAVE_SSTREAM - - - -dnl -dnl --------------------------------------------- -dnl testing MPICH -dnl --------------------------------------------- -dnl - -CHECK_MPICH - -echo -echo --------------------------------------------- -echo testing LEX \& YACC -echo --------------------------------------------- -echo - -lex_yacc_ok=no -AC_PROG_YACC -AC_PROG_LEX -lex_yacc_ok=yes - -echo -echo --------------------------------------------- -echo testing python -echo --------------------------------------------- -echo - -CHECK_PYTHON - -echo -echo --------------------------------------------- -echo Testing qwt -echo --------------------------------------------- -echo - -CHECK_QWT - -dnl echo -dnl echo --------------------------------------------- -dnl echo testing java -dnl echo --------------------------------------------- -dnl echo - -dnl CHECK_JAVA - -echo -echo --------------------------------------------- -echo testing swig -echo --------------------------------------------- -echo - -CHECK_SWIG - -echo -echo --------------------------------------------- -echo testing threads -echo --------------------------------------------- -echo - -ENABLE_PTHREADS - -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 -CHECK_CORBA - -AC_SUBST_FILE(CORBA) -corba=make_$ORB -CORBA=adm_local/unix/$corba - -echo -echo --------------------------------------------- -echo testing openGL -echo --------------------------------------------- -echo - -CHECK_OPENGL - -echo -echo --------------------------------------------- -echo testing QT -echo --------------------------------------------- -echo - -CHECK_QT - -echo -echo --------------------------------------------- -echo testing MSG2QM -echo --------------------------------------------- -echo - -CHECK_MSG2QM - -echo -echo --------------------------------------------- -echo testing VTK -echo --------------------------------------------- -echo - -CHECK_VTK - -echo -echo --------------------------------------------- -echo testing HDF5 -echo --------------------------------------------- -echo - -CHECK_HDF5 - -echo -echo --------------------------------------------- -echo BOOST Library -echo --------------------------------------------- -echo - -CHECK_BOOST - -echo -echo --------------------------------------------- -echo Testing OpenCascade -echo --------------------------------------------- -echo - -CHECK_CAS - -echo -echo --------------------------------------------- -echo Testing html generators -echo --------------------------------------------- -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 -echo --------------------------------------------- -echo - -CHECK_KERNEL - -echo -echo --------------------------------------------- -echo Testing Geom -echo --------------------------------------------- -echo - -CHECK_GEOM - -echo -echo --------------------------------------------- -echo Testing Med -echo --------------------------------------------- -echo - -CHECK_MED - -echo -echo --------------------------------------------- -echo Summary -echo --------------------------------------------- -echo - -echo Configure -variables="cc_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" - -for var in $variables -do - printf " %10s : " `echo \$var | sed -e "s,_ok,,"` - eval echo \$$var -done - -echo -echo "Default ORB : $DEFAULT_ORB" -echo - -dnl generals files which could be included in every makefile - -AC_SUBST_FILE(COMMENCE) COMMENCE=adm_local/unix/make_commence -AC_SUBST_FILE(CONCLUDE) CONCLUDE=adm_local/unix/make_conclude -AC_SUBST_FILE(MODULE) MODULE=salome_adm/unix/make_module - -dnl les dependences -AC_SUBST_FILE(DEPEND) DEPEND=salome_adm/unix/depend - -dnl We don t need to say when we re entering directories if we re using -dnl GNU make becuase make does it for us. -if test "X$GMAKE" = "Xyes"; then - AC_SUBST(SETX) SETX=":" -else - AC_SUBST(SETX) SETX="set -x" -fi - -# make other build directories -for rep in salome_adm adm_local doc bin/salome include/salome lib${LIB_LOCATION_SUFFIX}/salome share/salome/resources idl -do -# if test ! -d $rep ; then -# eval mkdir $rep -# fi - $INSTALL -d $rep -done - -echo -echo --------------------------------------------- -echo copying resource files, shell scripts, and -echo xml files -echo --------------------------------------------- -echo - - -dnl copy resources directories - -#for i in `find $ROOT_SRCDIR -name 'resources' -print` -#do -# local_res=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"` -# local_res_dir=`echo $local_res | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"` -# mkdir -p $local_res_dir -# cd $local_res_dir -# ln -fs $i -# echo $local_res -# cd $ROOT_BUILDDIR -#done - -dnl copy shells and utilities contained in the bin directory -dnl excluding .in files (treated in AC-OUTPUT below) and CVS -dnl directory - -mkdir -p bin/salome -cd bin/salome -for i in $ROOT_SRCDIR/bin/* -do - local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"` - case "$local_bin" in - *.in | *~) ;; - ./bin/CVS | ./bin/salome) ;; - *) /usr/bin/install $i .; echo $local_bin ;; - esac -done -cd $ROOT_BUILDDIR - -AC_SUBST_FILE(ENVSCRIPT) ENVSCRIPT=salome_adm/unix/envScript - -dnl copy xml files to the build tree (lib directory) -dnl pourquoi ???? - -#cd lib -#for i in `find $ROOT_SRCDIR -name "*.xml" -print` -#do -# ln -fs $i -# echo `echo $i | sed -e "s,$ROOT_SRCDIR,.,"` -#done -#cd $ROOT_BUILDDIR - - -echo -echo --------------------------------------------- -echo generating Makefiles and configure files -echo --------------------------------------------- -echo - -AC_OUTPUT_COMMANDS([ \ - chmod +x ./bin/* \ -]) - -## do not delete this line diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 000000000..dcbc00f24 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,30 @@ +# Copyright (C) 2005 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 +# + +# -* Makefile *- +# +# Author : Patrick GOLDBRONN (CEA) +# Date : 30/11/2001 +# Modified by : Alexander BORODIN (OCN) - autotools usage +# $Header$ +# +# source path + +SUBDIRS= salome diff --git a/doc/Makefile.in b/doc/Makefile.in deleted file mode 100644 index af9e2aae5..000000000 --- a/doc/Makefile.in +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright (C) 2005 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 -# - -# -* Makefile *- -# -# Author : Patrick GOLDBRONN (CEA) -# Date : 30/11/2001 -# $Header$ -# -# source path -top_srcdir=@top_srcdir@ -top_builddir=.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ - -SUBDIRS= salome - -@COMMENCE@ - -docs: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -usr_docs: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -dev_docs: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -clean: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -distclean: clean - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -install: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -uninstall: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done diff --git a/doc/salome/AddNetgenInSalome2.pdf b/doc/salome/AddNetgenInSalome2.pdf index 34fd25204..d736a6ded 100644 Binary files a/doc/salome/AddNetgenInSalome2.pdf and b/doc/salome/AddNetgenInSalome2.pdf differ diff --git a/doc/salome/Makefile.am b/doc/salome/Makefile.am new file mode 100644 index 000000000..43c97dd62 --- /dev/null +++ b/doc/salome/Makefile.am @@ -0,0 +1,42 @@ +# Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D +# +# 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= tui gui +SUBDIRSTUI= tui +SUBDIRSGUI= gui + +usr_docs: + @@SETX@; for d in $(SUBDIRSGUI); do \ + (cd $$d && $(MAKE) $@) || exit 1; \ + done; + +docs: usr_docs + +dev_docs: + @@SETX@; for d in $(SUBDIRSTUI); do \ + (cd $$d && $(MAKE) $@) || exit 1; \ + done; diff --git a/doc/salome/Makefile.in b/doc/salome/Makefile.in deleted file mode 100644 index 4106d1ad3..000000000 --- a/doc/salome/Makefile.in +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright (C) 2005 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 -# - -# -* Makefile *- -# -# Author : Patrick GOLDBRONN (CEA) -# Date : 30/11/2001 -# $Header$ -# -# source path -top_srcdir=@top_srcdir@ -top_builddir=../.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ - -SUBDIRS= tui gui -SUBDIRSTUI= tui -SUBDIRSGUI= gui - -@COMMENCE@ - -usr_docs: - @@SETX@; for d in $(SUBDIRSGUI); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done; \ - -docs: usr_docs - -dev_docs: - @@SETX@; for d in $(SUBDIRSTUI); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done; \ - -clean: - @@SETX@; for d in $(SUBDIRS); do \ - if test -d $$d/SMESH; then \ - (cd $$d && $(MAKE) $@) || exit 1; \ - fi; \ - done - -distclean: clean - @@SETX@; for d in $(SUBDIRS); do \ - if test -d $$d/SMESH; then \ - (cd $$d && $(MAKE) $@) || exit 1; \ - fi; \ - done - -install: - $(MAKE) docs - @@SETX@; for d in $(SUBDIRS); do \ - if test -d $$d/SMESH; then \ - (cd $$d && $(MAKE) $@); \ - fi; \ - done - -uninstall: - @@SETX@; for d in $(SUBDIRS); do \ - if test -d $$d/SMESH; then \ - (cd $$d && $(MAKE) $@) || exit 1; \ - fi; \ - done; \ diff --git a/doc/salome/PluginMeshers.txt b/doc/salome/PluginMeshers.txt index 61bb0842b..71e58b2e7 100644 --- a/doc/salome/PluginMeshers.txt +++ b/doc/salome/PluginMeshers.txt @@ -83,10 +83,10 @@ The SALOME automatically locates XML files, searching them in the following directories: - ${_ROOT_DIR}/share/salome/resources + ${_ROOT_DIR}/share/salome/resources/ ${SALOME_Resources} ${HOME}/.salome/resources - ${KERNEL_ROOT_DIR}/share/salome/resources + ${KERNEL_ROOT_DIR}/share/salome/resources/kernel where is a name of each mesher plugin package @@ -148,7 +148,7 @@ 4.2.2. Define environment variable SALOME_Resources to point to the directory where resources are situated. - Example: setenv SALOME_StdMeshersResources ${SMESH_ROOT_DIR}/share/salome/resources + Example: setenv SALOME_StdMeshersResources ${SMESH_ROOT_DIR}/share/salome/resources/smesh 4.3. Implement your Hypothesis Creator and being exported method @@ -185,4 +185,4 @@ Note: If you use runSalome.py script from KERNEL package to launch SALOME, you m ... - ... \ No newline at end of file + ... diff --git a/doc/salome/gui/Makefile.am b/doc/salome/gui/Makefile.am new file mode 100644 index 000000000..66ce3648e --- /dev/null +++ b/doc/salome/gui/Makefile.am @@ -0,0 +1,69 @@ +# Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D +# +# 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+=SMESH + +doxygen=@DOXYGEN@ + +# Below command replaces "smeshDC" by "smesh" except cases +# "ssmeshDC", "1smeshDC" and "esmeshDC" (these sequences +# can be found in file names and must not be replaces): +# +# sed 's/\([^s1e]\)smeshDC\|^smeshDC/\1smesh/g' $${filen} > ./tmp; +# +usr_docs: + cd ./SMESH; \ + echo "Processing smeshDC.py file: "; \ + $(doxygen) ./doxyfile_py; \ + cd ./smeshpy_doc; \ + filesl=`find .`; \ + for filen in $${filesl}; do \ + sed 's/\([^s1e]\)smeshDC\|^smeshDC/\1smesh/g' $${filen} > ./tmp; \ + mv -f tmp $${filen}; \ + done; \ + cd ..; \ + echo "Running doxygen in directory: "`pwd`; \ + $(doxygen) ./doxyfile; + +docs: usr_docs + +clean-local: + rm -fr `ls | grep -v "Makefile"` + rm -fr SMESH + +install-data-local: usr_docs + mkdir -p $(docdir)/gui + cp -rf SMESH $(docdir)/gui + -find $(PWD) -name CVS -prune -exec rm -rf {} \; + +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/Makefile.in b/doc/salome/gui/Makefile.in deleted file mode 100644 index c08ee2735..000000000 --- a/doc/salome/gui/Makefile.in +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright (C) 2005 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 -# -# File : Makefile.in -# Author : Vasily Rusyaev (Open Cascade NN) -# Module : doc -# $Header: - -top_srcdir=@top_srcdir@ -top_builddir=../../.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ - -@COMMENCE@ - -usr_docs: - cp -fr $(srcdir)/SMESH ./ - -find $(PWD) -name CVS -prune -exec rm -rf {} \; - -docs: usr_docs - -clean: - rm -fr `ls | grep -v "Makefile"` - -distclean: clean - rm -fr SMESH - -install: - mkdir -p $(docdir)/gui - cp -rf SMESH $(docdir)/gui - -find $(PWD) -name CVS -prune -exec rm -rf {} \; - -uninstall: - rm -rf $(docdir)/gui/SMESH 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 f7af36140..000000000 --- a/doc/salome/gui/SMESH/about_viewing_meshes.htm +++ /dev/null @@ -1,169 +0,0 @@ - - - - - -About viewing meshes - - - - - - - - - - - - -

Viewing meshes

- -

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.

- -

 

- -

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 86db2586e..000000000 --- a/doc/salome/gui/SMESH/adding_quadratic_nodes_and_elements.htm +++ /dev/null @@ -1,124 +0,0 @@ - - - - - -Adding Quadratic Nodes and Elements - - - - - - - - - - -

Adding Quadratic Elements

- -

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 9b9e5bd0d..000000000 --- a/doc/salome/gui/SMESH/aspect_ratio_3d.htm +++ /dev/null @@ -1,203 +0,0 @@ - - - - - -Aspect ratio 3D - - - - - - - - - - - - - -

Aspect ratio 3D

- -

- -

 

- -

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 cf5d3a9ca..000000000 --- a/doc/salome/gui/SMESH/borders_at_multi-connection.htm +++ /dev/null @@ -1,121 +0,0 @@ - - - - - -Borders at multi-connection - - - - - - - - - - - - - -

Borders at multi-connection

- -

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 3cb8e549d..000000000 --- a/doc/salome/gui/SMESH/borders_at_multiconnection_2d.htm +++ /dev/null @@ -1,115 +0,0 @@ - - - - - -Borders at multiconnection 2D - - - - - - - - - - - - - -

Borders at multi-connection 2D

- -

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/clipping.htm b/doc/salome/gui/SMESH/clipping.htm deleted file mode 100755 index 9cfba3b64..000000000 --- a/doc/salome/gui/SMESH/clipping.htm +++ /dev/null @@ -1,140 +0,0 @@ - - - - - -Clipping - - - - - - - - - - - - -

Clipping

- -

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 d460c302f..000000000 --- a/doc/salome/gui/SMESH/constructing_meshes.htm +++ /dev/null @@ -1,744 +0,0 @@ - - - - - -Constructing Meshes - - - - - - - - - - - -

Creating Meshes

- -

At first see Example of 3d mesh generation, using smesh package. -

Other examples of python scripts will be also updated soon to use smesh package instead of direct usage of idl interface. - -

Construction of a Mesh

- -

Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
  - -

import salome

- -

import geompy

- -

import StdMeshers

- -

smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

- -

smeshgui = salome.ImportComponentGUI("SMESH")

- -

smeshgui.Init(salome.myStudyId);

- -

 

- -

# create a box

- -

box = geompy.MakeBox(0., - 0., 0., 100., 200., 300.)

- -

 

- -

# add box to the study

- -

idbox = geompy.addToStudy(box, - "box")

- -

 

- -

# create a hypothesis

- -

print "-------------------------- - create Hypothesis"

- -

print "-------------------------- - NumberOfSegments"

- -

numberOfSegments - = 7

- -

hypNbSeg = smesh.CreateHypothesis("NumberOfSegments", - "libStdMeshersEngine.so")

- -

hypNbSeg.SetNumberOfSegments(numberOfSegments)

- -

print hypNbSeg.GetName()

- -

print hypNbSeg.GetId()

- -

print hypNbSeg.GetNumberOfSegments()

- -

smeshgui.SetName(salome.ObjectToID(hypNbSeg), - "NumberOfSegments_10")

- -

print "-------------------------- - MaxElementArea"

- -

maxElementArea = - 800

- -

hypArea = smesh.CreateHypothesis("MaxElementArea", - "libStdMeshersEngine.so")

- -

hypArea.SetMaxElementArea(maxElementArea)

- -

print hypArea.GetName()

- -

print hypArea.GetId()

- -

print hypArea.GetMaxElementArea()

- -

smeshgui.SetName(salome.ObjectToID(hypArea), - "MaxElementArea_500")

- -

print "-------------------------- - MaxElementVolume"

- -

maxElementVolume - = 900

- -

hypVolume = smesh.CreateHypothesis("MaxElementVolume", - "libStdMeshersEngine.so")

- -

hypVolume.SetMaxElementVolume(maxElementVolume)

- -

print hypVolume.GetName()

- -

print hypVolume.GetId()

- -

print hypVolume.GetMaxElementVolume()

- -

smeshgui.SetName(salome.ObjectToID(hypVolume), - "MaxElementVolume_500")

- -

 

- -

# create algorithms

- -

print "-------------------------- - create Algorithms"

- -

print "-------------------------- - Regular_1D"

- -

regular1D = smesh.CreateHypothesis("Regular_1D", - "libStdMeshersEngine.so")

- -

smeshgui.SetName(salome.ObjectToID(regular1D), - "Wire Discretisation")

- -

print "-------------------------- - MEFISTO_2D"

- -

mefisto2D = smesh.CreateHypothesis("MEFISTO_2D", - "libStdMeshersEngine.so")

- -

smeshgui.SetName(salome.ObjectToID(mefisto2D), - "MEFISTO_2D")

- -

 

- -

# initialize a mesh with - the box

- -

mesh = smesh.CreateMesh(box)

- -

smeshgui.SetName(salome.ObjectToID(mesh), - "MeshBox")

- -

 

- -

# add the hypothesis to - the box

- -

print "-------------------------- - add hypothesis to the box"

- -

mesh.AddHypothesis(box,hypNbSeg)

- -

mesh.AddHypothesis(box,hypArea)

- -

mesh.AddHypothesis(box,hypVolume)

- -

mesh.AddHypothesis(box,regular1D)

- -

mesh.AddHypothesis(box,mefisto2D)

- -

 

- -

# compute the mesh

- -

print "-------------------------- - compute the mesh of the box"

- -

ret = smesh.Compute(mesh,box)

- -

print ret

- -

if ret == 0:

- -

    print - "probleme when computing the mesh"

- -

salome.sg.updateObjBrowser(1)

- -

 

- -

Construction of a Submesh

- -

 

- -

from - geompy import *

- -

import smesh

- -

 

- -

# create vertices

- -

Point111 = MakeVertex( 0,  0, -  0)

- -

Point211 = MakeVertex(10,  0, -  0)

- -

Point121 = MakeVertex( 0, 10,  0)

- -

Point221 = MakeVertex(10, 10,  0)

- -

Point112 = MakeVertex( 0,  0, - 10)

- -

Point212 = MakeVertex(10,  0, - 10)

- -

Point122 = MakeVertex( 0, 10, 10)

- -

Point222 = MakeVertex(10, 10, 10)

- -

 

- -

# create edges

- -

EdgeX111 = MakeEdge(Point111, Point211)

- -

EdgeX121 = MakeEdge(Point121, Point221)

- -

EdgeX112 = MakeEdge(Point112, Point212)

- -

EdgeX122 = MakeEdge(Point122, Point222)

- -

EdgeY11 = MakeEdge(Point111, Point121)

- -

EdgeY21 = MakeEdge(Point211, Point221)

- -

EdgeY12 = MakeEdge(Point112, Point122)

- -

EdgeY22 = MakeEdge(Point212, Point222)

- -

EdgeZ111 = MakeEdge(Point111, Point112)

- -

EdgeZ211 = MakeEdge(Point211, Point212)

- -

EdgeZ121 = MakeEdge(Point121, Point122)

- -

EdgeZ221 = MakeEdge(Point221, Point222)

- -

 

- -

# create faces

- -

FaceX11 = MakeQuad(EdgeY11, EdgeZ111, - EdgeY12, EdgeZ121)

- -

FaceX21 = MakeQuad(EdgeY21, EdgeZ211, - EdgeY22, EdgeZ221)

- -

FaceY111 = MakeQuad(EdgeX111, EdgeZ111, - EdgeX112, EdgeZ211)

- -

FaceY121 = MakeQuad(EdgeX121, EdgeZ121, - EdgeX122, EdgeZ221)

- -

FaceZ11 = MakeQuad(EdgeX111, EdgeY11, - EdgeX121, EdgeY21)

- -

FaceZ12 = MakeQuad(EdgeX112, EdgeY12, - EdgeX122, EdgeY22)

- -

 

- -

# create a solid

- -

Block = MakeHexa(FaceX11, FaceX21, FaceY111, - FaceY121, FaceZ11, FaceZ12)

- -

 

- -

# create a compound

- -

box = MakeCompound([Block])

- -

 

- -

# add in the study

- -

box_id = addToStudy(box, "Box compound")

- -

 

- -

# create hexahedral mesh - on the box

- -

hexa = smesh.Mesh(box, "Box compound - : hexahedrical mesh")

- -

algo = hexa.Segment()

- -

 

- -

# define "NumberOfSegments" - hypothesis to cut the edge in a fixed number of segments

- -

algo.NumberOfSegments(4)

- -

 

- -

# creates a quadrangle - 2D algorithm for the faces

- -

hexa.Quadrangle()

- -

 

- -

# construct a submesh with - a local hypothesis

- -

algo = hexa.Segment(EdgeX111)

- -

 

- -

# define "Arithmetic1D" - hypothesis to cut an edge in several segments with increasing arithmetic - length

- -

algo.Arithmetic1D(1, 4)

- -

 

- -

# define "Propagation" - hypothesis that propagates all other hypothesis on all edges on the opposite - side in case of quadrangular faces

- -

algo.Propagation()

- -

 

- -

# compute the mesh

- -

hexa.Compute()

- -

 

- -

Editing of a mesh

- -

Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
  - -

 

- -

import - salome

- -

import geompy

- -

import SMESH

- -

import StdMeshers

- -

 

- -

smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

- -

smesh.SetCurrentStudy(salome.myStudy)

- -

 

- -

box   = - geompy.MakeBox(0., 0., 0., 20., 20., 20.)

- -

idbox = geompy.addToStudy(box, "box")

- -

 

- -

subShapeList = geompy.SubShapeAll(box, - geompy.ShapeType["EDGE"])

- -

edge   = - subShapeList[0]

- -

name   = - geompy.SubShapeName(edge, box)

- -

idedge = geompy.addToStudyInFather(box, - edge, name)

- -

 

- -

box  = - salome.IDToObject(idbox)

- -

edge = salome.IDToObject(idedge)

- -

 

- -

hyp1 = smesh.CreateHypothesis("NumberOfSegments", - "libStdMeshersEngine.so")

- -

hyp1.SetNumberOfSegments(3)

- -

hyp2 = smesh.CreateHypothesis("MaxElementArea", - "libStdMeshersEngine.so")

- -

hyp2.SetMaxElementArea(10)

- -

hyp3 = smesh.CreateHypothesis("Arithmetic1D", - "libStdMeshersEngine.so")

- -

hyp3.SetLength(1,1)

- -

hyp3.SetLength(6,0)

- -

hyp4 = smesh.CreateHypothesis("Propagation", - "libStdMeshersEngine.so")

- -

 

- -

algo1 = smesh.CreateHypothesis("Regular_1D", - "libStdMeshersEngine.so")

- -

algo2 = smesh.CreateHypothesis("MEFISTO_2D", - "libStdMeshersEngine.so")

- -

 

- -

mesh = smesh.CreateMesh(box)

- -

mesh.AddHypothesis(box,hyp1)

- -

mesh.AddHypothesis(box,hyp2)

- -

mesh.AddHypothesis(box,algo1)

- -

mesh.AddHypothesis(box,algo2)

- -

mesh.AddHypothesis(edge,hyp3)

- -

mesh.AddHypothesis(edge,hyp4)

- -

mesh.AddHypothesis(edge,algo1)

- -

 

- -

smesh.Compute(mesh,box)

- -

salome.sg.updateObjBrowser(1)

- -

 

- -

# remove a hypothesis

- -

mesh.RemoveHypothesis(edge,hyp4)

- -

 

- -

smesh.Compute(mesh,box)

- -

salome.sg.updateObjBrowser(1)

- -

 

- -

# change the value - of the hypothesis

- -

hyp2.SetMaxElementArea(2)

- -

mesh.AddHypothesis(box,hyp2)

- -

 

- -

smesh.Compute(mesh,box)

- -

salome.sg.updateObjBrowser(1)

- -

 

- -

Export of a Mesh

- -

Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
  - -

 

- -

import - salome

- -

import geompy

- -

import StdMeshers

- -

smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

- -

smeshgui = salome.ImportComponentGUI("SMESH")

- -

smeshgui.Init(salome.myStudyId);

- -

 

- -

# create a box

- -

box = geompy.MakeBox(0., - 0., 0., 100., 200., 300.)

- -

 

- -

# add the box to the study

- -

idbox = geompy.addToStudy(box, - "box")

- -

 

- -

# create a hypothesis

- -

print "-------------------------- - create Hypothesis"

- -

print "-------------------------- - NumberOfSegments"

- -

numberOfSegments - = 7

- -

hypNbSeg = smesh.CreateHypothesis("NumberOfSegments", - "libStdMeshersEngine.so")

- -

hypNbSeg.SetNumberOfSegments(numberOfSegments)

- -

print hypNbSeg.GetName()

- -

print hypNbSeg.GetId()

- -

print hypNbSeg.GetNumberOfSegments()

- -

smeshgui.SetName(salome.ObjectToID(hypNbSeg), - "NumberOfSegments_10")

- -

print "-------------------------- - MaxElementArea"

- -

maxElementArea = - 800

- -

hypArea = smesh.CreateHypothesis("MaxElementArea", - "libStdMeshersEngine.so")

- -

hypArea.SetMaxElementArea(maxElementArea)

- -

print hypArea.GetName()

- -

print hypArea.GetId()

- -

print hypArea.GetMaxElementArea()

- -

smeshgui.SetName(salome.ObjectToID(hypArea), - "MaxElementArea_500")

- -

print "-------------------------- - MaxElementVolume"

- -

maxElementVolume - = 900

- -

hypVolume = smesh.CreateHypothesis("MaxElementVolume", - "libStdMeshersEngine.so")

- -

hypVolume.SetMaxElementVolume(maxElementVolume)

- -

print hypVolume.GetName()

- -

print hypVolume.GetId()

- -

print hypVolume.GetMaxElementVolume()

- -

smeshgui.SetName(salome.ObjectToID(hypVolume), - "MaxElementVolume_500")

- -

 

- -

# create algorithms

- -

print "-------------------------- - create Algorithms"

- -

print "-------------------------- - Regular_1D"

- -

regular1D = smesh.CreateHypothesis("Regular_1D", - "libStdMeshersEngine.so")

- -

smeshgui.SetName(salome.ObjectToID(regular1D), - "Wire Discretisation")

- -

print "-------------------------- - MEFISTO_2D"

- -

mefisto2D = smesh.CreateHypothesis("MEFISTO_2D", - "libStdMeshersEngine.so")

- -

smeshgui.SetName(salome.ObjectToID(mefisto2D), - "MEFISTO_2D")

- -

 

- -

# initialize a mesh with - the box

- -

mesh = smesh.CreateMesh(box)

- -

smeshgui.SetName(salome.ObjectToID(mesh), - "MeshBox")

- -

 

- -

# add the hypothesis to - the box

- -

print "-------------------------- - add hypothesis to the box"

- -

mesh.AddHypothesis(box,hypNbSeg)

- -

mesh.AddHypothesis(box,hypArea)

- -

mesh.AddHypothesis(box,hypVolume)

- -

mesh.AddHypothesis(box,regular1D)

- -

mesh.AddHypothesis(box,mefisto2D)

- -

 

- -

# compute the mesh

- -

print "-------------------------- - compute the mesh of the box"

- -

ret = smesh.Compute(mesh,box)

- -

print ret

- -

if ret == 0:

- -

    print - "probleme when computing the mesh"

- -

salome.sg.updateObjBrowser(1)

- -

mesh.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 dae507e12..000000000 --- a/doc/salome/gui/SMESH/cshdat_robohelp.htm +++ /dev/null @@ -1,258 +0,0 @@ - - -Mesh Module Reference Manual - - - - - - - - - - - - - - - - - diff --git a/doc/salome/gui/SMESH/cshdat_webhelp.htm b/doc/salome/gui/SMESH/cshdat_webhelp.htm deleted file mode 100755 index 6d79e6f4f..000000000 --- a/doc/salome/gui/SMESH/cshdat_webhelp.htm +++ /dev/null @@ -1,251 +0,0 @@ - - -Mesh Module Reference Manual - - - - - - - - - - - - - - - - - diff --git a/doc/salome/gui/SMESH/default.css b/doc/salome/gui/SMESH/default.css deleted file mode 100755 index de2e5d955..000000000 --- a/doc/salome/gui/SMESH/default.css +++ /dev/null @@ -1,101 +0,0 @@ -BODY { - background-color:#ffffff; - font-family:"Times New Roman" , serif; } -H1 { - font-weight:bold; - font-size:24.0pt; } -LI.kadov-H1 { - font-weight:bold; - font-size:24.0pt; } -H2 { - font-weight:bold; - font-size:18.0pt; } -LI.kadov-H2 { - font-weight:bold; - font-size:18.0pt; } -H3 { - font-weight:bold; - font-size:14.0pt; } -LI.kadov-H3 { - font-weight:bold; - font-size:14.0pt; } -H4 { - font-weight:bold; - font-size:12.0pt; } -LI.kadov-H4 { - font-weight:bold; - font-size:12.0pt; } -H5 { - font-weight:bold; - font-size:10.0pt; } -LI.kadov-H5 { - font-weight:bold; - font-size:10.0pt; } -H6 { - font-weight:bold; - font-size:8.0pt; } -LI.kadov-H6 { - font-weight:bold; - font-size:8.0pt; } -P { - font-size:12.0pt; - margin-top:0pt; - margin-bottom:0pt; } -LI.kadov-P { - font-size:12.0pt; } -A.expandspot { - color:#008000; - cursor:hand; - font-style:italic; - x-text-underline:off; - x-text-overline:off; - x-text-line-through:off; - text-decoration:none none none; } -SPAN.expandtext { - font-style:italic; - font-weight:normal; - color:#ff0000; } -A.dropspot { - cursor:hand; - color:#008000; - font-style:italic; - x-text-underline:off; - x-text-overline:off; - x-text-line-through:off; - text-decoration:none none none; } -A.glossterm { - color:#800000; - cursor:hand; - font-style:italic; - x-text-underline:off; - x-text-overline:off; - x-text-line-through:off; - text-decoration:none none none; } -SPAN.glosstext { - font-style:italic; - font-weight:normal; - color:#0000ff; } -OL { - margin-top:0px; - margin-bottom:0px; } -UL { - margin-top:0px; - margin-bottom:0px; } -A:active { } -A:hover { - x-text-underline:Off; - text-decoration:none; } -A:link { - x-text-underline:Off; - text-decoration:none; } -A:visited { - x-text-underline:Off; - text-decoration:none; } -P.TODO { - font-weight:normal; - font-style:italic; - font-family:"Arial Black" , sans-serif; } -LI.kadov-P-CTODO { - font-weight:normal; - font-style:italic; - font-family:"Arial Black" , sans-serif; } diff --git a/doc/salome/gui/SMESH/default_ns.css b/doc/salome/gui/SMESH/default_ns.css deleted file mode 100755 index 3eeb3c496..000000000 --- a/doc/salome/gui/SMESH/default_ns.css +++ /dev/null @@ -1,118 +0,0 @@ -BODY { - background-color:#ffffff; - font-family:"Times New Roman" , serif; } -H1 { - font-weight:bold; - font-size:24.0pt; - font-family:"Times New Roman" , serif; } -LI.kadov-H1 { - font-weight:bold; - font-size:24.0pt; } -H2 { - font-weight:bold; - font-size:18.0pt; - font-family:"Times New Roman" , serif; } -LI.kadov-H2 { - font-weight:bold; - font-size:18.0pt; } -H3 { - font-weight:bold; - font-size:14.0pt; - font-family:"Times New Roman" , serif; } -LI.kadov-H3 { - font-weight:bold; - font-size:14.0pt; } -H4 { - font-weight:bold; - font-size:12.0pt; - font-family:"Times New Roman" , serif; } -LI.kadov-H4 { - font-weight:bold; - font-size:12.0pt; } -H5 { - font-weight:bold; - font-size:10.0pt; - font-family:"Times New Roman" , serif; } -LI.kadov-H5 { - font-weight:bold; - font-size:10.0pt; } -H6 { - font-weight:bold; - font-size:8.0pt; - font-family:"Times New Roman" , serif; } -LI.kadov-H6 { - font-weight:bold; - font-size:8.0pt; } -P { - font-size:12.0pt; - margin-top:1pt; - margin-bottom:1pt; - font-family:"Times New Roman" , serif; } -LI.kadov-P { - font-size:12.0pt; } -A.expandspot { - color:#008000; - cursor:hand; - font-style:italic; - x-text-underline:off; - x-text-overline:off; - x-text-line-through:off; - text-decoration:none none none; } -SPAN.expandtext { - font-style:italic; - font-weight:normal; - color:#ff0000; } -A.dropspot { - cursor:hand; - color:#008000; - font-style:italic; - x-text-underline:off; - x-text-overline:off; - x-text-line-through:off; - text-decoration:none none none; } -A.glossterm { - color:#800000; - cursor:hand; - font-style:italic; - x-text-underline:off; - x-text-overline:off; - x-text-line-through:off; - text-decoration:none none none; } -SPAN.glosstext { - font-style:italic; - font-weight:normal; - color:#0000ff; } -OL { - margin-top:0px; - margin-bottom:0px; - font-family:"Times New Roman" , serif; } -UL { - margin-top:0px; - margin-bottom:0px; - font-family:"Times New Roman" , serif; } -A:active { } -A:hover { - x-text-underline:Off; - text-decoration:none; } -A:link { - x-text-underline:Off; - text-decoration:none; } -A:visited { - x-text-underline:Off; - text-decoration:none; } -P.TODO { - font-weight:normal; - font-style:italic; - font-family:"Arial Black" , sans-serif; } -LI.kadov-P-CTODO { - font-weight:normal; - font-style:italic; - font-family:"Arial Black" , sans-serif; } -ol ol { - margin-top:1px; } -ol ul { - margin-top:1px; } -ul ul { - margin-top:1px; } -ul ol { - margin-top:1px; } diff --git a/doc/salome/gui/SMESH/defining_hypotheses_tui.htm b/doc/salome/gui/SMESH/defining_hypotheses_tui.htm deleted file mode 100755 index 3fe7884bd..000000000 --- a/doc/salome/gui/SMESH/defining_hypotheses_tui.htm +++ /dev/null @@ -1,1390 +0,0 @@ - - - - - -Defining hypotheses TUI - - - - - - - - - - - -

Defining Hypotheses and Algorithms

- -

Defining 1D Hypotheses

- -

1D Arithmetic

- -

 

- -

from geompy import - *

- -

import smesh

- -

 

- -

# create vertices

- -

Point111 = MakeVertex( - 0,  0,  0)

- -

Point211 = MakeVertex(10, -  0,  0)

- -

Point121 = MakeVertex( - 0, 10,  0)

- -

Point221 = MakeVertex(10, - 10,  0)

- -

Point112 = MakeVertex( - 0,  0, 10)

- -

Point212 = MakeVertex(10, -  0, 10)

- -

Point122 = MakeVertex( - 0, 10, 10)

- -

Point222 = MakeVertex(10, - 10, 10)

- -

 

- -

# create edges

- -

EdgeX111 = MakeEdge(Point111, - Point211)

- -

EdgeX121 = MakeEdge(Point121, - Point221)

- -

EdgeX112 = MakeEdge(Point112, - Point212)

- -

EdgeX122 = MakeEdge(Point122, - Point222)

- -

EdgeY11 = MakeEdge(Point111, - Point121)

- -

EdgeY21 = MakeEdge(Point211, - Point221)

- -

EdgeY12 = MakeEdge(Point112, - Point122)

- -

EdgeY22 = MakeEdge(Point212, - Point222)

- -

EdgeZ111 = MakeEdge(Point111, - Point112)

- -

EdgeZ211 = MakeEdge(Point211, - Point212)

- -

EdgeZ121 = MakeEdge(Point121, - Point122)

- -

EdgeZ221 = MakeEdge(Point221, - Point222)

- -

 

- -

# create faces

- -

FaceX11 = MakeQuad(EdgeY11, - EdgeZ111, EdgeY12, EdgeZ121)

- -

FaceX21 = MakeQuad(EdgeY21, - EdgeZ211, EdgeY22, EdgeZ221)

- -

FaceY111 = MakeQuad(EdgeX111, - EdgeZ111, EdgeX112, EdgeZ211)

- -

FaceY121 = MakeQuad(EdgeX121, - EdgeZ121, EdgeX122, EdgeZ221)

- -

FaceZ11 = MakeQuad(EdgeX111, - EdgeY11, EdgeX121, EdgeY21)

- -

FaceZ12 = MakeQuad(EdgeX112, - EdgeY12, EdgeX122, EdgeY22)

- -

 

- -

# create a solid

- -

Block = MakeHexa(FaceX11, - FaceX21, FaceY111, FaceY121, FaceZ11, FaceZ12)

- -

 

- -

# create a compound

- -

box = MakeCompound([Block])

- -

 

- -

# add in the study

- -

box_id = addToStudy(box, - "Box compound")

- -

 

- -

# create a hexahedral mesh on the box

- -

hexa = smesh.Mesh(box, - "Box compound : hexahedrical mesh")

- -

algo = hexa.Segment()

- -

 

- -

# define "NumberOfSegments" hypothesis to cut an edge in a - fixed number of segments

- -

algo.NumberOfSegments(4)

- -

 

- -

# create a quadrangle 2D algorithm for faces

- -

hexa.Quadrangle()

- -

 

- -

# create a hexahedron 3D algorithm for solids

- -

hexa.Hexahedron()

- -

 

- -

# create a local hypothesis

- -

algo = hexa.Segment(EdgeX111)

- -

 

- -

# define "Arithmetic1D" hypothesis to cut an edge in several - segments with arithmetic length increasing

- -

algo.Arithmetic1D(1, - 4)

- -

 

- -

# define "Propagation" hypothesis that propagates all other - hypothesis on all edges on the opposite side in case of quadrangular faces

- -

algo.Propagation()

- -

 

- -

# compute the mesh

- -

hexa.Compute()

- -

 

- -

Deflection 1D and Number of Segments

- -

 

- -

import smesh

- -

import geompy

- -

import salome

- -

gg = salome.ImportComponentGUI("GEOM")

- -

 

- -

# create vertices

- -

px   = - geompy.MakeVertex(100., 0.  , - 0.  )

- -

py   = - geompy.MakeVertex(0.  , - 100., 0.  )

- -

pz   = - geompy.MakeVertex(0.  , - 0.  , 100.)

- -

 

- -

# create a vector from - two points

- -

vxy = geompy.MakeVector(px, - py)

- -

 

- -

# create an arc from - three points

- -

arc = geompy.MakeArc(py, - pz, px)

- -

 

- -

# create a wire

- -

wire = geompy.MakeWire([vxy, - arc])

- -

isPlanarFace = 1

- -

 

- -

# create a face from - the wire

- -

face1 = geompy.MakeFace(wire, - isPlanarFace)

- -

 

- -

# - get edges from the face

- -

vxy,arc = geompy.SubShapeAll(face1,geompy.ShapeType["EDGE"])

- -

 

- -

# add objects in the - study

- -

id_face1 = geompy.addToStudy(face1,"Face1")

- -

id_arc = geompy.addToStudyInFather(face1,arc,"Arc - Edge")

- -

 

- -

# display faces

- -

gg.createAndDisplayGO(id_face1)

- -

gg.setDisplayMode(id_face1,1)

- -

gg.setTransparency(id_face1,0.2)

- -

 

- -

# create hexahedral mesh

- -

hexa = smesh.Mesh(face1, - "Face compound : hexahedrical mesh")

- -

algo = hexa.Triangle()

- -

 

- -

# define "MaxElementArea" - hypothesis

- -

algo.MaxElementArea(30)

- -

 

- -

# create a local hypothesis - on the wire

- -

algo = hexa.Segment(wire)

- -

 

- -

# define "NumberOfSegments" - hypothesis to cut a straight edge in a fixed number of segments

- -

algo.NumberOfSegments(6)

- -

 

- -

# define a local "Deflection1D" - hypothesis on the arc

- -

algo = hexa.Segment(arc)

- -

algo.Deflection1D(1)

- -

 

- -

 

- -

# compute the mesh

- -

hexa.Compute()

- -

 

- -

Start and End Length

- -

from geompy import - *

- -

import smesh

- -

 

- -

# create vertices

- -

Point111 = MakeVertex( - 0,  0,  0)

- -

Point211 = MakeVertex(10, -  0,  0)

- -

Point121 = MakeVertex( - 0, 10,  0)

- -

Point221 = MakeVertex(10, - 10,  0)

- -

Point112 = MakeVertex( - 0,  0, 10)

- -

Point212 = MakeVertex(10, -  0, 10)

- -

Point122 = MakeVertex( - 0, 10, 10)

- -

Point222 = MakeVertex(10, - 10, 10)

- -

 

- -

# create edges

- -

EdgeX111 = MakeEdge(Point111, - Point211)

- -

EdgeX121 = MakeEdge(Point121, - Point221)

- -

EdgeX112 = MakeEdge(Point112, - Point212)

- -

EdgeX122 = MakeEdge(Point122, - Point222)

- -

EdgeY11 = MakeEdge(Point111, - Point121)

- -

EdgeY21 = MakeEdge(Point211, - Point221)

- -

EdgeY12 = MakeEdge(Point112, - Point122)

- -

EdgeY22 = MakeEdge(Point212, - Point222)

- -

EdgeZ111 = MakeEdge(Point111, - Point112)

- -

EdgeZ211 = MakeEdge(Point211, - Point212)

- -

EdgeZ121 = MakeEdge(Point121, - Point122)

- -

EdgeZ221 = MakeEdge(Point221, - Point222)

- -

 

- -

# create faces

- -

FaceX11 = MakeQuad(EdgeY11, - EdgeZ111, EdgeY12, EdgeZ121)

- -

FaceX21 = MakeQuad(EdgeY21, - EdgeZ211, EdgeY22, EdgeZ221)

- -

FaceY111 = MakeQuad(EdgeX111, - EdgeZ111, EdgeX112, EdgeZ211)

- -

FaceY121 = MakeQuad(EdgeX121, - EdgeZ121, EdgeX122, EdgeZ221)

- -

FaceZ11 = MakeQuad(EdgeX111, - EdgeY11, EdgeX121, EdgeY21)

- -

FaceZ12 = MakeQuad(EdgeX112, - EdgeY12, EdgeX122, EdgeY22)

- -

 

- -

# create a solid

- -

Block = MakeHexa(FaceX11, - FaceX21, FaceY111, FaceY121, FaceZ11, FaceZ12)

- -

 

- -

# create a compound

- -

box = MakeCompound([Block])

- -

 

- -

# add in the study

- -

box_id = addToStudy(box, - "Box compound")

- -

 

- -

# create a hexahedral mesh on the box

- -

hexa = smesh.Mesh(box, - "Box compound : hexahedrical mesh")

- -

algo = hexa.Segment()

- -

 

- -

# define "NumberOfSegments" hypothesis to cut an edge in a - fixed number of segments

- -

algo.NumberOfSegments(4)

- -

 

- -

# create a quadrangle 2D algorithm for faces

- -

hexa.Quadrangle()

- -

 

- -

# create a hexahedron 3D algorithm for solids

- -

hexa.Hexahedron()

- -

 

- -

# create a local hypothesis

- -

algo = hexa.Segment(EdgeX111)

- -

 

- -

# define "StartEndLength" hypothesis to cut an edge in several - segments with increasing geometric length

- -

algo.StartEndLength(1, - 6)

- -

 

- -

# define "Propagation" hypothesis that propagates all other - hypothesis on all edges on the opposite side in case of quadrangular faces

- -

algo.Propagation()

- -

 

- -

# compute the mesh

- -

hexa.Compute()

- -

 

- -

Average Length

- -

from geompy import - *

- -

import smesh

- -

 

- -

# create vertices

- -

Point111 = MakeVertex( - 0,  0,  0)

- -

Point211 = MakeVertex(10, -  0,  0)

- -

Point121 = MakeVertex( - 0, 10,  0)

- -

Point221 = MakeVertex(10, - 10,  0)

- -

Point112 = MakeVertex( - 0,  0, 10)

- -

Point212 = MakeVertex(10, -  0, 10)

- -

Point122 = MakeVertex( - 0, 10, 10)

- -

Point222 = MakeVertex(10, - 10, 10)

- -

 

- -

# create edges

- -

EdgeX111 = MakeEdge(Point111, - Point211)

- -

EdgeX121 = MakeEdge(Point121, - Point221)

- -

EdgeX112 = MakeEdge(Point112, - Point212)

- -

EdgeX122 = MakeEdge(Point122, - Point222)

- -

EdgeY11 = MakeEdge(Point111, - Point121)

- -

EdgeY21 = MakeEdge(Point211, - Point221)

- -

EdgeY12 = MakeEdge(Point112, - Point122)

- -

EdgeY22 = MakeEdge(Point212, - Point222)

- -

EdgeZ111 = MakeEdge(Point111, - Point112)

- -

EdgeZ211 = MakeEdge(Point211, - Point212)

- -

EdgeZ121 = MakeEdge(Point121, - Point122)

- -

EdgeZ221 = MakeEdge(Point221, - Point222)

- -

 

- -

# create faces

- -

FaceX11 = MakeQuad(EdgeY11, - EdgeZ111, EdgeY12, EdgeZ121)

- -

FaceX21 = MakeQuad(EdgeY21, - EdgeZ211, EdgeY22, EdgeZ221)

- -

FaceY111 = MakeQuad(EdgeX111, - EdgeZ111, EdgeX112, EdgeZ211)

- -

FaceY121 = MakeQuad(EdgeX121, - EdgeZ121, EdgeX122, EdgeZ221)

- -

FaceZ11 = MakeQuad(EdgeX111, - EdgeY11, EdgeX121, EdgeY21)

- -

FaceZ12 = MakeQuad(EdgeX112, - EdgeY12, EdgeX122, EdgeY22)

- -

 

- -

# create a solid

- -

Block = MakeHexa(FaceX11, - FaceX21, FaceY111, FaceY121, FaceZ11, FaceZ12)

- -

 

- -

# create a compound

- -

box = MakeCompound([Block])

- -

 

- -

# add in the study

- -

box_id = addToStudy(box, - "Box compound")

- -

 

- -

# create a hexahedral - mesh on the box

- -

hexa = smesh.Mesh(box, - "Box compound : hexahedrical mesh")

- -

algo = hexa.Segment()

- -

 

- -

# define "NumberOfSegments" - hypothesis to cut an edge in a fixed number of segments

- -

algo.NumberOfSegments(4)

- -

 

- -

# create a quadrangle - 2D algorithm for faces

- -

hexa.Quadrangle()

- -

 

- -

# create a hexahedron - 3D algorithm for solids

- -

hexa.Hexahedron()

- -

 

- -

# create a local hypothesis

- -

algo = hexa.Segment(EdgeX111)

- -

 

- -

# define "LocalLength" - hypothesis to cut an edge in several segments with the same length

- -

algo.LocalLength(2)

- -

 

- -

# define "Propagation" - hypothesis that propagates all other hypothesis on all edges on - the opposite side in case of quadrangular faces

- -

algo.Propagation()

- -

 

- -

# compute the mesh

- -

hexa.Compute()

- -

 

- -

 

- -

Defining 2D and 3D hypotheses

- -

Maximum Element Area

- -

import - smesh

- -

import geompy

- -

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() -  

- -

 

- -

Maximum Element Volume

- -

Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
  - -

import - salome

- -

import geompy

- -

import StdMeshers

- -

import NETGENPlugin

- -

 

- -

smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

- -

smeshgui = salome.ImportComponentGUI("SMESH")

- -

smeshgui.Init(salome.myStudyId);

- -

 

- -

# create a box

- -

box = geompy.MakeCylinderRH(30, - 50) #MakeBox(0., 0., 0.,

- -

100., 200., 300.)

- -

 

- -

# add the box in the - study

- -

idbox = geompy.addToStudy(box, - "box")

- -

 

- -

# create a set of hypotheses

- -

 

- -

# Number of Segments

- -

numberOfSegments - = 7

- -

hypNbSeg = smesh.CreateHypothesis("NumberOfSegments", - "libStdMeshersEngine.so")

- -

hypNbSeg.SetNumberOfSegments(numberOfSegments)

- -

print hypNbSeg.GetName()

- -

print hypNbSeg.GetNumberOfSegments()

- -

smeshgui.SetName(salome.ObjectToID(hypNbSeg), - "NumberOfSegments_7")

- -

 

- -

# Max Element Area

- -

maxElementArea = - 800

- -

hypArea = smesh.CreateHypothesis("MaxElementArea", - "libStdMeshersEngine.so")

- -

hypArea.SetMaxElementArea(maxElementArea)

- -

print hypArea.GetName()

- -

print hypArea.GetMaxElementArea()

- -

smeshgui.SetName(salome.ObjectToID(hypArea), - "MaxElementArea_800")

- -

 

- -

# Max Element Volume

- -

maxElementVolume - = 900

- -

hypVolume = smesh.CreateHypothesis("MaxElementVolume", - "libStdMeshersEngine.so")

- -

hypVolume.SetMaxElementVolume(maxElementVolume)

- -

print hypVolume.GetName()

- -

print hypVolume.GetMaxElementVolume()

- -

smeshgui.SetName(salome.ObjectToID(hypVolume), - "MaxElementVolume_900")

- -

 

- -

# create a set of algorithms

- -

 

- -

# Regular_1D

- -

regular1D = smesh.CreateHypothesis("Regular_1D", - "libStdMeshersEngine.so")

- -

smeshgui.SetName(salome.ObjectToID(regular1D), - "Wire Discretisation")

- -

 

- -

# MEFISTO_2D

- -

mefisto2D = smesh.CreateHypothesis("MEFISTO_2D", - "libStdMeshersEngine.so")

- -

smeshgui.SetName(salome.ObjectToID(mefisto2D), - "MEFISTO_2D")

- -

 

- -

# NETGEN_3D (Tetrahedron - meshing algorithm)

- -

tetra3D = smesh.CreateHypothesis("NETGEN_3D", - "libNETGENEngine.so")

- -

smeshgui.SetName(salome.ObjectToID(tetra3D), - "NETGEN_3D")

- -

 

- -

# initialize a mesh - with the box

- -

mesh = smesh.CreateMesh(box)

- -

smeshgui.SetName(salome.ObjectToID(mesh), - "MeshBox")

- -

 

- -

# add hypotheses and - algorithms to the box

- -

mesh.AddHypothesis(box,hypNbSeg)

- -

mesh.AddHypothesis(box,hypArea)

- -

mesh.AddHypothesis(box,hypVolume)

- -

mesh.AddHypothesis(box,regular1D)

- -

mesh.AddHypothesis(box,mefisto2D)

- -

mesh.AddHypothesis(box,tetra3D)

- -

 

- -

# compute the mesh

- -

ret = smesh.Compute(mesh,box)

- -

if ret == 0:

- -

    print - "probleme when computing the mesh"

- -

else:

- -

    print - "Computation succeded"

- -

salome.sg.updateObjBrowser(1) -

- -

 

- -

Length from Edges

- -

import - salome

- -

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")

- -

isPlanarFace = 1

- -

 

- -

# create a face from - two wires

- -

face1 = geompy.MakeFaces([sketcher1, - sketcher2],isPlanarFace)

- -

 

- -

# add object in the study

- -

id_face1 = geompy.addToStudy(face1,"Face1")

- -

 

- -

# create a mesh

- -

tria = smesh.Mesh(face1, - "Face : triangle 2D mesh")

- -

 

- -

# Define 1D meshing

- -

algo = tria.Segment()

- -

algo.NumberOfSegments(2)

- -

 

- -

# create and assign the - algorithm for 2D meshing with triangles

- -

algo = tria.Triangle()

- -

 

- -

# create and assign "LengthFromEdges" - hypothesis to build triangles

- -

# based on the length - of the edges taken from the wire

- -

algo.LengthFromEdges()

- -

 

- -

# compute the mesh

- -

tria.Compute()

- -

 

- -

Defining Additional Hypotheses

- -

Propagation

- -

from - geompy import *

- -

import smesh

- -

 

- -

# create vertices

- -

Point111 = MakeVertex( - 0,  0,  0)

- -

Point211 = MakeVertex(10, -  0,  0)

- -

Point121 = MakeVertex( - 0, 10,  0)

- -

Point221 = MakeVertex(10, - 10,  0)

- -

Point112 = MakeVertex( - 0,  0, 10)

- -

Point212 = MakeVertex(10, -  0, 10)

- -

Point122 = MakeVertex( - 0, 10, 10)

- -

Point222 = MakeVertex(10, - 10, 10)

- -

 

- -

# create edges

- -

EdgeX111 = MakeEdge(Point111, - Point211)

- -

EdgeX121 = MakeEdge(Point121, - Point221)

- -

EdgeX112 = MakeEdge(Point112, - Point212)

- -

EdgeX122 = MakeEdge(Point122, - Point222)

- -

EdgeY11 = MakeEdge(Point111, - Point121)

- -

EdgeY21 = MakeEdge(Point211, - Point221)

- -

EdgeY12 = MakeEdge(Point112, - Point122)

- -

EdgeY22 = MakeEdge(Point212, - Point222)

- -

EdgeZ111 = MakeEdge(Point111, - Point112)

- -

EdgeZ211 = MakeEdge(Point211, - Point212)

- -

EdgeZ121 = MakeEdge(Point121, - Point122)

- -

EdgeZ221 = MakeEdge(Point221, - Point222)

- -

 

- -

# create faces

- -

FaceX11 = MakeQuad(EdgeY11, - EdgeZ111, EdgeY12, EdgeZ121)

- -

FaceX21 = MakeQuad(EdgeY21, - EdgeZ211, EdgeY22, EdgeZ221)

- -

FaceY111 = MakeQuad(EdgeX111, - EdgeZ111, EdgeX112, EdgeZ211)

- -

FaceY121 = MakeQuad(EdgeX121, - EdgeZ121, EdgeX122, EdgeZ221)

- -

FaceZ11 = MakeQuad(EdgeX111, - EdgeY11, EdgeX121, EdgeY21)

- -

FaceZ12 = MakeQuad(EdgeX112, - EdgeY12, EdgeX122, EdgeY22)

- -

 

- -

# create a solid

- -

box = MakeHexa(FaceX11, - FaceX21, FaceY111, FaceY121, FaceZ11, FaceZ12)

- -

 

- -

# add in the study

- -

box_id = addToStudy(box, - "Box")

- -

 

- -

# create a hexahedral - mesh on the box

- -

hexa = smesh.Mesh(box, - "Box : hexahedrical mesh")

- -

 

- -

# create an 1D algorithm - for edges

- -

algo = hexa.Segment()

- -

 

- -

# define "NumberOfSegments" - hypothesis to cut an edge in a fixed number of segments

- -

algo.NumberOfSegments(4)

- -

 

- -

# create a quadrangle - 2D algorithm for faces

- -

hexa.Quadrangle()

- -

 

- -

# create a hexahedron - 3D algorithm for solids

- -

hexa.Hexahedron()

- -

 

- -

# create a local hypothesis

- -

algo = hexa.Segment(EdgeX111)

- -

 

- -

# define "Arithmetic1D" - hypothesis to cut an edge - in several segments with increasing length

- -

algo.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.Propagation()

- -

 

- -

# compute the mesh

- -

hexa.Compute()  

- -

Defining Meshing Algorithms

- -

Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
  - -

import - salome

- -

import StdMeshers

- -

import NETGENPlugin

- -

 

- -

smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

- -

smeshgui = salome.ImportComponentGUI("SMESH")

- -

smeshgui.Init(salome.myStudyId);

- -

 

- -

# create algorithms

- -

print "-------------------------- - create Algorithms"

- -

print "-------------------------- - Regular_1D (Wire discretisation)"

- -

regular1D = smesh.CreateHypothesis("Regular_1D", - "libStdMeshersEngine.so")

- -

smeshgui.SetName(salome.ObjectToID(regular1D), - "Wire Discretisation")

- -

 

- -

print "-------------------------- - MEFISTO_2D (Triangle meshing algorithm)"

- -

mefisto2D = smesh.CreateHypothesis("MEFISTO_2D", - "libStdMeshersEngine.so")

- -

smeshgui.SetName(salome.ObjectToID(mefisto2D), - "MEFISTO_2D")

- -

 

- -

print "-------------------------- - Quadrangle_2D (Quadrangle meshing algorithm)"

- -

quad2D = smesh.CreateHypothesis( - "Quadrangle_2D", "libStdMeshersEngine.so" )

- -

smeshgui.SetName(salome.ObjectToID(quad2D), - "Quadrangle_2D")

- -

 

- -

print "-------------------------- - Hexa_3D (Hexahedron meshing algorithm)"

- -

hexa3D = smesh.CreateHypothesis("Hexa_3D", - "libStdMeshersEngine.so")

- -

smeshgui.SetName(salome.ObjectToID(hexa3D), - "HEXA_3D")

- -

 

- -

print "-------------------------- - NETGEN_3D (Tetrahedron meshing algorithm)"

- -

netgen3D = smesh.CreateHypothesis("NETGEN_3D", - "libNETGENEngine.so")

- -

smeshgui.SetName(salome.ObjectToID(netgen3D), - "NETGEN_3D")

- -

salome.sg.updateObjBrowser(1)

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/deleting_groups.htm b/doc/salome/gui/SMESH/deleting_groups.htm deleted file mode 100755 index 7c7675e7f..000000000 --- a/doc/salome/gui/SMESH/deleting_groups.htm +++ /dev/null @@ -1,119 +0,0 @@ - - - - - -Deleting Groups - - - - - - - - - - - -

Deleting Groups

- -

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 90ae19e3b..000000000 --- a/doc/salome/gui/SMESH/display_entity.htm +++ /dev/null @@ -1,101 +0,0 @@ - - - - - -Display Entity - - - - - - - - - - - - -

Display Entity

- -

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..3aea83cc5 --- /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 = @top_srcdir@/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..617584ed9 --- /dev/null +++ b/doc/salome/gui/SMESH/doxyfile_py.in @@ -0,0 +1,145 @@ +#--------------------------------------------------------------------------- +# 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 = 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/SMESH_SWIG +FILE_PATTERNS = smeshDC.py +IMAGE_PATH = @srcdir@/images +RECURSIVE = NO +EXAMPLE_PATH = @top_srcdir@/src/SMESH_SWIG + +#--------------------------------------------------------------------------- +#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 +CLASS_DIAGRAMS = NO +HIDE_UNDOC_RELATIONS = NO +#HAVE_DOT = YES +HAVE_DOT = NO +#CLASS_GRAPH = YES +CLASS_GRAPH = NO +COLLABORATION_GRAPH = NO +GROUP_GRAPHS = NO +UML_LOOK = NO +#TEMPLATE_RELATIONS = YES +#INCLUDE_GRAPH = YES +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = NO +INCLUDED_BY_GRAPH = NO +CALL_GRAPH = NO +#GRAPHICAL_HIERARCHY = YES +#DIRECTORY_GRAPH = YES +GRAPHICAL_HIERARCHY = NO +DIRECTORY_GRAPH = NO +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 be729a46c..000000000 --- a/doc/salome/gui/SMESH/ehelp.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - WebSearch - - \ No newline at end of file diff --git a/doc/salome/gui/SMESH/ehlpdhtm.js b/doc/salome/gui/SMESH/ehlpdhtm.js deleted file mode 100755 index 6cfd2e463..000000000 --- a/doc/salome/gui/SMESH/ehlpdhtm.js +++ /dev/null @@ -1,4239 +0,0 @@ -// eHelp® Corporation Dynamic HTML JavaScript -// Copyright© 1998-2003 eHelp® Corporation.All rights reserved. -// Version=4.82 - -// Warning:Do not modify this file.It is generated by RoboHELP® and changes will be overwritten. - -//// Segment Begin -- (JavaScript 1.0) - -/// Section Begin - General and relative topics(JavaScript 1.0) - -//{{HH_SYMBOL_SECTION -var HH_ChmFilename = ""; -var HH_WindowName = ""; -var HH_GlossaryFont = ""; -var HH_Glossary = ""; -var HH_Avenue = ""; -var HH_ActiveX = false; -//}}HH_SYMBOL_SECTION - -//Begin to support previous generic parameters -//Get the information about the browser. -var gstrBsAgent = navigator.userAgent.toLowerCase(); -var gnBsVer = parseInt(navigator.appVersion); - -var gbBsOpera = (gstrBsAgent.indexOf('opera') != -1); -var gbBsKonqueror = (gstrBsAgent.indexOf('konqueror') != -1); -var gbBsSafari = (gstrBsAgent.indexOf('safari') != -1); -var gbBsIE = (gstrBsAgent.indexOf('msie') != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari; -var gbBsNS = (gstrBsAgent.indexOf('mozilla') != -1) && ((gstrBsAgent.indexOf('spoofer') == -1) && (gstrBsAgent.indexOf('compatible') == -1)) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari; - -var gbBsMac = (gstrBsAgent.indexOf('mac') != -1); -var gbBsWindows = ((gstrBsAgent.indexOf('win') != -1) || (gstrBsAgent.indexOf('16bit') != -1)); -var gbBsSunOS = (gstrBsAgent.indexOf("sunos") != -1); - -var gbBsIE3Before = ((gbBsIE) && (gnBsVer <= 2)); -var gbBsNS3Before = ((gbBsNS) && (gnBsVer <= 3)); - -var gbBsNS2 = ((gbBsNS) && (gnBsVer <= 2)); -var gbBsNS3 = ((gbBsNS) && (gnBsVer == 3)); -var gbBsIE300301 = ((gbBsIE) && (gnBsVer == 2) && ((gstrBsAgent.indexOf("3.00") != -1)||(gstrBsAgent.indexOf("3.0a") != -1)||(gstrBsAgent.indexOf("3.0b")!=-1)||(gstrBsAgent.indexOf("3.01")!=-1))); -var gbBsIE302 = ((gbBsIE) && (gnBsVer == 2) && (gstrBsAgent.indexOf("3.02") != -1)); - -var gbBsNS4 = ((gbBsNS) && (gnBsVer >= 4)); -var gbBsNS6 = ((gbBsNS) && (gnBsVer >= 5)); -var gbBsNS7 = false; - -var gbBsIE4 = ((gbBsIE) && (gnBsVer >= 4)); -var gbBsIE5 = false; -var gbBsIE55 = false; - -var gbBsOpera6 = false; -var gbBsOpera7 = false; - -var gbBsKonqueror3 = false; - - - -gbBsIE = (navigator.appName.indexOf("Microsoft") != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari;; -if (gbBsIE) -{ - if (parseInt(navigator.appVersion) >= 4) { - gbBsIE4 = true; - if (gbBsIE4) { - var nPos = gstrBsAgent.indexOf("msie"); - var strIEversion = gstrBsAgent.substring(nPos + 5); - var nVersion = parseFloat(strIEversion); - if (nVersion >= 5) - gbBsIE5 = true; - if (nVersion >= 5.5) - gbBsIE55 = true; - } - } -} -if (gbBsNS6) -{ - var nPos=gstrBsAgent.indexOf("gecko"); - if(nPos!=-1) - { - var nPos2=gstrBsAgent.indexOf("/", nPos); - if(nPos2!=-1) - { - var nVersion=parseFloat(gstrBsAgent.substring(nPos2+1)); - if (nVersion>=20020823) - gbBsNS7=true; - } - } -} -if (gbBsOpera) -{ - var nPos = gstrBsAgent.indexOf("opera"); - if(nPos!=-1) - { - var nVersion = parseFloat(gstrBsAgent.substring(nPos+6)); - if (nVersion >= 6) - { - gbBsOpera6=true; - if (nVersion >=7) - gbBsOpera7=true; - } - } -} -if (gbBsKonqueror) -{ - var nPos = gstrBsAgent.indexOf("konqueror"); - if(nPos!=-1) - { - var nVersion = parseFloat(gstrBsAgent.substring(nPos+10)); - if (nVersion >= 3) - { - gbBsKonqueror3=true; - } - } -} - -function insertAdjacentHTML(obj, where, htmlStr) -{ - if (gbBsIE || gbBsOpera7) - { - obj.insertAdjacentHTML(where, htmlStr); - } - else if (gbBsNS6 || gbBsSafari) - { - var r = obj.ownerDocument.createRange(); - r.setStartBefore(obj); - var parsedHTML = r.createContextualFragment(htmlStr); - - switch (where){ - case 'beforeBegin': - obj.parentNode.insertBefore(parsedHTML,obj); - break; - case 'afterBegin': - obj.insertBefore(parsedHTML,obj.firstChild); - break; - case 'beforeEnd': - obj.appendChild(parsedHTML); - break; - case 'afterEnd': - if (obj.nextSibling){ - obj.parentNode.insertBefore(parsedHTML,obj.nextSibling); - } else { - obj.parentNode.appendChild(parsedHTML); - } - break; - } - } -} - -// Utilities functions. -function BsscHasExtJs() -{ - if( gbBsIE3Before || gbBsNS3Before) - return false; - return true; -} - -// Register event handler -var gBsOnLoads = new Array(); // An array holds all the onload event handler. -var gBsOnClicks = new Array(); // An array holds all the onClick event handler. -var gBsOnUnLoads = new Array(); // An array holds all the OnUnLoad event handler. -var gBsOnMouseOvers = new Array(); // An array holds all the OnMouseOver event handler. -var gBsOnMouseOuts = new Array(); // An array holds all the OnMouseOut event handler. - -var gbOrignalOnMouseDown = null; - -function BsscRegisterOnLoad(funcHandler) -{ - var nLength = gBsOnLoads.length; - gBsOnLoads[nLength] = funcHandler; -} - -function BsscRegisterOnClick(funcHandler) -{ - var nLength = gBsOnClicks.length; - gBsOnClicks[nLength] = funcHandler; -} - -function BsscRegisterOnUnLoad(funcHandler) -{ - var nLength = gBsOnUnLoads.length; - gBsOnUnLoads[nLength] = funcHandler; -} - -function BsscRegisterOnMouseOver(funcHandler) -{ - var nLength = gBsOnMouseOvers.length; - gBsOnMouseOvers[nLength] = funcHandler; -} - -function BsscRegisterOnMouseOut(funcHandler) -{ - var nLength = gBsOnMouseOuts.length; - gBsOnMouseOuts[nLength] = funcHandler; -} - -function BsGeneralOnLoad() -{ - if (!gbBsIE4 && !gbBsNS4) - return; - - // Make everything visible in navigator - if (gbBsNS4 && !gbBsNS6) { - // Make some special effects items visible - for (var iLayer = 0; iLayer < document.layers.length; iLayer++) { - document.layers[iLayer].visibility = "show"; - document.layers[iLayer].left = 0; - } - } -} - -// If resize the netscape browser, need to reload it. -function BsReDo() -{ - if (innerWidth != origWidth || innerHeight != origHeight) - location.reload(); -} -// End of the local functions. - -// The following functions are used by the html files. -function BSSCOnLoad() -{ - if( !BsscHasExtJs() ) - return; - for (var nElement = gBsOnLoads.length - 1; nElement >= 0; nElement--) - gBsOnLoads[nElement](); -} - -function BSSCOnClick() -{ - if (!BsscHasExtJs()) return; - - for (var nElement = gBsOnClicks.length - 1; nElement >= 0; nElement--) - gBsOnClicks[nElement](); -} - -function BSSCOnUnload() -{ - if (!BsscHasExtJs()) return; - for (var nElement = gBsOnUnLoads.length - 1; nElement >= 0; nElement--) - gBsOnUnLoads[nElement](); -} - -function BSSCOnMouseOver() -{ - if (!BsscHasExtJs()) return; - for (var nElement = gBsOnMouseOvers.length - 1; nElement >= 0; nElement--) - gBsOnMouseOvers[nElement](); -} - -function BSSCOnMouseOut() -{ - if (!BsscHasExtJs()) return; - for (var nElement = gBsOnMouseOuts.length - 1; nElement >= 0; nElement--) - { - gBsOnMouseOuts[nElement](); - } -} -// End of invocation of the event handle functions. - -// Add the GereralOnLoad to the onload array. -if (typeof(BsscRegisterOnLoad) != "undefined") -{ - BsscRegisterOnLoad(BsGeneralOnLoad); -} -if (gbBsNS4&&!gbBsNS6) { - origWidth = innerWidth; - origHeight = innerHeight; - onresize = BsReDo; -} -//End to support previous generic parameters - -//Begin to support previous HHActiveX invoking -function BsHHActivateComponents() -{ - if( HH_ActiveX && (HH_ChmFilename != "") && ((self == top) || (self == top.frames[0]))) - { - var objBody = getElementsByTag(document,"BODY")[0]; - if( typeof(objBody) == "object" ) - { - insertAdjacentHTML(objBody, "beforeEnd", ''); - if (HHComponentActivator.object) - HHComponentActivator.Activate(HH_ChmFilename, HH_WindowName, HH_GlossaryFont, HH_Glossary, HH_Avenue); - } - } -} - -function BsHHActivXOnLoad() -{ - if( gbBsIE4 ) - BsHHActivateComponents(); -} - -if( typeof(BsscRegisterOnLoad) != "undefined" ) -{ - BsscRegisterOnLoad(BsHHActivXOnLoad); -} -//End to support previous HHActiveX invoking - -//Begin to support previous relative topics -//If webHelp needs Related Topics DHTMLcode, it's supposed to add it here -var gbPopupMenuTimeoutExpired = false; -var gbInPopupMenu = false; -var gbPopupMenuTopicList = null; -var gOlddocumentClick = null; - -////////////////////////////////////////////////////////////////////////////////////////// -// -// Popup Menu code -// -////////////////////////////////////////////////////////////////////////////////////////// - -var g_bIsPopupMenuInit = false; -function _WritePopupMenuLayer() -{ - if (!g_bIsPopupMenuInit) - { - if (gbBsNS4&&!gbBsNS6) { -//Do not try to write ininle styles for NS! NS can not handle it and will not stop downloading the html page... - document.write("
"); - } else{ - document.write(""); - if (!(gbBsNS4&&!gbBsNS6)) { - document.write(""); - } - } - g_bIsPopupMenuInit = true; - } -} - -//Seek for the bsscright frame -function _SeekFrameByName( cRoot, strName ) -{ - if( cRoot == null ) return null; - if( cRoot.frames == null ) return null; - if( cRoot.frames[strName] != null ) return cRoot.frames[strName]; - for (var i=0; i'; - } else { - strMenu += '' + gbPopupMenuTopicList[fn_arguments[i]].strTitle + ''; - } - strMenu += ''; - - if (isNaN(fn_arguments[i]) || (gbPopupMenuTopicList == null)) { - i += 2; - } else { - i += 1; - } - } - strMenu += ""; - - if (gbBsMac) { - // totally hack. because ie5 in mac need something. is one of them. mac is mad. - strMenu +="
"; - } - - var layerPopup = null; - var stylePopup = null; - var nEventX = 0; - var nEventY = 0; - var nWindowWidth = 0; - if (gbBsIE4 || gbBsOpera7) { - - layerPopup = getElement("PopupMenu"); - layerPopup.innerHTML = strMenu; - stylePopup = layerPopup.style; - - _BSPSGetClientSize(); - - // Get the position of the item causing the event (relative to its parent) - nEventX = window.event.clientX; - nEventY = window.event.clientY; - - if (nEventY + layerPopup.scrollHeight + 10 < gBsClientHeight) { - nEventY += document.body.scrollTop + 10; - } else { - nEventY = (document.body.scrollTop + gBsClientHeight) - layerPopup.scrollHeight - 20; - } - stylePopup.top = nEventY; - - var nPopupWidth = layerPopup.scrollWidth; - if (gbBsMac) { - nPopupWidth = 80; // we have no idea how to get the dynamic width of the popup. - } - if (nEventX + nPopupWidth + 20 > gBsClientWidth) { - if (gBsClientWidth - nPopupWidth < 5) { - stylePopup.left = 5; - } else { - stylePopup.left = gBsClientWidth - nPopupWidth - 5; - } - } else { - stylePopup.left = nEventX + document.body.scrollLeft + 20; - } - - stylePopup.visibility = "visible"; - if (!gOlddocumentClick && document.onclick) - gOlddocumentClick = document.onclick; - document.onclick = PopupMenu_HandleClick; - - } else if (gbBsNS6 || gbBsKonqueror3||gbBsSafari) { - layerPopup = getElement("PopupMenu"); - layerPopup.style.visibility = "hidden"; - - if (gbBsNS6) - { - var e = fn_arguments[0]; - nEventX = e.pageX; - nEventY = e.pageY; - } - else - { - nEventX = window.event.clientX; - nEventY = window.event.clientY; - } - _BSPSGetClientSize(); - layerPopup.innerHTML = strMenu; - - if (nEventY + layerPopup.offsetHeight + 20 < window.pageYOffset + gBsClientHeight) { - nEventY += 20; - } else { - nEventY = gBsClientHeight + window.pageYOffset - layerPopup.offsetHeight - 20; - } - - if (nEventX + layerPopup.offsetWidth + 20 > gBsClientWidth + window.pageXOffset) { - if (gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth < 20) { - nEventX = 5; - } else { - nEventX = gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth - 20; - } - } else { - nEventX += 20; - } - layerPopup.style.top = nEventY; - layerPopup.style.left = nEventX; - // set again to avoid the stupid frash in netscape 6. - layerPopup.innerHTML = strMenu; - layerPopup.style.visibility = "visible"; - //window.captureEvents(Event.MOUSEDOWN); - if (!gOlddocumentClick && document.onclick) - gOlddocumentClick = document.onclick; - window.onclick = PopupMenu_HandleClick; - } - else if (gbBsNS4) { - layerPopup = document.layers.PopupMenu; - layerPopup.visibility = "hide"; - stylePopup = layerPopup.document; - stylePopup.write(strMenu); - stylePopup.close(); - var e = fn_arguments[0]; - nEventX = e.pageX; - nEventY = e.pageY; - _BSPSGetClientSize(); - if (nEventY + layerPopup.clip.height + 20 < window.pageYOffset + gBsClientHeight) { - nEventY += 20; - } else { - nEventY = gBsClientHeight + window.pageYOffset- layerPopup.clip.height - 20; - } - layerPopup.top = nEventY; - - if (nEventX + layerPopup.clip.width + 20 > gBsClientWidth + window.pageXOffset) { - if (gBsClientWidth + window.pageXOffset - layerPopup.clip.width < 20) { - nEventX = 5; - } else { - nEventX = gBsClientWidth + window.pageXOffset - layerPopup.clip.width - 20; - } - } else { - nEventX += 20; - } - - layerPopup.left = nEventX; - - layerPopup.visibility = "show"; - - window.captureEvents(Event.MOUSEDOWN); - if (!gOlddocumentClick && document.onmousedown) - gOlddocumentClick = document.onmousedown; - window.onmousedown = PopupMenu_HandleClick; - } - - window.gbInPopupMenu = true; - window.gbPopupMenuTimeoutExpired = false; - setTimeout("PopupMenu_Timeout();", 100); - return false; -} - -function PopupMenu_Timeout() -{ - window.gbPopupMenuTimeoutExpired = true; -} - -function PopupMenu_Over(e) -{ - if (gbBsIE4||gbBsOpera7) - e.srcElement.className = "PopupOver"; - else if (gbBsNS6) - e.target.parentNode.className = "PopupOver"; - return; -} - -function PopupMenu_Out(e) -{ - if (gbBsIE4||gbBsOpera7) - e.srcElement.className = "PopupNotOver"; - else if (gbBsNS6) - e.target.parentNode.className = "PopupNotOver"; - return; -} - -function PopupMenu_HandleClick(e) -{ - if (window.gbPopupMenuTimeoutExpired) { - window.gbInPopupMenu = false; - if (gbBsNS4 && !gbBsNS6) { - window.releaseEvents(Event.MOUSEDOWN); - } - - var layerPopup = null; - if (gbBsNS4&&!gbBsNS6) { - layerPopup = document.layers.PopupMenu; - layerPopup.visibility = "hide"; - } else { - layerPopup = getElement("PopupMenu"); - layerPopup.style.visibility = "hidden"; - } - - if (gOlddocumentClick) - { - if (gbBsNS4 && !gbBsNS6) - document.onmousedown = gOlddocumentClick; - else - document.onclick = gOlddocumentClick; - } - } - return; -} - -function BSSCPopup_ClickMac() -{ - if ((!DHTMLPopupSupport()) && (gbBsIE4 || gbBsOpera7)) - { - var bClickOnAnchor = false; - var el; - if ((window.event != null) && - (window.event.srcElement != null)) - { - el = window.event.srcElement; - while (el != null) - { - if ((el.tagName == "A") || (el.tagName == "AREA")) { - bClickOnAnchor = true; - break; - } - if (el.tagName == "BODY") { - break; - } - el = getParentNode(el); - } - } - if (BSSCPopup_IsPopup()) - { - if (!bClickOnAnchor) { - parent.window.gPopupWindow = null; - self.close(); - } - } - else - { - bClosePopupWindow = true; - if ((bClickOnAnchor) && - (el.href) && - ((el.href.indexOf("javascript:BSSCPopup") != -1) || (el.href.indexOf("javascript:null") != -1) || (el.href.indexOf("javascript:void(0)") != -1))) - { - bClosePopupWindow = false; - } - if (bClosePopupWindow) - { - if (window.gPopupWindow != null && !window.gPopupWindow.closed ) - { - window.gPopupWindow.close(); - } - } - } - } -} - -function BsPopupOnClick() -{ - if (!gbBsIE4 && !gbBsOpera7) - return; - - BSSCPopup_ClickMac(); -} - -function _BSSCOnError(message) -{ - if(-1 != message.indexOf("denied") - || -1 != message.indexOf("Object required")) - return true; -} - -//End to support previous relative topics - -/// Section End - General and relative topics (JavaScript 1.0) - -/// Section Begin - Popup (JavaScript 1.0) -//Begin to support previous popup functions - -//variables used to isolate the browser type -var gBsStyVisShow = null; -var gBsStyVisHide = null; -var gBsClientWidth = 640; -var gBsClientHeight = 480; - -// here is the varible for judge popup windows size. these parameter is for IE5.0, it may need adjust for others. -var gBRateH_W = 0.618; // 1.618 Golden cut. -var gBMaxXOfParent = 0.8; -var gBMaxYOfParent = 0.8; -var gBscrollHeight = 16; -var gBscrollWidth = 16; -var gBpermitXDelta = 3; -var gBpermitYDelta = 3; - - -var arrayPopupURL = new Array(); -var arrayAbsPopupURL = new Array(); - -var arrayDirty = new Array(); - -function setAbsPopupURL(nIndex, strURL) -{ - arrayAbsPopupURL[nIndex] = strURL; -} - -function getAbsPopupURL(nIndex) -{ - if (nIndex == -1 || arrayAbsPopupURL.length <= nIndex) return null; - else - return arrayAbsPopupURL[nIndex]; -} - -function getPopupURL(nIndex) -{ - if (nIndex == -1 || arrayPopupURL.length <= nIndex) return null; - else - return arrayPopupURL[nIndex]; -} - -function getPopupID(nIndex) -{ - return gstrPopupID + nIndex; -} - -function getPopupShadowID(nIndex) -{ - return gstrPopupShadowID + nIndex; -} - -function getPopupTopicID(nIndex) -{ - return gstrPopupTopicID + nIndex; -} - -function getPopupIFrameID(nIndex) -{ - return gstrPopupIFrameID + nIndex; -} - -function getPopupIFrameName(nIndex) -{ - return gstrPopupIFrameName + nIndex; -} - - -function getPopupTopicStyle(nIndex) -{ - return getElement(getPopupTopicID(nIndex)).style; -} - -function getPopupShadowStyle(nIndex) -{ - return getElement(getPopupShadowID(nIndex)).style; -} - -function getPopupIFrame(nIndex) -{ - if (gbBsNS6) - return eval("window.frames['" + getPopupIFrameName(nIndex) + "']"); - else - return eval("document.frames['" + getPopupIFrameName(nIndex) + "']"); -} - -function getPopupDivStyle(nIndex) -{ - return getElement(getPopupID(nIndex)).style; -} - -function getPopupIFrameStyle(nIndex) -{ - return getElement(getPopupIFrameID(nIndex)).style; -} - - -function findDiv(strURL) -{ - for (var i = 0; i < arrayPopupURL.length; i ++ ) { - if (arrayPopupURL[i] == strURL) { - return i; - } - } - return -1; -} - -var gnToken = -1; -function takeToken() -{ - gnToken ++; - if (gnToken > 10000) gnToken = 0; - return gnToken; -} - -function IsValidToken(nToken) -{ - return (gnToken == nToken); -} - -function addDiv(strURL) -{ - for (var i = 0; i < arrayPopupURL.length; i ++) { - if (arrayPopupURL[i] == null) { - arrayPopupURL[i] = strURL; - return i; - } - } - arrayPopupURL[i] = strURL; - arrayDirty[i] = true; - return i; -} - -function setDirty() -{ - for (var i = 0; i < arrayPopupURL.length; i ++ ) - arrayDirty[i] = true; -} - -function IsDirty(nIndex) -{ - if (nIndex == -1) - return true; - else - if (arrayDirty.length > nIndex) - return arrayDirty[nIndex]; - else - return true; -} - -function hideAll() -{ - for (var i = 0; i < arrayPopupURL.length; i ++ ) - { - getPopupDivStyle(i).visibility = gBsStyVisHide; - getPopupIFrameStyle(i).visibility = gBsStyVisHide; - } -} - -function getCurrentPopupIFrame() -{ - for (var i = 0; i < arrayPopupURL.length; i ++) - if (getPopupDivStyle(i).visibility == gBsStyVisShow) - return getPopupIFrame(i); - return null; -} - -function setClear(nIndex) -{ - if (nIndex != -1) - arrayDirty[nIndex] = false; -} - -function _BSSCCreatePopupDiv(strURL) -{ - var nIndex = findDiv(strURL); - if (nIndex == -1 ) { - nIndex = addDiv(strURL); - BsPopup_CreateDiv(nIndex); - } - else { - if (IsDirty(nIndex)) { - if("object" == typeof(getPopupIFrame(nIndex).document)) - getPopupIFrame(nIndex).document.location.href = strURL; - } - } - return nIndex; -} - -//Here is the browser type -function _BSPSGetBrowserInfo() -{ - if (gbBsNS4&&!gbBsNS6) - { - gBsStyVisShow = "show"; - gBsStyVisHide = "hide"; - } - else - { - gBsStyVisShow = "visible"; - gBsStyVisHide = "hidden"; - } -} - -_BSPSGetBrowserInfo(); - -//Get client size info -function _BSPSGetClientSize() -{ - if (gbBsNS4||gbBsKonqueror3||gbBsSafari) - { - gBsClientWidth = innerWidth; - gBsClientHeight = innerHeight; - } - else if (gbBsIE4 || gbBsOpera7) - { - gBsClientWidth = document.body.clientWidth; - gBsClientHeight = document.body.clientHeight; - } -} - -var gstrPopupID = 'BSSCPopup'; -var gstrPopupShadowID = 'BSSCPopupShadow'; -var gstrPopupTopicID = 'BSSCPopupTopic'; -var gstrPopupIFrameID = 'BSSCPopupIFrame'; -var gstrPopupIFrameName = 'BSSCPopupIFrameName'; - -var gstrPopupSecondWindowName = 'BSSCPopup'; - -var gPopupWindow = null; -var gnPopupClickX = 0; -var gnPopupClickY = 0; - -var gnPopupScreenClickX = 0; -var gnPopupScreenClickY = 0; - -var gbPopupTimeoutExpired = false; - -function DHTMLPopupSupport() -{ - if (((gbBsIE4) && (!gbBsMac))||gbBsOpera7|| gbBsNS7) { - return true; - } - return false; -} - -function BSSCPopup_IsPopup() -{ - if (DHTMLPopupSupport() && (this.name.indexOf(gstrPopupIFrameName) != -1)) { - return true; - } else if ((gbBsNS4 || gbBsIE4 || gbBsOpera7) && (this.name.indexOf(gstrPopupID) != -1)) { - return true; - } else { - return false; - } -} - -// If there is a hyperlink in a popup window, display the hyperlink in -// the original window. (bsscright) -if (BSSCPopup_IsPopup() && !gbBsIE4 && !gbBsOpera7) { - document.write(""); -} - -// Local functions. -function BsPopup_CreateDiv(nIndex) -{ - if(!DHTMLPopupSupport()) - return; - // DO NOT SET Width and height for the div, otherwize it will make IE4 popup do not work when view the topic alone. - var strPopupDiv = ""; - - var objBody = getElementsByTag(document, "BODY")[0]; - if( typeof(objBody) != "object" ) - return; - - insertAdjacentHTML(objBody, "beforeEnd", strPopupDiv); -} - -function handleLoadNS() -{ - if (this.id) - { - var nIndex = parseInt(this.id.substring(gstrPopupIFrameID.length)); - BSSCPopup_PostWork(nIndex); - } -} - -function BSSCPopup_PostWork(nIndex) -{ - getPopupDivStyle(nIndex).visibility = gBsStyVisShow; - getPopupIFrameStyle(nIndex).visibility =gBsStyVisShow; - - setClear(nIndex); - window.gbPopupTimeoutExpired = true; - - BSSCPopup_ChangeTargettoParent(getPopupIFrame(nIndex).document); - if (gbBsNS6) - getPopupIFrame(nIndex).document.body.addEventListener("click",BSSCPopupClicked,false); - else - getPopupIFrame(nIndex).document.body.onclick = BSSCPopupClicked; - - if (!gbOrignalOnMouseDown && document.onmousedown) - gbOrignalOnMouseDown = document.onmousedown; - - if (gbBsNS6) - document.addEventListener("mousedown", BSSCPopupParentClicked,false); - else - document.onmousedown = BSSCPopupParentClicked; -} - -function BSSCPopup_Timeout(nIndex, nToken) -{ - if (!IsValidToken(nToken)) return; - - if (gbBsNS6||((getPopupIFrame(nIndex).document.readyState == "complete") && - (getPopupIFrame(nIndex).document.body != null))) { - BSSCPopup_PostWork(nIndex); - } else { - setTimeout("BSSCPopup_Timeout(" + nIndex + "," + nToken + ")", 100); - } -} - -// VH 08/10/00 -// do not change target to parent if the href is using javascript -function BSSCPopup_ChangeTargettoParent(tagsObject) -{ - var collA = getElementsByTag(tagsObject, "A"); - BSSCPopup_ChangeTargettoParent2(collA); - - var collIMG = getElementsByTag(tagsObject,"IMG"); - BSSCPopup_ChangeTargettoParent2(collIMG); -} - -function BSSCPopup_ChangeTargettoParent2(colls) -{ - if (colls != null) { - for (var j = 0; j < colls.length; j ++ ) - { - var strtemp = colls[j].href; - if (strtemp) - { - strtemp = strtemp.toLowerCase(); - if (strtemp.indexOf("javascript:") == -1) - if (colls[j].target == "") - colls[j].target = "_parent"; - } - } - } -} - -function BSPSPopupTopicWinHelp(strURL) -{ - _BSSCPopup(strURL); - return; -} - -function _BSSCPopup(strURL, width, height) -{ - var cuswidth = 0; - var cusheight = 0; - if ("undefined" != typeof(width) && "undefined" != typeof(height)) { - cuswidth = width; - cusheight= height; - } - - if (DHTMLPopupSupport()) { - var nToken = takeToken(); // take token first. - var nIndex = _BSSCCreatePopupDiv(strURL); - window.gbPopupTimeoutExpired = false; - var ntWidth = gBsClientWidth; - var ntHeight = gBsClientHeight; - _BSPSGetClientSize(); - if (ntWidth != gBsClientWidth || ntHeight != gBsClientHeight) { - setDirty(); - } - - if (IsDirty(nIndex)) { - if (gbBsMac) { - setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight +")", 400); - } else { - setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 100); - } - } - else { - MoveDivAndShow(nIndex ,nToken, cuswidth, cusheight); - } - } else { - _BSSCPopup2(strURL, cuswidth, cusheight); - } - return; -} - -if (gbBsIE55) -{ - var ehlpdhtm_fOldBefureUnload = window.onbeforeunload; - var gnBsUnload=0; - window.onbeforeunload = window_BUnload; -} - -function window_BUnload() -{ - gnBsUnload++; - if (gnBsUnload>1) - return; - for (var i = 0; i < arrayPopupURL.length; i ++) - removeThis(document.all(getPopupID(i))); - arrayPopupURL.length = 0; - if (ehlpdhtm_fOldBefureUnload) - ehlpdhtm_fOldBefureUnload(); -} - -function _BSSCPopup2(strURL, width, height) -{ - if (gbBsOpera6&&gbBsMac) - { - var wmTemp = window.open(document.location.href, gstrPopupSecondWindowName); - wmTemp.close(); - setTimeout("_BSSCPopup3(\""+strURL+"\","+width+","+height+");",100); - } - else - _BSSCPopup3(strURL, width, height); -} - -function _BSSCPopup3(strURL, width, height) -{ - if (window.name == gstrPopupSecondWindowName) { - window.location = strURL; - } else { - if (!gbBsMac || !gbBsNS4) { - BSSCHidePopupWindow(); - } - var nX = 0; - var nY = 0; - var nHeight = 300; - var nWidth = 400; - if (width > 0 && height > 0) { - nHeight = height; - nWidth = width; - } - _BSPSGetClientSize(); - - nX = window.gnPopupScreenClickX; - nY = window.gnPopupScreenClickY; - - if (nY + nHeight + 40 > screen.availHeight) { - nY = screen.availHeight - nHeight - 40; - } - if (nX + nWidth + 40 > screen.availWidth) { - nX = screen.availWidth - nWidth - 40; - } - - // Launch a separate window - var strParam="titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes"; - if (gbBsNS) { - if (gbBsNS6) { - strParam += ",Height=" + nHeight + ",Width=" + nWidth; - strParam += ",screenX=" + nX + ",screenY=" + nY; - strParam += ",dependent=yes"; - } - else { - strParam += ",OuterHeight=" + nHeight + ",OuterWidth=" + nWidth; - strParam += ",screenX=" + nX + ",screenY=" + nY; - strParam += ",dependent=yes"; - } - } - else { - strParam += ",height=" + nHeight + ",width=" + nWidth; - strParam += ",left=" + nX + ",top=" + nY; - } - if (gbBsSafari) - { - if (window.gPopupWindow) - window.gPopupWindow.close(); - window.gPopupWindow = window.open(strURL, "", strParam); - window.gPopupWindow.name = gstrPopupSecondWindowName; - window.gPopupWindow.moveTo(nX, nY); - widnow.gPopupWindow.document.location.reload(); - } - else - { - var wmTemp=null; - if (gbBsKonqueror3) - { - if (window.gPopupWindow) - window.gPopupWindow.close(); - } - if (gbBsOpera&&gbBsMac) - { - wmTemp= window.open(document.location.href, "Temp", strParam); - } - window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam); - if (!gbBsIE) - window.gPopupWindow.focus(); - - if (wmTemp) - wmTemp.close(); - } - - if (gbBsNS4) - setEventHandle(); - else if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3) - setTimeout("setPopupFocus();", 100); - } - return; -} - -function setEventHandle() -{ - window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUR); - window.gPopupWindow.onclick = NonIEPopup_HandleClick; - window.gPopupWindow.onblur = NonIEPopup_HandleBlur; -} - -function setPopupFocus() -{ - window.gPopupWindow.focus(); -} - -function NonIEPopup_HandleBlur(e) -{ - window.gPopupWindow.focus(); -} - -function NonIEPopup_HandleClick(e) -{ - // Because navigator will give the event to the handler before the hyperlink, let's - // first route the event to see if we are clicking on a Popup menu in a popup. - document.routeEvent(e); - - // If a popup menu is active then don't do anything with the click - if (window.gPopupWindow.gbInPopupMenu) { - window.gPopupWindow.captureEvents(Event.CLICK); - window.gPopupWindow.onclick = NonIEPopup_HandleClick; - return false; - } - - // Close the popup window - if(e.target.href) - { - if(e.target.href.indexOf("javascript:")==-1) - { - if (e.target.target=="") - window.location.href = e.target.href; - else - window.open(e.target.href, e.target.target); - this.close(); - } - } - else - this.close(); - return false; -} - -function BSSCPopup_AfterLoad(nIndex, nToken, cuswidth, cusheight) -{ - if (!window.getPopupIFrame(nIndex).document) { - _BSSCPopup2(getPopupURL(nIndex), cuswidth, cusheight); - return; - } - - if (!IsValidToken(nToken)) return; - - if (gbBsNS6) - { - setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url. - BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight); - return; - } - - if ((window.getPopupIFrame(nIndex).document.readyState == "complete") && - (window.getPopupIFrame(nIndex).document.body != null)) { - if (window.getPopupIFrame(nIndex).document.location.href.indexOf("about:blank") != -1) { // add this check. IE will use about:blank" as the default vaule for Iframe. - window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex); - setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); - } - else - { - setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url. - BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight); - } - } else { - setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); - } -} - -function BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight) -{ - if (window.gbPopupTimeoutExpired) return; - - if (!IsValidToken(nToken)) return; - - getPopupDivStyle(nIndex).visibility = gBsStyVisHide; - getPopupIFrameStyle(nIndex).visibility = gBsStyVisHide; - - // Determine the width and height for the window - _BSPSGetClientSize(); - - var size = new BSSCSize(0, 0); - - if (cuswidth <= 0 || cusheight <= 0) - BSSCGetContentSize(window.getPopupIFrame(nIndex), size); - else { - size.x = cuswidth; - size.y = cusheight; - } - - // Determine the width and height for the window - var nWidth = size.x; - var nHeight = size.y; - - // for small popup size, we should allow any size. - // The popup size should be ok if bigger than 0 - if (nWidth < 0 || nHeight < 0) return; // there must be something terribly wrong. - - getPopupDivStyle(nIndex).width = nWidth; - getPopupDivStyle(nIndex).height = nHeight; - - getPopupShadowStyle(nIndex).width = nWidth; - getPopupShadowStyle(nIndex).height = nHeight; - getPopupTopicStyle(nIndex).width = nWidth; - getPopupTopicStyle(nIndex).height = nHeight; - if (gbBsIE55) - { - getPopupShadowStyle(nIndex).width = nWidth + 2; - getPopupShadowStyle(nIndex).height = nHeight + 2; - getPopupTopicStyle(nIndex).width = nWidth + 2; - getPopupTopicStyle(nIndex).height = nHeight + 2; - } - - getPopupIFrameStyle(nIndex).width = nWidth; - getPopupIFrameStyle(nIndex).height = nHeight; - if (gbBsIE55 || gbBsNS6) - { - getPopupIFrameStyle(nIndex).top = 0; - getPopupIFrameStyle(nIndex).left = 0; - } - - var strURL = getPopupURL(nIndex); - if (strURL.indexOf("#") != -1&&gbBsNS6) - getPopupIFrame(nIndex).location.reload(); - else if (strURL.indexOf("#") != -1||gbBsNS6) - getPopupIFrame(nIndex).location.href = strURL; // reload again, this will fix the bookmark misunderstand in IE5. - - MoveDivAndShow(nIndex, nToken, cuswidth, cusheight); -} - -function getScrollLeft() -{ - if (document.body.scrollLeft) - return document.body.scrollLeft; - else if (window.pageXOffset) - return window.pageXOffset; - else - return 0; -} - -function getScrollTop() -{ - if (document.body.scrollTop) - return document.body.scrollTop; - else if (window.pageYOffset) - return window.pageYOffset; - else - return 0; -} - - -function MoveDivAndShow(nIndex, nToken, cuswidth, cusheight) -{ - if (window.getPopupIFrame(nIndex).document.location.href != getAbsPopupURL(nIndex)) { // if redirect, reload again. - window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex); - setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); - return; - } - - // Determine the position of the window - var nClickX = window.gnPopupClickX; - var nClickY = window.gnPopupClickY; - var nTop = 0; - var nLeft = 0; - - var nWidth = parseInt(getPopupDivStyle(nIndex).width); - var nHeight = parseInt(getPopupDivStyle(nIndex).height); - - if (nClickY + nHeight + 20 < gBsClientHeight + getScrollTop()) { - nTop = nClickY + 10; - } else { - nTop = (getScrollTop() + gBsClientHeight) - nHeight - 20; - } - if (nClickX + nWidth < gBsClientWidth + getScrollLeft()) { - nLeft = nClickX; - } else { - nLeft = (getScrollLeft() + gBsClientWidth) - nWidth - 8; - } - - if (nTop < getScrollTop()) nTop = getScrollTop() + 1; - if (nLeft< getScrollLeft()) nLeft = getScrollLeft() + 1; - - getPopupDivStyle(nIndex).left = nLeft; - getPopupDivStyle(nIndex).top = nTop; - - // Set the location of the background blocks - getPopupShadowStyle(nIndex).left = 6; - getPopupShadowStyle(nIndex).top = 6; - if (gbBsIE55) - { - getPopupShadowStyle(nIndex).left = 4; - getPopupShadowStyle(nIndex).top = 4; - } - - if (gbBsMac&&gbBsIE4) { - // Total hack on the iMac to get the IFrame to position properly - getPopupIFrameStyle(nIndex).pixelLeft = 100; - getPopupIFrameStyle(nIndex).pixelLeft = 0; - // Explicitly call BSSCOnLoad because the Mac doesn't seem to do it - getPopupIFrame(nIndex).window.BSSCOnLoad(); - } - - if (gbBsNS6&&IsDirty(nIndex)) - getElement(getPopupIFrameID(nIndex)).addEventListener("load", handleLoadNS, false); - else - BSSCPopup_Timeout(nIndex , nToken ); - return; -} - -function BSSCSize(x, y) -{ - this.x = x; - this.y = y; -} - -function BSSCGetContentSize(thisWindow, size) -{ - if (!gbBsIE4 && !gbBsOpera7 && !gbBsNS4) - return; - - if ((gbBsMac&&gbBsIE4)||gbBsNS4||gbBsOpera7) { - size.x = 320; - size.y = 180; - return; - } - - // Resize the width until it is wide enough to handle the content - // The trick is to start wide and determine when the scrollHeight changes - // because then we know a scrollbar is necessary. We can then go back - // to the next widest size (for no scrollbar) - - var ClientRate = gBsClientHeight / gBsClientWidth; - - - var GoldenSize = new BSSCSize(0,0); - GoldenSize.x = gBsClientWidth * gBMaxXOfParent; - GoldenSize.y = gBsClientHeight *gBMaxYOfParent ; - - if (ClientRate > gBRateH_W) { - GoldenSize.y = GoldenSize.x * gBRateH_W; - } - else { - GoldenSize.x = GoldenSize.y / gBRateH_W; - } - - // Try to using parent specified max x. - var x = 0; - var maxgoldx = GoldenSize.x; - var maxx = gBsClientWidth * gBMaxXOfParent; - - // This double resize causes the document to re-render (and we need it to) - if (!gbBsIE5) - thisWindow.moveTo(10000,10000); // this is used to fix the flash on IE4. - - thisWindow.resizeTo(1, 1); - thisWindow.resizeTo(1, 1); - thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight); - thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight); - - var miny = thisWindow.document.body.scrollHeight + gBscrollHeight; - - if (miny > GoldenSize.y) // the popup does not fix in the parent wanted golden area. so try to expand itself as large as it can - { - thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight); - thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight); - - miny = thisWindow.document.body.scrollHeight + gBscrollHeight; - maxy = gBsClientHeight * gBMaxYOfParent; - - if (miny > maxy) { // the popup must have a scroll, OK let it be. - miny = maxy; - size.x = maxx; - size.y = maxy; - thisWindow.document.body.scroll = 'yes'; // At this time we do want to show scroll any more. so it will looks better a little. - } - else { // popup still can fit in the parent area by someway. now we choose the same h/w rate as parent. - size.y = miny; - - // downsize from maxx , now I try to using binary divide. - x = maxx; - deltax = -maxx/2; - //j = 0; - while (true) { - x = x + deltax; - thisWindow.resizeTo(x, miny); - thisWindow.resizeTo(x, miny); - diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * ClientRate; - if (diffy > gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter - deltax = Math.abs(deltax) /2; - else if (diffy < -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter - deltax = -Math.abs(deltax) /2; - else - // the y is close enough to wanted. - break; - if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore. - break; - } - size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth; - size.y = thisWindow.document.body.scrollHeight;// + gBscrollHeight; - thisWindow.document.body.scroll = 'no'; - } - } - else { - if (thisWindow.document.body.scrollWidth > maxgoldx) { - size.x = maxx; - size.y = miny; - thisWindow.document.body.scroll = 'yes'; - } - else { - // downsize from maxgoldx , now I try to using binary divide. - x = maxgoldx; - deltax = -maxgoldx/2; - while (true) { - x = x + deltax; - thisWindow.resizeTo(x, miny); - thisWindow.resizeTo(x, miny); - diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * gBRateH_W; - if (diffy > gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter - deltax = Math.abs(deltax) /2; - else if (diffy < -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter - deltax = -Math.abs(deltax) /2; - else - // the y is close enough to wanted. - break; - if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore. - break; - } - size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth; - size.y = thisWindow.document.body.scrollHeight ; - thisWindow.document.body.scroll = 'no'; // At this time we do not want to show scroll any more. so it will looks better a little. - thisWindow.resizeTo(size.x, size.y); - if (thisWindow.document.body.scrollWidth > size.x) - { - size.x = thisWindow.document.body.scrollWidth; - } - if (thisWindow.document.body.scrollHeight > size.y) - { - size.y = thisWindow.document.body.scrollHeight; - } - } - } - thisWindow.resizeTo(size.x, size.y); - thisWindow.resizeTo(size.x, size.y); - return; -} - -function BSSCPopupParentClicked() -{ - if (!window.gbPopupTimeoutExpired) { - return false; - } - - document.onmousedown = gbOrignalOnMouseDown; - - // Simply hide the popup - hideAll(); - - window.gbPopupTimeoutExpired = false; - - return true; -} - -function isInsideHyperLink(obj) -{ - if (obj&&obj!=getParentNode(obj)) - { - if (obj.tagName=="A"||obj.tagName=="IMG") - return true; - else - return isInsideHyperLink(getParentNode(obj)); - } - else - return false; -} - -function BSSCPopupClicked(e) -{ - if (!window.gbPopupTimeoutExpired) { - return false; - } - - var popupIFrame = getCurrentPopupIFrame(); - if (popupIFrame == null) { - return true; - } - - if (gbBsIE4 && (!((popupIFrame.window.event != null) && - (popupIFrame.window.event.srcElement != null) && - isInsideHyperLink(popupIFrame.window.event.srcElement)))) { - document.onmousedown = gbOrignalOnMouseDown; - - // Simply hide the popup - hideAll(); - window.gbPopupTimeoutExpired = false; - return true; - } - else if (gbBsNS6 && (!((e != null) && - (e.target!= null) && isInsideHyperLink(e.target)))) - { - document.addEventListener("mousedown", gbOrignalOnMouseDown,false); - // Simply hide the popup - hideAll(); - window.gbPopupTimeoutExpired = false; - return true; - } -} - -//trace the mouse over's position for hotspot -function BSPSPopupOnMouseOver(event) -{ - if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3) { - window.gnPopupClickX = event.clientX + getScrollLeft(); - window.gnPopupClickY = event.clientY + getScrollTop(); - window.gnPopupScreenClickX = event.screenX; - window.gnPopupScreenClickY = event.screenY; - } else if (gbBsSafari) { - window.gnPopupClickX = event.clientX + getScrollLeft(); - window.gnPopupClickY = event.clientY + getScrollTop(); - window.gnPopupScreenClickX = event.screenX + window.screenX; - window.gnPopupScreenClickY = event.screenY + window.screenY; - } else if (gbBsNS4) { - window.gnPopupClickX = event.pageX - window.pageXOffset; - window.gnPopupClickY = event.pageY - window.pageYOffset; - window.gnPopupScreenClickX = event.screenX - window.pageXOffset; - window.gnPopupScreenClickY = event.screenY - window.pageYOffset; - } -} - -function BSSCHidePopupWindow() -{ - if (window.gPopupWindow != null) { - if (gbBsNS4) { - if ((typeof window.gPopupWindow != "undefined") && (!window.gPopupWindow.closed)) { - window.gPopupWindow.close(); - window.gPopupWindow = null; - } - } - } - return; -} - -// Add the PopupOnClick to the onclick array. -if (typeof(BsscRegisterOnClick) != "undefined") -{ - BsscRegisterOnClick(BsPopupOnClick); -} -//End to support previous popup functions - -/// Section End - Popup (JavaScript 1.0) - -/// Section Begin - Embedded Stub (JavaScript 1.0) - -function BSSCCreatePopupDiv() -{ - return; -} - -function WritePopupMenuLayer() -{ - if (BsscHasExtJs()) {_WritePopupMenuLayer();} -} - -function BSSCPopup(strURL, width, height) -{ - var re = new RegExp("'", 'g'); - strURL = strURL.replace(re, "%27"); - - if (BsscHasExtJs()) { - _BSSCPopup(strURL, width, height); - }else{ - //Create a temporary window first to ensure the real popup comes up on top - var wndTemp = null; - if (!gbBsNS3) { - wndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4"); - } - // Create the real popup window - var wndPopup = window.open(strURL, "BSSCPopup", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=300,width=400"); - // Close the temporary - if (!gbBsNS3) { - wndTemp.close(); - } else { - wndPopup.focus(); - } - } -} - -var gbWndTemp = null, gbWndPopupLinks = null; -var gbstrParaTotal = ""; - -function PopupMenu_Invoke() -{ - if (typeof(wfRelatedTopic) == 'function' && typeof(IsFlashSupported) == 'function') - { - if (Number(gsSkinVersion) > 2 && IsFlashSupported()) - { - return wfRelatedTopic(PopupMenu_Invoke.arguments); - } - } - if (BsscHasExtJs()) { - return _PopupMenu_Invoke(PopupMenu_Invoke.arguments); - } - if (gbBsNS3Before || gbBsIE3Before ) { - var argLen = PopupMenu_Invoke.arguments.length; - if (argLen < 5) { - window.document.location.href = PopupMenu_Invoke.arguments[3]; - return false; - } - gbWndTemp = null; - gbWndPopupLinks = null; - gbstrParaTotal = ""; - for (var i = 0; i < (argLen - 2) / 2; i++) { - var strParaLine = ""; - if (gbBsNS2){ - strParaLine += "" - strParaLine += PopupMenu_Invoke.arguments[2 * i + 2]; - strParaLine += ""; - } else { - strParaLine += ""); - if (gbBsNS2) { - gbWndPopupLinks.document.write(""); - } else { - //YJ: IE301,302 and NS3.x works fine - gbWndPopupLinks.document.write("<"); - gbWndPopupLinks.document.write("script>"); - gbWndPopupLinks.document.write("function gotoUrl(aUrl) {opener.window.location=aUrl; close();}"); - gbWndPopupLinks.document.write("<"); - gbWndPopupLinks.document.write("/script>"); - } - gbWndPopupLinks.document.write(""); - gbWndPopupLinks.document.write(gbstrParaTotal); - gbWndPopupLinks.document.write(""); - gbWndPopupLinks.document.close(); - - // Close the temporary - if (!gbBsNS3 && gbWndTemp != null) { - gbWndTemp.close(); - }else { - gbWndPopupLinks.focus(); - } - - return true; - } - return false; -} - -/// Section End - Embedded Stub (JavaScript 1.0) - -//// Segment End -- (JavaScript 1.0) - -//// Segment Begin -- (JavaScript 1.2) -/// Section Begin - kadov DHTM (JavaScript 1.2) - -//Begin to support extended and dropdown text effects. -function kadovIsParagraph(el) -{ - return( el.tagName == "P" || el.tagName.indexOf("H") == 0 ) ? true : false; -} - -function kadovInitEachChild(el) -{ - for(var i=0; i "") ) - child.style.setAttribute( "x-on-pageload", "" ); - } - - var href = child.getAttribute("href") - if( href != null && href > "" && href.indexOf( "BSSCPopup" ) >= 0 ) - kadovFilePopupInit(child.id); // Init for Popup - else if( child.className == "dropspot" || child.className == "expandspot" || - child.className == "glossterm" ) - kadovTextPopupInit(child.id);// Init for Expanding/Glossary or DropDown text - else if( child.className == "trigger") - kadovInitTrigger(child.id);// Init for Trigger - else - { - kadovInitEffects(child.id);// Init for DHTML effects - CEngine.SetOneTargetInitialState( child.id ); - } - } - - if( (child.tagName == "IMG") && (child.getAttribute("dynsrc") > "") ) - child.start = "mouseover";// to start a AVI file. fileopen doesn't work - - kadovInitEachChild(child); - } -} - -function kadovRetrieveTextInner(el) -{ - var x = ""; - if( (!el) || (el.tagName == "!") || (el.tagName == "SCRIPT" )) - return x; - - if( kadovIsParagraph(el) ) - { - var strNewID = " "; - if( el.id != "" ) - strNewID += "id=" + el.id + "_NewSpan "; - x = "" + el.innerHTML + ""; - } - else - { - for(var i=0; i 0 ) - if( (nTagClose - nTagOpen) != nDistance ) - return strRawHTML; - - var strCleanOnce = strRawHTML.substring(0, nTagOpen) + strRawHTML.substr(nTagClose + strTagClose.length) ; - return kadovRetrieveCleanHTML( strCleanOnce, strTagOpen, strTagClose ); -} - -function kadovAdjustObjectTag(strRawHTML, nStartPos) -{// adjust object tag for related topics HTML control, because innerHTML misses out the item settings - - //Is there any DTC? - var strDTCTagOpen = ''; - var nDTCTagOpen = strRawHTML.indexOf( strDTCTagOpen, nStartPos ); - if( nDTCTagOpen < 0 ) - return strRawHTML; - var nDTCTagClose = strRawHTML.indexOf( strDTCTagClose, nDTCTagOpen ); - if( nDTCTagClose < nDTCTagOpen) - return strRawHTML; // no Design Time Controls; - - //Is the DTC HTML Help Control? - var strRTObjTagOpen = 'classid=clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11'; - var strRTObjTagClose = ''; - var nRTObjTagOpen = strRawHTML.indexOf( strRTObjTagOpen, nDTCTagOpen ); - if( nRTObjTagOpen < nDTCTagOpen ) - return strRawHTML; - var nRTObjTagClose = strRawHTML.indexOf( strRTObjTagClose, nRTObjTagOpen ); - if( nRTObjTagClose < nRTObjTagOpen ) - return strRawHTML; // is not a HTML help control - - // Is it a related Topics html help control? - var strRTObjLabel = ''; - } - - // to insert the reconstructed item params into runtime object tag - var strAdjustedHTML = strRawHTML.substring(0,nRTObjTagClose) + strRunTimeItemParam + strRawHTML.substring(nRTObjTagClose, strRawHTML.length); - return kadovAdjustObjectTag(strAdjustedHTML, nDTCTagClose + strDTCTagClose.length); -} - -function kadovTextPopupOnLoad( el ) -{ - if( typeof(el) == "string" ) - el = getElement(el); - - var src = el.getAttribute( "x-use-popup" ); - var bNeedMove=true; - if(!src&&el.id) - { - for (var i=0;i"); - strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, ""); - - //work around the bug in HH.exe that highlight the phrases when use Search tab - //this approach is just removing the tag inserted by Microsoft in the runtime - strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "", 52); - - var strStyle = " style='display:none; position:relative;"; - var newDiv = "
" + strCleanHTML + "
"; - - removeThis(srcDiv); // empty the original DIV tag - var elParentPra = kadovFindParentParagraph(el); - if( elParentPra ) - insertAdjacentHTML(elParentPra, "afterEnd", newDiv ); - } - else if( type == "expanding" ) - { - var inner = kadovRetrieveTextInner(srcDiv); - if( inner == "" ) - inner = srcDiv.innerHTML; - var strAdjust = kadovAdjustObjectTag(inner,0); - var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, ""); - strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, ""); - var strClassName = (el.className == "glossterm") ? "glosstext" : "expandtext"; - var newSpan = ""; - removeThis(srcDiv); // empty the original DIV tag - insertAdjacentHTML(el, "afterEnd", newSpan ); - } - } - } - else - { - srcDiv.style.display = "none"; - } - return 0; -} - -function getElementsByTag(obj,sTagName) -{ - if(obj.getElementsByTagName) - return obj.getElementsByTagName(sTagName); - else if(obj.all) - return obj.all.tags(sTagName); - return null; -} - -function getElement(sID) -{ - if(document.getElementById) - return document.getElementById(sID); - else if(document.all) - return document.all(sID); - return null; -} - -function getParentNode(obj) -{ - if(obj.parentNode) - return obj.parentNode; - else if(obj.parentElement) - return obj.parentElement; - return null; -} - -function getChildNodes(obj) -{ - if(obj.childNodes) - { - var children = new Array(); - for (var i = 0; i < obj.childNodes.length; i++) - { - if (obj.childNodes[i].nodeType == 1) - children[children.length] = obj.childNodes[i]; - } - return children; - } - else if(obj.children) - return obj.children; - return null; -} - -function removeThis(obj) -{ - if(obj.parentNode) - obj.parentNode.removeChild(obj); - else - obj.outerHTML=""; -} - -function kadovTextPopup( el ) -{ - if (!gbBsIE4 && !gbBsOpera7 && !gbBsSafari && !gbBsNS6 && !gbBsKonqueror3 ) - return; - - var bNeedMove=true; - - if (window.event) - window.event.cancelBubble = true; - - if( typeof(el) == "string" ) - el = getElement(el); - - if (!el||el==window) - return; - - var src = el.getAttribute( "x-use-popup" ); - if(!src&&el.id) - { - for (var i=0;i= 0 && nNext < values.length ) - { - functions[nIdx] = values.substr( nStart, nNext-nStart+1); - nStart = nNext + 1; - nIdx++; - nNext = values.indexOf( "\)", nStart); - } - - for( var i=0; i= 0 ) - { - nPageClick = arrForClickCount[j].indexOf("="); - if( nPageClick > 0 ) - { - nClickTimes = arrForClickCount[j].substring( nPageClick + 1, arrForClickCount[j].length) * 1; - break; - } - } - } - var args = srcargs; - if( j < arrForClickCount.length ) - {// to strip out the "clicks=99" from the arguments string - args = ""; - for( var k = 0; k < arrForClickCount.length; k ++ ) - { - if( k != j ) - { - args += arrForClickCount[k]; - if( k < arrForClickCount.length - 1 ) - args += ","; - } - } - } - bsscFXInit( null, id, translatedProp, fnname, args, nClickTimes ); - } -} - -function kadovTranslateProp( prop ) -{ - switch( prop ) - { - case "x-on-hover" : return "bsschover"; - case "x-on-pageclick" : return "bsscpageclick"; - case "x-on-pageload" : return "bsscpageload"; - case "x-on-trigger-1" : return "bssctrigger1"; - case "x-on-trigger-2" : return "bssctrigger2"; - } - return null; -} -//End to convert iWrite format to RoboEditor Format for DHTML effects - -//Begin the definition of one entry to DHTML effects -function bsscFXInit( trigger_ID, target_ID, event_type, - action_type, action_setting, event_addional ) -{ - if( (!gbBsWindows && !gbBsSunOS && !(gbBsMac&&gbBsIE5)) || typeof(target_ID) != "string" )//MUST have a target_ID - return; // we don't support Navigator yet - - if( typeof(event_type) == "string" ) - event_type = event_type.toLowerCase(); - if( typeof(action_type) == "string" ) - action_type = action_type.toLowerCase(); - if( typeof(action_setting) == "string" ) - action_setting = action_setting.toLowerCase(); - - // to get the target element then add it to the target list - var eleTarget = CCSSP.GetObject( target_ID ); - if( (eleTarget != null) && (event_type != null) && (action_type != null) ) - { - CEngine.AddOneTarget( target_ID, eleTarget ); - CEngine.BuildTargetObject(target_ID, event_type, action_type, action_setting, event_addional); - } - - // to validate the trigger_ID parameter - if( typeof(trigger_ID) == "string" && trigger_ID != "" ) - CEngine.BuildTriggerObject( trigger_ID, target_ID ); -} -//End the definition of one entry to DHTML effects - -/// Section End - kadov DHTM (JavaScript 1.2) - -/// Section Begin - CCSSP DHTM (JavaScript 1.2) - -//Begin JavaScript libary for cross-platform positioning object. -function CCSSP(){} // constructor of CCSSP class - -CCSSP.GetObject = function( obj ) -{//convert object name string or reference into a valid object reference - if( typeof(obj) == "object" ) - return obj; - else if( typeof(obj) == "string" && obj != "") - { - if( gbBsNS4 ) - return eval("document." + obj); - else - return eval("document.all(\"" + obj + "\")"); - } - else - return null; -} - -CCSSP.MoveObjectTo = function(obj, x, y) -{//positioning an object at a specific pixel coordinate - if( gbBsNS4 ) - obj.moveTo(x,y); - else - { - obj.style.pixelLeft = x; - obj.style.pixelTop = y; - } -} - -CCSSP.MoveObjectBy = function(obj, dx, dy) -{//moveing a object by x and/or y pixel - if( gbBsNS4 ) - obj.moveBy(dx,dy); - else - { - obj.style.pixelLeft += dx; - obj.style.pixelTop += dy; - } -} - -CCSSP.SetObjectBGColor = function(obj, color) -{//set the background color of an object - if( gbBsNS4 ) - obj.bgColor = color; - else - obj.style.backgroundColor = color; -} - -CCSSP.ShowObject = function(obj, bShow) -{// set the object to be visible or invisible - if( gbBsNS4 ) - obj.visibility = (bShow == true) ? 'show' : 'hide'; - else - obj.style.visibility = (bShow == true) ? 'visible' : 'hidden';// when hidden, it still occupy some space. -} - -CCSSP.GetObjectLeft = function(obj) -{// retrieve the x coordinate of a posionable object - if( gbBsNS4 ) - return obj.left; - else - return obj.style.pixelLeft; -} - -CCSSP.GetObjectTop = function(obj) -{// retrieve the y coordinate of a posionable object - if( gbBsNS4 ) - return obj.top; - else - return obj.style.pixelTop; -} - -CCSSP.GetObjectContainLeft = function(obj) -{// retrieve the x coordinate of a posionable object relative to it's parent element - if( gbBsNS4 ) - return obj.pageX; - else - { - if( obj == document.body ) - return obj.clientLeft; - else - return obj.offsetLeft; - } -} - -CCSSP.GetObjectWindowLeft = function(obj) -{// retrieve the x coordinate of a posionable object relative to browser window - if( gbBsNS4 ) - return obj.pageX; - else - { - var nOffsetWindowLeft = 0; - for(var element = obj; element; element = element.offsetParent) - nOffsetWindowLeft += CCSSP.GetObjectContainLeft(element); - return nOffsetWindowLeft; - } -} - -CCSSP.GetObjectContainTop = function(obj) -{// retrieve the y coordinate of a posionable object relative to it's parent element - if( gbBsNS4 ) - return obj.pageY; - else - { - if( obj == document.body ) - return obj.clientTop; - else - return obj.offsetTop; - } -} - -CCSSP.GetObjectWindowTop = function(obj) -{// retrieve the y coordinate of a posionable object relative to browser window - if( gbBsNS4 ) - return obj.pageY; - else - { - var nOffsetWindowTop = 0; - for(var element = obj; element; element = element.offsetParent) - nOffsetWindowTop += CCSSP.GetObjectContainTop(element); - return nOffsetWindowTop; - } -} - -CCSSP.GetObjectHeight = function(obj) -{// retrieve the height of a posionable object - if( gbBsNS4 ) - return obj.clip.height; - else - return obj.offsetHeight; -} - -CCSSP.GetObjectWidth = function(obj) -{// retrieve the width of a posionable object - if( gbBsNS4 ) - return obj.clip.width; - else - return obj.offsetWidth; -} - -CCSSP.RegisterEventHandler = function( srcObj, rawEventName, funcHandler ) -{ // to add the "funcHandler" as the "rawEventName" 's handler to the "srcObj" object,the original event handler will be combined - if (gbBsNS4 && !gbBsNS6) - return ; - - var oldHandler = ""; - - if (gbBsMac &&gbBsIE4&&!gbBsIE5) - { - if (typeof(srcObj[rawEventName.toLowerCase()])=="unknown") - { //search for - - - - - - - - - -

Extrusion

- -

Extrusion is a type of surface meshing by generation from discretized - lines. It is used to build mesh elements of plus one dimension than the - swept ones. Each swept 1D element produces one or more quadrangles (or - triangles if one node of a rotated element lays on the revolution axis).

- -

 

- -

To use extrusion:

- -

 

- -

1. From the Modification - menu choose the Extrusion item - or click button in the toolbar. The following dialog box - will appear:

- -

 

- -

 

- -

 

- -

2. In this dialog box you should select

- -
    - -
  • the type of elements - which will be extruded (1D or 2D),

  • - -
  • specify the IDs of - the elements which will be extruded by selecting them in the 3D viewer - or select the whole mesh or submesh,

  • - -
  • specify the vector - along which the elements will be extruded,

  • - -
  • number of steps

  • -
- -

 

- -

3. Click the Apply - or OK button.

- -

 

- -

 

- - --- - - - -
-

-

- -

 

- -
- -

 

- - - - diff --git a/doc/salome/gui/SMESH/extrusion_along_a_path.htm b/doc/salome/gui/SMESH/extrusion_along_a_path.htm deleted file mode 100755 index 2058125a0..000000000 --- a/doc/salome/gui/SMESH/extrusion_along_a_path.htm +++ /dev/null @@ -1,197 +0,0 @@ - - - - - -Extrusion along a path - - - - - - - - - - - - -

Extrusion along a path

- -

In principle, Extrusion along a path works in the same way as Extrusion, - the main difference is that we define not a vector, but a path of extrusion - which must be a meshed edge or wire. To get an idea of how this algorithm - works, let's see the left image, where we have a 1D circle edge and  a - 2D hexagon to be extruded along this path (in the picture they are angular - because we show the wireframe of the mesh). And now let's see the right - image, showing the result of the operation.  

- -

 

- - --- - - - -
-

-

- -

 

- -

     

- -

 

- -

To use Extrusion along a path:

- -

1. From the Modification - menu choose the Extrusion along - a path item or click button in the toolbar. The - following dialog box will appear:

- -

 

- -

- -

 

- -

2. In the dialog box you should  

- -
    - -
  • select the type of - elements which will be extruded (1D or 2D),

  • - -
  • specify the IDs of - the elements which will be extruded by selecting them in the 3D viewer - or Select the whole mesh, submesh or - group,

  • - -
  • specify the path along - which the elements will be extruded, for this you should specify the Mesh, the Shape, - and the Start point for the extrusion. -

  • -
- -

 

- -

3. There are two optional parameters, which - can be very useful.

- -
    - -
  • If the path of extrusion - is curvilinear, at each iteration the extruded shape is rotated to keep - its initial angularity to the curve. By default, the Base - point around which the shape is rotated is the mass center of the - shape, however, you can specify any point as the Base - Point and the shape will be rotated with respect to this point.

  • - -
  • The shape can also - be rotated around the path to get the resulting mesh in a helical fashion. - At the picture above we see both "oblique-angled" and "right-angled" - mesh elements because Rotation Angles - have not been set for all iterations. You set the values of the angles - at the right and add them to the list of angles at the left by pressing - the button and remove the values from the list by pressing - the button.

  • -
- -

4. Click the Apply - or OK button.

- -

 

- -

 See - Also a sample TUI Script of an Extrusion - along a Path operation.  

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/about_hypotheses.htm b/doc/salome/gui/SMESH/files/about_hypotheses.htm deleted file mode 100755 index 0811bc586..000000000 --- a/doc/salome/gui/SMESH/files/about_hypotheses.htm +++ /dev/null @@ -1,213 +0,0 @@ - - - - - -About hypotheses - - - - - - - - - - - - - -

About hypotheses

- -

Hypotheses represent - boundary conditions which will be taken into account at calculations of - meshes or submeshes basing on geometrical objects. These hypotheses allow - you to manage the level of detail of the resulting meshes or submeshes: - when applying different hypotheses with different parameters you can preset - the quantity of meshing elements which will compose your mesh. So, it - will be possible to generate a rough or a more refined mesh or submesh. -

- -

 

- -

In MESH there are the following - Basic Hypotheses (to introduce them, you operate numerical values):

- - - -
    - - -
- - - -

 

- -

There also exist some Additional - Hypotheses

- -
    - -
      - -
    • Propagation of 1D Hypothesis on opposite edges

    • - -
    • Non conform mesh allowed

    • - -
    • Quadratic mesh

    • -
    -
- -

 

- -

The choice of a hypothesis depends on:

- -
    - -
  • the geometrical object (shape) which will be meshed

  • - -
  • the algorithm, which will be selected for meshing - of this geometrical object (shape)

  • -
- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/about_meshes.htm b/doc/salome/gui/SMESH/files/about_meshes.htm deleted file mode 100755 index 1b91ca434..000000000 --- a/doc/salome/gui/SMESH/files/about_meshes.htm +++ /dev/null @@ -1,250 +0,0 @@ - - - - - -About meshes - - - - - - - - - - - - -

About meshes

- -

MESH represents - a discretization of a geometrical CAD model into a set of entities with - a simple topology. In MESH there are two options of creation of meshes, - you can:

- -

 

- -
    - -
  • generate meshes on the basis of geometrical shapes - produced in the GEOM module,

  • - -
  • create your own meshes using the MESH functions - destined for modification of generated meshes.

  • -
- -

 

- -

The topology of a mesh is described by the relationships between its - entities including:

- -

 

- -
    - -
  • Node - – 0D element of a mesh presented by a point with coordinates (x, y, z).

  • - -
  • Edge - – 1D element of a mesh defined by two nodes.

  • - -
  • Face - – 2D element of a mesh defined by three or four edges (closed contour).

  • - -
  • Volume - – 3D element of a mesh defined by several faces.

  • -
- -

 

- -

These entities are considered as topological - entities and they don't imply any geometric representation. Only Nodes reference  geometric - representations of points with definite coordinates. The - node entity will contain  additional - information about its position in the space and its relations with the - meshed CAD model. Its position could be described in the following way:

- -

 

- -
    - -
  • 2D - position. It is a free position defined by only two coordinates - x,y.

  • - -
  • 3D - position. It is a free position defined by three coordinates x,y - and z.

  • - -
  • Surface - position. It characterizes the position of a node on a geometric - surface and is defined by the u,v position in the parametric space of - the corresponding surface.

  • - -
  • Line - position. It characterizes the position of a node on a geometric - curve and is defined by the u parameter and the corresponding curve.

  • - -
  • Vertex - position. It characterizes the position of a node on a geometric - point of the meshed CAD model and is defined by the x,y,z coordinates - of the corresponding vertex.

  • -
- -

 

- -

 

- -

Connections

- -

Each mesh entity bounds 0 or more mesh entities - of higher dimension. In the same way each mesh entity is bounded by 0 - or more mesh entities of lower dimension:

- -

 

- -
    - -
  • A node bounds edges, - faces and volumes

  • - -
  • An edge bounds faces, - and volumes

  • - -
  • A face bounds volumes

  • - -
  • A volume is bounded - by faces, edges and nodes

  • - -
  • A face is bounded by - edges, and nodes

  • - -
  • An edge is bounded by - nodes

  • -
- -

 

- -

You can notice that there are two types of - connections: inverse and direct connections.

- -

 

- -

Inverse connections

- -

 

- -

This relationship has a particularity that - the order of bounded entities has not a direct meaning. Also the number - of bounded entities is not fixed.

- -

 

- -

The edges surrounding a node. - The 3rd edge has no more sense that the 5th one.

- -

 

- -

Direct connections

- -

 

- -

This relationship has a particularity that - the order of bounding entities is meaningful. The number of bounding entities - is fixed and depends on the type of the entity (hexahedron, tetrahedron,Â…).

- -

 

- -

An edge is composed of two - nodes. A face is composed of 3 or 4 edges depending if we are dealing - with triangles or quadrangles.

- -

 

- -

The connections are not only restricted to - entities of one dimension higher or lower. For example some algorithms - may be interested to retrieve all the faces surrounding a node.

- -

 

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/about_meshing_algorithms.htm b/doc/salome/gui/SMESH/files/about_meshing_algorithms.htm deleted file mode 100755 index 213fa1f13..000000000 --- a/doc/salome/gui/SMESH/files/about_meshing_algorithms.htm +++ /dev/null @@ -1,227 +0,0 @@ - - - - - -About meshing algorithms - - - - - - - - - - - - - -

Defining meshing algorithms

- -

The MESH module contains a set of meshing algorithms, - which are used for meshing entities (1D, 2D, 3D) composing geometrical - objects. They are as follows:

- -

 

- -
    - -
  • For meshing of 1D entities (edges):

  • -
- -

 

- -
    - -
      - -
    • Wire Discretization meshing algorithm

    • -
    -
- -

 

- -
    - -
  • For meshing of 2D entities (faces):

  • -
- -

 

- -
    - -
      - -
    • Triangle meshing algorithm - Faces are split - into triangular elements.

    • - -
    • Quadrangle meshing algorithm - Faces are split - into quadrangular elements.

    • -
    -
- -

 

- - --- - - - -
-

-

- -

 

- -

 

- -
    - -
  • For meshing of 3D entities (volume - objects):

  • -
- -

 

- -
    - -
      - -
    • Hexahedron meshing algorithm - Volumes are - split into hexahedral (cubic) elements.

    • - -
    • Tetrahedron (Netgen) meshing algorithm - Volumes - are split into tetrahedral (pyramidal) elements.

    • -
    -
- -

 

- - --- - - - -
-

-

- -

 

- -

To apply a meshing algorithm:

- -

Select this algorithm in the Create Mesh dialog box.

- -

 

- -

See Also - a sample TUI Script of a Define - Meshing Algorithm operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/about_quality_controls.htm b/doc/salome/gui/SMESH/files/about_quality_controls.htm deleted file mode 100755 index 0bf3d0bf7..000000000 --- a/doc/salome/gui/SMESH/files/about_quality_controls.htm +++ /dev/null @@ -1,175 +0,0 @@ - - - - - -About quality controls - - - - - - - - - - - - -

About quality controls

- -

Mesh - quality control in MESH is destined for visual control of the generated - mesh.

- -

Application of a definite quality control - consists of usage of the corresponding algorithm, which calculates a value - of a definite geometric characteristic (Area, Length of edges, etc) for - all meshing elements, composing your mesh. Then all meshing elements are - colored according the calculated values. The reference between the coloring - of the meshing elements and these calculated values is shown with the - help of a scalar bar, which is displayed near the presentation of your - mesh.      

- -

 

- -

There are 1D, 2D and 3D quality controls. -

- -

  

- -

1D mesh quality controls:

- -

 

- - - -

 

- -

2D mesh quality controls:

- -

 

- - - - - -

 

- -

3D mesh quality controls:

- -

 

- - - -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/adding_nodes_and_elements.htm b/doc/salome/gui/SMESH/files/adding_nodes_and_elements.htm deleted file mode 100755 index 88826e3c8..000000000 --- a/doc/salome/gui/SMESH/files/adding_nodes_and_elements.htm +++ /dev/null @@ -1,303 +0,0 @@ - - - - - -Adding nodes and elements - - - - - - - - - - - - -

Adding nodes and elements

- -

In MESH you can add to your mesh different elements such as:

- -

 

- - - -

 

- -

To add a node or an 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, - the following associated submenu will appear:

- -

 

- -

- -

 

- -

From this submenu select the type of element - which you would like to add to your mesh.

- -

 

- -

  See - Also sample TUI Scripts of  Adding - Nodes and Elements operations. -  

- -

 

- -

Adding nodes

- -

    

- -

 

- -

 

- -

 

- -

In this dialog box set coordinates for your - node in the Coordinates set of - fields and click the Apply or - OK button. Your node will be created:

- -

 

- -

Adding edges

- -

 

- -

      

- -

 

- -

In this dialog box specify the nodes which - will form your edge by selecting them in the 3D viewer with pressed Shift - button and click the Apply or - OK button. Your edge will be created:

- -

 

- -

Adding triangles

- -

 

- -

        

- -

 

- -

In this dialog box specify the nodes which - will form your triangle by selecting them in the 3D viewer with pressed - Shift button and click the Apply or - OK button. Your triangle will - be created:

- -

 

- -

Adding quadrangles

- -

        

- -

In this dialog box specify the nodes which - will form your quadrangle by selecting them in the 3D viewer with pressed - Shift button and click the Apply or - OK button. Your quadrangle will - be created:

- -

 

- -

Adding polygons -

- -

          

- -

In this dialog box specify the nodes which - will form your polygon by selecting them in the 3D viewer with pressed - Shift button and click the Apply or - OK button.

- -

 

- -

Adding tetrahedrons

- -

- -

 

- -

In this dialog box specify the nodes which - will form your tetrahedron by selecting them in the 3D viewer with pressed - Shift button and click the Apply or - OK button. Your tetrahedron will - be created:

- -

 

- -

- -

Adding hexahedrons

- -

- -

 

- -

In this dialog box specify the nodes which - will form your hexahedron by selecting them in the 3D viewer with pressed - Shift button and click the Apply or - OK button. Your hexahedron will - be created:

- -

 

- -

 

- -

- -

 

- -

Adding polyhedrons

- -

        

- -

 

- -

There are two different ways to add polyhedral - volumes.

- -

If you select Node - as Elements Type you will specify - the nodes which will form the faces of your polyhedron by selecting the - nodes in the 3D viewer with pressed Shift button and clicking the Add button to add the face in the list - of Faces by Nodes, which will form your polyhedron. Note, that it could - be very useful to toggle Polyhedron Preview checkbox to see the results - of your selection.

- -

The second way is somewhat simpler, however, - there are cases when it does not provide you with the necessary level - of precision. If you select Face - as Elements Type, you will be - able to select the faces  which - will form your polyhedron in the 3D viewer with pressed Shift button. - If you've managed to

- -

obtain the necessary result, click the Apply or OK - button. Your hexahedron will be - created.

- -

 

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/area_of_elements.htm b/doc/salome/gui/SMESH/files/area_of_elements.htm deleted file mode 100755 index 78cbd6cdd..000000000 --- a/doc/salome/gui/SMESH/files/area_of_elements.htm +++ /dev/null @@ -1,138 +0,0 @@ - - - - - -Area of elements - - - - - - - - - - - - - -

Area

- -

Area mesh quality - control is based on the algorithm of area calculation of  meshing - elements. It can be applied to meshes consisting of 2D meshing elements - with 3 and 4 nodes (triangles and quadrangles).    

- -

 

- -

To apply the Area quality control to your mesh:

- -

 

- -

1. Display your mesh in the viewer.

- -

 

- -

2. Choose Controls - > Area or click button. 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 Area - quality control operation.  

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/arithmetic_1d.htm b/doc/salome/gui/SMESH/files/arithmetic_1d.htm deleted file mode 100755 index d421cd913..000000000 --- a/doc/salome/gui/SMESH/files/arithmetic_1d.htm +++ /dev/null @@ -1,330 +0,0 @@ - - - - - -Arithmetic 1D - - - - - - - - - - - - - -

1D Meshing Hypotheses

- - - -

Arithmetic 1D hypothesis

- -

Arithmetic 1D hypothesis allows - to split edges into segments with a length that changes in arithmetic - progression (Lk = Lk-1 + d) beginning from a given starting length and - up to a given end length.

- -

 

- -

     

- -

 

- -

See Also - a sample TUI Script of a Defining - Arithmetic 1D hypothesis operation.  

- -

Deflection 1D hypothesis

- -

Deflection ID hypothesis can - be applied for meshing curvilinear edges composing your geometrical object. - It uses only one parameter: the value of deflection.  

- -

A geometrical edge is divided into equal segments. The maximum distance - between a point on the edge within a segment and the line connecting the - ends of the segment should not exceed the specified value of deflection - . Then mesh nodes are constructed at end segment locations and 1D mesh - elements are constructed on segments.

- -

 

- -

      

- -

 

- -

See Also - a sample TUI Script of a Defining - Deflection 1D hypothesis operation.  

- -

 

- -

- -

Average Length hypothesis

- -

Average Length hypothesis can - be applied for meshing of edges composing your geometrical object. Definition - of this hypothesis consists of setting the length - of segments, which will split these edges. The points on the edges generated - by these segments will represent nodes of your mesh. Later these nodes - will be used for meshing of the faces abutting to these edges.

- -

 

- -

       

- -

 

- -

See Also - a sample TUI Script of a Defining - Average Length hypothesis operation.  

- -

 

- -

- -

Number of segments hypothesis

- -

Number of segments hypothesis - can be applied for meshing of edges composing your geometrical object. - Definition of this hypothesis consists of setting the number - of segments, which will split these edges. In other words your edges will - be split into a definite number of segments with approximately the same - length. The points on the edges generated by these segments will represent - nodes of your mesh. Later these nodes will be used for meshing of the - faces abutting to these edges.

- -

 

- -

You can set the type of distribution for this - hypothesis in the Hypothesis Construction - dialog bog :

- -

 

- -

Equidistant - Distribution - all segments will have the same length, you define - only the Number of Segments.

- -

 

- -

         

- -

 

- -

Scale Distribution - each - next segment differs from the previous according to the formula: - Ai+1 = Ai - * k, where k is - a Scale Factor.

- -

\

- -

 

- -

Distribution with Table Density - you - input a number of pairs t - F(t), - where t ranges from 0 to 1, -  and - the module computes the formula, which will rule the change of length - of segments and shows the curve in the plot. You can select the Conversion - mode from Exponent - and Cut negative.

- -

 

- -

- -

 

- -

Distribution with Analytic Density - you input the formula, which will rule the - change of length of segments and the module shows the curve in the plot.

- -

- -

See Also - a sample TUI Script of a Defining - Number of Segments hypothesis operation.  

- -

 

- -

Start and End Length hypothesis.

- -

Start and End Length hypothesis - allows to divide a geometrical edge into segments so that the first and - the last segments have a specified length. The length of each but the - first segment differs from length of the previous one by a constant factor. - Then mesh nodes are constructed at segment ends location and 1D mesh elements - are constructed on them.

- -

 

- -

      

- -

 

- -

See Also - a sample TUI Script of a Defining - Start and End Length  hypothesis - operation.  

- -

 

- -

Automatic Length

- -

This hypothesis is automatically applied when you select Assign - a set of hypotheses option in Create Mesh menu.

- -

 

- -

- -

 

- -

The dialog box prompts you to define the quality of the future mesh - by only one parameter, which is Fineness, - ranging from 0 (coarse mesh, low number of elements) to 1 (extremely fine - mesh, great number of elements). Compare one and the same object (sphere) - meshed with minimum and maximum value of this parameter.

- -

 

- -

   

- -

 

- -

 

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/aspect_ratio.htm b/doc/salome/gui/SMESH/files/aspect_ratio.htm deleted file mode 100755 index 52b40c9a1..000000000 --- a/doc/salome/gui/SMESH/files/aspect_ratio.htm +++ /dev/null @@ -1,212 +0,0 @@ - - - - - -Aspect Ratio - - - - - - - - - - - - - -

Aspect Ratio

- -

The Aspect Ratio - quality criterion for mesh elements reveals the degree of conformity of - a mesh element to the regular element of its type (with all edges having - the same length).  The - criterion can be defined as

- -

where К - is the considered element of the mesh, hmax is the diameter of the element - К (i.e. the length of the longest edge), рк is the radius of the sphere - inscribed in the element K, and a - is a normalisation value chosen so that QK = 1 when К is an equilateral - simplex.

- -

 

- -

The value of QK varies between 1 and +oo and the - closer it is to 1, the better the element К is.

- -
    - -
  • The Aspect Ratio - of a triangle 2D element consisting - of 3 nodes is calculated by the formula:

  • -
- -

 

- -

- -

,

- -

 

- -

where рк is the half perimeter of the - element K and SK is its surface.

- -

 

- -

- -

 

- -
    - -
  • The Aspect - Ratio of a quadrangle 2D - element consisting of 4 nodes is the worst (i.e. the greatest) value from - all triangles which can be built taking three nodes of the quadrangle. - There are four triangles to consider:

  • -
- -

- -

Note, that the Aspect Ratio criterion is - applicable to 2D mesh elements only. For 3D elements we use the Aspect - Ratio 3D criterion.   

- -

 

- -

To apply the Aspect Ratio quality criterion to your mesh:

- -

 

- -

1. Display your mesh in the viewer.

- -

 

- -

2. Choose Controls - > Aspect Ratio or click button in 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 quality control operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/changing_orientation_of_elements.htm b/doc/salome/gui/SMESH/files/changing_orientation_of_elements.htm deleted file mode 100755 index 7a1c6e64d..000000000 --- a/doc/salome/gui/SMESH/files/changing_orientation_of_elements.htm +++ /dev/null @@ -1,159 +0,0 @@ - - - - - -Changing orientation of elements - - - - - - - - - - - - -

Changing orientation of elements

- -

Orientation of an element is changed by reverting the order of nodes - of the selected elements.

- -

 

- -

To change orientation of elements:

- -

 

- -

1. Display a mesh or a submesh in the 3D - viewer.

- -

 

- -

2. In the Modification - menu select the Orientation item - or click button in the toolbar. The following dialog box - will appear:

- -

 

- -

 

- -

- -

 

- -

 

- -
    - -
  • The main list shall contain the - elements which will be reoriented. You can click on an element - in the 3D viewer and it will be highlighted. After that click the Add button and the ID of this element - will be added to the list. To remove a selected element or elements from - the list click the Remove button. - The Sort button allows to sort - the list of elements IDs. The Set filter - button allows to apply a definite filter to selection of elements - of your group.

  • - -
  • Apply to all radio button allows - to modify the orientation of all elements of the currently displayed mesh - or submesh.

  • - -
  • Select from set of fields allows to - choose a submesh or an existing group whose elements will be automatically - added to the list.

  • -
- -

 

- -

3. Click the Apply - or OK button to confirm - the operation.

- -

 

- -

  See - Also a sample TUI Script of a Change - Orientation operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/constructing_groups_of_specific_elements.htm b/doc/salome/gui/SMESH/files/constructing_groups_of_specific_elements.htm deleted file mode 100755 index 749449fdf..000000000 --- a/doc/salome/gui/SMESH/files/constructing_groups_of_specific_elements.htm +++ /dev/null @@ -1,103 +0,0 @@ - - - - - -Constructing groups of specific elements - - - - - - - - - - - - -

Constructing groups of specific elements

- -

In MESH you can easily construct groups of specific elements (nodes, - edges, faces or volumes) which will be taken from a definite submesh.

- -

 

- -

To construct a group of specific elements:

- -

 

- -

Right-click on a submesh in the Object Browser - and choose the Construct Group item - or select your submesh in the Object Browser and in the Mesh - menu choose the Construct Group - item. MESH will construct several groups consisting of elements - of the definite type: nodes, edges, faces or volumes.

- - - - diff --git a/doc/salome/gui/SMESH/files/constructing_meshes.htm b/doc/salome/gui/SMESH/files/constructing_meshes.htm deleted file mode 100755 index 9005df312..000000000 --- a/doc/salome/gui/SMESH/files/constructing_meshes.htm +++ /dev/null @@ -1,209 +0,0 @@ - - - - - -Constructing meshes - - - - - - - - - - - - - -

Constructing meshes

- -

Construction of a mesh consists of:

- -

 

- -
    - -
  • Selecting a geometrical - object for meshing

  • - -
  • Applying meshing - algorithms and hypotheses which - will be used at computation of this mesh.

  • -
- -

 

- -

To construct a mesh:

- -

1. In the Mesh - menu select Create Mesh or - click button in the toolbar. The following dialog box will - appear:

- -

 

- -

- -

 

- -

2. For example, you need to mesh a 3d object. -

- -

First, type the name for your mesh in the - "Name" box, by default, it is "Mesh_1". Then select - the object you wish to mesh in the Object Browser and click - the "Add" button.

- -

Now you can define 1d Algorithm and 1d Hypotheses, - which will be applied to the edges of your object. (Note that any object - has edges, even if their existence is not apparent, for example, a sphere - has 4 edges). Click the   button to add a hypothesis. Click the button - to define values for the current hypothesis. The use of additional hypotheses - is optional (i.e. you may leave "None" in this box).   

- -

 

- -

Proceed in the same way with 2d and 3d Algorithms - and Hypotheses, note that the choice of hypotheses depends on the algorithm. - There must be one Algorithm and one or several Hypotheses for each dimension - of your object, otherwise you will not get any mesh at all. Of course, - if you wish to mesh a face, which is a 2d object, you don't need to define - 3d Algorithm and Hypotheses.

- -

In the Object - Browser the structure of the new mesh will be displayed as follows:

- -

It contains:

- -
    - -
  • a reference to the - geometrical object on the basis of which the mesh has been constructed;

  • - -
  • Applied - hypotheses folder containing the references to the hypotheses applied - to the construction of the mesh;

  • - -
  • Applied - algorithms folder containing the references to the algorithms applied - to the construction of the mesh.

  • -
- -

 

- -

There is an alternative way to create a mesh - on an object simply by clicking Assign - a set of hypotheses button and selecting between Automatic Tetrahedralization - or Hexahedralization.  The - program will automatically generate a 3D mesh with the most appropriate - settings. In the same way you can apply this functionality for meshing - 2D objects, in which case 3D algorithms are not applied.

- -

 

- -

3. Now, when everything is ready, select - your mesh in the Object Browser. -  From the - Mesh menu select - Compute or click button of the toolbar.

- -

 

- -

Consider trying a sample script for construction - of a mesh from our TUI Scripts - section.

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/constructing_submeshes.htm b/doc/salome/gui/SMESH/files/constructing_submeshes.htm deleted file mode 100755 index 07dd8dfec..000000000 --- a/doc/salome/gui/SMESH/files/constructing_submeshes.htm +++ /dev/null @@ -1,185 +0,0 @@ - - - - - -Constructing submeshes - - - - - - - - - - - - - -

Constructing submeshes

- -

Construction of a submesh consists of:

- -

 

- -
    - -
  • Selecting a mesh which - will encapsulate your submesh

  • - -
  • Selecting a geometrical - object for meshing

  • - -
  • Applying one or several - previously hypotheses and meshing - algorithms which will be used at computation of this submesh.

  • -
- -

 

- -

To construct a submesh:

- -

 

- -

From the Mesh - menu select Local Hyp. or - click button in the toolbar. The following dialog box will - appear:

- -

 

- -

- -

 

- -

It allows to define the Name, - the parent Mesh and the Geometry (e.g. a face if the parent - mesh has been built on box) of the submesh. You can define algorithms - and hypotheses in the same way as in Create - mesh menu.  

- -

 

- -

In the Object Browser the structure of the - new submesh will be displayed as follows:

- -

 

- -

- -

 

- -

It contains:

- -

 

- -
    - -
  • a reference to the - geometrical object on the basis of which the submesh has been constructed;

  • - -
  • Applied - hypotheses folder containing the references to the hypotheses applied - to the construction of the submesh;

  • - -
  • Applied - algorithms folder containing the references to the algorithms applied - to the construction of the submesh.

  • -
- -

 

- -

 

- -

See Also - a sample TUI Script of a Construct - Submesh operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/creating_groups.htm b/doc/salome/gui/SMESH/files/creating_groups.htm deleted file mode 100755 index dbc19538e..000000000 --- a/doc/salome/gui/SMESH/files/creating_groups.htm +++ /dev/null @@ -1,281 +0,0 @@ - - - - - -Creating groups - - - - - - - - - - - - - -

Creating groups

- -

  In MESH you - can create groups of elements of different types. To create a group of - elements - in the Mesh - menu select Create Group. -

- -

To create any group - you should define the following:   

- -
    - -
  • Mesh: - the name of the mesh whose elements - will form your group. You can select your mesh in the Objet Browser or - in the 3D viewer.

  • - -
  • Elements Type - set of radio buttons allows to select the type of elements which will - form your group:

  • - -
      - -
    • Nodes

    • - -
    • Edges -

    • - -
    • Faces

    • - -
    • Volumes

    • -
    - -
  • Name field allows to enter the name - of your new group.

  • -
- -

SALOME Platform distinguishes - between the two Group types: Standalone - Group and Group on Geometry. -  

- -

Standalone Group

- -

Standalone - Group consists of mesh elements, which you can define in two possible - ways.

- -
    - -
  • Choosing them manually - with the mouse in the 3D Viewer. You can click on an element in the 3D - viewer and it will be highlighted. After that click the Add - button and the ID of this element will be added to the list.

  • - -
  • Applying Filters. The - Set filter button allows to apply - a definite filter to selection of the elements of your group. See more - about filters on the Selection - filter library page.   

  • -
- -

To remove a selected element or elements - from the list click the Remove button. - The Sort List button allows to - sort the list of IDs of mesh elements.

- -

Select from - set of fields allows to choose a submesh or an existing group whose - elements of the previously defined type will be added to the list of elements - which will form your group.

- -

Color Number - (integer only, ranging from 0 to 9999) - allows to assign to the group - a certain index, for example, defining boundary conditions. This feature - introduces a useful element of preprocessing in Mesh module. Note that - Color number attribute has nothing - to do with the colors used for the display of the elements of the group.

- -

 

- - --- - - - -
-

-

  

-

 

-

 

-

 

-

 

-

 

-

In this picture the brown cells belong to - a group defined manually.

-

 

-

  In this picture the brown cells belong to the group defined - by the criterion
-Taper > 0.

-

 

-

 

- -

 

- -

   See - Also a sample TUI Script of a Create - a Standalone Group operation.  

- -

Group on Geometry

- -

To create a group on - geometry check Group on geometry - in the Group type field. Group on geometry contains the elements - of a certain type belonging to the selected - geometrical object. To define a group select in the Objet Browser - or in the 3D viewer a geometrical object from which the elements will - be taken. After confirmation of the operation a new group of mesh elements - will be created.

- -

 

- - --- - - - -
-

-

In this picture the cells which belong to a certain face - are selected in green.

- -

 

- -

   See - Also a sample TUI Script of a Create - a Group on Geometry operation. -  

- -

 

- -

 

- -

 

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/cutting_quadrangles.htm b/doc/salome/gui/SMESH/files/cutting_quadrangles.htm deleted file mode 100755 index f8c7a43bf..000000000 --- a/doc/salome/gui/SMESH/files/cutting_quadrangles.htm +++ /dev/null @@ -1,208 +0,0 @@ - - - - - -Cutting quadrangles - - - - - - - - - - - - - -

Cutting quadrangles

- -

This operation allows to cut one or several quadrangle - elements by addition of a supplementary edge which will connect two opposite - corners.

- -

 

- -

To cut quadrangles:

- -

 

- -

1. Display a mesh or a submesh in the 3D - viewer.

- -

2. In the Modification - menu select the Cutting of quadrangles - item or click button in the toolbar. The following - dialog box will appear:

- -

 

- -

- -

 

- -
    - -
  • The - main list contains the list of - quadrangles. You can click on an quadrangle in the 3D viewer and it will - be highlighted (lock Shift keyboard button to select several quadrangles). - Click Add button and the ID of this quadrangle will be - added to the list. To remove a selected element or elements from the list - click Remove - button. Sort - list button allows to sort the - list of IDs. Filter - button allows to apply a definite - filter to the selection of quadrangles.

  • - -
  • Apply to all radio button allows to - modify the orientation of all quadrangles of the currently displayed mesh - or submesh.

  • - -
  • Preview - - provides a preview of cutting in - the viewer.

  • - -
  • Criterion

  • - -
  • Use diagonal 1-3 and - Use diagonal 2-4  allows - to specify the opposite corners which will be connected by the cutting - edge.

  • - -
  • Use - numeric factor -  allows - to apply the operation only to those objects which meet the chosen criterion - (from the list of Quality Controls, i.e. Skew, Warping, Minimum Angle, - etc.)

  • - -
  • Select - from - allows to choose a submesh or an existing group whose quadrangle - elements will be automatically added to the list.

  • -
- -

 

- -

3. Click the Apply - or OK button to confirm - the operation.

- -

 

- - --- - - - -
-

-

- -

 

- -

  See - Also a sample TUI Script of a Cutting - Quadrangles operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/diagonal_iversion_of_elements.htm b/doc/salome/gui/SMESH/files/diagonal_iversion_of_elements.htm deleted file mode 100755 index 0217776c5..000000000 --- a/doc/salome/gui/SMESH/files/diagonal_iversion_of_elements.htm +++ /dev/null @@ -1,149 +0,0 @@ - - - - - -Diagonal iversion of elements - - - - - - - - - - - - -

Diagonal inversion of elements

- -

 In MESH - you can inverse the diagonal (edge) of a pseudo-quadrangle formed by two - neighboring triangles with one common edge.

- -

 

- -

To inverse the diagonal:

- -

 

- -

1. From the Modification - menu choose the Diagonal inversion - item or click button in the toolbar. The following - dialog box shall appear:

- -

 

- -

- -

 

- -

2. Enter the ID of the required edge in the - Edge  field - or select this edge in the 3D viewer.

- -

 

- -

3. Click the Apply - or OK button.

- -

 

- -

 

- - --- - - - -
-

-

- -

 

- -

  See - Also a sample TUI Script of a Diagonal - Inversion of Elements operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/displacing_nodes.htm b/doc/salome/gui/SMESH/files/displacing_nodes.htm deleted file mode 100755 index 17b20adb3..000000000 --- a/doc/salome/gui/SMESH/files/displacing_nodes.htm +++ /dev/null @@ -1,170 +0,0 @@ - - - - - -Displacing nodes - - - - - - - - - - - - - -

Moving nodes

- -

In MESH you can change the location of any node of your mesh. In this - case all adjacent elements (edges) will be also transformed right after - the displaced node.

- -

 

- -

To displace a node:

- -

 

- -

1. From the Modification - menu choose the Move node item - or click button in the toolbar. The following dialog box - shall appear:

- -

 

- -

- -

 

- -

2. Enter the ID of the required node in the - Node ID  field - or select this node in the 3D viewer. The coordinates of your node will - be automatically displayed in the Coordinates - set of fields.

- -

 

- -

3. Set new coordinates for your node in the - Coordinates set of fields.

- -

 

- -

4. Click the Apply - or OK button.

- -

 

- - --- - - - -
-

-

- -

 

- -

  See - Also a sample TUI Script of a Moving - Nodes operation.  

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/displaying_nodes_numbers.htm b/doc/salome/gui/SMESH/files/displaying_nodes_numbers.htm deleted file mode 100755 index 8f2bc264a..000000000 --- a/doc/salome/gui/SMESH/files/displaying_nodes_numbers.htm +++ /dev/null @@ -1,159 +0,0 @@ - - - - - -Displaying nodes numbers - - - - - - - - - - - - - -

Displaying nodes numbers

- -

In MESH you can display the ID numbers of all nodes of your mesh in - the viewer.

- -

 

- -

To display ID numbers of nodes:

- -

 

- -

1. Display your mesh in the viewer

- -

 

- -

2. Right-click on the mesh in the 3D viewer - and from the associated pop-up menu choose Numbering - > Display Nodes #.

- -

 

- -

It will look like as follows:

- -

 

- -

- -

 

- -

Displaying elements numbers

- -

In MESH you can display the ID numbers of all meshing elements composing - your mesh in the viewer.

- -

 

- -

To display ID numbers of elements:

- -

 

- -

1. Display your mesh in the viewer

- -

 

- -

2. Right-click on the mesh in the 3D viewer - and from the associated pop-up menu choose Numbering - > Display Elements #.

- -

 

- -

It will look like as follows:

- -

 

- -

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/editing_groups.htm b/doc/salome/gui/SMESH/files/editing_groups.htm deleted file mode 100755 index 0c5b3974c..000000000 --- a/doc/salome/gui/SMESH/files/editing_groups.htm +++ /dev/null @@ -1,134 +0,0 @@ - - - - - -Editing groups - - - - - - - - - - - - - -

Editing groups

- -

To edit an existing group of elements:

- -

 

- -

1. Select your group in the Object Browser - and in the Mesh menu click the - Edit Group item or icon in the toolbar. 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 - Creating Groups page.

- -

2. Click the OK - or  Apply - button to confirm modification of the group.

- -

 

- -

See Also - a sample TUI Script of an Edit - Group operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/importing_and_exporting_meshes.htm b/doc/salome/gui/SMESH/files/importing_and_exporting_meshes.htm deleted file mode 100755 index 26f27486f..000000000 --- a/doc/salome/gui/SMESH/files/importing_and_exporting_meshes.htm +++ /dev/null @@ -1,157 +0,0 @@ - - - - - -Importing and exporting meshes - - - - - - - - - - - - - -

Importing and exporting meshes

- -

In MESH there is a functionality allowing importation/exportation - of meshes from MED, UNV - format files.

- -

 

- -

To import a mesh:

- -

 

- -

1. From the File - menu choose the Import item, from - its sub-menu select the corresponding format (MED,  UNV) - of the file containing your mesh.

- -

2. In the standard Search - File dialog box find the file for importation.

- -

3. Click the OK - button.

- -

 

- -

- -

 

- -

To export a mesh:

- -

 

- -

1. Select the object you wish to export.

- -

2. From the File - menu choose the Export item, from - its sub-menu select the format (MED, UNV) of the file which will contain - your exported mesh..

- -

3. In the standard Search - File select a location for the exported file and enter its - name.

- -

4. Click the OK - button.

- -

 

- -

- -

 

- -

See Also - a sample TUI Script of an Export - Mesh operation.  

- - - - diff --git a/doc/salome/gui/SMESH/files/length_of_edges.htm b/doc/salome/gui/SMESH/files/length_of_edges.htm deleted file mode 100755 index 259d204da..000000000 --- a/doc/salome/gui/SMESH/files/length_of_edges.htm +++ /dev/null @@ -1,137 +0,0 @@ - - - - - -Length of edges - - - - - - - - - - - - - -

Length 2D

- -

This quality control criterion consists of calculation - of length of the edges combining the meshing elements (triangles and quadrangles) - of your mesh.

- -

   

- -

To apply the Length 2D quality criterion to your mesh:

- -

 

- -

1. Display your mesh in the viewer.

- -

 

- -

2. Choose Controls - > Length 2D or click button in 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 a  Length - 2D quality control operation.  

- -

 

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/max._element_area_hypothesis.htm b/doc/salome/gui/SMESH/files/max._element_area_hypothesis.htm deleted file mode 100755 index d52787ce3..000000000 --- a/doc/salome/gui/SMESH/files/max._element_area_hypothesis.htm +++ /dev/null @@ -1,172 +0,0 @@ - - - - - -Length from edges - - - - - - - - - - - - - -

2D Meshing Hypotheses

- - - -

Max Element Area

- -

Max Element Area hypothesis - is applied for meshing of 2D faces composing your geometrical object. - Definition of this hypothesis consists of setting the maximum - area of meshing elements (depending on the chosen meshing algorithm - it can be triangles or quadrangles), - which will compose the mesh of these 2D faces.

- -

 

- -

- -

 

- -

See Also - a sample TUI Script of a Maximum - Element Area hypothesis operation.  

- -

 

- -

- -

 

- -

 

- -

Length from Edges

- -

Length from edges hypothesis - builds 2D mesh segments having a length calculated as an average edge - length for a given wire.

- -

 

- -

See Also - a sample TUI Script of a Length - from Edges hypothesis operation.  

- -

 

- -

Quadrangle Preference

- -

This algorithm can be used only together with Quadrangle (Mapping) algorithm. - It allows to build quadrangular meshes even if the number of nodes at - the opposite edges of a meshed face is not equal, otherwise this mesh - will contain some triangular elements.

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/max._element_volume_hypothsis.htm b/doc/salome/gui/SMESH/files/max._element_volume_hypothsis.htm deleted file mode 100755 index 8876409e2..000000000 --- a/doc/salome/gui/SMESH/files/max._element_volume_hypothsis.htm +++ /dev/null @@ -1,122 +0,0 @@ - - - - - -Non conform mesh allowed hypothesis - - - - - - - - - - - - - -

Max Element Volume hypothesis

- -

Max - Element Area hypothesis is applied for meshing of 3D objects composing - your geometrical object. Definition of this hypothesis consists of setting - the maximum volume of 3D meshing - elements (depending on the chosen meshing algorithm it can be hexahedrons - or tetrahedrons), which - will compose the mesh of these 3D objects.

- -

 

- -

- -

 

- -

See Also - a sample TUI Script of a Maximum - Element Volume hypothesis operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/merging_nodes.htm b/doc/salome/gui/SMESH/files/merging_nodes.htm deleted file mode 100755 index ec83b7549..000000000 --- a/doc/salome/gui/SMESH/files/merging_nodes.htm +++ /dev/null @@ -1,131 +0,0 @@ - - - - - -Merging nodes - - - - - - - - - - - - -

Merging nodes

- -

This functionality allows user to detect groups of coincident - nodes with desirable tolerance, edit these groups and merge.

- -

 

- -

To merge nodes of your mesh:

- -

 

- -

1. From the Modification - choose Transformation and -  from its - sub-menu select the Merge nodes item. - The following dialog box shall appear:

- -

 

- -

- -

 

- -

This dialog box allows to create groups of - coincident nodes and to merge them.

- -

 

- -

            

- -

 

- -

 

- -

 

- -

  See - Also a sample TUI Script of a Merge - Nodes operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/minimum_angle.htm b/doc/salome/gui/SMESH/files/minimum_angle.htm deleted file mode 100755 index 202ab024e..000000000 --- a/doc/salome/gui/SMESH/files/minimum_angle.htm +++ /dev/null @@ -1,134 +0,0 @@ - - - - - -Minimum angle - - - - - - - - - - - - - -

Minimum angle

- -

Minimum angle - mesh quality criterion consists of calculation of the minimum value of - angle between two adjacent sides of a 2D meshing element (triangle or - quadrangle).

- -

 

- -

To apply the Minimum angle quality criterion to your mesh:

- -

 

- -

1. Display your mesh in the viewer.

- -

 

- -

2. Choose Controls - > Minimum angle or click button. 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 a Minimum - Angle quality control operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/non_conform_mesh_allowed_hypothesis.htm b/doc/salome/gui/SMESH/files/non_conform_mesh_allowed_hypothesis.htm deleted file mode 100755 index 1083820b9..000000000 --- a/doc/salome/gui/SMESH/files/non_conform_mesh_allowed_hypothesis.htm +++ /dev/null @@ -1,142 +0,0 @@ - - - - - -Non conform mesh allowed hypothesis - - - - - - - - - - - - - -

Additional Hypotheses

- -

Additional Hypotheses can be - applied as a supplement to the main hypotheses, introducing additional - concepts to mesh creation.

- -

 

- -

To define an Additional Hypothesis - simply select it in Create Mesh - menu. These hypotheses are actually changes in the rules of mesh creation - and as such don't possess adjustable values.

- -

Non Conform mesh allowed hypothesis

- -

Non Conform mesh allowed hypothesis - allows to generate non-conform meshes (that is, meshes having some edges - ending on an edge or face of adjacent elements).

- -

Quadratic Mesh

- -

Quadratic Mesh hypothesis allows to build a quadratic mesh (whose edges - are not straight but broken lines and can be defined by three points: - first, middle and last) instead of an ordinary one.  

- -

Propagation of 1D Hypothesis on opposite edges

- -

Propagation of 1D Hypothesis on opposite - edges allows to propagate a hypothesis onto an opposite edge. If - a local hypothesis and propagation are defined on an edge of a quadrangular - face, the opposite edge will have the same hypothesis, unless another - hypothesis has been locally defined on the opposite edge.

- -

 

- -

See Also - a sample TUI Script of a Propagation - hypothesis operation.  

- -

 

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/reassigning_hypotheses_and_algorithms.htm b/doc/salome/gui/SMESH/files/reassigning_hypotheses_and_algorithms.htm deleted file mode 100755 index 5244eead1..000000000 --- a/doc/salome/gui/SMESH/files/reassigning_hypotheses_and_algorithms.htm +++ /dev/null @@ -1,147 +0,0 @@ - - - - - -Reassigning hypotheses and algorithms - - - - - - - - - - - - - -

Editing Meshes

- -

After you have created a mesh or submesh with definite applied hypotheses - and algorithms you can edit your mesh by assigning - new hypotheses and algorithms or unassigning - the applied hypotheses and algorithms. The editing proceeds in - the same way as Mesh Creation. -

- -

 

- -

- -

You can also change values for the current hypothesis by clicking the - button.

- -

 

- -

See how a mesh constructed on one and the same geometrical object changes - if we apply different algorithms to it.

- -

 

- -

 

- -

 

- -

- -

 

- -

 

- -

See Also - a sample TUI Script of an Edit - Mesh operation.  

- -

 

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/removing_nodes_and_elements.htm b/doc/salome/gui/SMESH/files/removing_nodes_and_elements.htm deleted file mode 100755 index 7137d89e6..000000000 --- a/doc/salome/gui/SMESH/files/removing_nodes_and_elements.htm +++ /dev/null @@ -1,246 +0,0 @@ - - - - - -Removing nodes and elements - - - - - - - - - - - - - -

Removing nodes and elements

- -

In MESH you can remove nodes and all types of cells of your mesh.

- -

 

- - - -

 

- -

To remove a node:

- -

 

- -

1. Select your mesh in the Object Browser - or in the 3D viewer.

- -

 

- -

2. From the Modification - menu choose Remove and - from the associated submenu select the Remove - nodes, or just click icon in the toolbar. The - following dialog box will appear:

- -

 

- -

- -

 

- -

In this dialog box you can specify one or - several nodes (with pressed Shift button) by choosing them in the 3D viewer.

- -

 

- -

3. Click OK - or Apply  to - confirm deletion of the specified nodes.

- -

 

- -

Be careful while removing - nodes because if you remove a definite node of your mesh all adjacent - elements will be also deleted.

- -

 

- - --- - - - -
-

-

- -

 

- -

 

- -

To remove an element:

- -

 

- -

1. Select your mesh in the Object Browser - or in the 3D viewer.

- -

 

- -

2. From the Modification - menu choose Remove and - from the associated submenu select the Remove - elements, or just click icon in the toolbar. The - following dialog box will appear:

- -

 

- -

- -

 

- -

In this dialog box you can specify one or - several elements of your mesh (with pressed Shift button) by choosing - them in the 3D viewer.

- -

 

- -

3. Click OK - or Apply  to - confirm deletion of the specified elements.

- -

 

- - --- - - - -
-

-

- -

 

- -

 

- -

  See - Also a sample TUI Script of a Removing - Nodes and Elements operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/renumbering_nodes_and_elements.htm b/doc/salome/gui/SMESH/files/renumbering_nodes_and_elements.htm deleted file mode 100755 index c329d1566..000000000 --- a/doc/salome/gui/SMESH/files/renumbering_nodes_and_elements.htm +++ /dev/null @@ -1,176 +0,0 @@ - - - - - -Renumbering nodes and elements - - - - - - - - - - - - -

Renumbering nodes and elements

- -

In MESH you can renumber the nodes and elements of your mesh.

- -

 

- - - -

 

- -

To renumber the nodes of your mesh:

- -

 

- -

1. In the Modification - menu select Renumbering submenu - and choose the Nodes item or click - button in the toolbar. The following dialog box will - appear:

- -

 

- -

- -

 

- -

2. Fill the Mesh - field by selecting your mesh in the Object Browser or in the 3D - viewer.

- -

 

- -

3. Click the Apply - or OK button - to perform the operation.

- -

 

- -

 

- -

To renumber the elements of your - mesh:

- -

 

- -

1. In the Modification - menu select Renumbering submenu - and choose the Elements item or - click button in the toolbar. The following dialog box will - appear:

- -

 

- -

- -

 

- -

2. Fill the Mesh - field by selecting your mesh in the Object Browser or in the 3D - viewer.

- -

 

- -

3. Click the Apply - or OK button - to perform the operation.

- -

 

- -

  See - Also a sample TUI Script of a Renumbering - Nodes and Elements operation. -  

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/rotation.htm b/doc/salome/gui/SMESH/files/rotation.htm deleted file mode 100755 index 55b13144e..000000000 --- a/doc/salome/gui/SMESH/files/rotation.htm +++ /dev/null @@ -1,142 +0,0 @@ - - - - - -Rotation - - - - - - - - - - - - -

Rotation

- -

This geometrical operation allows to rotate in space your mesh or some - of its elements.

- -

 

- -

 To - rotate your mesh:

- -

 

- -

From the Modification - choose Transformation and -  from its - sub-menu select the Rotation item. - The following dialog box shall appear:

- -

 

- -

- -

 

- -

In this dialog box you can specify the elements - which should be rotated and the rotation parameters:

- -
    - -
  • Axis: - point and vector

  • - -
  • Angle - of rotation

  • -
- -

 

- -

Create a - copy radio button allows to copy the rotated object.

- -

 

- -

  See - Also a sample TUI Script of a Rotation - operation.  

- -

 

- -

  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/running_smesh_module.htm b/doc/salome/gui/SMESH/files/running_smesh_module.htm deleted file mode 100755 index a7422b23d..000000000 --- a/doc/salome/gui/SMESH/files/running_smesh_module.htm +++ /dev/null @@ -1,111 +0,0 @@ - - - - - -Running SMESH module - - - - - - - - - - - - -

Running MESH module

- -

To start MESH module in SALOME click icon in the - bottom toolbar or select MESH -  from the - Choose box:                      

- -

 

- -

The desktop of the SALOME - platform will be updated with additional toolbars and menus related to - the MESH component .

- -

 

- -

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/sewing_meshes.htm b/doc/salome/gui/SMESH/files/sewing_meshes.htm deleted file mode 100755 index 3a71c8db9..000000000 --- a/doc/salome/gui/SMESH/files/sewing_meshes.htm +++ /dev/null @@ -1,342 +0,0 @@ - - - - - -Sewing meshes - - - - - - - - - - - - - -

Sewing meshes

- -

In SMESH you can sew elements of  different - meshes. The current functionality allows you to sew:

- -

 

- - - -

 

- -

To sew elements of different meshes:

- -

 

- -

1. From the Modification - menu choose the Transformation - item and  from - its sub-menu select the Sewing item. -

- -

2. Check in the dialog box one of the radio - buttons corresponding to the type of sewing operation you would like to - perform.

- -

3. Fill the other fields available in the - dialog box

- -

4. Click the OK - or Apply button - to perform the operation of sewing.

- -

Sew free borders

- -

This functionality allows you to unite two free borders of a 2D mesh.

- -

 

- -

For sewing free borders you should define three points on each border: - first, second and the last node:

- -

 

- -
    - -
  •  the - first node specifies beginning of the border ;

  • - -
  •  the - second node specifies the part of the border which should be considered - (as far as the free border usually forms a closed contour);

  • - -
  •  the - last node specifies the end of the border.

  • -
- -

 

- -

You can select these nodes in the 3D viewer or define by its id.

- -

 

- -

The first and the second nodes should belong to the same link of a face. - The second and the last nodes of a border can be the same. The first and - the last nodes of two borders can be the same. The corresponding end nodes - of two borders will be merged. Intermediate nodes of two borders will - be either merged or inserted into faces of the opposite border.

- -

 

- -

The sewing algorithm is as follows:

- -

 

- -

1. The parameter (U) of each node within - a border is computed. So that the first node has U=0.0, the last node - has U=1.0, for the rest nodes 0.0 < U < 1.0;

- -

2. Compare node parameters of the two borders. - If two nodes of the opposite borders have close parameters, they are merged, - i.e. a node of the first border is replaced in all elements by a node - of the second border. If a node has no node with a close parameter in - the opposite border, it is inserted into an edge of element of the opposite - border, an element is split. Two nodes are considered close enough to - merge, if difference of their parameters is less than one fifth of minimum - length of adjacent face edges on the borders.

- -

 

- -

- -

 

- -

  See - Also a sample TUI Script of a Sew - Free Borders operation.  

- -

 

- -

 

- -

Sew conform free borders

- -

This functionality can be used to unite two free borders of a 2D mesh. -

- -

 

- -

The borders of meshes for sewing are defined as for "Sew free borders" - except that the second free border is not limited and can be defined by - the first and the second nodes only. The first nodes of two borders can - be the same.

- -

 

- -

The algorithm is following: counting nodes starting at the first ones, - the n-th node of the first border is merged with the n-th node of the - other border, until the end of either of borders. Nodes of the first border - are replaced in all elements with corresponding nodes of the second border.

- -

For sewing conform free borders you should define three points on the - first border and two points on the second one. User can select these nodes - in 3D viewer or define node by its id.

- -

 

- -

 

- -

 

- -

 

- -

 

- -

 

- -

 

- -

  See - Also a sample TUI Script of a Sew - Conform Free Borders operation.  

- -

 

- -

 

- -

Sew border to side

- -

"Sew border to side" is intended to sew a free border to a - mesh surface.

- -

The free border is defined as for "Sewing of free borders". - The place where to sew the border is defined by two nodes, between which - the border faces are placed, so that the first border node is merged with - the first node on the side and the last node of the border is merged with - the second specified node on the side.

- -

 

- -

 

- -

The algorithm is following.

- -

1. Find a sequence of linked nodes on the side such that the found links - to be most co-directed with the links of the free border.

- -

2. Sew two sequences of nodes using algorithm of "Sewing of free - berders".

- -

For sewing border to side you should define three points on the border - and two points on the side. User can select these nodes in 3D viewer or - define node by its id.

- -

- -

  See - Also a sample TUI Script of a Sew - Border to Side operation.  

- -

 

- -

 

- -

Sew side elements

- -

This operation is intended to unite two mesh - surfaces.

- -

 

- -

Surfaces may be defined by either 2d or 3d elements. The number of given - elements of the sides must be the same. The sets of given elements must - be topologically equal, i.e. each node of one element set must have a - corresponding node in the other element set and corresponding nodes must - be equally linked. If there are 3d elements in a set, only their free - faces must obey to that rule.

- -

Two corresponding nodes on each side must be specified. They must belong - to one element and must be located on an element set boundary.

- -

 

- -

Sewing algorithm finds and merges the corresponding nodes starting from - the specified ones.

- -

- -

- -

For sewing side elements you should define elements for sewing and two - nodes for merging on the each side. User can select these elements and - nodes in 3D viewer or define them by its id.

- -

 

- -

See Also a sample TUI Script - of a Sew Side Elements - operation.  

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/skew.htm b/doc/salome/gui/SMESH/files/skew.htm deleted file mode 100755 index 2a39312ab..000000000 --- a/doc/salome/gui/SMESH/files/skew.htm +++ /dev/null @@ -1,141 +0,0 @@ - - - - - -Skew - - - - - - - - - - - - - -

Skew

- -

Skew mesh quality - criterion reflects the angle between the lines that join opposite sides - of the element. SKEW  is - a maximum value of all skew angles. This - mesh quality criterion can be applied to elements composed of 4 and 3 - nodes (quadrangles and triangles)

- -

 

- -

- -

 

- -

To apply the Skew quality criterion to your mesh:

- -

 

- -

1. Display your mesh in the viewer.

- -

 

- -

2. Choose Controls - > Skew 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 a Skew - quality control operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/smoothing.htm b/doc/salome/gui/SMESH/files/smoothing.htm deleted file mode 100755 index 7ceadedc9..000000000 --- a/doc/salome/gui/SMESH/files/smoothing.htm +++ /dev/null @@ -1,196 +0,0 @@ - - - - - -Smoothing - - - - - - - - - - - - -

Smoothing

- -

Smoothing is used to adjust the locations of element - corners (nodes) to reduce distortions in these elements.

- -

 

- -

To apply smoothing to the elements of your mesh:

- -

 

- -

1. Display a mesh or a submesh in the 3D - viewer.

- -

2. In the Modification - menu select the Smoothing item - or click button in the toolbar. The dialog - box contains the following fields which should be specified:

- -

 

- -

       

- -
    - -
  • Id Elements field allows to specify - the elements which should be smoothed by selecting them in the 3D viewer - (lock Shift button to select several - elements).

  • - -
      - -
    • Select whole mesh, - submesh or group - smoothing is applied - to the whole mesh or its part.

    • - -
    • Fixed nodes - ids: some nodes keep their location during smoothing. If a mesh - is built on a geometry shape, the nodes built on geometrical edges are - always fixed. If smoothing is applied to a part of a mesh then the boundary - nodes of an elements set are also fixed. Any other nodes may be additionally - fixed.

    • - -
    • Smoothing - Method:

    • - -
        - -
      • Laplacian - smoothing pulls a node toward the center of surrounding nodes directly - connected to that node along an element edge. Centroidal smoothing pulls - a node toward the element-area-weighted centroid of the surrounding elements. - Typically, the Laplacian method will produce the mesh with the least element - distortion. It is also the faster method.

      • - -
      • Centroidal - smoothing usually produces a mesh that has more uniform element sizes. - Both methods produce good results with "free" meshes.

      • -
      -
    -
- -

 

- -

- -
    - -
  • Iteration limit: both of the smoothing - methods use an iterative procedure to converge toward a smoothed mesh. - All nodes are smoothed according to one of the techniques shown above. - Then the smoothing is reevaluated with the updated nodal locations. This - process continues until the maximum number of iterations has been exceeded, - or all elements has aspect ratio less or equal than the specified one.

  • - -
  • Max. aspect ratio.

  • -
- -

 

- -

3. Click the Apply - or OK button to confirm - the operation.

- -

 

- -

        

- -

 

- -

  See - Also a sample TUI Script of a Smoothing - operation.  

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/symmetry.htm b/doc/salome/gui/SMESH/files/symmetry.htm deleted file mode 100755 index bc13e22f5..000000000 --- a/doc/salome/gui/SMESH/files/symmetry.htm +++ /dev/null @@ -1,147 +0,0 @@ - - - - - -Symmetry - - - - - - - - - - - - -

Symmetry

- -

This geometrical operation allows to perform a symmetrical copy of your - mesh or some of its elements.

- -

 

- -

 To - apply symmetry to your mesh:

- -

 

- -

From the Modification - choose Transformation and -  from its - sub-menu select the Symmetry item. - The following dialog box shall appear:

- -

 

- -

- -

 

- -

- -

 

- -

- -

 

- -

This operation has three options, you can - symmetrically copy your mesh or some of its elements specifying:

- -
    - -
  • one point

  • - -
  • one axis (point and - vector)

  • - -
  • one plane (point and - normal)

  • -
- -

 

- -

Create a - copy radio button allows to keep the initial elements or mesh.

- -

 

- -

  See - Also a sample TUI Script of a Symmetry - operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/taper.htm b/doc/salome/gui/SMESH/files/taper.htm deleted file mode 100755 index 4e635c4e3..000000000 --- a/doc/salome/gui/SMESH/files/taper.htm +++ /dev/null @@ -1,141 +0,0 @@ - - - - - -Taper - - - - - - - - - - - - - -

Taper

- -

Taper mesh quality - criterion represents the ratio of the areas of two triangles separated - by a diagonal. So it can be calculated only for elements consisting of - 4 nodes.

- -

 

- -

- -

 

- -

 

- -

To apply the Taper quality criterion to your mesh:

- -

 

- -

1. Display your mesh in the viewer.

- -

 

- -

2. Choose Controls - > Taper or click button in 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 a Taper - quality control operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/translation.htm b/doc/salome/gui/SMESH/files/translation.htm deleted file mode 100755 index 8102d759d..000000000 --- a/doc/salome/gui/SMESH/files/translation.htm +++ /dev/null @@ -1,137 +0,0 @@ - - - - - -Translation - - - - - - - - - - - - -

Translation

- -

This geometrical operation allows to translate in space your mesh or - some of its elements.

- -

 

- -

 To - translate your mesh:

- -

 

- -

From the Modification - choose Transformation and -  from its - sub-menu select the Translation item. - The following dialog box shall appear:

- -

 

- -

  

- -

 

- -

This operation has two options, you can translate - in space your mesh or some of its elements specifying:

- -
    - -
  • two points (starting - and ending)

  • - -
  • one vector

  • -
- -

Toggle the corresponding checkbox to Select whole mesh, submesh or group.

- -

Create a - copy button allows to copy the translated object.

- -

 

- -

  See - Also a sample TUI Script of a Translation - operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/uniting_a_set_of_triangles.htm b/doc/salome/gui/SMESH/files/uniting_a_set_of_triangles.htm deleted file mode 100755 index 514f50a76..000000000 --- a/doc/salome/gui/SMESH/files/uniting_a_set_of_triangles.htm +++ /dev/null @@ -1,183 +0,0 @@ - - - - - -Uniting a set of triangles - - - - - - - - - - - - - -

Uniting a set of triangles

- -

In contrast to the - previous operation this one allows to unite at once many triangles - if they have adjacent edges.

- -

 

- -

To union several triangles:

- -

 

- -

- -

 

- -

1. Display a mesh or a submesh in the 3D - viewer.

- -

2. In the Modification - menu select the Union of triangles - item or click button in the toolbar. The following - dialog box will appear:

- -

 

- -
    - -
  • The main list shall contain the triangles - which will be united. You can click on an triangle in the 3D viewer and - it will be highlighted. After that click the Add - button and the ID of this triangle will be added to the list. To - remove a selected element or elements from the list click the Remove - button. The Sort button - allows to sort the list of IDs. The Set - filter button allows to apply a definite filter to selection of - triangles.

  • - -
  • Apply to all radio button allows to - modify the orientation of all triangles of the currently displayed mesh - or submesh.

  • - -
  • Criterion menu allows to apply the operation - only to those object which meet the chosen criterion (from the list of - Quality Controls, i.e. Skew, Warping, Minimum Angle, etc.)

  • - -
  • Select from set of fields allows to - choose a submesh or an existing group whose triangle elements will be - automatically added to the list.

  • -
- -

 

- -

3. Click the Apply - or OK button to confirm - the operation.

- -

 

- -

If some selected triangle - elements have no adjacent edges with one of the others, the operation - on these elements shall take no effect.

- -

 

- -

   

- -

 

- -

 See - Also a sample TUI Script of a Uniting - a Set of Triangles operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/uniting_two_triangles.htm b/doc/salome/gui/SMESH/files/uniting_two_triangles.htm deleted file mode 100755 index 61ad185fd..000000000 --- a/doc/salome/gui/SMESH/files/uniting_two_triangles.htm +++ /dev/null @@ -1,151 +0,0 @@ - - - - - -Uniting two triangles - - - - - - - - - - - - -

Uniting two triangles

- -

 In MESH - you can union two neighboring triangles (cells) by deletion of the common - edge.

- -

 

- -

To unite two triangles:

- -

 

- -

1. From the Modification - menu choose the Union of two triangles - item or click button in the toolbar. The following - dialog box shall appear:

- -

 

- -

- -

 

- -

2. Enter the ID of the required edge in the - Edge  field - or select this edge in the 3D viewer.

- -

 

- -

3. Click the Apply - or OK button.

- -

 

- -

 

- - --- - - - -
-

-

- -

 

- -

  See - Also a sample TUI Script of a Uniting - Two Triangles operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/using_operations_on_groups.htm b/doc/salome/gui/SMESH/files/using_operations_on_groups.htm deleted file mode 100755 index b24231f23..000000000 --- a/doc/salome/gui/SMESH/files/using_operations_on_groups.htm +++ /dev/null @@ -1,315 +0,0 @@ - - - - - -Using operations on groups - - - - - - - - - - - - - -

Using operations on groups

- -

In MESH you can - perform some Boolean operations on groups, which belong to one and the - same mesh.

- -

 

- - - -

 

- -

Union of two groups

- -

This operation allows to create a new group in such a way that all mesh - elements that are present in the initial groups will be added to the new - one.

- -

 

- -

To union two groups:

- -

 

- -

1. In the Mesh - menu select the Union Groups item. - The following dialog box will appear:

- -

 

- - --- - - - -
-

-

       

-

            Group1 -                         Group2 -                          Group12

-

 

-

For example, we have two groups Group1 and Group2.

-

The result of their Union will - be Group12   

- -

  

- -

 In - this dialog box you should specify the name - of the resulting group and two - groups which will be united.

- -

 

- -

2. Click the Ok - or  Apply - button to confirm creation of the group.

- -

 

- -

See Also - a sample TUI Script of a Union - of two Groups operation.  

- -

 

- -

 

- -

 

- -

Intersection of two groups

- -

This operation allows to create a new group in such a way that all mesh - elements that are present in both initial groups are added to the new - one.

- -

 

- -

To intersect two groups:

- -

 

- -

1. In the Mesh - menu select the Intersect Groups - item. The following dialog box will appear:

- -

 

- - --- - - - -
-

-

 

-

            Group1 -                         Group2 -                    Group12a

-

 

-

For example, we have two groups Group1 and Group2.

-

The result of their Intersection - will be Group12a   

- -

 

- -

In this dialog box you should specify the - name of the resulting group and - two groups which will be intersected.

- -

 

- -

2. Click the Ok - or  Apply - button to confirm creation of the group.

- -

 

- -

 See - Also a sample TUI Script of an  Intersection - of two Groups operation.  

- -

 

- -

Cut of two groups

- -

This operation allows to create a new group in such a way that all mesh - elements that are present in the main group but are absent in the tool - group are added to the new one.

- -

 

- -

To cut two groups:

- -

 

- -

1. In the Mesh - menu select the Cut Groups item. - The following dialog box will appear:

- -

 

- - --- - - - -
-

-

    

-

           Group1 -                          Group2 -                        Group12b

-

 

-

For example, we have two groups Group1 and Group2.

-

The result of their Cut will - be Group12b   

- -

 

- -

In this dialog box you should specify the - name of the resulting group and - two groups which will be cut.

- -

 

- -

2. Click the Ok - or  Apply - button to confirm creation of the group.  

- -

 

- -

  See - Also a sample TUI Script of a  Cut - of two Groups operation.  

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/viewing_mesh_info.htm b/doc/salome/gui/SMESH/files/viewing_mesh_info.htm deleted file mode 100755 index 267ac4529..000000000 --- a/doc/salome/gui/SMESH/files/viewing_mesh_info.htm +++ /dev/null @@ -1,184 +0,0 @@ - - - - - -Viewing mesh info - - - - - - - - - - - - - -

Mesh infos

- -

There are two types of information boxes: Standard - Mesh Infos and Advanced - Mesh Infos.

- -

 

- - - -

 

- -

Standard Mesh Infos

- -

The Standard - Mesh Infos box gives only the information on the number of elements - of maximum dimension and the number of nodes in the mesh. However, from - this Info you can learn about groups selected on this mesh.

- -

To view the Standard - Mesh Infos, select your mesh or submesh in the Object - Browser and select Standard Mesh Infos from - the Mesh menu or click - button in the toolbar. The following information will - be displayed:

- -

 

- -

- -

 

- -

Advanced Mesh Infos

- -

The Advanced Mesh - Infos gives more information about the mesh, including the total - number of faces and volumes and their geometrical types.

- -

To view the Advanced Mesh Infos, select - your mesh or submesh in the Object Browser - and select Advanced - Mesh Infos from the Mesh menu or click button - in the toolbar. The following information will be displayed:

- -

 

- -

- -

 

- -

 

- -

In case you get Mesh Infos via a TUI - script, the information is displayed in Python Console.

- -

 

- -

- -

 

- -

 

- -

 

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/files/vtk_3d_viewer.htm b/doc/salome/gui/SMESH/files/vtk_3d_viewer.htm deleted file mode 100755 index e8ce5413c..000000000 --- a/doc/salome/gui/SMESH/files/vtk_3d_viewer.htm +++ /dev/null @@ -1,229 +0,0 @@ - - - - - -VTK 3D Viewer - - - - - - - - - - - -

VTK 3D Viewer

- -

VTK - 3D viewer is the default viewer for Mesh Module, allowing to visualize - meshes. It is also used in Post-Pro module for all 3D presentations except - for Gauss Points.

- -

 

- -

The functionalities of - VTK viewer are available via its Viewer Toolbar. Buttons marked with small - downward triangles have extended functionality which can be accessed by - locking on them with left mouse button.  

- -

 

- -

- -
    - -
  • Dump View - exports - an object from the viewer in bmp, png, jpg or jpeg image format.

  • - -
  • Show/Hide Trihedron - - shows or hides coordinate axes.

  • - -
  •  Fit - all - allows to select a point to be the center of a scene representing - all displayed objects in the visible area. -

  • - -
  •   Fit area - resizes - the view to place in the visible area only the contents of a frame drawn - with pressed left mouse button.

  • - -
  • Zoom -  allows - to zoom in and out.

  • - -
  • Panning - if the - represented objects are greater that the visible area and you don't wish - to use Fit all functionality, - click on this button and you'll be able to drag the scene to see its remote - parts.

  • - -
  • Global panning - - represents all displayed objects in the visible area.

  • - -
  • Rotation - allows - to rotate the selected object using the mouse.

  • - -
  • These buttons orientate the scene strictly about coordinate - axes.

  • - -
  • Reset - restores - the default position (isometric) of objects in the scene.

  • - -
  • Scaling - represents - objects deformed (stretched or stuffed) along the axes of coordinates

  • - -
  •  Graduated axes - allows - to define parameters of axes and graduate them.

  • -
- -

 

- -

- -
    - -
  • Axis name

  • - -
  • Is visible - if checked the axis name is displayed in - the viewer.

  • - -
  • Name - - allows to redefine the name of the axis.

  • - -
  • Font - - allows to define color and properties of the font of axis name.

  • - -
  • Labels -

  • - -
  • Is visible - if checked the labels are displayed in the - viewer.

  • - -
  • Number - - allows to define the number of labels.

  • - -
  • Offset - - allows to define the distance between labels.

  • - -
  • Font - - allows to define color and properties of the font of labels names.

  • - -
  • Tick marks

  • - -
  • Is visible - if checked the tick marks are displayed in - the viewer.

  • - -
  • Length - - allows to define the length of tick marks

  • - -
  • Is visible if - checked the axis is displayed in the viewer.

  • -
- - - - diff --git a/doc/salome/gui/SMESH/files/warp.htm b/doc/salome/gui/SMESH/files/warp.htm deleted file mode 100755 index b5191bdbf..000000000 --- a/doc/salome/gui/SMESH/files/warp.htm +++ /dev/null @@ -1,156 +0,0 @@ - - - - - -Warp - - - - - - - - - - - - - -

Warping

- -

Warping indicates - that a face is not planar and is applied only to 2D elements with 4 nodes. - This quality control criterion is based on a projection plane created - by:

- -

1. bisecting the four element edges,

- -

2. creating a point on the plane at the vector - average of the corners, where the x-axis extends from the point to the - bisector on edge 2.

- -

The plane normal is in the direction of the - cross product of the x-axis and the vector from the origin to the bisector - of edge 3. Every corner of the quad will then be a distance “h” from the - plane. The length of each half edge is measured and the shortest length - is assigned “l”. The warp angle is the arcsine of the ratio of the projection - height “h” to the half edge length “l”.

- -

 

- -

- -

 

- -

 

- -

To apply the Warping quality criterion to your mesh:

- -

 

- -

1. Display your mesh in the viewer.

- -

 

- -

2. Choose Controls - > Warp 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 a Warping - quality control operation.  

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/free_borders.htm b/doc/salome/gui/SMESH/free_borders.htm deleted file mode 100755 index abe1d0fa3..000000000 --- a/doc/salome/gui/SMESH/free_borders.htm +++ /dev/null @@ -1,120 +0,0 @@ - - - - - -Free borders - - - - - - - - - - - - - -

Free borders

- -

This mesh quality control highlights borders of faces - consisting of edges belonging to one face only.

- -

 

- -

 

- -

 

- -

In this picture the free borders are displayed in white.

- -

 

- -

See Also - a sample TUI Script of a Free - Borders quality control operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/free_edges.htm b/doc/salome/gui/SMESH/free_edges.htm deleted file mode 100755 index 52ea7f54a..000000000 --- a/doc/salome/gui/SMESH/free_edges.htm +++ /dev/null @@ -1,122 +0,0 @@ - - - - - -Free_edges - - - - - - - - - - - - - -

Free edges

- -

  This - mesh quality control highlights borders of  elements - of mesh consisting of edges belonging to one element of mesh only.

- -

 

- -

- -

 

- -

In this picture some elements of mesh have - been deleted and the "holes" are outlined in red.

- -

 

- -

See Also - a sample TUI Script of a Free - Edges quality control operation.  

- -

 

- - - - diff --git a/doc/salome/gui/SMESH/grouping_elements.htm b/doc/salome/gui/SMESH/grouping_elements.htm deleted file mode 100755 index 822a2cfd3..000000000 --- a/doc/salome/gui/SMESH/grouping_elements.htm +++ /dev/null @@ -1,976 +0,0 @@ - - - - - -Grouping Elements - - - - - - - - - - - -

Grouping Elements

- -

Create a Standalone Group

- -

 

- -

import SMESH

- -

import SMESH_mechanic

- -

 

- -

smesh  = - SMESH_mechanic.smesh

- -

mesh   = - SMESH_mechanic.mesh

- -

salome = SMESH_mechanic.salome

- -

 

- -

aFilterMgr = smesh.CreateFilterManager()

- -

 

- -

# Criterion : AREA > - 100

- -

 

- -

aFunctor = aFilterMgr.CreateArea()

- -

aPredicate = aFilterMgr.CreateMoreThan()

- -

aPredicate.SetNumFunctor( - aFunctor )

- -

aPredicate.SetMargin( - 100 )

- -

 

- -

aFilter = aFilterMgr.CreateFilter()

- -

aFilter.SetPredicate( - aPredicate )

- -

 

- -

anIds = aFilter.GetElementsId( - mesh )

- -

 

- -

# print the result

- -

print "Criterion: - Area > 100 Nb = ", len( anIds )

- -

for i in range( - len( anIds ) ):

- -

  print - anIds[ i ]

- -

 

- -

# create a group consisting - of faces with area > 100

- -

aGroup = mesh.CreateGroup( - SMESH.FACE, "Area > 100" )

- -

aGroup.Add( anIds - )

- -

 

- -

salome.sg.updateObjBrowser(1) -

- -

 

- -

- -

Create a Group on Geometry

- -

Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
  - -

import salome

- -

import geompy

- -

 

- -

import SMESH

- -

import StdMeshers

- -

 

- -

smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

- -

 

- -

# create a box

- -

box = geompy.MakeBox(0., - 0., 0., 100., 100., 100.)

- -

 

- -

# add the box to the study

- -

idbox = geompy.addToStudy(box, - "box")

- -

 

- -

# add the first face of - the box to the study

- -

subShapeList = geompy.SubShapeAll(box, - geompy.ShapeType["FACE"])

- -

face = subShapeList[0]

- -

name = geompy.SubShapeName(face, - box)

- -

idface = geompy.addToStudyInFather(box, - face, name)

- -

 

- -

# create a hypothesis

- -

numberOfSegments - = 7

- -

hypNbSeg = smesh.CreateHypothesis("NumberOfSegments", - "libStdMeshersEngine.so")

- -

hypNbSeg.SetNumberOfSegments(numberOfSegments)

- -

 

- -

# create algorithms

- -

regular1D = smesh.CreateHypothesis("Regular_1D", - "libStdMeshersEngine.so")

- -

quad2D = smesh.CreateHypothesis("Quadrangle_2D", - "libStdMeshersEngine.so")

- -

 

- -

# initialize a mesh with - the box

- -

mesh = smesh.CreateMesh(box)

- -

 

- -

# add hypotheses and algorithms - to the box

- -

mesh.AddHypothesis(box,hypNbSeg)

- -

mesh.AddHypothesis(box,regular1D)

- -

mesh.AddHypothesis(box,quad2D)

- -

 

- -

# compute the mesh

- -

ret = smesh.Compute(mesh,box)

- -

if ret == 0:

- -

    print - "probleme when computing the mesh"

- -

else:

- -

    print - "Computation succeded"

- -

 

- -

# create geometry groups - on the face

- -

aGeomGroup1 = geompy.CreateGroup(face, - geompy.ShapeType["FACE"])

- -

geompy.AddObject(aGeomGroup1, - 1)

- -

 

- -

aGeomGroup2 = geompy.CreateGroup(face, - geompy.ShapeType["EDGE"])

- -

geompy.AddObject(aGeomGroup2, - 3)

- -

geompy.AddObject(aGeomGroup2, - 6)

- -

geompy.AddObject(aGeomGroup2, - 8)

- -

geompy.AddObject(aGeomGroup2, - 10)

- -

 

- -

geompy.addToStudy(aGeomGroup1, - "Group on Faces")

- -

geompy.addToStudy(aGeomGroup2, - "Group on Edges")

- -

 

- -

# create SMESH groups

- -

aSmeshGroup1 = mesh.CreateGroupFromGEOM(SMESH.FACE, - "SMESHGroup1",

- -

aGeomGroup1)

- -

aSmeshGroup2 = mesh.CreateGroupFromGEOM(SMESH.EDGE, - "SMESHGroup2", aGeomGroup2)

- -

 

- -

salome.sg.updateObjBrowser(1) -  

- -

 

- -

Edit a Group

- -

import SMESH

- -

import SMESH_mechanic

- -

 

- -

smesh  = - SMESH_mechanic.smesh

- -

mesh   = - SMESH_mechanic.mesh

- -

salome = SMESH_mechanic.salome

- -

 

- -

aFilterMgr = smesh.CreateFilterManager()

- -

 

- -

# Criterion : AREA > - 20

- -

 

- -

aFunctor = aFilterMgr.CreateArea()

- -

aPredicate = aFilterMgr.CreateMoreThan()

- -

aPredicate.SetNumFunctor( - aFunctor )

- -

aPredicate.SetMargin( - 30 )

- -

 

- -

aFilter = aFilterMgr.CreateFilter()

- -

aFilter.SetPredicate( - aPredicate )

- -

 

- -

anIds = aFilter.GetElementsId( - mesh )

- -

 

- -

# create a group by adding - elements with area > 20

- -

aGroup = mesh.CreateGroup( - SMESH.FACE, "Area > 20" )

- -

aGroup.Add( anIds - )

- -

 

- -

print "Criterion: - Area > 20 Nb = ", len( anIds )

- -

for i in range( - len( anIds ) ):

- -

  print - anIds[ i ]

- -

 

- -

# Criterion : AREA > - 60

- -

 

- -

aFunctor = aFilterMgr.CreateArea()

- -

aPredicate = aFilterMgr.CreateMoreThan()

- -

aPredicate.SetNumFunctor( - aFunctor )

- -

aPredicate.SetMargin( - 60 )

- -

 

- -

aFilter = aFilterMgr.CreateFilter()

- -

aFilter.SetPredicate( - aPredicate )

- -

 

- -

anIds = aFilter.GetElementsId( - mesh )

- -

 

- -

# create a group of elements - with area [20; 60] by removing elements with area > 60 from  group - aGroup

- -

aGroup.Remove(anIds)

- -

 

- -

# print the result

- -

aGroupElemIDs = - aGroup.GetListOfID()

- -

print "Criterion: - 20 < Area < 60 = ", len( aGroupElemIDs )

- -

for i in range( - len( aGroupElemIDs ) ):

- -

  print - aGroupElemIDs[ i ]

- -

 

- -

salome.sg.updateObjBrowser(1) -

- -

 

- -

 

- -

Union of two groups

- -

import SMESH

- -

import SMESH_mechanic

- -

 

- -

smesh  = - SMESH_mechanic.smesh

- -

mesh   = - SMESH_mechanic.mesh

- -

salome = SMESH_mechanic.salome

- -

 

- -

aFilterMgr = smesh.CreateFilterManager()

- -

 

- -

# Criterion : AREA > - 20

- -

 

- -

aFunctor = aFilterMgr.CreateArea()

- -

aPredicate = aFilterMgr.CreateMoreThan()

- -

aPredicate.SetNumFunctor( - aFunctor )

- -

aPredicate.SetMargin( - 20 )

- -

 

- -

aFilter = aFilterMgr.CreateFilter()

- -

aFilter.SetPredicate( - aPredicate )

- -

 

- -

anIds = aFilter.GetElementsId( - mesh )

- -

 

- -

# create a group by adding - elements with area > 20

- -

aGroup1 = mesh.CreateGroup( - SMESH.FACE, "Area > 20" )

- -

aGroup1.Add( anIds - )

- -

 

- -

print "Criterion: - Area > 20 Nb = ", len( anIds )

- -

for i in range( - len( anIds ) ):

- -

  print - anIds[ i ]

- -

 

- -

# Criterion : AREA = 20

- -

 

- -

aFunctor = aFilterMgr.CreateArea()

- -

aPredicate = aFilterMgr.CreateEqualTo()

- -

aPredicate.SetNumFunctor( - aFunctor )

- -

aPredicate.SetMargin( - 20 )

- -

 

- -

aFilter = aFilterMgr.CreateFilter()

- -

aFilter.SetPredicate( - aPredicate )

- -

 

- -

anIds = aFilter.GetElementsId( - mesh )

- -

 

- -

# create a group by adding - elements with area > 20

- -

aGroup2 = mesh.CreateGroup( - SMESH.FACE, "Area = 20" )

- -

aGroup2.Add( anIds - )

- -

 

- -

print "Criterion: - Area = 20 Nb = ", len( anIds )

- -

for i in range( - len( anIds ) ):

- -

  print - anIds[ i ]

- -

 

- -

# create union group : - area >= 20

- -

aGroup3 = mesh.UnionGroups(aGroup1, - aGroup2, "Area >= 20")

- -

print "Criterion: - Area >= 20 Nb = ", len( aGroup3.GetListOfID() )

- -

 

- -

# Criterion : AREA < - 20

- -

 

- -

aFunctor = aFilterMgr.CreateArea()

- -

aPredicate = aFilterMgr.CreateLessThan()

- -

aPredicate.SetNumFunctor( - aFunctor )

- -

aPredicate.SetMargin( - 20 )

- -

 

- -

aFilter = aFilterMgr.CreateFilter()

- -

aFilter.SetPredicate( - aPredicate )

- -

 

- -

anIds = aFilter.GetElementsId( - mesh )

- -

 

- -

# create a group by adding - elements with area < 20

- -

aGroup4 = mesh.CreateGroup( - SMESH.FACE, "Area < 20" )

- -

aGroup4.Add( anIds - )

- -

 

- -

print "Criterion: - Area < 20 Nb = ", len( anIds )

- -

for i in range( - len( anIds ) ):

- -

  print - anIds[ i ]

- -

  

- -

# create union group : - area >= 20 and area < 20

- -

aGroup5 = mesh.UnionGroups(aGroup3, - aGroup4, "Any Area")

- -

print "Criterion: - Any Area Nb = ", len( aGroup5.GetListOfID() )

- -

 

- -

salome.sg.updateObjBrowser(1) -

- -

 

- -

- -

 

- -

- -

 

- -

Intersection of two groups

- -

import SMESH

- -

import SMESH_mechanic

- -

 

- -

smesh  = - SMESH_mechanic.smesh

- -

mesh   = - SMESH_mechanic.mesh

- -

salome = SMESH_mechanic.salome

- -

 

- -

aFilterMgr = smesh.CreateFilterManager()

- -

 

- -

# Criterion : AREA > - 20

- -

 

- -

aFunctor = aFilterMgr.CreateArea()

- -

aPredicate = aFilterMgr.CreateMoreThan()

- -

aPredicate.SetNumFunctor( - aFunctor )

- -

aPredicate.SetMargin( - 20 )

- -

 

- -

aFilter = aFilterMgr.CreateFilter()

- -

aFilter.SetPredicate( - aPredicate )

- -

 

- -

anIds = aFilter.GetElementsId( - mesh )

- -

 

- -

# create a group by adding - elements with area > 20

- -

aGroup1 = mesh.CreateGroup( - SMESH.FACE, "Area > 20" )

- -

aGroup1.Add( anIds - )

- -

 

- -

print "Criterion: - Area > 20 Nb = ", len( anIds )

- -

for i in range( - len( anIds ) ):

- -

  print - anIds[ i ]

- -

 

- -

# Criterion : AREA < - 60

- -

 

- -

aFunctor = aFilterMgr.CreateArea()

- -

aPredicate = aFilterMgr.CreateLessThan()

- -

aPredicate.SetNumFunctor( - aFunctor )

- -

aPredicate.SetMargin( - 60 )

- -

 

- -

aFilter = aFilterMgr.CreateFilter()

- -

aFilter.SetPredicate( - aPredicate )

- -

 

- -

anIds = aFilter.GetElementsId( - mesh )

- -

 

- -

# create a group by adding - elements with area < 60

- -

aGroup2 = mesh.CreateGroup( - SMESH.FACE, "Area < 60" )

- -

aGroup2.Add( anIds - )

- -

 

- -

print "Criterion: - Area < 60 Nb = ", len( anIds )

- -

for i in range( - len( anIds ) ):

- -

  print - anIds[ i ]

- -

  

- -

# create an intersection - of groups : 20 < area < 60

- -

aGroup3 = mesh.IntersectGroups(aGroup1, - aGroup2, "20 < Area < 60")

- -

print "Criterion: - 20 < Area < 60 Nb = ", len( aGroup3.GetListOfID() )

- -

 

- -

salome.sg.updateObjBrowser(1) -

- -

 

- -

   

- -

Cut of two groups

- -

import SMESH

- -

import SMESH_mechanic

- -

 

- -

smesh  = - SMESH_mechanic.smesh

- -

mesh   = - SMESH_mechanic.mesh

- -

salome = SMESH_mechanic.salome

- -

 

- -

aFilterMgr = smesh.CreateFilterManager()

- -

 

- -

# Criterion : AREA > - 20

- -

 

- -

aFunctor = aFilterMgr.CreateArea()

- -

aPredicate = aFilterMgr.CreateMoreThan()

- -

aPredicate.SetNumFunctor( - aFunctor )

- -

aPredicate.SetMargin( - 20 )

- -

 

- -

aFilter = aFilterMgr.CreateFilter()

- -

aFilter.SetPredicate( - aPredicate )

- -

 

- -

anIds = aFilter.GetElementsId( - mesh )

- -

 

- -

# create a group by adding - elements with area > 20

- -

aGroupMain = mesh.CreateGroup( - SMESH.FACE, "Area > 20" )

- -

aGroupMain.Add( - anIds )

- -

 

- -

print "Criterion: - Area > 20 Nb = ", len( anIds )

- -

for i in range( - len( anIds ) ):

- -

  print - anIds[ i ]

- -

 

- -

# Criterion : AREA < - 60

- -

 

- -

aFunctor = aFilterMgr.CreateArea()

- -

aPredicate = aFilterMgr.CreateLessThan()

- -

aPredicate.SetNumFunctor( - aFunctor )

- -

aPredicate.SetMargin( - 60 )

- -

 

- -

aFilter = aFilterMgr.CreateFilter()

- -

aFilter.SetPredicate( - aPredicate )

- -

 

- -

anIds = aFilter.GetElementsId( - mesh )

- -

 

- -

# create a group by adding - elements with area < 60

- -

aGroupTool = mesh.CreateGroup( - SMESH.FACE, "Area < 60" )

- -

aGroupTool.Add( - anIds )

- -

 

- -

print "Criterion: - Area < 60 Nb = ", len( anIds )

- -

for i in range( - len( anIds ) ):

- -

  print - anIds[ i ]

- -

  

- -

# create an intersection - of groups : area >= 60

- -

aGroupRes = mesh.CutGroups(aGroupMain, - aGroupTool, "Area >= 60")

- -

print "Criterion: - Area >= 60 Nb = ", len( aGroupRes.GetListOfID() )

- -

 

- -

salome.sg.updateObjBrowser(1) -

- -

 

- -

   

- - - - diff --git a/doc/salome/gui/SMESH/i_blue.jpg b/doc/salome/gui/SMESH/i_blue.jpg deleted file mode 100755 index ed3acfac2..000000000 Binary files a/doc/salome/gui/SMESH/i_blue.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image10.jpg b/doc/salome/gui/SMESH/image10.jpg deleted file mode 100755 index 5a15643bb..000000000 Binary files a/doc/salome/gui/SMESH/image10.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image101.gif b/doc/salome/gui/SMESH/image101.gif deleted file mode 100755 index b761fec72..000000000 Binary files a/doc/salome/gui/SMESH/image101.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image102.gif b/doc/salome/gui/SMESH/image102.gif deleted file mode 100755 index be6a58286..000000000 Binary files a/doc/salome/gui/SMESH/image102.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image103.gif b/doc/salome/gui/SMESH/image103.gif deleted file mode 100755 index f3d6951da..000000000 Binary files a/doc/salome/gui/SMESH/image103.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image104.gif b/doc/salome/gui/SMESH/image104.gif deleted file mode 100755 index 3c33feee7..000000000 Binary files a/doc/salome/gui/SMESH/image104.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image105.gif b/doc/salome/gui/SMESH/image105.gif deleted file mode 100755 index 0f7454573..000000000 Binary files a/doc/salome/gui/SMESH/image105.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image106.gif b/doc/salome/gui/SMESH/image106.gif deleted file mode 100755 index 71bda2e9a..000000000 Binary files a/doc/salome/gui/SMESH/image106.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image108.gif b/doc/salome/gui/SMESH/image108.gif deleted file mode 100755 index 5f0ed45b4..000000000 Binary files a/doc/salome/gui/SMESH/image108.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image119.gif b/doc/salome/gui/SMESH/image119.gif deleted file mode 100755 index 5294d844d..000000000 Binary files a/doc/salome/gui/SMESH/image119.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image120.gif b/doc/salome/gui/SMESH/image120.gif deleted file mode 100755 index 18ddeca6d..000000000 Binary files a/doc/salome/gui/SMESH/image120.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image121.gif b/doc/salome/gui/SMESH/image121.gif deleted file mode 100755 index 7a2ffd66c..000000000 Binary files a/doc/salome/gui/SMESH/image121.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image122.gif b/doc/salome/gui/SMESH/image122.gif deleted file mode 100755 index 207d30b97..000000000 Binary files a/doc/salome/gui/SMESH/image122.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image123.gif b/doc/salome/gui/SMESH/image123.gif deleted file mode 100755 index 2780e70d4..000000000 Binary files a/doc/salome/gui/SMESH/image123.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image124.gif b/doc/salome/gui/SMESH/image124.gif deleted file mode 100755 index 98f0c40b6..000000000 Binary files a/doc/salome/gui/SMESH/image124.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image125.gif b/doc/salome/gui/SMESH/image125.gif deleted file mode 100755 index 198351307..000000000 Binary files a/doc/salome/gui/SMESH/image125.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image126.gif b/doc/salome/gui/SMESH/image126.gif deleted file mode 100755 index e2e695519..000000000 Binary files a/doc/salome/gui/SMESH/image126.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image127.gif b/doc/salome/gui/SMESH/image127.gif deleted file mode 100755 index 79bccc66f..000000000 Binary files a/doc/salome/gui/SMESH/image127.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image130.gif b/doc/salome/gui/SMESH/image130.gif deleted file mode 100755 index cc8c3a5e1..000000000 Binary files a/doc/salome/gui/SMESH/image130.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image131.gif b/doc/salome/gui/SMESH/image131.gif deleted file mode 100755 index 8ca3453fd..000000000 Binary files a/doc/salome/gui/SMESH/image131.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image132.gif b/doc/salome/gui/SMESH/image132.gif deleted file mode 100755 index e7577ea7c..000000000 Binary files a/doc/salome/gui/SMESH/image132.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image133.gif b/doc/salome/gui/SMESH/image133.gif deleted file mode 100755 index 60a4b9605..000000000 Binary files a/doc/salome/gui/SMESH/image133.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image134.gif b/doc/salome/gui/SMESH/image134.gif deleted file mode 100755 index 60148bab7..000000000 Binary files a/doc/salome/gui/SMESH/image134.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image135.gif b/doc/salome/gui/SMESH/image135.gif deleted file mode 100755 index 13b7b089b..000000000 Binary files a/doc/salome/gui/SMESH/image135.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image136.gif b/doc/salome/gui/SMESH/image136.gif deleted file mode 100755 index 9b17450fc..000000000 Binary files a/doc/salome/gui/SMESH/image136.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image137.gif b/doc/salome/gui/SMESH/image137.gif deleted file mode 100755 index 7f4cd13fe..000000000 Binary files a/doc/salome/gui/SMESH/image137.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image142.gif b/doc/salome/gui/SMESH/image142.gif deleted file mode 100755 index 2f411e58d..000000000 Binary files a/doc/salome/gui/SMESH/image142.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image143.gif b/doc/salome/gui/SMESH/image143.gif deleted file mode 100755 index de9df148f..000000000 Binary files a/doc/salome/gui/SMESH/image143.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image144.gif b/doc/salome/gui/SMESH/image144.gif deleted file mode 100755 index 3dffd53ff..000000000 Binary files a/doc/salome/gui/SMESH/image144.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image145.gif b/doc/salome/gui/SMESH/image145.gif deleted file mode 100755 index 8005557e1..000000000 Binary files a/doc/salome/gui/SMESH/image145.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image146.gif b/doc/salome/gui/SMESH/image146.gif deleted file mode 100755 index 18f22241d..000000000 Binary files a/doc/salome/gui/SMESH/image146.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image147.gif b/doc/salome/gui/SMESH/image147.gif deleted file mode 100755 index 7b9a354b9..000000000 Binary files a/doc/salome/gui/SMESH/image147.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image148.gif b/doc/salome/gui/SMESH/image148.gif deleted file mode 100755 index 0ef414777..000000000 Binary files a/doc/salome/gui/SMESH/image148.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image15.jpg b/doc/salome/gui/SMESH/image15.jpg deleted file mode 100755 index 15edee5b3..000000000 Binary files a/doc/salome/gui/SMESH/image15.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image151.gif b/doc/salome/gui/SMESH/image151.gif deleted file mode 100755 index 5c4a20e9a..000000000 Binary files a/doc/salome/gui/SMESH/image151.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image152.gif b/doc/salome/gui/SMESH/image152.gif deleted file mode 100755 index 2005d3fff..000000000 Binary files a/doc/salome/gui/SMESH/image152.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image18.gif b/doc/salome/gui/SMESH/image18.gif deleted file mode 100755 index a5ae8d8fc..000000000 Binary files a/doc/salome/gui/SMESH/image18.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image19.gif b/doc/salome/gui/SMESH/image19.gif deleted file mode 100755 index 3cf748a52..000000000 Binary files a/doc/salome/gui/SMESH/image19.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image20.gif b/doc/salome/gui/SMESH/image20.gif deleted file mode 100755 index 5417f896b..000000000 Binary files a/doc/salome/gui/SMESH/image20.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image22.jpg b/doc/salome/gui/SMESH/image22.jpg deleted file mode 100755 index b6a5e8db6..000000000 Binary files a/doc/salome/gui/SMESH/image22.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image23.jpg b/doc/salome/gui/SMESH/image23.jpg deleted file mode 100755 index 74f899b00..000000000 Binary files a/doc/salome/gui/SMESH/image23.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image24.gif b/doc/salome/gui/SMESH/image24.gif deleted file mode 100755 index 3d8032bf0..000000000 Binary files a/doc/salome/gui/SMESH/image24.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image25.gif b/doc/salome/gui/SMESH/image25.gif deleted file mode 100755 index cd7c967bc..000000000 Binary files a/doc/salome/gui/SMESH/image25.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image25.jpg b/doc/salome/gui/SMESH/image25.jpg deleted file mode 100755 index 4b2d4dfe4..000000000 Binary files a/doc/salome/gui/SMESH/image25.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image27.jpg b/doc/salome/gui/SMESH/image27.jpg deleted file mode 100755 index d2f32b184..000000000 Binary files a/doc/salome/gui/SMESH/image27.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image28.gif b/doc/salome/gui/SMESH/image28.gif deleted file mode 100755 index 21f54bf45..000000000 Binary files a/doc/salome/gui/SMESH/image28.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image30.gif b/doc/salome/gui/SMESH/image30.gif deleted file mode 100755 index 55859c763..000000000 Binary files a/doc/salome/gui/SMESH/image30.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image30.jpg b/doc/salome/gui/SMESH/image30.jpg deleted file mode 100755 index 997a36e35..000000000 Binary files a/doc/salome/gui/SMESH/image30.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image31.jpg b/doc/salome/gui/SMESH/image31.jpg deleted file mode 100755 index aa004031b..000000000 Binary files a/doc/salome/gui/SMESH/image31.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image32.gif b/doc/salome/gui/SMESH/image32.gif deleted file mode 100755 index a1ee2ee02..000000000 Binary files a/doc/salome/gui/SMESH/image32.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image32.jpg b/doc/salome/gui/SMESH/image32.jpg deleted file mode 100755 index 77d595dce..000000000 Binary files a/doc/salome/gui/SMESH/image32.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image33.gif b/doc/salome/gui/SMESH/image33.gif deleted file mode 100755 index ecdd47b0b..000000000 Binary files a/doc/salome/gui/SMESH/image33.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image34.gif b/doc/salome/gui/SMESH/image34.gif deleted file mode 100755 index 963095fe8..000000000 Binary files a/doc/salome/gui/SMESH/image34.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image35.gif b/doc/salome/gui/SMESH/image35.gif deleted file mode 100755 index 0e3b30fd0..000000000 Binary files a/doc/salome/gui/SMESH/image35.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image36.gif b/doc/salome/gui/SMESH/image36.gif deleted file mode 100755 index 7236ef8b9..000000000 Binary files a/doc/salome/gui/SMESH/image36.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image36.jpg b/doc/salome/gui/SMESH/image36.jpg deleted file mode 100755 index 9b44dc727..000000000 Binary files a/doc/salome/gui/SMESH/image36.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image37.gif b/doc/salome/gui/SMESH/image37.gif deleted file mode 100755 index edd5263d8..000000000 Binary files a/doc/salome/gui/SMESH/image37.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image37.jpg b/doc/salome/gui/SMESH/image37.jpg deleted file mode 100755 index 5fba91a2f..000000000 Binary files a/doc/salome/gui/SMESH/image37.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image38.gif b/doc/salome/gui/SMESH/image38.gif deleted file mode 100755 index 087f6e2be..000000000 Binary files a/doc/salome/gui/SMESH/image38.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image38.jpg b/doc/salome/gui/SMESH/image38.jpg deleted file mode 100755 index 29d5e716c..000000000 Binary files a/doc/salome/gui/SMESH/image38.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image39.gif b/doc/salome/gui/SMESH/image39.gif deleted file mode 100755 index b206af116..000000000 Binary files a/doc/salome/gui/SMESH/image39.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image40.gif b/doc/salome/gui/SMESH/image40.gif deleted file mode 100755 index becc12a47..000000000 Binary files a/doc/salome/gui/SMESH/image40.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image41.gif b/doc/salome/gui/SMESH/image41.gif deleted file mode 100755 index 2e132c239..000000000 Binary files a/doc/salome/gui/SMESH/image41.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image46.gif b/doc/salome/gui/SMESH/image46.gif deleted file mode 100755 index 0f00ea7cf..000000000 Binary files a/doc/salome/gui/SMESH/image46.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image49.gif b/doc/salome/gui/SMESH/image49.gif deleted file mode 100755 index d10d9c4df..000000000 Binary files a/doc/salome/gui/SMESH/image49.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image5.jpg b/doc/salome/gui/SMESH/image5.jpg deleted file mode 100755 index f195ac88a..000000000 Binary files a/doc/salome/gui/SMESH/image5.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image50.gif b/doc/salome/gui/SMESH/image50.gif deleted file mode 100755 index 72d39545a..000000000 Binary files a/doc/salome/gui/SMESH/image50.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image51.jpg b/doc/salome/gui/SMESH/image51.jpg deleted file mode 100755 index dfe3bc606..000000000 Binary files a/doc/salome/gui/SMESH/image51.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image52.jpg b/doc/salome/gui/SMESH/image52.jpg deleted file mode 100755 index 1c83b35f8..000000000 Binary files a/doc/salome/gui/SMESH/image52.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image53.gif b/doc/salome/gui/SMESH/image53.gif deleted file mode 100755 index 8f728207f..000000000 Binary files a/doc/salome/gui/SMESH/image53.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image55.gif b/doc/salome/gui/SMESH/image55.gif deleted file mode 100755 index cc1b80e48..000000000 Binary files a/doc/salome/gui/SMESH/image55.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image56.gif b/doc/salome/gui/SMESH/image56.gif deleted file mode 100755 index ffe1e9521..000000000 Binary files a/doc/salome/gui/SMESH/image56.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image56.jpg b/doc/salome/gui/SMESH/image56.jpg deleted file mode 100755 index 5fba91a2f..000000000 Binary files a/doc/salome/gui/SMESH/image56.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image58.gif b/doc/salome/gui/SMESH/image58.gif deleted file mode 100755 index 45e28568e..000000000 Binary files a/doc/salome/gui/SMESH/image58.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image63.gif b/doc/salome/gui/SMESH/image63.gif deleted file mode 100755 index 6a9c2c86d..000000000 Binary files a/doc/salome/gui/SMESH/image63.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image64.gif b/doc/salome/gui/SMESH/image64.gif deleted file mode 100755 index 1d92c81f1..000000000 Binary files a/doc/salome/gui/SMESH/image64.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image67.gif b/doc/salome/gui/SMESH/image67.gif deleted file mode 100755 index 68bd3e383..000000000 Binary files a/doc/salome/gui/SMESH/image67.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image7.jpg b/doc/salome/gui/SMESH/image7.jpg deleted file mode 100755 index cbd6170ee..000000000 Binary files a/doc/salome/gui/SMESH/image7.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image70.gif b/doc/salome/gui/SMESH/image70.gif deleted file mode 100755 index 120b8e8ef..000000000 Binary files a/doc/salome/gui/SMESH/image70.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image70.jpg b/doc/salome/gui/SMESH/image70.jpg deleted file mode 100755 index 0df360f68..000000000 Binary files a/doc/salome/gui/SMESH/image70.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image71.gif b/doc/salome/gui/SMESH/image71.gif deleted file mode 100755 index 0008354f6..000000000 Binary files a/doc/salome/gui/SMESH/image71.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image71.jpg b/doc/salome/gui/SMESH/image71.jpg deleted file mode 100755 index cb1223d38..000000000 Binary files a/doc/salome/gui/SMESH/image71.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image74.gif b/doc/salome/gui/SMESH/image74.gif deleted file mode 100755 index c66029e74..000000000 Binary files a/doc/salome/gui/SMESH/image74.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image76.jpg b/doc/salome/gui/SMESH/image76.jpg deleted file mode 100755 index 88ec89ffe..000000000 Binary files a/doc/salome/gui/SMESH/image76.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image77.jpg b/doc/salome/gui/SMESH/image77.jpg deleted file mode 100755 index c253eacae..000000000 Binary files a/doc/salome/gui/SMESH/image77.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image78.jpg b/doc/salome/gui/SMESH/image78.jpg deleted file mode 100755 index 80c2a1633..000000000 Binary files a/doc/salome/gui/SMESH/image78.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image79.gif b/doc/salome/gui/SMESH/image79.gif deleted file mode 100755 index 9711ccbc9..000000000 Binary files a/doc/salome/gui/SMESH/image79.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image79.jpg b/doc/salome/gui/SMESH/image79.jpg deleted file mode 100755 index 6d164167f..000000000 Binary files a/doc/salome/gui/SMESH/image79.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image80.gif b/doc/salome/gui/SMESH/image80.gif deleted file mode 100755 index 399af0a9a..000000000 Binary files a/doc/salome/gui/SMESH/image80.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image82.gif b/doc/salome/gui/SMESH/image82.gif deleted file mode 100755 index 93c6c9b96..000000000 Binary files a/doc/salome/gui/SMESH/image82.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image83.gif b/doc/salome/gui/SMESH/image83.gif deleted file mode 100755 index 331b64a10..000000000 Binary files a/doc/salome/gui/SMESH/image83.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image84.gif b/doc/salome/gui/SMESH/image84.gif deleted file mode 100755 index ea8ec56bc..000000000 Binary files a/doc/salome/gui/SMESH/image84.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image86.jpg b/doc/salome/gui/SMESH/image86.jpg deleted file mode 100755 index 168b43e2c..000000000 Binary files a/doc/salome/gui/SMESH/image86.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image88.gif b/doc/salome/gui/SMESH/image88.gif deleted file mode 100755 index b2d4b73fc..000000000 Binary files a/doc/salome/gui/SMESH/image88.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image88.jpg b/doc/salome/gui/SMESH/image88.jpg deleted file mode 100755 index 3b2a9739c..000000000 Binary files a/doc/salome/gui/SMESH/image88.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image90.jpg b/doc/salome/gui/SMESH/image90.jpg deleted file mode 100755 index 4f4c301d4..000000000 Binary files a/doc/salome/gui/SMESH/image90.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image91.gif b/doc/salome/gui/SMESH/image91.gif deleted file mode 100755 index a09ab9e76..000000000 Binary files a/doc/salome/gui/SMESH/image91.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image92.gif b/doc/salome/gui/SMESH/image92.gif deleted file mode 100755 index 9e0517f5d..000000000 Binary files a/doc/salome/gui/SMESH/image92.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image92.jpg b/doc/salome/gui/SMESH/image92.jpg deleted file mode 100755 index bf6e61049..000000000 Binary files a/doc/salome/gui/SMESH/image92.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image93.jpg b/doc/salome/gui/SMESH/image93.jpg deleted file mode 100755 index f9780b4ba..000000000 Binary files a/doc/salome/gui/SMESH/image93.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image94.gif b/doc/salome/gui/SMESH/image94.gif deleted file mode 100755 index 7313f5deb..000000000 Binary files a/doc/salome/gui/SMESH/image94.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image94.jpg b/doc/salome/gui/SMESH/image94.jpg deleted file mode 100755 index 789166734..000000000 Binary files a/doc/salome/gui/SMESH/image94.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image95.gif b/doc/salome/gui/SMESH/image95.gif deleted file mode 100755 index 6491f27d4..000000000 Binary files a/doc/salome/gui/SMESH/image95.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image95.jpg b/doc/salome/gui/SMESH/image95.jpg deleted file mode 100755 index 047dccf64..000000000 Binary files a/doc/salome/gui/SMESH/image95.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image96.gif b/doc/salome/gui/SMESH/image96.gif deleted file mode 100755 index 1392ee705..000000000 Binary files a/doc/salome/gui/SMESH/image96.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image96.jpg b/doc/salome/gui/SMESH/image96.jpg deleted file mode 100755 index 5f3128eb9..000000000 Binary files a/doc/salome/gui/SMESH/image96.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image97.gif b/doc/salome/gui/SMESH/image97.gif deleted file mode 100755 index 480b584ed..000000000 Binary files a/doc/salome/gui/SMESH/image97.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image97.jpg b/doc/salome/gui/SMESH/image97.jpg deleted file mode 100755 index 275f2e396..000000000 Binary files a/doc/salome/gui/SMESH/image97.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/image98.gif b/doc/salome/gui/SMESH/image98.gif deleted file mode 100755 index 5f375b774..000000000 Binary files a/doc/salome/gui/SMESH/image98.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/image99.gif b/doc/salome/gui/SMESH/image99.gif deleted file mode 100755 index 4959ed825..000000000 Binary files a/doc/salome/gui/SMESH/image99.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/images/a-arithmetic1d.png b/doc/salome/gui/SMESH/images/a-arithmetic1d.png new file mode 100755 index 000000000..d34a5e24c Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-arithmetic1d.png differ diff --git a/doc/salome/gui/SMESH/images/a-averagelength.png b/doc/salome/gui/SMESH/images/a-averagelength.png new file mode 100755 index 000000000..70e2afd26 Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-averagelength.png differ diff --git a/doc/salome/gui/SMESH/images/a-clipping2.png b/doc/salome/gui/SMESH/images/a-clipping2.png new file mode 100755 index 000000000..639792ca3 Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-clipping2.png differ diff --git a/doc/salome/gui/SMESH/images/a-creategroup.png b/doc/salome/gui/SMESH/images/a-creategroup.png new file mode 100755 index 000000000..38ef5a856 Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-creategroup.png differ diff --git a/doc/salome/gui/SMESH/images/a-createpolyhedralvolume.png b/doc/salome/gui/SMESH/images/a-createpolyhedralvolume.png new file mode 100755 index 000000000..532eac08f Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-createpolyhedralvolume.png differ diff --git a/doc/salome/gui/SMESH/images/a-cuttingofquadrangles.png b/doc/salome/gui/SMESH/images/a-cuttingofquadrangles.png new file mode 100755 index 000000000..ff9ae68e1 Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-cuttingofquadrangles.png differ diff --git a/doc/salome/gui/SMESH/images/a-deflection1d.png b/doc/salome/gui/SMESH/images/a-deflection1d.png new file mode 100755 index 000000000..57fd8597a Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-deflection1d.png differ diff --git a/doc/salome/gui/SMESH/images/a-filteronedges.png b/doc/salome/gui/SMESH/images/a-filteronedges.png new file mode 100755 index 000000000..48b3ece01 Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-filteronedges.png differ diff --git a/doc/salome/gui/SMESH/images/a-maxelarea.png b/doc/salome/gui/SMESH/images/a-maxelarea.png new file mode 100755 index 000000000..b4af4b23f Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-maxelarea.png differ diff --git a/doc/salome/gui/SMESH/images/a-maxelvolume.png b/doc/salome/gui/SMESH/images/a-maxelvolume.png new file mode 100755 index 000000000..2611807fd Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-maxelvolume.png differ diff --git a/doc/salome/gui/SMESH/images/a-nbsegments1.png b/doc/salome/gui/SMESH/images/a-nbsegments1.png new file mode 100755 index 000000000..35c09094d Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-nbsegments1.png differ diff --git a/doc/salome/gui/SMESH/images/a-nbsegments2.png b/doc/salome/gui/SMESH/images/a-nbsegments2.png new file mode 100755 index 000000000..7f33c61ff Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-nbsegments2.png differ diff --git a/doc/salome/gui/SMESH/images/a-patterntype.png b/doc/salome/gui/SMESH/images/a-patterntype.png new file mode 100755 index 000000000..3383cd75e Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-patterntype.png differ diff --git a/doc/salome/gui/SMESH/images/a-patterntype1.png b/doc/salome/gui/SMESH/images/a-patterntype1.png new file mode 100755 index 000000000..38449225a Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-patterntype1.png differ diff --git a/doc/salome/gui/SMESH/images/a-standmeshinfo.png b/doc/salome/gui/SMESH/images/a-standmeshinfo.png new file mode 100755 index 000000000..6b35f0a99 Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-standmeshinfo.png differ diff --git a/doc/salome/gui/SMESH/images/a-startendlength.png b/doc/salome/gui/SMESH/images/a-startendlength.png new file mode 100755 index 000000000..e48f617d2 Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-startendlength.png differ diff --git a/doc/salome/gui/SMESH/images/a-transparency.png b/doc/salome/gui/SMESH/images/a-transparency.png new file mode 100755 index 000000000..8e7498d58 Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-transparency.png differ diff --git a/doc/salome/gui/SMESH/images/a-unionoftriangles.png b/doc/salome/gui/SMESH/images/a-unionoftriangles.png new file mode 100755 index 000000000..d9ef53c11 Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-unionoftriangles.png differ diff --git a/doc/salome/gui/SMESH/images/a-viewgeneral.png b/doc/salome/gui/SMESH/images/a-viewgeneral.png new file mode 100755 index 000000000..09b7c2391 Binary files /dev/null and b/doc/salome/gui/SMESH/images/a-viewgeneral.png differ diff --git a/doc/salome/gui/SMESH/images/add.gif b/doc/salome/gui/SMESH/images/add.gif new file mode 100644 index 000000000..26350e420 Binary files /dev/null and b/doc/salome/gui/SMESH/images/add.gif differ diff --git a/doc/salome/gui/SMESH/images/add_edge.png b/doc/salome/gui/SMESH/images/add_edge.png new file mode 100755 index 000000000..8a532e1d9 Binary files /dev/null and b/doc/salome/gui/SMESH/images/add_edge.png differ diff --git a/doc/salome/gui/SMESH/images/add_node.png b/doc/salome/gui/SMESH/images/add_node.png new file mode 100755 index 000000000..cb50bf6e6 Binary files /dev/null and b/doc/salome/gui/SMESH/images/add_node.png differ diff --git a/doc/salome/gui/SMESH/images/add_polygone.png b/doc/salome/gui/SMESH/images/add_polygone.png new file mode 100755 index 000000000..a76baceae Binary files /dev/null and b/doc/salome/gui/SMESH/images/add_polygone.png differ diff --git a/doc/salome/gui/SMESH/images/add_polyhedron.png b/doc/salome/gui/SMESH/images/add_polyhedron.png new file mode 100755 index 000000000..2e23634c9 Binary files /dev/null and b/doc/salome/gui/SMESH/images/add_polyhedron.png differ diff --git a/doc/salome/gui/SMESH/images/add_quadrangle.png b/doc/salome/gui/SMESH/images/add_quadrangle.png new file mode 100755 index 000000000..f25b94d9f Binary files /dev/null and b/doc/salome/gui/SMESH/images/add_quadrangle.png differ diff --git a/doc/salome/gui/SMESH/images/add_triangle.png b/doc/salome/gui/SMESH/images/add_triangle.png new file mode 100755 index 000000000..41c335929 Binary files /dev/null and b/doc/salome/gui/SMESH/images/add_triangle.png differ diff --git a/doc/salome/gui/SMESH/images/addedge.png b/doc/salome/gui/SMESH/images/addedge.png new file mode 100755 index 000000000..c9eeaf970 Binary files /dev/null and b/doc/salome/gui/SMESH/images/addedge.png differ diff --git a/doc/salome/gui/SMESH/images/addhexahedron.png b/doc/salome/gui/SMESH/images/addhexahedron.png new file mode 100755 index 000000000..fd2ef245a Binary files /dev/null and b/doc/salome/gui/SMESH/images/addhexahedron.png differ diff --git a/doc/salome/gui/SMESH/images/addnode.png b/doc/salome/gui/SMESH/images/addnode.png new file mode 100755 index 000000000..167a966b8 Binary files /dev/null and b/doc/salome/gui/SMESH/images/addnode.png differ diff --git a/doc/salome/gui/SMESH/images/addpolygon.png b/doc/salome/gui/SMESH/images/addpolygon.png new file mode 100755 index 000000000..785a62341 Binary files /dev/null and b/doc/salome/gui/SMESH/images/addpolygon.png differ diff --git a/doc/salome/gui/SMESH/images/addquadrangle.png b/doc/salome/gui/SMESH/images/addquadrangle.png new file mode 100755 index 000000000..2bbddf158 Binary files /dev/null and b/doc/salome/gui/SMESH/images/addquadrangle.png differ diff --git a/doc/salome/gui/SMESH/images/addtetrahedron.png b/doc/salome/gui/SMESH/images/addtetrahedron.png new file mode 100755 index 000000000..0a415707a Binary files /dev/null and b/doc/salome/gui/SMESH/images/addtetrahedron.png differ diff --git a/doc/salome/gui/SMESH/images/addtriangle.png b/doc/salome/gui/SMESH/images/addtriangle.png new file mode 100755 index 000000000..405d6f57f Binary files /dev/null and b/doc/salome/gui/SMESH/images/addtriangle.png differ diff --git a/doc/salome/gui/SMESH/images/advanced_mesh_infos.png b/doc/salome/gui/SMESH/images/advanced_mesh_infos.png new file mode 100755 index 000000000..f8341e892 Binary files /dev/null and b/doc/salome/gui/SMESH/images/advanced_mesh_infos.png differ diff --git a/doc/salome/gui/SMESH/images/aqt.png b/doc/salome/gui/SMESH/images/aqt.png new file mode 100755 index 000000000..32e36bd0e Binary files /dev/null and b/doc/salome/gui/SMESH/images/aqt.png differ diff --git a/doc/salome/gui/SMESH/images/automaticlength.png b/doc/salome/gui/SMESH/images/automaticlength.png new file mode 100755 index 000000000..d96ffc82d Binary files /dev/null and b/doc/salome/gui/SMESH/images/automaticlength.png differ diff --git a/doc/salome/gui/SMESH/images/b-art_end_length.png b/doc/salome/gui/SMESH/images/b-art_end_length.png new file mode 100755 index 000000000..26da5fa73 Binary files /dev/null and b/doc/salome/gui/SMESH/images/b-art_end_length.png differ diff --git a/doc/salome/gui/SMESH/images/b-erage_length.png b/doc/salome/gui/SMESH/images/b-erage_length.png new file mode 100755 index 000000000..f64077c90 Binary files /dev/null and b/doc/salome/gui/SMESH/images/b-erage_length.png differ diff --git a/doc/salome/gui/SMESH/images/b-flection1d.png b/doc/salome/gui/SMESH/images/b-flection1d.png new file mode 100755 index 000000000..e160cf55d Binary files /dev/null and b/doc/salome/gui/SMESH/images/b-flection1d.png differ diff --git a/doc/salome/gui/SMESH/images/b-ithmetic1d.png b/doc/salome/gui/SMESH/images/b-ithmetic1d.png new file mode 100755 index 000000000..72f76b951 Binary files /dev/null and b/doc/salome/gui/SMESH/images/b-ithmetic1d.png differ diff --git a/doc/salome/gui/SMESH/images/b-mberofsegments.png b/doc/salome/gui/SMESH/images/b-mberofsegments.png new file mode 100755 index 000000000..27f68685e Binary files /dev/null and b/doc/salome/gui/SMESH/images/b-mberofsegments.png differ diff --git a/doc/salome/gui/SMESH/images/b-mesh_infos.png b/doc/salome/gui/SMESH/images/b-mesh_infos.png new file mode 100755 index 000000000..6abd3c184 Binary files /dev/null and b/doc/salome/gui/SMESH/images/b-mesh_infos.png differ diff --git a/doc/salome/gui/SMESH/images/buildcompound.png b/doc/salome/gui/SMESH/images/buildcompound.png new file mode 100755 index 000000000..1a5bea166 Binary files /dev/null and b/doc/salome/gui/SMESH/images/buildcompound.png differ diff --git a/doc/salome/gui/SMESH/images/circle_angles_after.png b/doc/salome/gui/SMESH/images/circle_angles_after.png new file mode 100644 index 000000000..f4c606bde Binary files /dev/null and b/doc/salome/gui/SMESH/images/circle_angles_after.png differ diff --git a/doc/salome/gui/SMESH/images/circle_simple_after.png b/doc/salome/gui/SMESH/images/circle_simple_after.png new file mode 100644 index 000000000..99f65b558 Binary files /dev/null and b/doc/salome/gui/SMESH/images/circle_simple_after.png differ diff --git a/doc/salome/gui/SMESH/images/circle_simple_before.png b/doc/salome/gui/SMESH/images/circle_simple_before.png new file mode 100644 index 000000000..95b90373f Binary files /dev/null and b/doc/salome/gui/SMESH/images/circle_simple_before.png differ diff --git a/doc/salome/gui/SMESH/images/convert.png b/doc/salome/gui/SMESH/images/convert.png new file mode 100644 index 000000000..5c0e64a05 Binary files /dev/null and b/doc/salome/gui/SMESH/images/convert.png differ diff --git a/doc/salome/gui/SMESH/images/create_group.png b/doc/salome/gui/SMESH/images/create_group.png new file mode 100755 index 000000000..6fc2367b3 Binary files /dev/null and b/doc/salome/gui/SMESH/images/create_group.png differ diff --git a/doc/salome/gui/SMESH/images/creategroup.png b/doc/salome/gui/SMESH/images/creategroup.png new file mode 100755 index 000000000..207e2099e Binary files /dev/null and b/doc/salome/gui/SMESH/images/creategroup.png differ diff --git a/doc/salome/gui/SMESH/images/createmesh-inv.png b/doc/salome/gui/SMESH/images/createmesh-inv.png new file mode 100755 index 000000000..8273aac45 Binary files /dev/null and b/doc/salome/gui/SMESH/images/createmesh-inv.png differ diff --git a/doc/salome/gui/SMESH/images/createmesh-inv2.png b/doc/salome/gui/SMESH/images/createmesh-inv2.png new file mode 100755 index 000000000..2bee11b7c Binary files /dev/null and b/doc/salome/gui/SMESH/images/createmesh-inv2.png differ diff --git a/doc/salome/gui/SMESH/images/createmesh-inv3.png b/doc/salome/gui/SMESH/images/createmesh-inv3.png new file mode 100755 index 000000000..6dfabaaa8 Binary files /dev/null and b/doc/salome/gui/SMESH/images/createmesh-inv3.png differ diff --git a/doc/salome/gui/SMESH/images/curvi_angles_after.png b/doc/salome/gui/SMESH/images/curvi_angles_after.png new file mode 100644 index 000000000..9d06262b0 Binary files /dev/null and b/doc/salome/gui/SMESH/images/curvi_angles_after.png differ diff --git a/doc/salome/gui/SMESH/images/curvi_simple_after.png b/doc/salome/gui/SMESH/images/curvi_simple_after.png new file mode 100644 index 000000000..ae1d98fdf Binary files /dev/null and b/doc/salome/gui/SMESH/images/curvi_simple_after.png differ diff --git a/doc/salome/gui/SMESH/images/curvi_simple_before.png b/doc/salome/gui/SMESH/images/curvi_simple_before.png new file mode 100644 index 000000000..a0bbf73bd Binary files /dev/null and b/doc/salome/gui/SMESH/images/curvi_simple_before.png differ diff --git a/doc/salome/gui/SMESH/images/cut_groups1.png b/doc/salome/gui/SMESH/images/cut_groups1.png new file mode 100755 index 000000000..f066a5541 Binary files /dev/null and b/doc/salome/gui/SMESH/images/cut_groups1.png differ diff --git a/doc/salome/gui/SMESH/images/cut_groups2.png b/doc/salome/gui/SMESH/images/cut_groups2.png new file mode 100755 index 000000000..3ec7a93d1 Binary files /dev/null and b/doc/salome/gui/SMESH/images/cut_groups2.png differ diff --git a/doc/salome/gui/SMESH/images/cut_groups3.png b/doc/salome/gui/SMESH/images/cut_groups3.png new file mode 100755 index 000000000..1c5ebed80 Binary files /dev/null and b/doc/salome/gui/SMESH/images/cut_groups3.png differ diff --git a/doc/salome/gui/SMESH/images/cutgroups.png b/doc/salome/gui/SMESH/images/cutgroups.png new file mode 100755 index 000000000..87e6da88b Binary files /dev/null and b/doc/salome/gui/SMESH/images/cutgroups.png differ diff --git a/doc/salome/gui/SMESH/images/deletegroups.png b/doc/salome/gui/SMESH/images/deletegroups.png new file mode 100755 index 000000000..383a79aa8 Binary files /dev/null and b/doc/salome/gui/SMESH/images/deletegroups.png differ diff --git a/doc/salome/gui/SMESH/images/diagonalinversion.png b/doc/salome/gui/SMESH/images/diagonalinversion.png new file mode 100755 index 000000000..967e7a12e Binary files /dev/null and b/doc/salome/gui/SMESH/images/diagonalinversion.png differ diff --git a/doc/salome/gui/SMESH/images/dialog.png b/doc/salome/gui/SMESH/images/dialog.png new file mode 100755 index 000000000..12c7fa273 Binary files /dev/null and b/doc/salome/gui/SMESH/images/dialog.png differ diff --git a/doc/salome/gui/SMESH/images/distribution_of_layers.png b/doc/salome/gui/SMESH/images/distribution_of_layers.png new file mode 100644 index 000000000..3d01d66f4 Binary files /dev/null and b/doc/salome/gui/SMESH/images/distribution_of_layers.png differ diff --git a/doc/salome/gui/SMESH/images/distributionwithanalyticdensity.png b/doc/salome/gui/SMESH/images/distributionwithanalyticdensity.png new file mode 100755 index 000000000..87ebc5ffe Binary files /dev/null and b/doc/salome/gui/SMESH/images/distributionwithanalyticdensity.png differ diff --git a/doc/salome/gui/SMESH/images/distributionwithtabledensity.png b/doc/salome/gui/SMESH/images/distributionwithtabledensity.png new file mode 100755 index 000000000..9ea6cab98 Binary files /dev/null and b/doc/salome/gui/SMESH/images/distributionwithtabledensity.png differ diff --git a/doc/salome/gui/SMESH/images/edge_wire_3d_after.png b/doc/salome/gui/SMESH/images/edge_wire_3d_after.png new file mode 100644 index 000000000..3fab59803 Binary files /dev/null and b/doc/salome/gui/SMESH/images/edge_wire_3d_after.png differ diff --git a/doc/salome/gui/SMESH/images/edge_wire_3d_before.png b/doc/salome/gui/SMESH/images/edge_wire_3d_before.png new file mode 100644 index 000000000..28f986830 Binary files /dev/null and b/doc/salome/gui/SMESH/images/edge_wire_3d_before.png differ diff --git a/doc/salome/gui/SMESH/images/edge_wire_after.png b/doc/salome/gui/SMESH/images/edge_wire_after.png new file mode 100644 index 000000000..408480ecd Binary files /dev/null and b/doc/salome/gui/SMESH/images/edge_wire_after.png differ diff --git a/doc/salome/gui/SMESH/images/edge_wire_before.png b/doc/salome/gui/SMESH/images/edge_wire_before.png new file mode 100644 index 000000000..186528ec7 Binary files /dev/null and b/doc/salome/gui/SMESH/images/edge_wire_before.png differ diff --git a/doc/salome/gui/SMESH/images/edit_mesh1.png b/doc/salome/gui/SMESH/images/edit_mesh1.png new file mode 100755 index 000000000..4369e51b4 Binary files /dev/null and b/doc/salome/gui/SMESH/images/edit_mesh1.png differ diff --git a/doc/salome/gui/SMESH/images/edit_mesh_change_value_hyp.png b/doc/salome/gui/SMESH/images/edit_mesh_change_value_hyp.png new file mode 100755 index 000000000..7dee01f7d Binary files /dev/null and b/doc/salome/gui/SMESH/images/edit_mesh_change_value_hyp.png differ diff --git a/doc/salome/gui/SMESH/images/edit_mesh_remove_hyp.png b/doc/salome/gui/SMESH/images/edit_mesh_remove_hyp.png new file mode 100755 index 000000000..0a45639aa Binary files /dev/null and b/doc/salome/gui/SMESH/images/edit_mesh_remove_hyp.png differ diff --git a/doc/salome/gui/SMESH/images/editgroup.png b/doc/salome/gui/SMESH/images/editgroup.png new file mode 100755 index 000000000..c0a50f36f Binary files /dev/null and b/doc/salome/gui/SMESH/images/editgroup.png differ diff --git a/doc/salome/gui/SMESH/images/editing_groups1.png b/doc/salome/gui/SMESH/images/editing_groups1.png new file mode 100755 index 000000000..beb946ab7 Binary files /dev/null and b/doc/salome/gui/SMESH/images/editing_groups1.png differ diff --git a/doc/salome/gui/SMESH/images/editing_groups2.png b/doc/salome/gui/SMESH/images/editing_groups2.png new file mode 100755 index 000000000..7cff1819c Binary files /dev/null and b/doc/salome/gui/SMESH/images/editing_groups2.png differ diff --git a/doc/salome/gui/SMESH/images/eleminfo1.png b/doc/salome/gui/SMESH/images/eleminfo1.png new file mode 100755 index 000000000..5e2c2a0c0 Binary files /dev/null and b/doc/salome/gui/SMESH/images/eleminfo1.png differ diff --git a/doc/salome/gui/SMESH/images/eleminfo2.png b/doc/salome/gui/SMESH/images/eleminfo2.png new file mode 100755 index 000000000..3ff8d1d9c Binary files /dev/null and b/doc/salome/gui/SMESH/images/eleminfo2.png differ diff --git a/doc/salome/gui/SMESH/images/extrusion1.png b/doc/salome/gui/SMESH/images/extrusion1.png new file mode 100644 index 000000000..b48278242 Binary files /dev/null and b/doc/salome/gui/SMESH/images/extrusion1.png differ diff --git a/doc/salome/gui/SMESH/images/extrusion2.png b/doc/salome/gui/SMESH/images/extrusion2.png new file mode 100755 index 000000000..d1d6d0823 Binary files /dev/null and b/doc/salome/gui/SMESH/images/extrusion2.png differ diff --git a/doc/salome/gui/SMESH/images/extrusionalongaline1.png b/doc/salome/gui/SMESH/images/extrusionalongaline1.png new file mode 100755 index 000000000..300d24228 Binary files /dev/null and b/doc/salome/gui/SMESH/images/extrusionalongaline1.png differ diff --git a/doc/salome/gui/SMESH/images/extrusionalongaline2.png b/doc/salome/gui/SMESH/images/extrusionalongaline2.png new file mode 100755 index 000000000..23ca6060f Binary files /dev/null and b/doc/salome/gui/SMESH/images/extrusionalongaline2.png differ diff --git a/doc/salome/gui/SMESH/images/failed_computation.png b/doc/salome/gui/SMESH/images/failed_computation.png new file mode 100644 index 000000000..e44a538f2 Binary files /dev/null and b/doc/salome/gui/SMESH/images/failed_computation.png differ diff --git a/doc/salome/gui/SMESH/images/formula1.png b/doc/salome/gui/SMESH/images/formula1.png new file mode 100644 index 000000000..2f8d2f518 Binary files /dev/null and b/doc/salome/gui/SMESH/images/formula1.png differ diff --git a/doc/salome/gui/SMESH/images/formula2.png b/doc/salome/gui/SMESH/images/formula2.png new file mode 100644 index 000000000..ff189aa8e Binary files /dev/null and b/doc/salome/gui/SMESH/images/formula2.png differ diff --git a/doc/salome/gui/SMESH/images/formula4.png b/doc/salome/gui/SMESH/images/formula4.png new file mode 100644 index 000000000..170f25558 Binary files /dev/null and b/doc/salome/gui/SMESH/images/formula4.png differ diff --git a/doc/salome/gui/SMESH/images/free_borders1.png b/doc/salome/gui/SMESH/images/free_borders1.png new file mode 100755 index 000000000..6e73c9329 Binary files /dev/null and b/doc/salome/gui/SMESH/images/free_borders1.png differ diff --git a/doc/salome/gui/SMESH/images/free_edges.png b/doc/salome/gui/SMESH/images/free_edges.png new file mode 100755 index 000000000..6f1100c87 Binary files /dev/null and b/doc/salome/gui/SMESH/images/free_edges.png differ diff --git a/doc/salome/gui/SMESH/images/image10.jpg b/doc/salome/gui/SMESH/images/image10.jpg new file mode 100755 index 000000000..5a15643bb Binary files /dev/null and b/doc/salome/gui/SMESH/images/image10.jpg differ diff --git a/doc/salome/gui/SMESH/images/image101.gif b/doc/salome/gui/SMESH/images/image101.gif new file mode 100755 index 000000000..b761fec72 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image101.gif differ diff --git a/doc/salome/gui/SMESH/images/image105.gif b/doc/salome/gui/SMESH/images/image105.gif new file mode 100755 index 000000000..0f7454573 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image105.gif differ diff --git a/doc/salome/gui/SMESH/images/image106.gif b/doc/salome/gui/SMESH/images/image106.gif new file mode 100755 index 000000000..71bda2e9a Binary files /dev/null and b/doc/salome/gui/SMESH/images/image106.gif differ diff --git a/doc/salome/gui/SMESH/images/image120.gif b/doc/salome/gui/SMESH/images/image120.gif new file mode 100755 index 000000000..18ddeca6d Binary files /dev/null and b/doc/salome/gui/SMESH/images/image120.gif differ diff --git a/doc/salome/gui/SMESH/images/image121.gif b/doc/salome/gui/SMESH/images/image121.gif new file mode 100755 index 000000000..7a2ffd66c Binary files /dev/null and b/doc/salome/gui/SMESH/images/image121.gif differ diff --git a/doc/salome/gui/SMESH/images/image122.gif b/doc/salome/gui/SMESH/images/image122.gif new file mode 100755 index 000000000..207d30b97 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image122.gif differ diff --git a/doc/salome/gui/SMESH/images/image123.gif b/doc/salome/gui/SMESH/images/image123.gif new file mode 100755 index 000000000..2780e70d4 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image123.gif differ diff --git a/doc/salome/gui/SMESH/images/image124.gif b/doc/salome/gui/SMESH/images/image124.gif new file mode 100755 index 000000000..98f0c40b6 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image124.gif differ diff --git a/doc/salome/gui/SMESH/images/image125.gif b/doc/salome/gui/SMESH/images/image125.gif new file mode 100755 index 000000000..198351307 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image125.gif differ diff --git a/doc/salome/gui/SMESH/images/image126.gif b/doc/salome/gui/SMESH/images/image126.gif new file mode 100755 index 000000000..e2e695519 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image126.gif differ diff --git a/doc/salome/gui/SMESH/images/image127.gif b/doc/salome/gui/SMESH/images/image127.gif new file mode 100755 index 000000000..79bccc66f Binary files /dev/null and b/doc/salome/gui/SMESH/images/image127.gif differ diff --git a/doc/salome/gui/SMESH/images/image130.gif b/doc/salome/gui/SMESH/images/image130.gif new file mode 100755 index 000000000..cc8c3a5e1 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image130.gif differ diff --git a/doc/salome/gui/SMESH/images/image131.gif b/doc/salome/gui/SMESH/images/image131.gif new file mode 100755 index 000000000..8ca3453fd Binary files /dev/null and b/doc/salome/gui/SMESH/images/image131.gif differ diff --git a/doc/salome/gui/SMESH/images/image132.gif b/doc/salome/gui/SMESH/images/image132.gif new file mode 100755 index 000000000..e7577ea7c Binary files /dev/null and b/doc/salome/gui/SMESH/images/image132.gif differ diff --git a/doc/salome/gui/SMESH/images/image133.gif b/doc/salome/gui/SMESH/images/image133.gif new file mode 100755 index 000000000..60a4b9605 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image133.gif differ diff --git a/doc/salome/gui/SMESH/images/image134.gif b/doc/salome/gui/SMESH/images/image134.gif new file mode 100755 index 000000000..60148bab7 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image134.gif differ diff --git a/doc/salome/gui/SMESH/images/image135.gif b/doc/salome/gui/SMESH/images/image135.gif new file mode 100755 index 000000000..13b7b089b Binary files /dev/null and b/doc/salome/gui/SMESH/images/image135.gif differ diff --git a/doc/salome/gui/SMESH/images/image136.gif b/doc/salome/gui/SMESH/images/image136.gif new file mode 100755 index 000000000..9b17450fc Binary files /dev/null and b/doc/salome/gui/SMESH/images/image136.gif differ diff --git a/doc/salome/gui/SMESH/images/image137.gif b/doc/salome/gui/SMESH/images/image137.gif new file mode 100755 index 000000000..7f4cd13fe Binary files /dev/null and b/doc/salome/gui/SMESH/images/image137.gif differ diff --git a/doc/salome/gui/SMESH/images/image138.gif b/doc/salome/gui/SMESH/images/image138.gif new file mode 100644 index 000000000..1659aab9f Binary files /dev/null and b/doc/salome/gui/SMESH/images/image138.gif differ diff --git a/doc/salome/gui/SMESH/images/image143.gif b/doc/salome/gui/SMESH/images/image143.gif new file mode 100755 index 000000000..de9df148f Binary files /dev/null and b/doc/salome/gui/SMESH/images/image143.gif differ diff --git a/doc/salome/gui/SMESH/images/image144.gif b/doc/salome/gui/SMESH/images/image144.gif new file mode 100644 index 000000000..3dffd53ff Binary files /dev/null and b/doc/salome/gui/SMESH/images/image144.gif differ diff --git a/doc/salome/gui/SMESH/images/image145.gif b/doc/salome/gui/SMESH/images/image145.gif new file mode 100755 index 000000000..8005557e1 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image145.gif differ diff --git a/doc/salome/gui/SMESH/images/image146.gif b/doc/salome/gui/SMESH/images/image146.gif new file mode 100755 index 000000000..18f22241d Binary files /dev/null and b/doc/salome/gui/SMESH/images/image146.gif differ diff --git a/doc/salome/gui/SMESH/images/image147.gif b/doc/salome/gui/SMESH/images/image147.gif new file mode 100755 index 000000000..7b9a354b9 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image147.gif differ diff --git a/doc/salome/gui/SMESH/images/image148.gif b/doc/salome/gui/SMESH/images/image148.gif new file mode 100755 index 000000000..0ef414777 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image148.gif differ diff --git a/doc/salome/gui/SMESH/images/image15.jpg b/doc/salome/gui/SMESH/images/image15.jpg new file mode 100755 index 000000000..15edee5b3 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image15.jpg differ diff --git a/doc/salome/gui/SMESH/images/image151.gif b/doc/salome/gui/SMESH/images/image151.gif new file mode 100755 index 000000000..5c4a20e9a Binary files /dev/null and b/doc/salome/gui/SMESH/images/image151.gif differ diff --git a/doc/salome/gui/SMESH/images/image152.gif b/doc/salome/gui/SMESH/images/image152.gif new file mode 100755 index 000000000..2005d3fff Binary files /dev/null and b/doc/salome/gui/SMESH/images/image152.gif differ diff --git a/doc/salome/gui/SMESH/images/image154.gif b/doc/salome/gui/SMESH/images/image154.gif new file mode 100644 index 000000000..2d527fbbb Binary files /dev/null and b/doc/salome/gui/SMESH/images/image154.gif differ diff --git a/doc/salome/gui/SMESH/images/image155.gif b/doc/salome/gui/SMESH/images/image155.gif new file mode 100644 index 000000000..fe03093b8 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image155.gif differ diff --git a/doc/salome/gui/SMESH/images/image156.gif b/doc/salome/gui/SMESH/images/image156.gif new file mode 100644 index 000000000..36b37c8d1 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image156.gif differ diff --git a/doc/salome/gui/SMESH/images/image157.gif b/doc/salome/gui/SMESH/images/image157.gif new file mode 100644 index 000000000..459215172 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image157.gif differ diff --git a/doc/salome/gui/SMESH/images/image160.gif b/doc/salome/gui/SMESH/images/image160.gif new file mode 100755 index 000000000..6baffdb30 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image160.gif differ diff --git a/doc/salome/gui/SMESH/images/image161.gif b/doc/salome/gui/SMESH/images/image161.gif new file mode 100755 index 000000000..54364d260 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image161.gif differ diff --git a/doc/salome/gui/SMESH/images/image22.jpg b/doc/salome/gui/SMESH/images/image22.jpg new file mode 100755 index 000000000..b6a5e8db6 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image22.jpg differ diff --git a/doc/salome/gui/SMESH/images/image23.jpg b/doc/salome/gui/SMESH/images/image23.jpg new file mode 100755 index 000000000..74f899b00 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image23.jpg differ diff --git a/doc/salome/gui/SMESH/images/image24.gif b/doc/salome/gui/SMESH/images/image24.gif new file mode 100755 index 000000000..3d8032bf0 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image24.gif differ diff --git a/doc/salome/gui/SMESH/images/image25.gif b/doc/salome/gui/SMESH/images/image25.gif new file mode 100755 index 000000000..cd7c967bc Binary files /dev/null and b/doc/salome/gui/SMESH/images/image25.gif differ diff --git a/doc/salome/gui/SMESH/images/image25.jpg b/doc/salome/gui/SMESH/images/image25.jpg new file mode 100755 index 000000000..4b2d4dfe4 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image25.jpg differ diff --git a/doc/salome/gui/SMESH/images/image27.jpg b/doc/salome/gui/SMESH/images/image27.jpg new file mode 100755 index 000000000..d2f32b184 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image27.jpg differ diff --git a/doc/salome/gui/SMESH/images/image28.gif b/doc/salome/gui/SMESH/images/image28.gif new file mode 100755 index 000000000..21f54bf45 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image28.gif differ diff --git a/doc/salome/gui/SMESH/images/image30.jpg b/doc/salome/gui/SMESH/images/image30.jpg new file mode 100755 index 000000000..997a36e35 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image30.jpg differ diff --git a/doc/salome/gui/SMESH/images/image31.jpg b/doc/salome/gui/SMESH/images/image31.jpg new file mode 100755 index 000000000..aa004031b Binary files /dev/null and b/doc/salome/gui/SMESH/images/image31.jpg differ diff --git a/doc/salome/gui/SMESH/images/image32.gif b/doc/salome/gui/SMESH/images/image32.gif new file mode 100755 index 000000000..a1ee2ee02 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image32.gif differ diff --git a/doc/salome/gui/SMESH/images/image32.jpg b/doc/salome/gui/SMESH/images/image32.jpg new file mode 100755 index 000000000..77d595dce Binary files /dev/null and b/doc/salome/gui/SMESH/images/image32.jpg differ diff --git a/doc/salome/gui/SMESH/images/image33.gif b/doc/salome/gui/SMESH/images/image33.gif new file mode 100755 index 000000000..ecdd47b0b Binary files /dev/null and b/doc/salome/gui/SMESH/images/image33.gif differ diff --git a/doc/salome/gui/SMESH/images/image34.gif b/doc/salome/gui/SMESH/images/image34.gif new file mode 100755 index 000000000..963095fe8 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image34.gif differ diff --git a/doc/salome/gui/SMESH/images/image35.gif b/doc/salome/gui/SMESH/images/image35.gif new file mode 100755 index 000000000..0e3b30fd0 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image35.gif differ diff --git a/doc/salome/gui/SMESH/images/image36.gif b/doc/salome/gui/SMESH/images/image36.gif new file mode 100755 index 000000000..7236ef8b9 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image36.gif differ diff --git a/doc/salome/gui/SMESH/images/image36.jpg b/doc/salome/gui/SMESH/images/image36.jpg new file mode 100755 index 000000000..9b44dc727 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image36.jpg differ diff --git a/doc/salome/gui/SMESH/images/image37.gif b/doc/salome/gui/SMESH/images/image37.gif new file mode 100644 index 000000000..edd5263d8 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image37.gif differ diff --git a/doc/salome/gui/SMESH/images/image37.jpg b/doc/salome/gui/SMESH/images/image37.jpg new file mode 100755 index 000000000..5fba91a2f Binary files /dev/null and b/doc/salome/gui/SMESH/images/image37.jpg differ diff --git a/doc/salome/gui/SMESH/images/image38.gif b/doc/salome/gui/SMESH/images/image38.gif new file mode 100755 index 000000000..087f6e2be Binary files /dev/null and b/doc/salome/gui/SMESH/images/image38.gif differ diff --git a/doc/salome/gui/SMESH/images/image38.jpg b/doc/salome/gui/SMESH/images/image38.jpg new file mode 100755 index 000000000..29d5e716c Binary files /dev/null and b/doc/salome/gui/SMESH/images/image38.jpg differ diff --git a/doc/salome/gui/SMESH/images/image39.gif b/doc/salome/gui/SMESH/images/image39.gif new file mode 100755 index 000000000..b206af116 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image39.gif differ diff --git a/doc/salome/gui/SMESH/images/image40.gif b/doc/salome/gui/SMESH/images/image40.gif new file mode 100755 index 000000000..becc12a47 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image40.gif differ diff --git a/doc/salome/gui/SMESH/images/image41.gif b/doc/salome/gui/SMESH/images/image41.gif new file mode 100755 index 000000000..2e132c239 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image41.gif differ diff --git a/doc/salome/gui/SMESH/images/image46.gif b/doc/salome/gui/SMESH/images/image46.gif new file mode 100755 index 000000000..0f00ea7cf Binary files /dev/null and b/doc/salome/gui/SMESH/images/image46.gif differ diff --git a/doc/salome/gui/SMESH/images/image49.gif b/doc/salome/gui/SMESH/images/image49.gif new file mode 100755 index 000000000..d10d9c4df Binary files /dev/null and b/doc/salome/gui/SMESH/images/image49.gif differ diff --git a/doc/salome/gui/SMESH/images/image5.jpg b/doc/salome/gui/SMESH/images/image5.jpg new file mode 100755 index 000000000..f195ac88a Binary files /dev/null and b/doc/salome/gui/SMESH/images/image5.jpg differ diff --git a/doc/salome/gui/SMESH/images/image50.gif b/doc/salome/gui/SMESH/images/image50.gif new file mode 100755 index 000000000..72d39545a Binary files /dev/null and b/doc/salome/gui/SMESH/images/image50.gif differ diff --git a/doc/salome/gui/SMESH/images/image51.jpg b/doc/salome/gui/SMESH/images/image51.jpg new file mode 100755 index 000000000..dfe3bc606 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image51.jpg differ diff --git a/doc/salome/gui/SMESH/images/image52.jpg b/doc/salome/gui/SMESH/images/image52.jpg new file mode 100755 index 000000000..1c83b35f8 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image52.jpg differ diff --git a/doc/salome/gui/SMESH/images/image53.gif b/doc/salome/gui/SMESH/images/image53.gif new file mode 100755 index 000000000..8f728207f Binary files /dev/null and b/doc/salome/gui/SMESH/images/image53.gif differ diff --git a/doc/salome/gui/SMESH/images/image55.gif b/doc/salome/gui/SMESH/images/image55.gif new file mode 100755 index 000000000..cc1b80e48 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image55.gif differ diff --git a/doc/salome/gui/SMESH/images/image56.gif b/doc/salome/gui/SMESH/images/image56.gif new file mode 100755 index 000000000..ffe1e9521 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image56.gif differ diff --git a/doc/salome/gui/SMESH/images/image56.jpg b/doc/salome/gui/SMESH/images/image56.jpg new file mode 100755 index 000000000..5fba91a2f Binary files /dev/null and b/doc/salome/gui/SMESH/images/image56.jpg differ diff --git a/doc/salome/gui/SMESH/images/image58.gif b/doc/salome/gui/SMESH/images/image58.gif new file mode 100755 index 000000000..45e28568e Binary files /dev/null and b/doc/salome/gui/SMESH/images/image58.gif differ diff --git a/doc/salome/gui/SMESH/images/image63.gif b/doc/salome/gui/SMESH/images/image63.gif new file mode 100755 index 000000000..6a9c2c86d Binary files /dev/null and b/doc/salome/gui/SMESH/images/image63.gif differ diff --git a/doc/salome/gui/SMESH/images/image64.gif b/doc/salome/gui/SMESH/images/image64.gif new file mode 100755 index 000000000..1d92c81f1 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image64.gif differ diff --git a/doc/salome/gui/SMESH/images/image67.gif b/doc/salome/gui/SMESH/images/image67.gif new file mode 100755 index 000000000..68bd3e383 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image67.gif differ diff --git a/doc/salome/gui/SMESH/images/image7.jpg b/doc/salome/gui/SMESH/images/image7.jpg new file mode 100644 index 000000000..cbd6170ee Binary files /dev/null and b/doc/salome/gui/SMESH/images/image7.jpg differ diff --git a/doc/salome/gui/SMESH/images/image70.gif b/doc/salome/gui/SMESH/images/image70.gif new file mode 100755 index 000000000..120b8e8ef Binary files /dev/null and b/doc/salome/gui/SMESH/images/image70.gif differ diff --git a/doc/salome/gui/SMESH/images/image70.jpg b/doc/salome/gui/SMESH/images/image70.jpg new file mode 100755 index 000000000..0df360f68 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image70.jpg differ diff --git a/doc/salome/gui/SMESH/images/image71.gif b/doc/salome/gui/SMESH/images/image71.gif new file mode 100755 index 000000000..0008354f6 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image71.gif differ diff --git a/doc/salome/gui/SMESH/images/image71.jpg b/doc/salome/gui/SMESH/images/image71.jpg new file mode 100755 index 000000000..cb1223d38 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image71.jpg differ diff --git a/doc/salome/gui/SMESH/images/image74.gif b/doc/salome/gui/SMESH/images/image74.gif new file mode 100755 index 000000000..c66029e74 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image74.gif differ diff --git a/doc/salome/gui/SMESH/images/image76.jpg b/doc/salome/gui/SMESH/images/image76.jpg new file mode 100755 index 000000000..88ec89ffe Binary files /dev/null and b/doc/salome/gui/SMESH/images/image76.jpg differ diff --git a/doc/salome/gui/SMESH/images/image77.jpg b/doc/salome/gui/SMESH/images/image77.jpg new file mode 100755 index 000000000..c253eacae Binary files /dev/null and b/doc/salome/gui/SMESH/images/image77.jpg differ diff --git a/doc/salome/gui/SMESH/images/image78.jpg b/doc/salome/gui/SMESH/images/image78.jpg new file mode 100755 index 000000000..80c2a1633 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image78.jpg differ diff --git a/doc/salome/gui/SMESH/images/image79.gif b/doc/salome/gui/SMESH/images/image79.gif new file mode 100755 index 000000000..9711ccbc9 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image79.gif differ diff --git a/doc/salome/gui/SMESH/images/image79.jpg b/doc/salome/gui/SMESH/images/image79.jpg new file mode 100755 index 000000000..6d164167f Binary files /dev/null and b/doc/salome/gui/SMESH/images/image79.jpg differ diff --git a/doc/salome/gui/SMESH/images/image80.gif b/doc/salome/gui/SMESH/images/image80.gif new file mode 100755 index 000000000..399af0a9a Binary files /dev/null and b/doc/salome/gui/SMESH/images/image80.gif differ diff --git a/doc/salome/gui/SMESH/images/image82.gif b/doc/salome/gui/SMESH/images/image82.gif new file mode 100755 index 000000000..93c6c9b96 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image82.gif differ diff --git a/doc/salome/gui/SMESH/images/image83.gif b/doc/salome/gui/SMESH/images/image83.gif new file mode 100755 index 000000000..331b64a10 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image83.gif differ diff --git a/doc/salome/gui/SMESH/images/image84.gif b/doc/salome/gui/SMESH/images/image84.gif new file mode 100755 index 000000000..ea8ec56bc Binary files /dev/null and b/doc/salome/gui/SMESH/images/image84.gif differ diff --git a/doc/salome/gui/SMESH/images/image86.jpg b/doc/salome/gui/SMESH/images/image86.jpg new file mode 100644 index 000000000..168b43e2c Binary files /dev/null and b/doc/salome/gui/SMESH/images/image86.jpg differ diff --git a/doc/salome/gui/SMESH/images/image88.gif b/doc/salome/gui/SMESH/images/image88.gif new file mode 100755 index 000000000..b2d4b73fc Binary files /dev/null and b/doc/salome/gui/SMESH/images/image88.gif differ diff --git a/doc/salome/gui/SMESH/images/image88.jpg b/doc/salome/gui/SMESH/images/image88.jpg new file mode 100755 index 000000000..3b2a9739c Binary files /dev/null and b/doc/salome/gui/SMESH/images/image88.jpg differ diff --git a/doc/salome/gui/SMESH/images/image90.jpg b/doc/salome/gui/SMESH/images/image90.jpg new file mode 100755 index 000000000..4f4c301d4 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image90.jpg differ diff --git a/doc/salome/gui/SMESH/images/image91.gif b/doc/salome/gui/SMESH/images/image91.gif new file mode 100755 index 000000000..a09ab9e76 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image91.gif differ diff --git a/doc/salome/gui/SMESH/images/image92.gif b/doc/salome/gui/SMESH/images/image92.gif new file mode 100755 index 000000000..9e0517f5d Binary files /dev/null and b/doc/salome/gui/SMESH/images/image92.gif differ diff --git a/doc/salome/gui/SMESH/images/image92.jpg b/doc/salome/gui/SMESH/images/image92.jpg new file mode 100755 index 000000000..bf6e61049 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image92.jpg differ diff --git a/doc/salome/gui/SMESH/images/image93.jpg b/doc/salome/gui/SMESH/images/image93.jpg new file mode 100755 index 000000000..f9780b4ba Binary files /dev/null and b/doc/salome/gui/SMESH/images/image93.jpg differ diff --git a/doc/salome/gui/SMESH/images/image94.gif b/doc/salome/gui/SMESH/images/image94.gif new file mode 100755 index 000000000..7313f5deb Binary files /dev/null and b/doc/salome/gui/SMESH/images/image94.gif differ diff --git a/doc/salome/gui/SMESH/images/image94.jpg b/doc/salome/gui/SMESH/images/image94.jpg new file mode 100644 index 000000000..789166734 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image94.jpg differ diff --git a/doc/salome/gui/SMESH/images/image95.gif b/doc/salome/gui/SMESH/images/image95.gif new file mode 100755 index 000000000..6491f27d4 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image95.gif differ diff --git a/doc/salome/gui/SMESH/images/image95.jpg b/doc/salome/gui/SMESH/images/image95.jpg new file mode 100755 index 000000000..047dccf64 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image95.jpg differ diff --git a/doc/salome/gui/SMESH/images/image96.gif b/doc/salome/gui/SMESH/images/image96.gif new file mode 100755 index 000000000..1392ee705 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image96.gif differ diff --git a/doc/salome/gui/SMESH/images/image96.jpg b/doc/salome/gui/SMESH/images/image96.jpg new file mode 100755 index 000000000..5f3128eb9 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image96.jpg differ diff --git a/doc/salome/gui/SMESH/images/image97.gif b/doc/salome/gui/SMESH/images/image97.gif new file mode 100755 index 000000000..480b584ed Binary files /dev/null and b/doc/salome/gui/SMESH/images/image97.gif differ diff --git a/doc/salome/gui/SMESH/images/image97.jpg b/doc/salome/gui/SMESH/images/image97.jpg new file mode 100755 index 000000000..275f2e396 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image97.jpg differ diff --git a/doc/salome/gui/SMESH/images/image98.gif b/doc/salome/gui/SMESH/images/image98.gif new file mode 100755 index 000000000..5f375b774 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image98.gif differ diff --git a/doc/salome/gui/SMESH/images/image99.gif b/doc/salome/gui/SMESH/images/image99.gif new file mode 100755 index 000000000..4959ed825 Binary files /dev/null and b/doc/salome/gui/SMESH/images/image99.gif differ diff --git a/doc/salome/gui/SMESH/images/intersect_groups1.png b/doc/salome/gui/SMESH/images/intersect_groups1.png new file mode 100755 index 000000000..9251b0e7a Binary files /dev/null and b/doc/salome/gui/SMESH/images/intersect_groups1.png differ diff --git a/doc/salome/gui/SMESH/images/intersect_groups2.png b/doc/salome/gui/SMESH/images/intersect_groups2.png new file mode 100755 index 000000000..eeaed8da1 Binary files /dev/null and b/doc/salome/gui/SMESH/images/intersect_groups2.png differ diff --git a/doc/salome/gui/SMESH/images/intersect_groups3.png b/doc/salome/gui/SMESH/images/intersect_groups3.png new file mode 100755 index 000000000..74f5c2d76 Binary files /dev/null and b/doc/salome/gui/SMESH/images/intersect_groups3.png differ diff --git a/doc/salome/gui/SMESH/images/intersectgroups.png b/doc/salome/gui/SMESH/images/intersectgroups.png new file mode 100755 index 000000000..b28b4d4d6 Binary files /dev/null and b/doc/salome/gui/SMESH/images/intersectgroups.png differ diff --git a/doc/salome/gui/SMESH/images/length-crit.png b/doc/salome/gui/SMESH/images/length-crit.png new file mode 100755 index 000000000..96836cd87 Binary files /dev/null and b/doc/salome/gui/SMESH/images/length-crit.png differ diff --git a/doc/salome/gui/SMESH/images/length2d.png b/doc/salome/gui/SMESH/images/length2d.png new file mode 100755 index 000000000..9a5264a02 Binary files /dev/null and b/doc/salome/gui/SMESH/images/length2d.png differ diff --git a/doc/salome/gui/SMESH/images/lengthnearvertex.png b/doc/salome/gui/SMESH/images/lengthnearvertex.png new file mode 100755 index 000000000..008dcb16e Binary files /dev/null and b/doc/salome/gui/SMESH/images/lengthnearvertex.png differ diff --git a/doc/salome/gui/SMESH/images/max_el_area.png b/doc/salome/gui/SMESH/images/max_el_area.png new file mode 100755 index 000000000..88db3d6f8 Binary files /dev/null and b/doc/salome/gui/SMESH/images/max_el_area.png differ diff --git a/doc/salome/gui/SMESH/images/mergeelems.png b/doc/salome/gui/SMESH/images/mergeelems.png new file mode 100755 index 000000000..dbd87877e Binary files /dev/null and b/doc/salome/gui/SMESH/images/mergeelems.png differ diff --git a/doc/salome/gui/SMESH/images/mergenodes.png b/doc/salome/gui/SMESH/images/mergenodes.png new file mode 100755 index 000000000..d7437e400 Binary files /dev/null and b/doc/salome/gui/SMESH/images/mergenodes.png differ diff --git a/doc/salome/gui/SMESH/images/merging_nodes1.png b/doc/salome/gui/SMESH/images/merging_nodes1.png new file mode 100755 index 000000000..f64bdcbe2 Binary files /dev/null and b/doc/salome/gui/SMESH/images/merging_nodes1.png differ diff --git a/doc/salome/gui/SMESH/images/merging_nodes2.png b/doc/salome/gui/SMESH/images/merging_nodes2.png new file mode 100755 index 000000000..8d7cfdd09 Binary files /dev/null and b/doc/salome/gui/SMESH/images/merging_nodes2.png differ diff --git a/doc/salome/gui/SMESH/images/mesh_cylinder_hexa.png b/doc/salome/gui/SMESH/images/mesh_cylinder_hexa.png new file mode 100644 index 000000000..f95dc67f7 Binary files /dev/null and b/doc/salome/gui/SMESH/images/mesh_cylinder_hexa.png differ diff --git a/doc/salome/gui/SMESH/images/mesh_for_extr_along_path.png b/doc/salome/gui/SMESH/images/mesh_for_extr_along_path.png new file mode 100644 index 000000000..4ee52ebfa Binary files /dev/null and b/doc/salome/gui/SMESH/images/mesh_for_extr_along_path.png differ diff --git a/doc/salome/gui/SMESH/images/mesh_node_to_point.png b/doc/salome/gui/SMESH/images/mesh_node_to_point.png new file mode 100644 index 000000000..5d534cb9d Binary files /dev/null and b/doc/salome/gui/SMESH/images/mesh_node_to_point.png differ diff --git a/doc/salome/gui/SMESH/images/meshcomputationfail.png b/doc/salome/gui/SMESH/images/meshcomputationfail.png new file mode 100644 index 000000000..9c26158e2 Binary files /dev/null and b/doc/salome/gui/SMESH/images/meshcomputationfail.png differ diff --git a/doc/salome/gui/SMESH/images/meshcomputationsucceed.png b/doc/salome/gui/SMESH/images/meshcomputationsucceed.png new file mode 100644 index 000000000..ab2357910 Binary files /dev/null and b/doc/salome/gui/SMESH/images/meshcomputationsucceed.png differ diff --git a/doc/salome/gui/SMESH/images/meshexportmesh.png b/doc/salome/gui/SMESH/images/meshexportmesh.png new file mode 100755 index 000000000..a84b25207 Binary files /dev/null and b/doc/salome/gui/SMESH/images/meshexportmesh.png differ diff --git a/doc/salome/gui/SMESH/images/meshimportmesh.png b/doc/salome/gui/SMESH/images/meshimportmesh.png new file mode 100755 index 000000000..f87250bf4 Binary files /dev/null and b/doc/salome/gui/SMESH/images/meshimportmesh.png differ diff --git a/doc/salome/gui/SMESH/images/meshtopass.png b/doc/salome/gui/SMESH/images/meshtopass.png new file mode 100755 index 000000000..044c0164b Binary files /dev/null and b/doc/salome/gui/SMESH/images/meshtopass.png differ diff --git a/doc/salome/gui/SMESH/images/meshtrianglemergeelem1.png b/doc/salome/gui/SMESH/images/meshtrianglemergeelem1.png new file mode 100755 index 000000000..0f9bd5215 Binary files /dev/null and b/doc/salome/gui/SMESH/images/meshtrianglemergeelem1.png differ diff --git a/doc/salome/gui/SMESH/images/movenodes.png b/doc/salome/gui/SMESH/images/movenodes.png new file mode 100755 index 000000000..16e9e6262 Binary files /dev/null and b/doc/salome/gui/SMESH/images/movenodes.png differ diff --git a/doc/salome/gui/SMESH/images/moving_nodes1.png b/doc/salome/gui/SMESH/images/moving_nodes1.png new file mode 100755 index 000000000..2bae38850 Binary files /dev/null and b/doc/salome/gui/SMESH/images/moving_nodes1.png differ diff --git a/doc/salome/gui/SMESH/images/moving_nodes2.png b/doc/salome/gui/SMESH/images/moving_nodes2.png new file mode 100755 index 000000000..b65e57ae9 Binary files /dev/null and b/doc/salome/gui/SMESH/images/moving_nodes2.png differ diff --git a/doc/salome/gui/SMESH/images/netgen2d.png b/doc/salome/gui/SMESH/images/netgen2d.png new file mode 100644 index 000000000..b2a9f25ed Binary files /dev/null and b/doc/salome/gui/SMESH/images/netgen2d.png differ diff --git a/doc/salome/gui/SMESH/images/number_of_layers.png b/doc/salome/gui/SMESH/images/number_of_layers.png new file mode 100644 index 000000000..846fa2c3e Binary files /dev/null and b/doc/salome/gui/SMESH/images/number_of_layers.png differ diff --git a/doc/salome/gui/SMESH/images/orientaation1.png b/doc/salome/gui/SMESH/images/orientaation1.png new file mode 100755 index 000000000..c23b0b8a8 Binary files /dev/null and b/doc/salome/gui/SMESH/images/orientaation1.png differ diff --git a/doc/salome/gui/SMESH/images/patternmapping1.png b/doc/salome/gui/SMESH/images/patternmapping1.png new file mode 100755 index 000000000..14daae187 Binary files /dev/null and b/doc/salome/gui/SMESH/images/patternmapping1.png differ diff --git a/doc/salome/gui/SMESH/images/patternmapping2.png b/doc/salome/gui/SMESH/images/patternmapping2.png new file mode 100755 index 000000000..fbcf35544 Binary files /dev/null and b/doc/salome/gui/SMESH/images/patternmapping2.png differ diff --git a/doc/salome/gui/SMESH/images/projection_1d.png b/doc/salome/gui/SMESH/images/projection_1d.png new file mode 100644 index 000000000..1560acaee Binary files /dev/null and b/doc/salome/gui/SMESH/images/projection_1d.png differ diff --git a/doc/salome/gui/SMESH/images/projection_2d.png b/doc/salome/gui/SMESH/images/projection_2d.png new file mode 100644 index 000000000..91d446b5c Binary files /dev/null and b/doc/salome/gui/SMESH/images/projection_2d.png differ diff --git a/doc/salome/gui/SMESH/images/projection_3d.png b/doc/salome/gui/SMESH/images/projection_3d.png new file mode 100644 index 000000000..aeffc7a48 Binary files /dev/null and b/doc/salome/gui/SMESH/images/projection_3d.png differ diff --git a/doc/salome/gui/SMESH/images/remove.gif b/doc/salome/gui/SMESH/images/remove.gif new file mode 100644 index 000000000..8b81cb25e Binary files /dev/null and b/doc/salome/gui/SMESH/images/remove.gif differ diff --git a/doc/salome/gui/SMESH/images/remove_elements1.png b/doc/salome/gui/SMESH/images/remove_elements1.png new file mode 100755 index 000000000..538460f43 Binary files /dev/null and b/doc/salome/gui/SMESH/images/remove_elements1.png differ diff --git a/doc/salome/gui/SMESH/images/remove_elements2.png b/doc/salome/gui/SMESH/images/remove_elements2.png new file mode 100755 index 000000000..888188cc7 Binary files /dev/null and b/doc/salome/gui/SMESH/images/remove_elements2.png differ diff --git a/doc/salome/gui/SMESH/images/remove_elements_icon.png b/doc/salome/gui/SMESH/images/remove_elements_icon.png new file mode 100644 index 000000000..a2bb0f12a Binary files /dev/null and b/doc/salome/gui/SMESH/images/remove_elements_icon.png differ diff --git a/doc/salome/gui/SMESH/images/remove_nodes1.png b/doc/salome/gui/SMESH/images/remove_nodes1.png new file mode 100755 index 000000000..94caae679 Binary files /dev/null and b/doc/salome/gui/SMESH/images/remove_nodes1.png differ diff --git a/doc/salome/gui/SMESH/images/remove_nodes2.png b/doc/salome/gui/SMESH/images/remove_nodes2.png new file mode 100755 index 000000000..e9f806402 Binary files /dev/null and b/doc/salome/gui/SMESH/images/remove_nodes2.png differ diff --git a/doc/salome/gui/SMESH/images/removeelements.png b/doc/salome/gui/SMESH/images/removeelements.png new file mode 100755 index 000000000..42a79b5b1 Binary files /dev/null and b/doc/salome/gui/SMESH/images/removeelements.png differ diff --git a/doc/salome/gui/SMESH/images/removenodes.png b/doc/salome/gui/SMESH/images/removenodes.png new file mode 100755 index 000000000..cfcb777c6 Binary files /dev/null and b/doc/salome/gui/SMESH/images/removenodes.png differ diff --git a/doc/salome/gui/SMESH/images/renumberelements.png b/doc/salome/gui/SMESH/images/renumberelements.png new file mode 100755 index 000000000..0812b5066 Binary files /dev/null and b/doc/salome/gui/SMESH/images/renumberelements.png differ diff --git a/doc/salome/gui/SMESH/images/renumbernodes.png b/doc/salome/gui/SMESH/images/renumbernodes.png new file mode 100755 index 000000000..90a0eda13 Binary files /dev/null and b/doc/salome/gui/SMESH/images/renumbernodes.png differ diff --git a/doc/salome/gui/SMESH/images/revolution1.png b/doc/salome/gui/SMESH/images/revolution1.png new file mode 100755 index 000000000..0334e3b7e Binary files /dev/null and b/doc/salome/gui/SMESH/images/revolution1.png differ diff --git a/doc/salome/gui/SMESH/images/revolution2.png b/doc/salome/gui/SMESH/images/revolution2.png new file mode 100755 index 000000000..5612f9106 Binary files /dev/null and b/doc/salome/gui/SMESH/images/revolution2.png differ diff --git a/doc/salome/gui/SMESH/images/rotation.png b/doc/salome/gui/SMESH/images/rotation.png new file mode 100755 index 000000000..aed7744ba Binary files /dev/null and b/doc/salome/gui/SMESH/images/rotation.png differ diff --git a/doc/salome/gui/SMESH/images/rotation1.png b/doc/salome/gui/SMESH/images/rotation1.png new file mode 100755 index 000000000..5a4ad9901 Binary files /dev/null and b/doc/salome/gui/SMESH/images/rotation1.png differ diff --git a/doc/salome/gui/SMESH/images/rotation2.png b/doc/salome/gui/SMESH/images/rotation2.png new file mode 100755 index 000000000..366771a69 Binary files /dev/null and b/doc/salome/gui/SMESH/images/rotation2.png differ diff --git a/doc/salome/gui/SMESH/images/selectionfilterlibrary.png b/doc/salome/gui/SMESH/images/selectionfilterlibrary.png new file mode 100755 index 000000000..f07c09641 Binary files /dev/null and b/doc/salome/gui/SMESH/images/selectionfilterlibrary.png differ diff --git a/doc/salome/gui/SMESH/images/sewing1.png b/doc/salome/gui/SMESH/images/sewing1.png new file mode 100755 index 000000000..795d7a06b Binary files /dev/null and b/doc/salome/gui/SMESH/images/sewing1.png differ diff --git a/doc/salome/gui/SMESH/images/sewing2.png b/doc/salome/gui/SMESH/images/sewing2.png new file mode 100755 index 000000000..66a409973 Binary files /dev/null and b/doc/salome/gui/SMESH/images/sewing2.png differ diff --git a/doc/salome/gui/SMESH/images/sewing3.png b/doc/salome/gui/SMESH/images/sewing3.png new file mode 100755 index 000000000..6c74f1cbf Binary files /dev/null and b/doc/salome/gui/SMESH/images/sewing3.png differ diff --git a/doc/salome/gui/SMESH/images/sewing4.png b/doc/salome/gui/SMESH/images/sewing4.png new file mode 100755 index 000000000..cd9869a85 Binary files /dev/null and b/doc/salome/gui/SMESH/images/sewing4.png differ diff --git a/doc/salome/gui/SMESH/images/smoothing.png b/doc/salome/gui/SMESH/images/smoothing.png new file mode 100755 index 000000000..0fda00a22 Binary files /dev/null and b/doc/salome/gui/SMESH/images/smoothing.png differ diff --git a/doc/salome/gui/SMESH/images/smoothing1.png b/doc/salome/gui/SMESH/images/smoothing1.png new file mode 100755 index 000000000..763a5300b Binary files /dev/null and b/doc/salome/gui/SMESH/images/smoothing1.png differ diff --git a/doc/salome/gui/SMESH/images/smoothing2.png b/doc/salome/gui/SMESH/images/smoothing2.png new file mode 100755 index 000000000..bfce45739 Binary files /dev/null and b/doc/salome/gui/SMESH/images/smoothing2.png differ diff --git a/doc/salome/gui/SMESH/images/sort.gif b/doc/salome/gui/SMESH/images/sort.gif new file mode 100644 index 000000000..28a5dff29 Binary files /dev/null and b/doc/salome/gui/SMESH/images/sort.gif differ diff --git a/doc/salome/gui/SMESH/images/straight_after.png b/doc/salome/gui/SMESH/images/straight_after.png new file mode 100644 index 000000000..4572fea7b Binary files /dev/null and b/doc/salome/gui/SMESH/images/straight_after.png differ diff --git a/doc/salome/gui/SMESH/images/straight_before.png b/doc/salome/gui/SMESH/images/straight_before.png new file mode 100644 index 000000000..200aad85d Binary files /dev/null and b/doc/salome/gui/SMESH/images/straight_before.png differ diff --git a/doc/salome/gui/SMESH/images/symmetry1.png b/doc/salome/gui/SMESH/images/symmetry1.png new file mode 100755 index 000000000..c8fda3e9d Binary files /dev/null and b/doc/salome/gui/SMESH/images/symmetry1.png differ diff --git a/doc/salome/gui/SMESH/images/symmetry2.png b/doc/salome/gui/SMESH/images/symmetry2.png new file mode 100755 index 000000000..b92fdd9f6 Binary files /dev/null and b/doc/salome/gui/SMESH/images/symmetry2.png differ diff --git a/doc/salome/gui/SMESH/images/symmetry3.png b/doc/salome/gui/SMESH/images/symmetry3.png new file mode 100755 index 000000000..b573636bc Binary files /dev/null and b/doc/salome/gui/SMESH/images/symmetry3.png differ diff --git a/doc/salome/gui/SMESH/images/translation1.png b/doc/salome/gui/SMESH/images/translation1.png new file mode 100755 index 000000000..f6909fbdb Binary files /dev/null and b/doc/salome/gui/SMESH/images/translation1.png differ diff --git a/doc/salome/gui/SMESH/images/translation2.png b/doc/salome/gui/SMESH/images/translation2.png new file mode 100755 index 000000000..d1923e67f Binary files /dev/null and b/doc/salome/gui/SMESH/images/translation2.png differ diff --git a/doc/salome/gui/SMESH/images/union_groups1.png b/doc/salome/gui/SMESH/images/union_groups1.png new file mode 100755 index 000000000..7b2fc7511 Binary files /dev/null and b/doc/salome/gui/SMESH/images/union_groups1.png differ diff --git a/doc/salome/gui/SMESH/images/union_groups2.png b/doc/salome/gui/SMESH/images/union_groups2.png new file mode 100755 index 000000000..980e48d41 Binary files /dev/null and b/doc/salome/gui/SMESH/images/union_groups2.png differ diff --git a/doc/salome/gui/SMESH/images/union_groups3.png b/doc/salome/gui/SMESH/images/union_groups3.png new file mode 100755 index 000000000..caf6bb42b Binary files /dev/null and b/doc/salome/gui/SMESH/images/union_groups3.png differ diff --git a/doc/salome/gui/SMESH/images/uniongroups.png b/doc/salome/gui/SMESH/images/uniongroups.png new file mode 100755 index 000000000..936c3b9f7 Binary files /dev/null and b/doc/salome/gui/SMESH/images/uniongroups.png differ diff --git a/doc/salome/gui/SMESH/images/unionoftwotriangles.png b/doc/salome/gui/SMESH/images/unionoftwotriangles.png new file mode 100755 index 000000000..b9d2bdbd7 Binary files /dev/null and b/doc/salome/gui/SMESH/images/unionoftwotriangles.png differ diff --git a/doc/salome/gui/SMESH/images/uniting_a_set_of_triangles1.png b/doc/salome/gui/SMESH/images/uniting_a_set_of_triangles1.png new file mode 100755 index 000000000..fb00167a5 Binary files /dev/null and b/doc/salome/gui/SMESH/images/uniting_a_set_of_triangles1.png differ diff --git a/doc/salome/gui/SMESH/images/uniting_a_set_of_triangles2.png b/doc/salome/gui/SMESH/images/uniting_a_set_of_triangles2.png new file mode 100755 index 000000000..16d135112 Binary files /dev/null and b/doc/salome/gui/SMESH/images/uniting_a_set_of_triangles2.png differ diff --git a/doc/salome/gui/SMESH/images/uniting_two_triangles1.png b/doc/salome/gui/SMESH/images/uniting_two_triangles1.png new file mode 100755 index 000000000..e94be3a0f Binary files /dev/null and b/doc/salome/gui/SMESH/images/uniting_two_triangles1.png differ diff --git a/doc/salome/gui/SMESH/images/uniting_two_triangles2.png b/doc/salome/gui/SMESH/images/uniting_two_triangles2.png new file mode 100755 index 000000000..5cac5f541 Binary files /dev/null and b/doc/salome/gui/SMESH/images/uniting_two_triangles2.png differ diff --git a/doc/salome/gui/SMESH/index.htm b/doc/salome/gui/SMESH/index.htm deleted file mode 100755 index 767e2b766..000000000 --- a/doc/salome/gui/SMESH/index.htm +++ /dev/null @@ -1,180 +0,0 @@ - - -Mesh Module Reference Manual - - - - - - - - - - - - - diff --git a/doc/salome/gui/SMESH/index_csh.htm b/doc/salome/gui/SMESH/index_csh.htm deleted file mode 100755 index 2bd1f6387..000000000 --- a/doc/salome/gui/SMESH/index_csh.htm +++ /dev/null @@ -1,106 +0,0 @@ - - -Mesh Module Reference Manual - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/salome/gui/SMESH/index_rhc.htm b/doc/salome/gui/SMESH/index_rhc.htm deleted file mode 100755 index 4e8723907..000000000 --- a/doc/salome/gui/SMESH/index_rhc.htm +++ /dev/null @@ -1,106 +0,0 @@ - - -Mesh Module Reference Manual - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc b/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc new file mode 100644 index 000000000..716ddd90d --- /dev/null +++ b/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc @@ -0,0 +1,167 @@ +/*! + +\page a1d_meshing_hypo_page 1D Meshing Hypotheses + +
+
    +
  • \ref arithmetic_1d_anchor "Arithmetic 1D"
  • +
  • \ref average_length_anchor "Average Length"
  • +
  • \ref deflection_1d_anchor "Deflection 1D"
  • +
  • \ref number_of_segments_anchor "Number of segments"
  • +
  • \ref start_and_end_length_anchor "Start and end length"
  • +
  • \ref automatic_length_anchor "Automatic Length"
  • +
+ +
+\anchor arithmetic_1d_anchor +

Arithmetic 1D hypothesis

+ +Arithmetic 1D hypothesis allows to split edges into segments with a +length that changes in arithmetic progression (Lk = Lk-1 + d) +beginning from a given starting length and up to a given end length. + +\image html a-arithmetic1d.png + +\image html b-ithmetic1d.png + +See Also a sample TUI Script of a +\ref tui_1d_arithmetic "Defining Arithmetic 1D hypothesis" operation. + +
+\anchor deflection_1d_anchor +

Deflection 1D hypothesis

+ +Deflection 1D hypothesis can be applied for meshing curvilinear edges +composing your geometrical object. It uses only one parameter: the +value of deflection. +\n A geometrical edge is divided into equal segments. The maximum +distance between a point on the edge within a segment and the line +connecting the ends of the segment should not exceed the specified +value of deflection . Then mesh nodes are constructed at end segment +locations and 1D mesh elements are constructed on segments. + +\image html a-deflection1d.png + +\image html b-flection1d.png + +See Also a sample TUI Script of a +\ref tui_deflection_1d "Defining Deflection 1D hypothesis" operation. + +
+\anchor average_length_anchor +

Average Length hypothesis

+ +Average Length hypothesis can be applied for meshing of edges +composing your geometrical object. Definition of this hypothesis +consists of setting the \b length of segments, which will split these +edges, and the \b precision of rounding. The points on the edges +generated by these segments will represent nodes of your mesh. +Later these nodes will be used for meshing of the faces abutting to +these edges. + +The \b precision parameter is used to allow rounding a number of +segments, calculated from the edge length and average length of +segment, to the lower integer, if this value outstands from it in +bounds of the precision. Otherwise, the number of segments is rounded +to the higher integer. Use value 0.5 to provide rounding to the +nearest integer, 1.0 for the lower integer, 0.0 for the higher +integer. Default value is 1e-07. + +\image html image41.gif + +\image html a-averagelength.png + +\image html b-erage_length.png + +See Also a sample TUI Script of a +\ref tui_average_length "Defining Average Length" hypothesis +operation. + +
+\anchor number_of_segments_anchor +

Number of segments hypothesis

+ +Number of segments hypothesis can be applied for meshing of edges +composing your geometrical object. Definition of this hypothesis +consists of setting the number of segments, which will split these +edges. In other words your edges will be split into a definite number +of segments with approximately the same length. The points on the +edges generated by these segments will represent nodes of your +mesh. Later these nodes will be used for meshing of the faces abutting +to these edges. + +\image html image46.gif + +You can set the type of distribution for this hypothesis in the +Hypothesis Construction dialog bog : + +\image html a-nbsegments1.png + +
Equidistant Distribution - all segments will have the same +length, you define only the Number of Segments. + +\image html b-mberofsegments.png + +
Scale Distribution - each next segment differs from the +previous according to the formula: Ai+1 = Ai * k, where \b k is a +Scale Factor. + +\image html a-nbsegments2.png + +
Distribution with Table Density - you input a number of +pairs t - F(t), where \b t ranges from 0 to 1, and the module computes the +formula, which will rule the change of length of segments and shows +the curve in the plot. You can select the Conversion mode from +\b Exponent and Cut negative. + +\image html distributionwithtabledensity.png + +
Distribution with Analytic Density - you input the formula, +which will rule the change of length of segments and the module shows +the curve in the plot. + +\image html distributionwithanalyticdensity.png + +See Also a sample TUI Script of a +\ref tui_deflection_1d "Defining Number of Segments" hypothesis +operation. + +
+\anchor start_and_end_length_anchor +

Start and End Length hypothesis

+ +Start and End Length hypothesis allows to divide a geometrical edge +into segments so that the first and the last segments have a specified +length. The length of each but the first segment differs from length +of the previous one by a constant factor. Then mesh nodes are +constructed at segment ends location and 1D mesh elements are +constructed on them. + +\image html a-startendlength.png + +\image html b-art_end_length.png + +See Also a sample TUI Script of a +\ref tui_start_and_end_length "Defining Start and End Length" +hypothesis operation. + +
+\anchor automatic_length_anchor +

Automatic Length

+ +This hypothesis is automatically applied when you select Assign a +set of hypotheses option in Create Mesh menu. + +\image html automaticlength.png + +The dialog box prompts you to define the quality of the future mesh by +only one parameter, which is \b Fineness, ranging from 0 (coarse mesh, +low number of elements) to 1 (extremely fine mesh, great number of +elements). Compare one and the same object (sphere) meshed with +minimum and maximum value of this parameter. + +\image html image147.gif + +\image html image148.gif + +*/ diff --git a/doc/salome/gui/SMESH/input/2d_meshing_hypo.doc b/doc/salome/gui/SMESH/input/2d_meshing_hypo.doc new file mode 100644 index 000000000..05ab6dd36 --- /dev/null +++ b/doc/salome/gui/SMESH/input/2d_meshing_hypo.doc @@ -0,0 +1,51 @@ +/*! + +\page a2d_meshing_hypo_page 2D Meshing Hypotheses + +
+
    +
  • \ref max_element_area_anchor "Max Element Area"
  • +
  • \ref length_from_edges_anchor "Length from Edges"
  • +
  • \ref quadrangle_preference_anchor "Quadrangle Preference"
  • +
+ +
+\anchor max_element_area_anchor +

Max Element Area

+ +Max Element Area hypothesis is applied for meshing of 2D faces +composing your geometrical object. Definition of this hypothesis +consists of setting the maximum area of meshing elements (depending on +the chosen meshing algorithm it can be triangles or quadrangles), +which will compose the mesh of these 2D faces. + +\image html a-maxelarea.png + +\image html max_el_area.png + +See Also a sample TUI Script of a +\ref tui_max_element_area "Maximum Element Area" hypothesis +operation. + +
+\anchor length_from_edges_anchor +

Length from Edges

+ +Length from edges hypothesis builds 2D mesh segments having a +length calculated as an average edge length for a given wire. + +See Also a sample TUI Script of a +\ref tui_length_from_edges "Length from Edges" hypothesis operation. + +
+\anchor quadrangle_preference_anchor +

Quadrangle Preference

+ +This algorithm can be used only together with Quadrangle (Mapping) +algorithm. It allows to build quadrangular meshes even if the number +of nodes at the opposite edges of a meshed face is not equal, +otherwise this mesh will contain some triangular elements. +
+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). +*/ diff --git a/doc/salome/gui/SMESH/input/about_hypo.doc b/doc/salome/gui/SMESH/input/about_hypo.doc new file mode 100644 index 000000000..40b8ff590 --- /dev/null +++ b/doc/salome/gui/SMESH/input/about_hypo.doc @@ -0,0 +1,52 @@ +/*! + +\page about_hypo_page About Hypotheses + +\n \b Hypotheses represent boundary conditions which will be taken into +account at calculations of meshes or submeshes basing on geometrical +objects. These hypotheses allow you to manage the level of detail of +the resulting meshes or submeshes: when applying different hypotheses +with different parameters you can preset the quantity of meshing +elements which will compose your mesh. So, it will be possible to +generate a rough or a more refined mesh or submesh. + +In \b MESH there are the following Basic Hypotheses (to introduce +them, you operate numerical values): +
    +
  • \ref a1d_meshing_hypo_page "1D Hypotheses" (for meshing of +edges):
  • +
      +
    • \ref arithmetic_1d_anchor "Arithmetic 1D"
    • +
    • \ref average_length_anchor "Average Length"
    • +
    • \ref deflection_1d_anchor "Deflection 1D"
    • +
    • \ref number_of_segments_anchor "Number of segments"
    • +
    • \ref start_and_end_length_anchor "Start and end length"
    • +
    • \ref automatic_length_anchor "Automatic Length"
    • +
    +
  • \ref a2d_meshing_hypo_page "2D Hypotheses" (for meshing of faces):
  • +
      +
    • \ref max_element_area_anchor "Max Element Area"
    • +
    • \ref length_from_edges_anchor "Length from Edges"
    • +
    • \ref quadrangle_preference_anchor "Quadrangle Preference"
    • +
    +
  • 3D Hypothesis (for meshing of volumes):
  • +
      +
    • \ref max_element_volume_hypo_page "Max Element Volume"
    • +
    +
+ +There also exist some +\ref additional_hypo_page "Additional Hypotheses": +
    +
  • Propagation of 1D Hypothesis on opposite edges
  • +
  • Non conform mesh allowed
  • +
  • Quadratic mesh
  • +
+ +The choice of a hypothesis depends on: +
    +
  • the geometrical object (shape) which will be meshed
  • +
  • the algorithm, which will be selected for meshing of this geometrical object (shape)
  • +
+ +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/about_meshes.doc b/doc/salome/gui/SMESH/input/about_meshes.doc new file mode 100644 index 000000000..3864329e4 --- /dev/null +++ b/doc/salome/gui/SMESH/input/about_meshes.doc @@ -0,0 +1,86 @@ +/*! + +\page about_meshes_page About meshes + +\n \b MESH represents a discretization of a geometrical CAD model into +a set of entities with a simple topology. In MESH there are two +options of creation of meshes, you can: + +
    +
  • generate meshes on the basis of geometrical shapes produced in the GEOM module,
  • +
  • create your own meshes using the MESH functions destined for modification of generated meshes.
  • +
+ +The topology of a mesh is described by the relationships between its +entities including: + +
    +
  • \b Node — 0D object of a mesh presented by a point with coordinates (x, y, z).
  • +
  • \b Edge — 1D element of a mesh defined by two nodes.
  • +
  • \b Face — 2D element of a mesh defined by three or four edges (closed contour).
  • +
  • \b Volume — 3D element of a mesh defined by several faces.
  • +
+ +        These entities are +considered as topological entities and they don't +imply any geometric representation. Only \b Nodes reference geometric +representations of points with definite coordinates. The node entity +will contain additional information about its position in the space +and its relations with the meshed CAD model. Its position could be +described in the following way: + +
    +
  • 2D position. It is a free position defined by only two coordinates x,y.
  • +
  • 3D position. It is a free position defined by three coordinates x,y and z.
  • +
  • Surface position. It characterizes the position of a node on a +geometric surface and is defined by the u,v position in the parametric +space of the corresponding surface.
  • +
  • Line position. It characterizes the position of a node on a +geometric curve and is defined by the u parameter and the +corresponding curve.
  • +
  • Vertex position. It characterizes the position of a node on a +geometric point of the meshed CAD model and is defined by the x,y,z +coordinates of the corresponding vertex.
  • +
+ +

Connections

+ +Each mesh entity bounds 0 or more mesh entities of higher +dimension. In the same way each mesh entity is bounded by 0 or more +mesh entities of lower dimension: + +
    +
  • A node bounds edges, faces and volumes
  • +
  • An edge bounds faces, and volumes
  • +
  • A face bounds volumes
  • +
  • A volume is bounded by faces, edges and nodes
  • +
  • A face is bounded by edges, and nodes
  • +
  • An edge is bounded by nodes
  • +
+ +You can notice that there are two types of connections: \b inverse and +\b direct connections. + +

Inverse connections

+ +This relationship has a particularity that the order of bounded +entities has not a direct meaning. Also the number of bounded entities +is not fixed. + +\b Example: The edges surrounding a node. The 3rd edge has no more +sense that the 5th one. + +

Direct connections

+ +This relationship has a particularity that the order of bounding +entities is meaningful. The number of bounding entities is fixed and +depends on the type of the entity (hexahedron, tetrahedron,?). + +\b Example: An edge is composed of two nodes. A face is composed of 3 +or 4 edges depending if we are dealing with triangles or quadrangles. + +The connections are not only restricted to entities of one dimension +higher or lower. For example some algorithms may be interested to +retrieve all the faces surrounding a node. + +*/ diff --git a/doc/salome/gui/SMESH/input/about_quality_controls.doc b/doc/salome/gui/SMESH/input/about_quality_controls.doc new file mode 100644 index 000000000..f197bae0c --- /dev/null +++ b/doc/salome/gui/SMESH/input/about_quality_controls.doc @@ -0,0 +1,44 @@ +/*! + +\page about_quality_controls_page About quality controls + +\n Mesh quality control in MESH is destined for visual control of the generated mesh. + +Application of a definite quality control consists of usage of the +corresponding algorithm, which calculates a value of a definite +geometric characteristic (Area, Length of edges, etc) for all meshing +elements, composing your mesh. Then all meshing elements are colored +according the calculated values. The reference between the coloring of +the meshing elements and these calculated values is shown with the +help of a scalar bar, which is displayed near the presentation of your +mesh. + +There are 1D, 2D and 3D quality controls. + +1D mesh quality controls: +
    +
  • \ref free_borders_page "Free borders"
  • +
  • \ref borders_at_multi_connection_page "Borders at multi-connection"
  • +
  • \ref length_page "Length"
  • +
+ +2D mesh quality controls: +
    +
  • \ref free_edges_page "Free edges"
  • +
  • \ref length_2d_page "Length 2D"
  • +
  • \ref borders_at_multi_connection_2d_page "Borders at multi-connection 2D"
  • +
  • \ref area_page "Area"
  • +
  • \ref taper_page "Taper"
  • +
  • \ref aspect_ratio_page "Aspect ratio"
  • +
  • \ref minimum_angle_page "Minimum angle"
  • +
  • \ref warping_page "Warping"
  • +
  • \ref skew_page "Skew"
  • +
+ +3D mesh quality controls: +
    +
  • \ref aspect_ratio_3d_page "Aspect ratio 3D"
  • +
  • \ref volume_page "Volume"
  • +
+ +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/adding_nodes_and_elements.doc b/doc/salome/gui/SMESH/input/adding_nodes_and_elements.doc new file mode 100644 index 000000000..f55d75d8d --- /dev/null +++ b/doc/salome/gui/SMESH/input/adding_nodes_and_elements.doc @@ -0,0 +1,140 @@ +/*! + +\page adding_nodes_and_elements_page Adding nodes and elements + +\n In MESH you can add to your mesh different elements such as: + +
    +
  • \ref adding_nodes_anchor "Nodes"
  • +
  • \ref adding_edges_anchor "Edges"
  • +
  • \ref adding_triangles_anchor "Triangles"
  • +
  • \ref adding_quadrangles_anchor "Quadrangles"
  • +
  • \ref adding_polygons_anchor "Polygons"
  • +
  • \ref adding_tetrahedrons_anchor "Tetrahedrons"
  • +
  • \ref adding_hexahedrons_anchor "Hexahedrons"
  • +
  • \ref adding_polyhedrons_anchor "Polyhedrons"
  • +
+ +To add a node or an element to your mesh: +
    +
  1. Select your mesh in the Object Browser or in the 3D viewer.
  2. + +
  3. From the \b Modification menu choose the \b Add item, the +following associated submenu will appear:
  4. + +\image html image146.gif + +From this submenu select the type of element which you would like to add to your mesh. +
+ +See Also sample TUI Scripts of +\ref tui_adding_nodes_and_elements "Adding Nodes and Elements" +operations. + +
+\anchor adding_nodes_anchor +

Adding nodes

+ +\image html addnode.png + +In this dialog box set coordinates for your node in the \b Coordinates +set of fields and click the \b Apply or \b OK button. Your node will be +created: + +\image html add_node.png + +
+\anchor adding_edges_anchor +

Adding edges

+ +\image html addedge.png + +In this dialog box specify the nodes which will form your edge by +selecting them in the 3D viewer with pressed Shift button and click +the \b Apply or \b OK button. Your edge will be created: + +\image html add_edge.png + +
+\anchor adding_triangles_anchor +

Adding triangles

+ +\image html addtriangle.png + +In this dialog box specify the nodes which will form your triangle by +selecting them in the 3D viewer with pressed Shift button and click +the \b Apply or \b OK button. Your triangle will be created: + +\image html add_triangle.png + +
+\anchor adding_quadrangles_anchor +

Adding quadrangles

+ +\image html addquadrangle.png + +In this dialog box specify the nodes which will form your quadrangle +by selecting them in the 3D viewer with pressed Shift button and click +the \b Apply or \b OK button. Your quadrangle will be created: + +\image html add_quadrangle.png + +
+\anchor adding_polygons_anchor +

Adding polygons

+ +\image html addpolygon.png + +In this dialog box specify the nodes which will form your polygon by +selecting them in the 3D viewer with pressed Shift button and click +the \b Apply or \b OK button. + +\image html add_polygone.png + +
+\anchor adding_tetrahedrons_anchor +

Adding tetrahedrons

+ +\image html addtetrahedron.png + +In this dialog box specify the nodes which will form your tetrahedron +by selecting them in the 3D viewer with pressed Shift button and click +the \b Apply or \b OK button. Your tetrahedron will be created: + +\image html image70.jpg + +
+\anchor adding_hexahedrons_anchor +

Adding hexahedrons

+ +\image html addhexahedron.png + +In this dialog box specify the nodes which will form your hexahedron +by selecting them in the 3D viewer with pressed Shift button and click +the \b Apply or \b OK button. Your hexahedron will be created: + +\image html image71.jpg + +
+\anchor adding_polyhedrons_anchor +

Adding polyhedrons

+ +\image html a-createpolyhedralvolume.png + +There are two different ways to add polyhedral volumes. +\n If you select \b Node as Elements Type you will specify the +nodes which will form the faces of your polyhedron by selecting the +nodes in the 3D viewer with pressed Shift button and clicking the \b +Add button to add the face in the list of Faces by Nodes, which will +form your polyhedron. Note, that it could be very useful to toggle +Polyhedron Preview checkbox to see the results of your selection. +\n The second way is somewhat simpler, however, there are cases when +it does not provide you with the necessary level of precision. If you +select \b Face as Elements Type, you will be able to select the faces +which will form your polyhedron in the 3D viewer with pressed Shift +button. If you've managed to obtain the necessary result, click the +\b Apply or \b OK button. Your polyhedron will be created: + +\image html add_polyhedron.png + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/adding_quadratic_elements.doc b/doc/salome/gui/SMESH/input/adding_quadratic_elements.doc new file mode 100644 index 000000000..50d8eafb1 --- /dev/null +++ b/doc/salome/gui/SMESH/input/adding_quadratic_elements.doc @@ -0,0 +1,41 @@ +/*! + +\page adding_quadratic_elements_page Adding Quadratic Elements + +\n MESH modules allows you to work with Quadratic Elements. + +Quadratic Edge is not a straight but a broken line and can be defined +by three points: first, middle and last. All more complex \b Quadratic +\b 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. + +
  3. From the \b Modification menu choose the \b Add item and select +one of the following: + +\image html image152.gif + +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 \b OK or \b Apply button to +add the element to the mesh. + +\image html aqt.png + +\b Reverse button for Quadratic Edges switches the first and the last +nodes. For all other elements it reverses the element. +
  4. +
+ + + +*/ diff --git a/doc/salome/gui/SMESH/input/additional_hypo.doc b/doc/salome/gui/SMESH/input/additional_hypo.doc new file mode 100644 index 000000000..9687bdf2d --- /dev/null +++ b/doc/salome/gui/SMESH/input/additional_hypo.doc @@ -0,0 +1,35 @@ +/*! + +\page additional_hypo_page Additional Hypotheses + +\n Additional Hypotheses can be applied as a supplement to the +main hypotheses, introducing additional concepts to mesh creation. + +To define an Additional Hypothesis simply select it in +Create Mesh menu. These hypotheses are actually changes in the +rules of mesh creation and as such don't possess adjustable values. + +

Non Conform mesh allowed hypothesis

+ +Non Conform mesh allowed hypothesis allows to generate non-conform +meshes (that is, meshes having some edges ending on an edge or face of +adjacent elements). + +

Quadratic Mesh

+ +Quadratic Mesh hypothesis allows to build a quadratic mesh (whose +edges are not straight but broken lines and can be defined by three +points: first, middle and last) instead of an ordinary one. + +

Propagation of 1D Hypothesis on opposite edges

+ +Propagation of 1D Hypothesis on opposite edges allows to propagate a +hypothesis onto an opposite edge. If a local hypothesis and +propagation are defined on an edge of a quadrangular face, the +opposite edge will have the same hypothesis, unless another hypothesis +has been locally defined on the opposite edge. + +
See Also a sample TUI Script of a +\ref tui_propagation "Propagation hypothesis" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/area.doc b/doc/salome/gui/SMESH/input/area.doc new file mode 100644 index 000000000..553b9e935 --- /dev/null +++ b/doc/salome/gui/SMESH/input/area.doc @@ -0,0 +1,29 @@ +/*! + +\page area_page Area + +\n \b Area mesh quality control is based on the algorithm of area +calculation of meshing elements. It can be applied to meshes +consisting of 2D meshing elements with 3 and 4 nodes (triangles and +quadrangles). + +To apply the Area quality control to your mesh: +
    +
  1. Display your mesh in the viewer.
  2. + +
  3. Choose Controls > Area or click "Area" button. + +\image html image35.gif +
    "Area" button
    + +Your mesh will be displayed in the viewer with its elements colored +according to the applied mesh quality control criterion: + +\image html image5.jpg +
  4. +
+ +
See Also a sample TUI Script of an +\ref tui_area "Area quality control" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/aspect_ratio.doc b/doc/salome/gui/SMESH/input/aspect_ratio.doc new file mode 100644 index 000000000..660b94c3b --- /dev/null +++ b/doc/salome/gui/SMESH/input/aspect_ratio.doc @@ -0,0 +1,44 @@ +/*! + +\page aspect_ratio_page Aspect Ratio + +\n The Aspect Ratio quality criterion for mesh elements reveals +the degree of conformity of a mesh element to the regular element of +its type (with all edges having the same length). + + + +- The Aspect Ratio of a \b triangle 2D element consisting of 3 +nodes is calculated by the formula: + +\image html formula4.png + +- The Aspect Ratio of a \b quadrangle 2D element consisting of + 4 nodes is the worst (i.e. the greatest) value from all triangles + which can be built taking three nodes of the quadrangle. There are + four triangles to consider: + +\image html image138.gif + +To apply the Aspect Ratio quality criterion to your mesh: +
    +
  1. Display your mesh in the viewer.
  2. + +
  3. Choose Controls > Aspect Ratio or click "Aspect +Ratio" button in the toolbar. + +\image html image37.gif +
    "Aspect Ratio" button
    + +Your mesh will be displayed in the viewer with its elements colored +according to the applied mesh quality control criterion: + +\image html image94.jpg +
  4. +
+ +
See Also a sample TUI Script of an +\ref tui_aspect_ratio "Aspect Ratio quality control" operation. + +*/ + diff --git a/doc/salome/gui/SMESH/input/aspect_ratio_3d.doc b/doc/salome/gui/SMESH/input/aspect_ratio_3d.doc new file mode 100644 index 000000000..1f573226c --- /dev/null +++ b/doc/salome/gui/SMESH/input/aspect_ratio_3d.doc @@ -0,0 +1,40 @@ +/*! + +\page aspect_ratio_3d_page Aspect ratio 3D + +\n The Aspect Ratio 3D mesh quality criterion calculates the same +parameter as the \ref aspect_ratio_page "Aspect ratio" criterion, but +it is applied to 3D mesh elements: tetrahedrons, pentahedrons, +hexahedrons, etc. + +- The Aspect Ratio of a \b tetrahedron 3D element is calculated +by the formula: + +\image html formula1.png + +- Other element types like polyhedron, pentahedron and hexahedron use + the following formula: + +\image html formula2.png + +To apply the Aspect Ratio 3D quality criterion to your mesh: +
    +
  1. Display your mesh in the viewer.
  2. + +
  3. Choose Controls > Aspect Ratio 3D or click "Aspect Ratio 3D" +button of the toolbar. + +\image html image144.gif +
    "Aspect Ratio 3D" button
    + +Your mesh will be displayed in the viewer with its elements colored +according to the applied mesh quality control criterion: + +\image html image86.jpg +
  4. +
+ +
See Also a sample TUI Script of a +\ref tui_aspect_ratio_3d "Aspect Ratio 3D quality control" operation. + +*/ diff --git a/doc/salome/gui/SMESH/input/basic_meshing_algos.doc b/doc/salome/gui/SMESH/input/basic_meshing_algos.doc new file mode 100644 index 000000000..fa1772524 --- /dev/null +++ b/doc/salome/gui/SMESH/input/basic_meshing_algos.doc @@ -0,0 +1,61 @@ +/*! + +\page basic_meshing_algos_page Basic meshing algorithms + +\n The MESH module contains a set of meshing algorithms, which are +used for meshing entities (1D, 2D, 3D) composing geometrical objects. + +
    +
  • For meshing of 1D entities (edges):
  • + +
      +
    • Wire Discretisation meshing algorithm - splits a wire into a +number of mesh segments following any 1D hypothesis.
    • +
    • Composite Side Discretisation algorithm - allows to apply any 1D +hypothesis to a whole side of a geometrical face even if it is +composed of several edges provided that they form C1 curve, have the +same hypotheses assigned and form one side in all faces of the main +shape of a mesh.
    • +
    + +
  • For meshing of 2D entities (faces):
  • + +
      +
    • Triangle meshing algorithms (Mefisto and Netgen 1D-2D ) - Faces +are split into triangular elements.
    • +
    • Quadrangle meshing algorithm (Mapping) - Faces are split into +quadrangular elements.
    • +
    + +\image html image123.gif + +\image html image124.gif + +
  • For meshing of 3D entities (volume objects):
  • + +
      +
    • Hexahedron meshing algorithm (i,j,k) - Volumes are split into +hexahedral (cubic) elements.
    • +
    • Tetrahedron (Netgen) meshing algorithm - Volumes are split into +tetrahedral (pyramidal) elements.
    • +
    + +\image html image125.gif + +\image html image126.gif +
+ +There also is a number of more specific algorithms: +
    +
  • \ref projection_algos_page "for meshing by projection of another mesh"
  • +
  • \ref radial_prism_algo_page "for meshing geometrical objects with cavities"
  • +
  • \ref prism_3d_algo_page "for meshing prismatic shapes"
  • +
+ +\ref constructing_meshes_page "Constructing meshes" page describes in +detail how to apply meshing algorithms. + +
See Also a sample TUI Script of a +\ref tui_defining_meshing_algos "Define Meshing Algorithm" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/borders_at_multi_connection.doc b/doc/salome/gui/SMESH/input/borders_at_multi_connection.doc new file mode 100644 index 000000000..8f92d3995 --- /dev/null +++ b/doc/salome/gui/SMESH/input/borders_at_multi_connection.doc @@ -0,0 +1,16 @@ +/*! + +\page borders_at_multi_connection_page Borders at multi-connection + +\n This mesh quality control highlights borders of faces consisting of +edges belonging to several faces. The amount of faces is specified by +user. + +\image html image151.gif + +In this picture the borders at multi-connection are displayed in blue. + +
See Also a sample TUI Script of a +\ref tui_borders_at_multiconnection "Borders at Multi-Connection quality control" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/borders_at_multi_connection_2d.doc b/doc/salome/gui/SMESH/input/borders_at_multi_connection_2d.doc new file mode 100644 index 000000000..a0fe04290 --- /dev/null +++ b/doc/salome/gui/SMESH/input/borders_at_multi_connection_2d.doc @@ -0,0 +1,13 @@ +/*! + +\page borders_at_multi_connection_2d_page Borders at multi-connection 2D + +\n This mesh quality control highlights borders of elements of mesh, +consisting of edges belonging to several elements of mesh. + +\image html image127.gif + +
See Also a sample TUI Script of a +\ref tui_borders_at_multiconnection_2d "Borders at Multi-Connection quality control" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/building_compounds.doc b/doc/salome/gui/SMESH/input/building_compounds.doc new file mode 100644 index 000000000..d42f38866 --- /dev/null +++ b/doc/salome/gui/SMESH/input/building_compounds.doc @@ -0,0 +1,52 @@ +/*! + +\page building_compounds_page Building Compounds + +\n Compound Mesh is a combination of several meshes. + +To Build a compound: + +\par +From the \b Mesh menu select Build Compound or click "Build +Compound Mesh" button in the toolbar. + +\image html image161.gif +
"Build Compound Mesh" button
+ +\par +The following dialog box will appear: + +\image html buildcompound.png + +\par +
    +
  • \b Name - allows selecting the name of the resulting \b Compound.
  • +
  • \b Meshes - allows selecting the meshes which will be +concatenated. They can be chosen in the Object Browser while holding +\b Ctrl button.
  • +
  • Processing identical groups - allows selecting the method +of processing the namesake existing on the united meshes. +\n They can be either
  • +
      +
    • \b United - all elements of Group1 on Mesh_1 and Group1 on Mesh_2 +become the elements of Group1 on the Compound_Mesh, or
    • +
    • \b Renamed - Group1 on Mesh_1 becomes Group1_1 and Group1 on Mesh_2 +becomes Group1_2. See \ref grouping_elements_page "Creating Groups" +for more information about groups.
    • +
    +
  • Create common groups for initial meshes checkbox permits to +automatically create groups of all elements of the same type +(nodes, edges, faces and volumes) for the resulting mesh from the +elements +of the initial meshes. +
  • +
  • You can simply unite meshes or choose to Merge coincident nodes +and elements, in which case it is possible to define the \b Tolerance +for this operation.
  • +
+ +\n Example: + +\image html image160.gif + +*/ diff --git a/doc/salome/gui/SMESH/input/changing_orientation_of_elements.doc b/doc/salome/gui/SMESH/input/changing_orientation_of_elements.doc new file mode 100644 index 000000000..5cd4e48d9 --- /dev/null +++ b/doc/salome/gui/SMESH/input/changing_orientation_of_elements.doc @@ -0,0 +1,44 @@ +/*! + +\page changing_orientation_of_elements_page Changing orientation of elements + +\n Orientation of an element is changed by reverting the order of +nodes of the selected elements. + +To change orientation of elements: +
    +
  1. Display a mesh or a submesh in the 3D viewer.
  2. +
  3. In the \b Modification menu select the \b Orientation item or click +Orientation button in the toolbar. + +\image html image79.gif +
    "Orientation" button
    + +The following dialog box will appear: + +\image html orientaation1.png + +
      +
    • The main list shall contain the elements which will be +reoriented. You can click on an element in the 3D viewer and it will +be highlighted. After that click the \b Add button and the ID of this +element will be added to the list. To remove a selected element or +elements from the list click the \b Remove button. The \b Sort button +allows to sort the list of elements IDs. The Set filter button +allows to apply a definite filter to selection of elements of your +group.
    • +
    • Apply to all radio button allows to modify the orientation +of all elements of the currently displayed mesh or submesh.
    • +
    • Select from set of fields allows to choose a submesh or an +existing group whose elements will be automatically added to the +list.
    • +
    + +
  4. +
  5. Click the \b Apply or \b OK button to confirm the operation.
  6. +
+ +
See Also a sample TUI Script of a +\ref tui_orientation "Change Orientation" operation. + +*/ diff --git a/doc/salome/gui/SMESH/input/clipping.doc b/doc/salome/gui/SMESH/input/clipping.doc new file mode 100644 index 000000000..858789e9a --- /dev/null +++ b/doc/salome/gui/SMESH/input/clipping.doc @@ -0,0 +1,28 @@ +/*! + +\page clipping_page Clipping + +\n Using this menu you can create cross-section views (clipping planes) +of your mesh. + +To start, click on the \em New button. + +\image html a-clipping2.png + +Now you can define the parameters of your cross-section: \b Orientation +(X-Y, X-Z or Y-Z); \b Distance between the opposite extremities of the +object, if it is set to 0.5 the object is split in two halves; and +\b 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 3D Viewer. + +\image html image79.jpg + +If the Auto Apply button is on, you can preview the +cross-section in the 3D Viewer. + +\image html image99.gif + +To get a new object from \b Clipping, click \b Ok. + +*/ diff --git a/doc/salome/gui/SMESH/input/constructing_groups_of_specific_elements.doc b/doc/salome/gui/SMESH/input/constructing_groups_of_specific_elements.doc new file mode 100644 index 000000000..654b6aab8 --- /dev/null +++ b/doc/salome/gui/SMESH/input/constructing_groups_of_specific_elements.doc @@ -0,0 +1,17 @@ +/*! + +\page constructing_groups_of_specific_elements_page Constructing groups of specific elements + +\n In MESH you can easily construct groups of specific elements (nodes, +edges, faces or volumes) which will be taken from a definite submesh. + +To construct a group of specific elements: + +\par +Right-click on a submesh in the Object Browser and choose the +Construct Group item or select your submesh in the Object Browser and +in the \b Mesh menu choose the Construct Group item. MESH will construct +several groups consisting of elements of the definite type: nodes, +edges, faces or volumes. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/constructing_meshes.doc b/doc/salome/gui/SMESH/input/constructing_meshes.doc new file mode 100644 index 000000000..995ee4377 --- /dev/null +++ b/doc/salome/gui/SMESH/input/constructing_meshes.doc @@ -0,0 +1,112 @@ +/*! + +\page constructing_meshes_page Constructing meshes + +\n Construction of a mesh consists of: +
    +
  • Selecting a geometrical object for meshing
  • +
  • Applying \ref basic_meshing_algos_page "meshing algorithms" and +\ref about_hypo_page "hypotheses" which will be used at computation of +this mesh.
  • +
+ +To construct a mesh: +
    +
  1. In the \b Mesh menu select Create Mesh or click "Create +Mesh" button in the toolbar. + +\image html image32.gif +
    "Create Mesh" button
    + +The following dialog box will appear: + +\image html createmesh-inv.png +
  2. +
  3. For example, you need to mesh a 3d object. +\n First, type the name for your mesh in the "Name" box, by default, +it is "Mesh_1". Then select the object you wish to mesh in the Object +Browser and click the "Add" button. + +\image html image120.gif +
    "Add" button
    + +Now you can define 1d Algorithm and 1d Hypotheses, which will be +applied to the edges of your object. (Note that any object has edges, +even if their existence is not apparent, for example, a sphere has 4 +edges). Click the "Add Hypothesis" button to add a hypothesis. + +\image html image121.gif +
    "Add Hypothesis" button
    + +Click the "Edit Hypothesis" button to define values for the +current hypothesis. + +\image html image122.gif +
    "Edit Hypothesis" button
    + +The use of additional hypotheses is optional (i.e. you may leave +"None" in this box). + +Proceed in the same way with 2d and 3d Algorithms and Hypotheses, note +that the choice of hypotheses depends on the algorithm. There must be +one Algorithm and one or several Hypotheses for each dimension of your +object, otherwise you will not get any mesh at all. Of course, if you +wish to mesh a face, which is a 2d object, you don't need to define 3d +Algorithm and Hypotheses. +\n In the Object Browser the structure of the new mesh will be +displayed as follows: + +\image html image88.jpg + +It contains: +
      +
    • a reference to the geometrical object on the basis of which the mesh has been constructed;
    • +
    • Applied hypotheses folder containing the references to the +hypotheses applied to the construction of the mesh;
    • +
    • Applied algorithms folder containing the references to the +algorithms applied to the construction of the mesh.
    • +
    + +There is an alternative way to create a mesh on an object simply by +clicking Assign a set of hypotheses button and selecting between +Automatic Tetrahedralization or Hexahedralization. The program will +automatically generate a 3D mesh with the most appropriate +settings. In the same way you can apply this functionality for meshing +2D objects, in which case 3D algorithms are not applied.
  4. +
  5. Now, when everything is ready, select your mesh in the Object +Browser. From the \b Mesh menu select \b Compute or click "Compute" button of the +toolbar. + +\image html image28.gif +
    "Compute" button
    + +The Mesh Computation information box appears. + +\image html meshcomputationsucceed.png + +If the mesh computation failed, the information about the cause of the +failure is provided. + +\image html meshcomputationfail.png + +After you select the error, Show Subshape button allows +visualizing the mesh elements that cause it. + +\image html failed_computation.png + +Publish Subshape button allows importing it in a separate MED +or UNV file. + +NOTE It is possible to define a 1D or a 2D mesh in a +python script and then use such submeshes in the construction of a 3D +mesh. For this, there exist two algorithms: Use existing edges and Use +existing faces. They are not entirely usable from the GUI, so a +mesh created using these algorithms should be exported into a python +script, edited and then imported into the GUi. + +Consider trying a sample script for construction of a mesh from our +\ref tui_creating_meshes_page "TUI Scripts" section. +
  6. +
+ +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/constructing_submeshes.doc b/doc/salome/gui/SMESH/input/constructing_submeshes.doc new file mode 100644 index 000000000..571740e5f --- /dev/null +++ b/doc/salome/gui/SMESH/input/constructing_submeshes.doc @@ -0,0 +1,53 @@ +/*! + +\page constructing_submeshes_page Constructing submeshes + +\n Construction of a submesh consists of: +
    +
  • Selecting a mesh which will encapsulate your submesh
  • +
  • Selecting a geometrical object for meshing
  • +
  • Applying one or several previously described +\ref about_hypo_page "hypotheses" and +\ref basic_meshing_algos_page "meshing algorithms" which will be used +at computation of this submesh
  • +
+ +
To construct a submesh: +\par +From the \b Mesh menu select Local Hyp. or click "Create +Sum-mesh" button in the toolbar. + +\image html image33.gif +
"Create Sum-mesh" button
+ +\par +The following dialog box will appear: + +\image html createmesh-inv2.png + +\par +It allows to define the \b Name, the parent \b Mesh and the \b +Geometry (e.g. a face if the parent mesh has been built on box) of the +submesh. You can define algorithms and hypotheses in the same way as +in \ref constructing_meshes_page "Create mesh" menu. + +\par +In the Object Browser the structure of the new submesh will be +displayed as follows: + +\image html image10.jpg + +\par +It contains: +
    +
  • a reference to the geometrical object on the basis of which the submesh has been constructed;
  • +
  • Applied hypotheses folder containing the references to the +hypotheses applied to the construction of the submesh;
  • +
  • Applied algorithms folder containing the references to the +algorithms applied to the construction of the submesh.
  • +
+ +
See Also a sample TUI Script of a +\ref tui_construction_submesh "Construct Submesh" operation. + +*/ diff --git a/doc/salome/gui/SMESH/input/convert_to_from_quadratic_mesh.doc b/doc/salome/gui/SMESH/input/convert_to_from_quadratic_mesh.doc new file mode 100644 index 000000000..84974a21c --- /dev/null +++ b/doc/salome/gui/SMESH/input/convert_to_from_quadratic_mesh.doc @@ -0,0 +1,40 @@ +/*! + +\page convert_to_from_quadratic_mesh_page Convert to/from Quadratic Mesh + +\n This functionality allows you to transtorm standard meshes to +quadratic and vice versa. See \ref adding_quadratic_elements_page "Adding quadratic elements" +for more information about quadratic meshes. + +To produce a conversion: +
    +
  1. From the Modification menu choose the Convert to/from Quadratic +Mesh item, or click "Convert to/from quadratic" button in the +toolbar. + +\image html image154.gif +
    "Convert to/from quadratic" button
    + +The following dialog box will appear: + +\image html convert.png + +
  2. +
  3. In this dialog box you should select: + +
      +
    • if you wish to convert standard mesh to quadratic or quadratic to standard;
    • +
    • if you wish to place medium nodes of the quadratic mesh on the geometry (meshed object).
    • +
    + +\image html image156.gif +
    Standard mesh (coarse mesh on a torus)
    + +\image html image155.gif +
    Quadratic mesh
    + +
  4. +
  5. Click the \b Apply or \b OK button.
  6. +
+ +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/creating_groups.doc b/doc/salome/gui/SMESH/input/creating_groups.doc new file mode 100644 index 000000000..bba92d58a --- /dev/null +++ b/doc/salome/gui/SMESH/input/creating_groups.doc @@ -0,0 +1,84 @@ +/*! + +\page creating_groups_page Creating groups + +\n In MESH you can create groups of elements of different types. To +create a group of elements in the \b Mesh menu select Create +Group. +\n To create any group you should define the following: +
    +
  • Mesh - the name of the mesh whose elements will form your +group. You can select your mesh in the Objet Browser or in the 3D +viewer.
  • +
  • Elements Type - set of radio buttons allows to select the type of +elements which will form your group:
  • +
      +
    • Nodes
    • +
    • Edges
    • +
    • Faces
    • +
    • Volumes
    • +
    +
  • Name field allows to enter the name of your new group.
  • +
+SALOME Platform distinguishes between the two Group types: +Standalone Group and Group on Geometry. + +

Standalone Group

+ +Standalone Group consists of mesh elements, which you can define in +two possible ways. +
    +
  • Choosing them manually with the mouse in the 3D Viewer. You can +click on an element in the 3D viewer and it will be highlighted. After +that click the \b Add button and the ID of this element will be added to +the list.
  • +
  • Applying Filters. The Set filter button allows to apply a +definite filter to selection of the elements of your group. See more +about filters on the +\ref selection_filter_library_page "Selection filter library" page.
  • +
+To remove a selected element or elements from the list click the +\b Remove button. The Sort List button allows to sort the list of IDs of +mesh elements. +\n Select from set of fields allows to choose a submesh or an existing +group whose elements of the previously defined type will be added to +the list of elements which will form your group. +\n Color Number (integer only, ranging from 0 to 9999) - allows to +assign to the group a certain index, for example, defining boundary +conditions. This feature introduces a useful element of preprocessing +in Mesh module. Note that Color number attribute has nothing to do +with the colors used for the display of the elements of the group. + +\image html creategroup.png + +\image html image130.gif +
In this picture the brown cells belong to a group defined manually.
+ +\image html image131.gif +
In this picture the brown cells belong to the group defined by the criterion +Taper > 0.
+ +See Also a sample TUI Script of a +\ref tui_create_standalone_group "Create a Standalone Group" +operation. + +

Group on Geometry

+ +To create a group on geometry check Group on geometry in the \b Group +\b type field. Group on geometry contains the elements of a certain type +belonging to the selected geometrical object. To define a group select +in the Objet Browser or in the 3D viewer a geometrical object from +which the elements will be taken. After confirmation of the operation +a new group of mesh elements will be created. + +\image html a-creategroup.png + +\image html image132.gif +
In this picture the cells which belong to a certain face are +selected in green.
+ +See Also a sample TUI Script of a +\ref tui_create_group_on_geometry "Create a Group on Geometry" +operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/creating_meshes.doc b/doc/salome/gui/SMESH/input/creating_meshes.doc new file mode 100644 index 000000000..3f392f2fc --- /dev/null +++ b/doc/salome/gui/SMESH/input/creating_meshes.doc @@ -0,0 +1,31 @@ +/*! + +\page creating_meshes_page Creating meshes + +
    +
  • \subpage about_meshes_page
  • +
  • \subpage importing_exporting_meshes_page
  • +
  • \subpage constructing_meshes_page
  • +
  • \subpage defining_algos_page
  • +
      +
    • \ref basic_meshing_algos_page
    • +
    • \ref projection_algos_page
    • +
    • \ref radial_prism_algo_page
    • +
    • \ref segments_around_vertex_algo_page
    • +
    • \ref prism_3d_algo_page
    • +
    +
  • \subpage defining_hypo_page
  • +
      +
    • \ref about_hypo_page
    • +
    • \ref a1d_meshing_hypo_page
    • +
    • \ref a2d_meshing_hypo_page
    • +
    • \ref max_element_volume_hypo_page
    • +
    • \ref netgen_2d_3d_hypo_page
    • +
    • \ref additional_hypo_page
    • +
    +
  • \subpage constructing_submeshes_page
  • +
  • \subpage building_compounds_page
  • +
  • \subpage editing_meshes_page
  • +
+ +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/cutting_quadrangles.doc b/doc/salome/gui/SMESH/input/cutting_quadrangles.doc new file mode 100644 index 000000000..d857165e1 --- /dev/null +++ b/doc/salome/gui/SMESH/input/cutting_quadrangles.doc @@ -0,0 +1,63 @@ +/*! + +\page cutting_quadrangles_page Cutting quadrangles + +\n This operation allows to cut one or several quadrangle elements by +addition of a supplementary edge which will connect two opposite +corners. + +To cut quadrangles: +
    +
  1. Display a mesh or a submesh in the 3D viewer.
  2. +
  3. In the \b Modification menu select the Cutting of quadrangles item or +click "Cutting of quadrangles" button in the toolbar. + +\image html image82.gif +
    "Cutting of quadrangles" button
    + +The following dialog box will appear: + +\image html a-cuttingofquadrangles.png + +\par +
      +
    • The main list contains the list of quadrangles. You can click on +an quadrangle in the 3D viewer and it will be highlighted (lock Shift +keyboard button to select several quadrangles). Click \b Add button and +the ID of this quadrangle will be added to the list. To remove a +selected element or elements from the list click \b Remove button. Sort +list button allows to sort the list of IDs. \b Filter button allows to +apply a definite filter to the selection of quadrangles.
    • +
    • Apply to all radio button allows to modify the orientation of all +quadrangles of the currently displayed mesh or submesh.
    • +
    • \b Preview - provides a preview of cutting in the viewer.
    • +
    + +
      +
    • \b Criterion +
        +
      • Use diagonal 1-3 and Use diagonal 2-4 allows to +specify the opposite corners which will be connected by the cutting +edge.
      • +
      • Use numeric factor - allows to apply the operation only to +those objects which meet the chosen criterion (from the list of +Quality Controls, i.e. Skew, Warping, Minimum Angle, etc.)
      • +
      +
    • +
    • Select from - allows to choose a submesh or an existing +group whose quadrangle elements will be automatically added to the +list.
    • +
    + +
  4. +
  5. Click the \b Apply or \b OK button to confirm the operation.
  6. +
+ +\image html image52.jpg + +\image html image51.jpg + +
See Also a sample TUI Script of a +\ref tui_cutting_quadrangles "Cutting Quadrangles" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/defining_algos.doc b/doc/salome/gui/SMESH/input/defining_algos.doc new file mode 100644 index 000000000..1ddac9f37 --- /dev/null +++ b/doc/salome/gui/SMESH/input/defining_algos.doc @@ -0,0 +1,13 @@ +/*! + +\page defining_algos_page Defining Algorithms + +
    +
  • \subpage basic_meshing_algos_page
  • +
  • \subpage projection_algos_page
  • +
  • \subpage radial_prism_algo_page
  • +
  • \subpage segments_around_vertex_algo_page
  • +
  • \subpage prism_3d_algo_page
  • +
+ +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/defining_hypo.doc b/doc/salome/gui/SMESH/input/defining_hypo.doc new file mode 100644 index 000000000..5a4eb7503 --- /dev/null +++ b/doc/salome/gui/SMESH/input/defining_hypo.doc @@ -0,0 +1,14 @@ +/*! + +\page defining_hypo_page Defining hypotheses + +
    +
  • \subpage about_hypo_page
  • +
  • \subpage a1d_meshing_hypo_page
  • +
  • \subpage a2d_meshing_hypo_page
  • +
  • \subpage max_element_volume_hypo_page
  • +
  • \subpage netgen_2d_3d_hypo_page
  • +
  • \subpage additional_hypo_page
  • +
+ +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/deleting_groups.doc b/doc/salome/gui/SMESH/input/deleting_groups.doc new file mode 100644 index 000000000..02779cde6 --- /dev/null +++ b/doc/salome/gui/SMESH/input/deleting_groups.doc @@ -0,0 +1,19 @@ +/*! + +\page deleting_groups_page Deleting Groups + +\n 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. +\n 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. + +\image html deletegroups.png + +\n 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 \b Delete in the pop-up +menu or select the group and choose Edit -> Delete in the Main Menu. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/diagonal_inversion_of_elements.doc b/doc/salome/gui/SMESH/input/diagonal_inversion_of_elements.doc new file mode 100644 index 000000000..871e110cc --- /dev/null +++ b/doc/salome/gui/SMESH/input/diagonal_inversion_of_elements.doc @@ -0,0 +1,33 @@ +/*! + +\page diagonal_inversion_of_elements_page Diagonal inversion of elements + +\n In MESH you can inverse the diagonal (edge) of a pseudo-quadrangle +formed by two neighboring triangles with one common edge. + +To inverse the diagonal: +
    +
  1. From the \b Modification menu choose the Diagonal inversion item or +click "Diagonal Inversion" button in the toolbar. + +\image html image70.gif +
    "Diagonal Inversion" button
    + +The following dialog box shall appear: + +\image html diagonalinversion.png + +
  2. +
  3. Enter the ID of the required edge in the \b Edge field or select +this edge in the 3D viewer.
  4. +
  5. Click the \b Apply or \b OK button.
  6. +
+ +\image html image38.jpg + +\image html image36.jpg + +
See Also a sample TUI Script of a +\ref tui_diagonal_inversion "Diagonal Inversion of Elements" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/display_entity.doc b/doc/salome/gui/SMESH/input/display_entity.doc new file mode 100644 index 000000000..570674017 --- /dev/null +++ b/doc/salome/gui/SMESH/input/display_entity.doc @@ -0,0 +1,12 @@ +/*! + +\page display_entity_page Display Entity + +\n In this submenu you can choose to display only volumes, faces or +edges or combine them. + +\image html image56.jpg Only Faces + +\image html image58.gif Only Edges + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/display_mode.doc b/doc/salome/gui/SMESH/input/display_mode.doc new file mode 100644 index 000000000..7ba8e54bf --- /dev/null +++ b/doc/salome/gui/SMESH/input/display_mode.doc @@ -0,0 +1,22 @@ +/*! + +\page display_mode_page Display Mode + +\n By default your objects are represented as set in \b Preferences. +\n However, right-clicking on the mesh in the Object Browser, +and selecting Display Mode, you can display your mesh as: + +\image html image53.gif Wireframe + +\image html image37.jpg Shading + +\image html image56.gif Nodes + +\b Wireframe can combine with \b Nodes and \b Shading. + +\b Shading and \b Wireframe modes can combine with \b Shrink, however +\b Nodes can't. + +\image html image55.gif + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/editing_groups.doc b/doc/salome/gui/SMESH/input/editing_groups.doc new file mode 100644 index 000000000..5658f2f4e --- /dev/null +++ b/doc/salome/gui/SMESH/input/editing_groups.doc @@ -0,0 +1,27 @@ +/*! + +\page editing_groups_page Editing groups + +\n To edit an existing group of elements: +
    +
  1. Select your group in the Object Browser and in the \b Mesh menu click +the Edit Group item or "Edit Group" button in the toolbar.
  2. + +\image html image74.gif +
    "Edit Group" button
    + +The following dialog box will appear: + +\image html editgroup.png + +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. +
  3. Click the \b OK or \b Apply button to confirm modification of the +group.
  4. +
+ +
See Also a sample TUI Script of an +\ref tui_edit_group "Edit Group" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/editing_meshes.doc b/doc/salome/gui/SMESH/input/editing_meshes.doc new file mode 100644 index 000000000..b36f7849f --- /dev/null +++ b/doc/salome/gui/SMESH/input/editing_meshes.doc @@ -0,0 +1,31 @@ +/*! + +\page editing_meshes_page Editing Meshes + +\n After you have created a mesh or submesh with definite applied +hypotheses and algorithms you can edit your mesh by \b assigning new +hypotheses and algorithms or \b unassigning the applied hypotheses and +algorithms. The editing proceeds in the same way as Mesh +Creation. + +\image html createmesh-inv3.png + +You can also change values for the current hypothesis by clicking the +"Edit Hypothesis" button. + +\image html image122.gif +
"Edit Hypothesis" button
+ +See how a mesh constructed on one and the same geometrical object +changes if we apply different algorithms to it. + +\image html edit_mesh1.png + +\image html edit_mesh_remove_hyp.png + +\image html edit_mesh_change_value_hyp.png + +
See Also a sample TUI Script of an +\ref tui_editing_mesh "Edit Mesh" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/extrusion.doc b/doc/salome/gui/SMESH/input/extrusion.doc new file mode 100644 index 000000000..674a9d9b4 --- /dev/null +++ b/doc/salome/gui/SMESH/input/extrusion.doc @@ -0,0 +1,49 @@ +/*! + +\page extrusion_page Extrusion + +\n Extrusion is used to build mesh elements of plus one +dimension than the input ones. Any line or planar element can be +extruded. Line elements will extrude into quadrilateral plane elements. +Triangular and Quadrilateral plane elements extrude into Pentahedron +and Hexahedron solids respectively. + +To use extrusion: +
    +
  1. From the \b Modification menu choose the \b Extrusion item or click +"Extrusion" button in the toolbar. + +\image html image91.gif +
    "Extrusion" button
    + +The following dialog box will appear: + +\image html extrusionalongaline1.png + +\image html extrusionalongaline2.png +
  2. + +
  3. In this dialog box you should select: +
      +
    • the type of elements which will be extruded (1D or 2D),
    • +
    • specify the IDs of the elements which will be extruded by +selecting them in the 3D viewer or select the whole mesh or +submesh,
    • +
    • specify the vector along which the elements will be extruded,
    • +
    • number of steps.
    • +
    +
  4. Generate Groups checkbox allows copying the groups of +elements of the source mesh to the newly created one.
  5. + + +
  6. Click the \b Apply or \b OK button.
  7. +
+ +\image html image77.jpg + +\image html image76.jpg + +
See Also a sample TUI Script of an +\ref tui_extrusion "Extrusion" operation. + +*/ diff --git a/doc/salome/gui/SMESH/input/extrusion_along_path.doc b/doc/salome/gui/SMESH/input/extrusion_along_path.doc new file mode 100644 index 000000000..ce96f99d9 --- /dev/null +++ b/doc/salome/gui/SMESH/input/extrusion_along_path.doc @@ -0,0 +1,153 @@ +/*! + +\page extrusion_along_path_page Extrusion along a path + +\n In principle, Extrusion along a path works in the same way +as \b Extrusion, the main difference is that we define not a vector, +but a path of extrusion which must be a meshed edge. To get an idea of +how this algorithm works, examine several examples, starting from the +most simple case of extrusion along a straight edge. In all examples +the same mesh will be extruded along different paths and with +different parameters. This sample 2D mesh has two quadrangle faces and +seven edges. Look at the picture, where white digits are the node +numbers and green are the element numbers: + +\image html mesh_for_extr_along_path.png + +

Extrusion along a straight edge

(not using base point +or angles)
+ +\image html straight_before.png +
The image shows a 1D path mesh, built on a linear edge, and the initial 2D mesh.
+ +\image html straight_after.png +
The image shows the result of extrusion of two edges +(#1 and #2) of the initial mesh along the path. \n Node #1 of path mesh +has been selected as Start node.
+ +

Extrusion along a curvilinear edge

(with and +without angles)
+ +\image html curvi_simple_before.png +
The image shows a 1D path mesh, built on curvilinear edge, and +the initial 2D mesh.
+ +\image html curvi_simple_after.png +
The central image shows the result of extrusion of one edge +(#2) of the initial mesh along the path. \n Node #1 of path mesh has +been selected as Start node.
+ +\image html curvi_angles_after.png +
The same, but using angles {45, 45, 45, 0, -45, -45, -45}
+ +

Extrusion along a sub-mesh

+ +In this example the path mesh has been built on a wire (polyline with +six edges). The first edge of the wire was used as Shape (edge), node +#1 as Start node. The angles have been defined as {10, 10, 10}. The +middle edge (#4) of the initial mesh has been extruded. + +\image html edge_wire_before.png + +\image html edge_wire_after.png + +

Extrusion of 2d elements along a sub-mesh

+ +This extrusion bases on the same path mesh as in the previous example +but the third edge of the wire was set as Shape (edge) and node +#4 as Start node. Please note, that the extrusion has been done +in direction from node #4 to node #3, i.e. against the wire +direction. In this example both faces of the initial mesh have been +extruded. + +\image html edge_wire_3d_before.png + +\image html edge_wire_3d_after.png + +

Extrusion of 2d elements along a closed path

+ +\image html circle_simple_before.png +
The image shows a path mesh built on a closed edge +(circle).
+ +\image html circle_simple_after.png +
The central image shows the result of extrusion of both faces +of the initial mesh. \n Note, that no sewing has been done, so, there are +six coincident nodes and two coincident faces in the resulting +mesh.
+ +\image html circle_angles_after.png +
The same, but using angles {45, -45, 45, -45, 45, -45, 45, +-45}
+ +
To use Extrusion along a path: +
    +
  1. From the \b Modification menu choose the Extrusion along a +path item or click "Extrusion along a path" button in the toolbar. + +\image html image101.gif +
    "Extrusion along a path" button
    + +The following dialog box will appear: + +\image html extrusion1.png + +\image html extrusion2.png +
  2. + +
  3. In the dialog box you should: +
      +
    • select the type of elements which will be extruded (1D or 2D),
    • +
    • specify the IDs of the elements which will be extruded by +selecting them in the 3D viewer or Select the whole mesh, submesh +or group, +
    • +
    • define the Path along which the elements will be extruded, +\n Path definition consists of several elements: +
        +
      • \b Mesh - containing a 1D sub-mesh on the edge, along which proceeds the extrusion
      • +
      • Shape (edge) - as the mesh can be complex, the edge is used to define the sub-mesh for the path
      • +
      • Start node - the first or the last node on the edge. It is used to define the direction of extrusion
      • +
      +
    • +
    • Generate Groups checkbox allows copying the groups of +elements of the source mesh to the newly created one.
    • +
    +
  4. + +
  5. There are two optional parameters, which can be very useful: +
      +
    • If the path of extrusion is curvilinear, at each iteration the +extruded shape is rotated to keep its initial angularity to the +curve. By default, the Base Point around which the shape is rotated is +the mass center of the shape, however, you can specify any point as +the Base Point and the shape will be rotated with respect to this +point. +
    • +
    • The shape can also be rotated around the path to get the resulting +mesh in a helical fashion. You can set the values of angles at the +right, add them to the list of angles at the left by pressing the "Add" +button and remove them from the list by pressing the "Remove" button. + +\image html image105.gif +
      "Add" button
      + +\image html image106.gif +
      "Remove" button
      + +
    • +
    +
  6. + +
  7. Click the \b Apply or \b OK button. Mesh edges will be extruded into +faces, faces into volumes. The external surface of the resulting 3d +mesh (if faces have been extruded) is covered with faces, and corners +with edges. If the path is closed, the resulting mesh can contain +duplicated nodes and faces, because no sewing is done. +
  8. +
+ +
See Also a sample TUI Script of an +\ref tui_extrusion_along_path "Extrusion along a Path" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/free_borders.doc b/doc/salome/gui/SMESH/input/free_borders.doc new file mode 100644 index 000000000..824fbd9e0 --- /dev/null +++ b/doc/salome/gui/SMESH/input/free_borders.doc @@ -0,0 +1,15 @@ +/*! + +\page free_borders_page Free borders + +\n This mesh quality control highlights borders of faces consisting of +edges belonging to one face only. + +\image html free_borders1.png + +In this picture the free borders are displayed in white. + +
See Also a sample TUI Script of a +\ref tui_free_borders "Free Borders quality control" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/free_edges.doc b/doc/salome/gui/SMESH/input/free_edges.doc new file mode 100644 index 000000000..2d51733fc --- /dev/null +++ b/doc/salome/gui/SMESH/input/free_edges.doc @@ -0,0 +1,15 @@ +/*! + +\page free_edges_page Free edges + +\n This mesh quality control highlights borders of elements of mesh +consisting of edges belonging to one element of mesh only. + +\image html free_edges.png +
In this picture some elements of mesh have been deleted and +the "holes" are outlined in red.
+ +
See Also a sample TUI Script of a +\ref tui_free_edges "Free Edges quality control" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/grouping_elements.doc b/doc/salome/gui/SMESH/input/grouping_elements.doc new file mode 100644 index 000000000..a9a636793 --- /dev/null +++ b/doc/salome/gui/SMESH/input/grouping_elements.doc @@ -0,0 +1,14 @@ +/*! + +\page grouping_elements_page Grouping elements + +
    +
  • \subpage creating_groups_page
  • +
  • \subpage editing_groups_page
  • +
  • \subpage using_operations_on_groups_page
  • +
  • \subpage constructing_groups_of_specific_elements_page
  • +
  • \subpage deleting_groups_page
  • +
  • \subpage selection_filter_library_page
  • +
+ +*/ diff --git a/doc/salome/gui/SMESH/input/importing_exporting_meshes.doc b/doc/salome/gui/SMESH/input/importing_exporting_meshes.doc new file mode 100644 index 000000000..e016ffff1 --- /dev/null +++ b/doc/salome/gui/SMESH/input/importing_exporting_meshes.doc @@ -0,0 +1,37 @@ +/*! + +\page importing_exporting_meshes_page Importing and exporting meshes + +\n In MESH there is a functionality allowing importation/exportation +of meshes from \b MED, \b UNV (I-DEAS 10), \b DAT (Nastran) and STL format files. + +To import a mesh: + +
    +
  1. From the \b File menu choose the \b Import item, from its sub-menu +select the corresponding format (MED, UNV and DAT) of the file containing +your mesh.
  2. +
  3. In the standard Search File dialog box find the file for +importation.
  4. +
  5. Click the \b OK button.
  6. +
+ +\image html meshimportmesh.png + +To export a mesh: + +
    +
  1. Select the object you wish to export.
  2. +
  3. From the \b File menu choose the \b Export item, from its sub-menu +select the format (MED, UNV, DAT and STL) of the file which will contain your +exported mesh.
  4. +
  5. In the standard Search File select a location for the +exported file and enter its name.
  6. +
  7. Click the \b OK button.
  8. +
+ +\image html meshexportmesh.png + +
See Also a sample TUI Script of an \ref tui_export_mesh "Export Mesh" operation. + +*/ diff --git a/doc/salome/gui/SMESH/input/index.doc b/doc/salome/gui/SMESH/input/index.doc new file mode 100644 index 000000000..f09cdea83 --- /dev/null +++ b/doc/salome/gui/SMESH/input/index.doc @@ -0,0 +1,114 @@ +/*! + +\mainpage SMESH Module Reference Documentation + +
    +
  • \subpage introduction_to_mesh_page
  • +
  • \subpage running_mesh_module_page
  • +
  • \subpage introduction_to_mesh_python_page
  • +
  • \subpage creating_meshes_page
  • +
      +
    • \ref about_meshes_page
    • +
    • \ref importing_exporting_meshes_page
    • +
    • \ref constructing_meshes_page
    • +
    • \ref defining_algos_page
    • +
        +
      • \ref basic_meshing_algos_page
      • +
      • \ref projection_algos_page
      • +
      • \ref radial_prism_algo_page
      • +
      • \ref segments_around_vertex_algo_page
      • +
      • \ref prism_3d_algo_page
      • +
      +
    • \ref defining_hypo_page
    • +
        +
      • \ref about_hypo_page
      • +
      • \ref a1d_meshing_hypo_page
      • +
      • \ref a2d_meshing_hypo_page
      • +
      • \ref max_element_volume_hypo_page
      • +
      • \ref netgen_2d_3d_hypo_page
      • +
      • \ref additional_hypo_page
      • +
      +
    • \ref constructing_submeshes_page
    • +
    • \ref building_compounds_page
    • +
    • \ref editing_meshes_page
    • +
    +
  • \subpage viewing_meshes_page
  • +
      +
    • \ref viewing_meshes_overview_page
    • +
    • \ref mesh_infos_page
    • +
    • \ref numbering_page
    • +
    • \ref display_mode_page
    • +
    • \ref display_entity_page
    • +
    • \ref transparency_page
    • +
    • \ref clipping_page
    • +
    +
  • \subpage quality_controls_page
  • +
      +
    • \ref about_quality_controls_page
    • +
    • \ref free_borders_page
    • +
    • \ref borders_at_multi_connection_page
    • +
    • \ref length_page
    • +
    • \ref free_edges_page
    • +
    • \ref length_2d_page
    • +
    • \ref borders_at_multi_connection_2d_page
    • +
    • \ref area_page
    • +
    • \ref taper_page
    • +
    • \ref aspect_ratio_page
    • +
    • \ref minimum_angle_page
    • +
    • \ref warping_page
    • +
    • \ref skew_page
    • +
    • \ref aspect_ratio_3d_page
    • +
    • \ref volume_page
    • +
    +
  • \subpage grouping_elements_page
  • +
      +
    • \ref creating_groups_page
    • +
    • \ref editing_groups_page
    • +
    • \ref using_operations_on_groups_page
    • +
    • \ref constructing_groups_of_specific_elements_page
    • +
    • \ref deleting_groups_page
    • +
    • \ref selection_filter_library_page
    • +
    +
  • \subpage modifying_meshes_page
  • +
      +
    • \ref adding_nodes_and_elements_page
    • +
    • \ref adding_quadratic_elements_page
    • +
    • \ref removing_nodes_and_elements_page
    • +
    • \ref renumbering_nodes_and_elements_page
    • +
    • \ref transforming_meshes_page
    • +
        +
      • \ref translation_page
      • +
      • \ref rotation_page
      • +
      • \ref symmetry_page
      • +
      • \ref sewing_meshes_page
      • +
      • \ref merging_nodes_page
      • +
      • \ref merging_elements_page
      • +
      +
    • \ref moving_nodes_page
    • +
    • \ref mesh_through_point_page
    • +
    • \ref diagonal_inversion_of_elements_page
    • +
    • \ref uniting_two_triangles_page
    • +
    • \ref uniting_set_of_triangles_page
    • +
    • \ref changing_orientation_of_elements_page
    • +
    • \ref cutting_quadrangles_page
    • +
    • \ref smoothing_page
    • +
    • \ref extrusion_page
    • +
    • \ref extrusion_along_path_page
    • +
    • \ref revolution_page
    • +
    • \ref pattern_mapping_page
    • +
    • \ref convert_to_from_quadratic_mesh_page
    • +
    +
  • \subpage smeshpy_interface_page
  • +
  • \subpage tui_scripts_page
  • +
      +
    • \ref tui_creating_meshes_page
    • +
    • \ref tui_viewing_meshes_page
    • +
    • \ref tui_defining_hypotheses_page
    • +
    • \ref tui_quality_controls_page
    • +
    • \ref tui_grouping_elements_page
    • +
    • \ref tui_modifying_meshes_page
    • +
    • \ref tui_transforming_meshes_page
    • +
    +
+ +*/ diff --git a/doc/salome/gui/SMESH/input/introduction_to_mesh.doc b/doc/salome/gui/SMESH/input/introduction_to_mesh.doc new file mode 100644 index 000000000..5b80bb158 --- /dev/null +++ b/doc/salome/gui/SMESH/input/introduction_to_mesh.doc @@ -0,0 +1,64 @@ +/*! + +\page introduction_to_mesh_page Introduction to MESH + +\n \b MESH module of SALOME is destined for: +
    +
  • \ref importing_exporting_meshes_page "import and export of meshes in MED format",
  • +
  • \ref constructing_meshes_page "meshing geometrical models" +previously created or imported by the GEOM component. MESH module +allows to apply 1D, 2D, 3D meshing algorithms and a set of hypotheses: +
      +
    • \ref arithmetic_1d_anchor "Arithmetic 1D"
    • +
    • \ref average_length_anchor "Average Length"
    • +
    • \ref deflection_1d_anchor "Deflection 1D"
    • +
    • \ref number_of_segments_anchor "Number of segments"
    • +
    • \ref start_and_end_length_anchor "Start and end length"
    • +
    • \ref automatic_length_anchor "Automatic Length"
    • +
    • \ref max_element_area_anchor "Max Element Area"
    • +
    • \ref length_from_edges_anchor "Length from Edges"
    • +
    • \ref quadrangle_preference_anchor "Quadrangle Preference"
    • +
    • \ref max_element_volume_hypo_page "Max Element Volume"
    • +
    +
  • +
  • modification of locally generated meshes by +
      +
    • \ref adding_nodes_and_elements_page "Addition" of nodes and elements
    • +
    • \ref removing_nodes_and_elements_page "Removal" of nodes and elements
    • +
    +
  • +
  • \ref creating_groups_page "grouping mesh elements" and +\ref using_operations_on_groups_page "performing operations on these groups"
  • +
  • \ref about_quality_controls_page "quality control" of meshes basing on a set of definite criteria - + +for edges: +
      +
    • \ref length_page "Length of edges"
    • +
    • \ref borders_at_multi_connection_page "Borders at multi-connection"
    • +
    • \ref free_borders_page "Free borders"
    • +
    + +for faces: +
      +
    • \ref area_page "Area"
    • +
    • \ref free_edges_page "Free edges"
    • +
    • \ref borders_at_multi_connection_2d_page "Borders at multi-connection 2D"
    • +
    • \ref length_2d_page "Length 2D"
    • +
    • \ref minimum_angle_page "Minimum angle"
    • +
    • \ref taper_page "Taper"
    • +
    • \ref aspect_ratio_page "Aspect Ratio"
    • +
    • \ref warping_page "Warping"
    • +
    • \ref skew_page "Skew"
    • +
    + +for solids: +
      +
    • \ref aspect_ratio_3d_page "Aspect ratio 3D"
    • +
    • \ref volume_page "Volume"
    • +
    +
  • +
+ +\image html image7.jpg + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/introduction_to_mesh_python.doc b/doc/salome/gui/SMESH/input/introduction_to_mesh_python.doc new file mode 100644 index 000000000..2fcc329a2 --- /dev/null +++ b/doc/salome/gui/SMESH/input/introduction_to_mesh_python.doc @@ -0,0 +1,77 @@ +/*! + +\page introduction_to_mesh_python_page Introduction to MESH module python interface + +\n Package smesh provides a standard API for creation and edition of meshes. +\n Below you can see an example of usage of the package smesh for 3d mesh generation. + +

Example of 3d mesh generation with NETGEN:

+ +\n from geompy import * +\n import smesh + +# Geometry +\n # an assembly of a box, a cylinder and a truncated cone meshed with tetrahedral. + +# Define values +\n name = "ex21_lamp" +\n cote = 60 +\n section = 20 +\n size = 200 +\n radius_1 = 80 +\n radius_2 = 40 +\n height = 100 + +# Build a box +\n box = MakeBox(-cote, -cote, -cote, +cote, +cote, +cote) + +# Build a cylinder +\n pt1 = MakeVertex(0, 0, cote/3) +\n di1 = MakeVectorDXDYDZ(0, 0, 1) +\n cyl = MakeCylinder(pt1, di1, section, size) + +# Build a truncated cone +\n pt2 = MakeVertex(0, 0, size) +\n cone = MakeCone(pt2, di1, radius_1, radius_2, height) + +# Fuse +\n box_cyl = MakeFuse(box, cyl) +\n piece = MakeFuse(box_cyl, cone) + +# Add in study +\n addToStudy(piece, name) + +# Create a group of faces +\n group = CreateGroup(piece, ShapeType["FACE"]) +\n group_name = name + "_grp" +\n addToStudy(group, group_name) +\n group.SetName(group_name) + +# Add faces in the group +\n faces = SubShapeAllIDs(piece, ShapeType["FACE"]) +\n UnionIDs(group, faces) + +# Create a mesh + +# Define a mesh on a geometry +\n tetra = smesh.Mesh(piece, name) + +# Define 1D hypothesis +\n algo1d = tetra.Segment() +\n algo1d.LocalLength(10) + +# Define 2D hypothesis +\n algo2d = tetra.Triangle() +\n algo2d.LengthFromEdges() + +# Define 3D hypothesis +\n algo3d = tetra.Tetrahedron(smesh.NETGEN) +\n algo3d.MaxElementVolume(100) + +# Compute the mesh +\n tetra.Compute() + +# Create a groupe of faces +\n tetra.Group(group) + +*/ diff --git a/doc/salome/gui/SMESH/input/length.doc b/doc/salome/gui/SMESH/input/length.doc new file mode 100644 index 000000000..e8210294d --- /dev/null +++ b/doc/salome/gui/SMESH/input/length.doc @@ -0,0 +1,13 @@ +/*! + +\page length_page Length + +\n Length quality control criterion returns a value of length of +edge. + +\image html length-crit.png + +
See Also a sample TUI Script of a +\ref tui_length_1d "Length quality control" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/length_2d.doc b/doc/salome/gui/SMESH/input/length_2d.doc new file mode 100644 index 000000000..50bab5574 --- /dev/null +++ b/doc/salome/gui/SMESH/input/length_2d.doc @@ -0,0 +1,28 @@ +/*! + +\page length_2d_page Length 2D + +\n This quality control criterion consists of calculation of length of +the edges combining the meshing elements (triangles and quadrangles) +of your mesh. + +To apply the Length 2D quality criterion to your mesh: +
    +
  1. Display your mesh in the viewer.
  2. + +
  3. Choose Controls > Length 2D or click "Length 2D" +button in the toolbar. + +\image html image34.gif +
    "Length 2D" button
    + +Your mesh will be displayed in the viewer with its elements colored according to the applied mesh quality control criterion: + +\image html length2d.png +
  4. +
+ +
See Also a sample TUI Script of a +\ref tui_length_2d "Length 2D quality control" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/max_element_volume_hypo.doc b/doc/salome/gui/SMESH/input/max_element_volume_hypo.doc new file mode 100644 index 000000000..1dd459161 --- /dev/null +++ b/doc/salome/gui/SMESH/input/max_element_volume_hypo.doc @@ -0,0 +1,16 @@ +/*! + +\page max_element_volume_hypo_page Max Element Volume hypothesis + +\n Max Element Volume hypothesis is applied for meshing of 3D objects +composing your geometrical object. Definition of this hypothesis +consists of setting the maximum volume of 3D meshing elements +(depending on the chosen meshing algorithm it can be \b hexahedrons or +\b tetrahedrons), which will compose the mesh of these 3D objects. + +\image html a-maxelvolume.png + +
See Also a sample TUI Script of a +\ref tui_max_element_volume "Maximum Element Volume hypothesis" operation. + +*/ diff --git a/doc/salome/gui/SMESH/input/merging_elements.doc b/doc/salome/gui/SMESH/input/merging_elements.doc new file mode 100644 index 000000000..fef7cd25a --- /dev/null +++ b/doc/salome/gui/SMESH/input/merging_elements.doc @@ -0,0 +1,56 @@ +/*! + +\page merging_elements_page Merging Elements + +\n This functionality allows to merge coincident elements of a mesh +selectable in the dialog box. + +\image html mergeelems.png + +
    +
  • \b Name is the name of the mesh whose elements will be merged.
  • +
  • \b Tolerance is a maximum distance between elements sufficient for +merging. +
      +
    • \b Detect button generates the list of coincident elements for the given +\b Tolerance.
    • +
    +
  • +
  • Coincident elements is a list of groupes of elements for +merging. All elements of each group will form one after the operation. +
      +
    • \b Remove button deletes the selected group from the list.
    • +
    • \b Add button adds to the list a group of elements selected in the +viewer with pressed "Shift" key.
    • +
    • Select all checkbox selects all groups.
    • +
    +
  • +
  • Edit selected group list allows editing the selected +group: +

    +\image html add.gif +
    adds to the group the element selected in the viewer.
    +
    +\image html remove.gif +
    removes from the group the selected element.
    +
    +\image html sort.gif +
    moves the selected element to the first position in the +group. This means that all other elements will be merged into this +one.

    +
  • +
+ +
  • To confirm your choice click \b OK or \b Apply button.
  • + + +In this picture you see a triangle which coincides with one of the +elements of the mesh. After we apply Merge Elements functionality, the +triangle will be completely merged with the mesh. + +\image html meshtrianglemergeelem1.png + +
    See Also a sample TUI Script of a +\ref tui_merging_elements "Merge Elements" operation. + +*/ diff --git a/doc/salome/gui/SMESH/input/merging_nodes.doc b/doc/salome/gui/SMESH/input/merging_nodes.doc new file mode 100644 index 000000000..7c5d62273 --- /dev/null +++ b/doc/salome/gui/SMESH/input/merging_nodes.doc @@ -0,0 +1,61 @@ +/*! + +\page merging_nodes_page Merging nodes + +\n This functionality allows user to detect groups of coincident nodes +with desirable tolerance, edit these groups and merge. + +To merge nodes of your mesh: +
      +
    1. From the \b Modification choose \b Transformation and from its +sub-menu select the Merge nodes item. The following dialog box +shall appear: + +\image html mergenodes.png + +
        +
      • \b Name is the name of the mesh whose nodes will be merged.
      • +
      • \b Tolerance is a maximum distance between nodes sufficient for +merging. +
          +
        • \b Detect button generates the list of coincident nodes for the given +\b Tolerance.
        • +
        +
      • +
      • Coincident nodes is a list of groupes of nodes for +merging. All nodes of each group will form one after the +operation. +
          +
        • \b Remove button deletes the selected group from the list.
        • +
        • \b Add button adds to the list a group of nodes selected in the +viewer with pressed "Shift" key.
        • +
        • Select all checkbox selects all groups.
        • +
        +
      • +
      • Edit selected group list allows editing the selected +group: +

        +\image html add.gif +
        adds to the group the node selected in the viewer.
        +
        +\image html remove.gif +
        removes from the group the selected node.
        +
        +\image html sort.gif +
        moves the selected node to the first position in the +group. This means that all other nodes will be merged into this +one.

        +
      • +
      +
    2. +
    3. To confirm your choice click \b OK or \b Apply button.
    4. +
    + +\image html merging_nodes1.png + +\image html merging_nodes2.png + +
    See Also a sample TUI Script of a +\ref tui_merging_nodes "Merge Nodes" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/mesh_infos.doc b/doc/salome/gui/SMESH/input/mesh_infos.doc new file mode 100644 index 000000000..259828995 --- /dev/null +++ b/doc/salome/gui/SMESH/input/mesh_infos.doc @@ -0,0 +1,63 @@ +/*! + +\page mesh_infos_page Mesh infos + +\n There are three information boxes: Standard Mesh +Infos, Advanced Mesh Infos and Mesh Element Info. + +
    +\anchor standard_mesh_infos_anchor +

    Standard Mesh Infos

    + +The Standard Mesh Infos box gives only the information on the +number of elements of maximum dimension and the number of nodes in the +mesh. However, from this Info you can learn about groups selected on +this mesh. +\n To view the Standard Mesh Infos, select your mesh or submesh +in the Object Browser and select Standard Mesh Infos +from the \b Mesh menu or click "Standard Mesh Infos" button +in the toolbar. + +\image html image49.gif +
    "Standard Mesh Infos" button
    + +The following information will be displayed: + +\image html a-standmeshinfo.png + +
    +\anchor advanced_mesh_infos_anchor +

    Advanced Mesh Infos

    + +The Advanced Mesh Infos box gives more information about the mesh, +including the total number of faces and volumes and their geometrical +types. +\n To view the Advanced Mesh Infos, select your mesh or submesh +in the Object Browser and select Advanced Mesh Infos +from the \b Mesh menu or click "Advanced Mesh Infos" button +in the toolbar. + +\image html image50.gif +
    "Advanced Mesh Infos" button
    + +The following information will be displayed: + +\image html advanced_mesh_infos.png + +In case you get Mesh Infos via a \ref tui_viewing_mesh_infos "TUI script", +the information is displayed in Python Console. + +\image html b-mesh_infos.png + +
    +\anchor mesh_element_info_anchor +

    Mesh Element Info

    + +The Mesh Element Info box gives basic information about the +type and the coordinates of the selected mesh element. + +\image html eleminfo1.png + +\image html eleminfo2.png + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/mesh_through_point.doc b/doc/salome/gui/SMESH/input/mesh_through_point.doc new file mode 100644 index 000000000..cd0d68ea9 --- /dev/null +++ b/doc/salome/gui/SMESH/input/mesh_through_point.doc @@ -0,0 +1,34 @@ +/*! + +\page mesh_through_point_page Mesh through point + +\n In mesh you can define a node at a certain point either by creation +of a new node, by movement of the node closest to the point or by +movement of any node to the point. + +To create a mesh passing through a point: +
      +
    1. From the \b Modification menu choose the Mesh through point item or +click "Mesh to pass through a point" button in the toolbar. + +\image html mesh_node_to_point.png +
      "Mesh to pass through a point" button
      + +The following dialog box shall appear: + +\image html meshtopass.png + +
    2. +
    3. Enter the coordinates of the point.
    4. +
    5. Choose one of several methods: you can either \b Create a new node at +the indicated point or Move the existing node to the point. In the +latter case you can check in Automatic search of the closest node or +select the necessary node manually. \b Preview check-box allows to see +the results of the operation.
    6. +
    7. Click the \b Apply or \b OK button.
    8. +
    + +
    See Also a sample TUI Script of a +\ref tui_mesh_through_point "Mesh through point" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/minimum_angle.doc b/doc/salome/gui/SMESH/input/minimum_angle.doc new file mode 100644 index 000000000..172374575 --- /dev/null +++ b/doc/salome/gui/SMESH/input/minimum_angle.doc @@ -0,0 +1,28 @@ +/*! + +\page minimum_angle_page Minimum angle + +\n Minimum angle mesh quality criterion consists of calculation of the +minimum value of angle between two adjacent sides of a 2D meshing +element (triangle or quadrangle). + +To apply the Minimum angle quality criterion to your mesh: +
      +
    1. Display your mesh in the viewer.
    2. + +
    3. Choose Controls > Minimum angle or click "Minimum Angle" button. + +\image html image38.gif +
      "Minimum Angle" button
      + +Your mesh will be displayed in the viewer with its elements colored +according to the applied mesh quality control criterion: + +\image html image92.jpg +
    4. +
    + +
    See Also a sample TUI Script of a +\ref tui_minimum_angle "Minimum Angle quality control" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/modifying_meshes.doc b/doc/salome/gui/SMESH/input/modifying_meshes.doc new file mode 100644 index 000000000..d7e1cdb62 --- /dev/null +++ b/doc/salome/gui/SMESH/input/modifying_meshes.doc @@ -0,0 +1,34 @@ +/*! + +\page modifying_meshes_page Modifying meshes + +
      +
    • \subpage adding_nodes_and_elements_page
    • +
    • \subpage adding_quadratic_elements_page
    • +
    • \subpage removing_nodes_and_elements_page
    • +
    • \subpage renumbering_nodes_and_elements_page
    • +
    • \subpage transforming_meshes_page
    • +
        +
      • \ref translation_page
      • +
      • \ref rotation_page
      • +
      • \ref symmetry_page
      • +
      • \ref sewing_meshes_page
      • +
      • \ref merging_nodes_page
      • +
      • \ref merging_elements_page
      • +
      +
    • \subpage moving_nodes_page
    • +
    • \subpage mesh_through_point_page
    • +
    • \subpage diagonal_inversion_of_elements_page
    • +
    • \subpage uniting_two_triangles_page
    • +
    • \subpage uniting_set_of_triangles_page
    • +
    • \subpage changing_orientation_of_elements_page
    • +
    • \subpage cutting_quadrangles_page
    • +
    • \subpage smoothing_page
    • +
    • \subpage extrusion_page
    • +
    • \subpage extrusion_along_path_page
    • +
    • \subpage revolution_page
    • +
    • \subpage pattern_mapping_page
    • +
    • \subpage convert_to_from_quadratic_mesh_page
    • +
    + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/moving_nodes.doc b/doc/salome/gui/SMESH/input/moving_nodes.doc new file mode 100644 index 000000000..2c0cd795b --- /dev/null +++ b/doc/salome/gui/SMESH/input/moving_nodes.doc @@ -0,0 +1,36 @@ +/*! + +\page moving_nodes_page Moving nodes + +\n In MESH you can change the location of any node of your mesh. In +this case all adjacent elements (edges) will be also transformed right +after the displaced node. + +To displace a node: +
      +
    1. From the \b Modification menu choose the Move node item or +click "Move Node" button in the toolbar. + +\image html image67.gif +
      "Move Node" button
      + +The following dialog box shall appear: + +\image html movenodes.png + +
    2. +
    3. Enter the ID of the required node in the Node ID field or +select this node in the 3D viewer. The coordinates of your node will +be automatically displayed in the \b Coordinates set of fields.
    4. +
    5. Set new coordinates for your node in the \b Coordinates set of fields.
    6. +
    7. Click the \b Apply or \b OK button.
    8. +
    + +\image html moving_nodes1.png + +\image html moving_nodes2.png + +
    See Also a sample TUI Script of a +\ref tui_moving_nodes "Moving Nodes" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/netgen_2d_3d_hypo.doc b/doc/salome/gui/SMESH/input/netgen_2d_3d_hypo.doc new file mode 100644 index 000000000..395283ca1 --- /dev/null +++ b/doc/salome/gui/SMESH/input/netgen_2d_3d_hypo.doc @@ -0,0 +1,37 @@ +/*! + +\page netgen_2d_3d_hypo_page Netgen 2D and 3D hypotheses + +\n Netgen 2D and Netgen 3D hypotheses work only with Netgen 1D-2D and +Netgen 1D-2D-3D 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 +useful if lower-level meshing is homogeneous for all wires and faces +of the meshed object. + +\image html netgen2d.png + +
      +
    • Name - allows to define the name for the algorithm (Netgen +2D (or 3D) Parameters by default).
    • +
    • Max Size - maximum linear dimensions for mesh cells.
    • +
    • Second Order - 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".
    • +
    • Fineness - 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.
    • +
    • Growth rate - allows to define how much the linear dimensions of +two adjacent cells can differ (i.e. 0.3 means 30%).
    • +
    • Nb. Segs per Edge and Nb Segs per Radius - allows to define the +minimum number of mesh segments in which edges and radiuses will be +split.
    • +
    • Allow Quadrangles - 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.
    • +
    • Optimize - if this box is checked in, the algorithm will try to +create regular (possessing even sides) elements.
    • +
    + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/numbering.doc b/doc/salome/gui/SMESH/input/numbering.doc new file mode 100644 index 000000000..78d8fb414 --- /dev/null +++ b/doc/salome/gui/SMESH/input/numbering.doc @@ -0,0 +1,38 @@ +/*! + +\page numbering_page Numbering + +

    Displaying nodes numbers

    + +In MESH you can display the ID numbers of all nodes of your mesh in +the viewer. + +To display ID numbers of nodes: +
      +
    1. Display your mesh in the viewer
    2. +
    3. Right-click on the mesh in the 3D viewer and from the associated +pop-up menu choose Numbering > Display Nodes #.
    4. +
    + +It will look like as follows: + +\image html image96.jpg + +

    Displaying elements numbers

    + +In MESH you can display the ID numbers of all meshing elements +composing your mesh in the viewer. + +To display ID numbers of elements: +
      +
    1. Display your mesh in the viewer
    2. +
    3. Right-click on the mesh in the 3D viewer and from the associated +pop-up menu choose Numbering > Display Elements #.
    4. +
    + +It will look like as follows: + +\image html image95.jpg + +*/ + diff --git a/doc/salome/gui/SMESH/input/pattern_mapping.doc b/doc/salome/gui/SMESH/input/pattern_mapping.doc new file mode 100644 index 000000000..e9ce36172 --- /dev/null +++ b/doc/salome/gui/SMESH/input/pattern_mapping.doc @@ -0,0 +1,135 @@ +/*! + +\page pattern_mapping_page Pattern mapping + +

    About patterns

    + +The pattern describes a mesh to generate: positions of nodes within a +geometrical domain and nodal connectivity of elements. As well, a +pattern specifies the so-called key-points, i.e. nodes that will be +located at geometrical vertices. Pattern description is stored in +\.smp file. + +The smp file contains 4 sections: +
      +
    1. The first line holds the number of nodes (N).
    2. + +
    3. The next N lines describe nodes coordinates. Each line holds 2 +coordinates of a node.
    4. + +
    5. A key-points line: indices of nodes to be mapped on geometrical +vertices. An index n refers to a node described on an n-th line of +section 2. The first node index is zero.
    6. + +
    7. The rest lines describe nodal connectivity of elements, one line +for an element. A line holds indices of nodes forming an element. An +index n refers to a node described on an n-th line of the section +2. The first node index is zero. There must be 3 or 4 indices on a +line: only 2d elements are allowed.
    8. +
    + +The 2D pattern must contain at least one element and at least one +key-point. All key-points must lay on boundaries. + +An example of a simple smp file and a preview of a pattern described +in this file: + +\image html image94.gif + +

    Application of pattern mapping

    + +To apply pattern mapping to a geometrical object: + +From the \b Modification menu choose the Pattern Mapping item or click +"Pattern mapping" button in the toolbar. + +\image html image98.gif +
    "Pattern mapping" button
    + +The following dialog box shall appear: + +\image html patternmapping1.png + +\image html patternmapping2.png + +To apply a pattern to a geometrical object, you should specify: +
      +
    • a face having the number of vertices equal to the number of +key-points in the pattern; the number of key-points on internal +boundaries of a pattern must also be equal to the number of vertices +on internal boundaries of a face;
    • +
    • a vertex to which the first key-point should be mapped;
    • +
    • reverse or not the order of key-points. (The order of vertices of +a face is counterclockwise looking from outside).
    • +
    + +Then you either load a .smp pattern file previously created manually +by clicking on the "Load pattern" button, or click on the \b +New button for automatic generation. +\n For an automatic generation you just specify a geometrical face +having a mesh built on it. Mesh nodes lying on face vertices become +key-points. Additionally, you may choose the way of getting nodes +coordinates by projecting nodes on the face instead of using +"positions on face" generated by mesher (if there is any). Faces +having a seam edge can?t be used for automatic pattern creation. + +When creating a pattern from an existing mesh, there are two possible +cases: +
      +
    1. A sub-mesh on face is selected. A pattern is created from the 2d +elements bound to a face by mesher. Node coordinates are either +"positions on face" computed by mesher, or coordinates got by node +projection on a geometrical surface, according to your choice.
    2. +
    3. A mesh where the main shape is a face, is selected. A pattern is +created from all the 2d elements in a mesh. If all mesh elements are +build by mesher, the user can select the way of getting nodes +coordinates, else all nodes are projected on a face surface.
    4. +
    + +\image html a-patterntype.png + +\image html a-patterntype1.png + +

    Mapping algorithm

    + +The mapping algorithm is as follows: +
      +
    1. Key-points are set in the order that they are encountered when +walking along a pattern boundary so that elements are on the left. The +first key-point is preserved. +
    2. + +
    3. Find geometrical vertices corresponding to key-points by vertices +order in a face boundary; here, "Reverse order of key-points" flag is +taken into account. + +\image html image95.gif +
    4. + +
    5. Boundary nodes of a pattern are mapped onto edges of a face: a +node located between certain key-points on a pattern boundary is +mapped on a geometrical edge limited by corresponding geometrical +vertices. Node position on an edge reflects its distance from two +key-points. + +\image html image96.gif +
    6. + +
    7. Coordinates of a non-boundary node in a parametric space of a face +are defined as following. In a parametric space of a pattern, a node +lays at the intersection of two iso-lines, each of which intersects a +pattern boundary at least at two points. Knowing mapped positions of +boundary nodes, we find where isoline-boundary intersection points are +mapped to, and hence we can find mapped isolines direction and then, +two node positions on two mapped isolines. The eventual mapped +position of a node is found as an average of positions on mapped +isolines. + +\image html image97.gif +
    8. +
    + +
    See Also a sample TUI Script of a +\ref tui_pattern_mapping "Pattern Mapping" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/prism_3d_algo.doc b/doc/salome/gui/SMESH/input/prism_3d_algo.doc new file mode 100644 index 000000000..272bef236 --- /dev/null +++ b/doc/salome/gui/SMESH/input/prism_3d_algo.doc @@ -0,0 +1,20 @@ +/*! + +\page prism_3d_algo_page 3D extrusion meshing algorithm + +3D extrusion algorithm can be used for meshing prisms, i.e. 3D Shapes +defined by two opposing faces having the same number of vertices and +edges and meshed using the \ref projection_algos_page "2D Projection" +algorithm. These two faces should be connected by quadrangle "side" +faces. + +The opposing faces can be meshed with either quadrangles or triangles, +while the side faces should be meshed with quadrangles only. + +\image html image157.gif + +As you can see, the 3D extrusion algorithm permits to build and to +have in the same 3D mesh such elements as hexahedrons, prisms and +polyhedrons. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/projection_algos.doc b/doc/salome/gui/SMESH/input/projection_algos.doc new file mode 100644 index 000000000..02a617e83 --- /dev/null +++ b/doc/salome/gui/SMESH/input/projection_algos.doc @@ -0,0 +1,74 @@ +/*! + +\page projection_algos_page Projection Algorithms + +\n Projection algorithms allow to define the mesh of a geometrical +object by the projection of another already meshed geometrical object. + +Projection 1D algorithm permits to define the mesh of an edge +(or group of edges) +by the projection of another already meshed edge (or group of edges). +\n To apply this algorithm select the edge to be meshed (indicated in +the field \b Geometry of Create mesh dialog box), +Projection1D in the list of 1D algorithms and click the +"Add Hypothesis" button. +The following dialog box will appear: + +\image html projection_1d.png + +In this menu you can define the \b Name of the algorithm, the algeady +meshed source \b Edge and the \b Mesh (optional, use it if there are several +different meshes on the same edge). It could also be necessary to +define the orientation of edges, which is done by indicating the +Source Vertex being the first point of the Source Edge and the +Target Vertex being the first point of the created \b Edge. For +a group of edges, Source and Target vertices should be +shared by only one edge of the group. If Source and +Target vectors are specified, the elements of the group must be ajacent. + +\n Projection 2D algorithm permits to define the mesh of a face +(or group of faces) by the +projection of another already meshed face (or group of faces). This +algorithm works only +if all edges of the target face have been meshed as 1D Projections of +the edges of the source face. + +To apply this algorithm select the face to be meshed (indicated in the +field \b Geometry of Create mesh dialog box), Projection +2D in the list +of 2D algorithms and click the "Add Hypothesis" button. The +following dialog box will appear: + +\image html projection_2d.png + +In this menu you can define the \b Name of the algorithm, the algeady +meshed source \b Face and the \b Mesh (optional, use it if there are several +different meshes on the same face). It could also be necessary to +define the orientation of mesh on the face, which is done by +indicating two Source Vertices, which belong to the same edge of the +source face, and two Target Vertices, which belong to the same edge of +the created \b Face. + +\n Projection 3D algorithm permits to define the mesh of a shape by +the projection of another already meshed shape. This algorithm works +only if all faces and edges of the target face have been meshed as 1D +Projections of the faces and edges of the source face. Another +limitation is that this algorithm currently works only on boxes. + +To apply this algorithm select the solid to be meshed (indicated in +the field \b Geometry of Create mesh dialog box), Projection +3D in the list of 3D algorithms and click the button. The +following dialog box will appear: + +\image html projection_3d.png + +In this menu you can define the \b Name of the algorithm, the algeady +meshed source 3D shape and the \b Mesh (optional, use it if there are +several different meshes on the same shape). It could also be +necessary to define the orientation of mesh on the shape, which is +done by indicating two Source Vertices, which belong to the same edge +of the source 3D Shape, and two Target Vertices, which belong to the +same edge of the source 3D Shape. + +*/ + diff --git a/doc/salome/gui/SMESH/input/quality_controls.doc b/doc/salome/gui/SMESH/input/quality_controls.doc new file mode 100644 index 000000000..5a36e7bdb --- /dev/null +++ b/doc/salome/gui/SMESH/input/quality_controls.doc @@ -0,0 +1,23 @@ +/*! + +\page quality_controls_page Quality controls + +
      +
    • \subpage about_quality_controls_page
    • +
    • \subpage free_borders_page
    • +
    • \subpage borders_at_multi_connection_page
    • +
    • \subpage length_page
    • +
    • \subpage free_edges_page
    • +
    • \subpage length_2d_page
    • +
    • \subpage borders_at_multi_connection_2d_page
    • +
    • \subpage area_page
    • +
    • \subpage taper_page
    • +
    • \subpage aspect_ratio_page
    • +
    • \subpage minimum_angle_page
    • +
    • \subpage warping_page
    • +
    • \subpage skew_page
    • +
    • \subpage aspect_ratio_3d_page
    • +
    • \subpage volume_page
    • +
    + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/radial_prism_algo.doc b/doc/salome/gui/SMESH/input/radial_prism_algo.doc new file mode 100644 index 000000000..756e0329a --- /dev/null +++ b/doc/salome/gui/SMESH/input/radial_prism_algo.doc @@ -0,0 +1,24 @@ +/*! + +\page radial_prism_algo_page Radial Prism + +\n This algorithm applies to the meshing of a hollow 3D shape, +i.e. such shape should be composed of two meshed shells: an outer +shell and an internal shell without intersection with the outer +shell. One of the shells should be a 2D Projection of the other +shell. The meshes of the shells can consist both of triangles and +quadrangles. + +The Radial Prism algorithm would fill the space between the two shells +with meshes. + +This algorithm also needs the information concerning the number and +distribution of mesh layers between the inner and the outer shapes. + +\image html number_of_layers.png + +Distribution of layers can be set with any of 1D Hypotheses. + +\image html distribution_of_layers.png + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/removing_nodes_and_elements.doc b/doc/salome/gui/SMESH/input/removing_nodes_and_elements.doc new file mode 100644 index 000000000..be1944a48 --- /dev/null +++ b/doc/salome/gui/SMESH/input/removing_nodes_and_elements.doc @@ -0,0 +1,76 @@ +/*! + +\page removing_nodes_and_elements_page Removing nodes and elements + +\n In MESH you can remove nodes and all types of cells of your mesh. + +
      +
    • \ref removing_nodes_anchor "Nodes"
    • +
    • \ref removing_elements_anchor "Elements"
    • +
    + +
    +\anchor removing_nodes_anchor +

    Removing nodes

    + +To remove a node: +
      +
    1. Select your mesh in the Object Browser or in the 3D viewer.
    2. + +
    3. From the Modification menu choose Remove and from the associated +submenu select the Remove nodes, or just click "Remove nodes" +button in the toolbar. + +\image html image88.gif +
      "Remove nodes" button
      + +The following dialog box will appear: + +\image html removenodes.png + +In this dialog box you can specify one or several nodes (with pressed +Shift button) by choosing them in the 3D viewer. +
    4. +
    + +\note Be careful while removing nodes because if you remove a definite +node of your mesh all adjacent elements will be also deleted. + +\image html remove_nodes1.png + +\image html remove_nodes2.png + +
    +\anchor removing_elements_anchor +

    Removing elements

    + +To remove an element: +
      +
    1. Select your mesh in the Object Browser or in the 3D viewer.
    2. + +
    3. From the \b Modification menu choose \b Remove and from the +associated submenu select the Remove elements, or just click +"Remove elements" button in the toolbar. + +\image html remove_elements_icon.png +
      "Remove elements" button
      + +The following dialog box will appear: + +\image html removeelements.png + +In this dialog box you can specify one or several elements of your +mesh (with pressed Shift button) by choosing them in the 3D viewer. +
    4. +
    5. Click OK or Apply to confirm deletion of the specified elements.
    6. +
    + +\image html remove_elements1.png + +\image html remove_elements2.png + +
    See Also a sample TUI Script of a +\ref tui_removing_nodes_and_elements "Removing Nodes and Elements" operation. + +*/ + diff --git a/doc/salome/gui/SMESH/input/renumbering_nodes_and_elements.doc b/doc/salome/gui/SMESH/input/renumbering_nodes_and_elements.doc new file mode 100644 index 000000000..9ed74c377 --- /dev/null +++ b/doc/salome/gui/SMESH/input/renumbering_nodes_and_elements.doc @@ -0,0 +1,61 @@ +/*! + +\page renumbering_nodes_and_elements_page Renumbering nodes and elements + +\n In MESH you can renumber the nodes and elements of your mesh. + +
      +
    • \ref renumbering_nodes_anchor "Nodes"
    • +
    • \ref renumbering_elements_anchor "Elements"
    • +
    + +
    +\anchor renumbering_nodes_anchor +

    Renumbering nodes

    + +To renumber the nodes of your mesh: +
      +
    1. In the \b Modification menu select \b Renumbering submenu and +choose the \b Nodes item or click "Renumbering nodes" button +in the toolbar. + +\image html image63.gif +
      "Renumbering nodes" button
      + +The following dialog box will appear: + +\image html renumbernodes.png +
    2. + +
    3. Fill the \b Mesh field by selecting your mesh in the Object +Browser or in the 3D viewer.
    4. +
    5. Click the \b Apply or \b OK button to perform the operation.
    6. +
    + +
    +\anchor renumbering_elements_anchor +

    Renumbering elements

    + +To renumber the elements of your mesh: +
      +
    1. In the \b Modification menu select \b Renumbering submenu and +choose the \b Elements item or click "Renumbering elements" +button in the toolbar. + +\image html image64.gif +
      "Renumbering elements" button
      + +The following dialog box will appear: + +\image html renumberelements.png +
    2. + +
    3. Fill the \b Mesh field by selecting your mesh in the Object +Browser or in the 3D viewer.
    4. +
    5. Click the \b Apply or \b OK button to perform the operation.
    6. +
    + +
    See Also a sample TUI Script of a +\ref tui_renumbering_nodes_and_elements "Renumbering Nodes and Elements" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/revolution.doc b/doc/salome/gui/SMESH/input/revolution.doc new file mode 100644 index 000000000..60ee2ab8e --- /dev/null +++ b/doc/salome/gui/SMESH/input/revolution.doc @@ -0,0 +1,51 @@ +/*! + +\page revolution_page Revolution + +\n Revolution is a type of surface meshing by generation from +discretized lines. It is used to build mesh elements of plus one +dimension than the swept ones. Each swept 1D element produces one or +more quadrangles (or triangles if one node of a rotated element lays +on the revolution axis). + +To apply revolution: +
      +
    1. From the \b Modification menu choose the \b Revolution item or click +"Revolution" button in the toolbar. + +\image html image92.gif +
      "Revolution" button
      + +The following dialog box shall appear: + +\image html revolution1.png + +\image html revolution2.png +
    2. + +
    3. +In this dialog box you should specify: +
        +
      • the type of elements which will be extruded (1D or 2D),
      • +
      • specify the IDs of the elements which will be revolved by +selecting them in the 3D viewer or select the whole mesh or +submesh,
      • +
      • specify the axis (point and vector) around which the elements will +be revolved,
      • +
      • angle of rotation,
      • +
      • number of steps,
      • +
      • tolerance of rotation
      • +
      +
    4. Generate Groups checkbox allows copying the groups of +elements of the source mesh to the newly created one.
    5. + + +
    6. Click the \b Apply or \b OK button.
    7. +
    + +\image html image78.jpg + +
    See Also a sample TUI Script of a +\ref tui_revolution "Revolution" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/rotation.doc b/doc/salome/gui/SMESH/input/rotation.doc new file mode 100644 index 000000000..bf2ca4978 --- /dev/null +++ b/doc/salome/gui/SMESH/input/rotation.doc @@ -0,0 +1,37 @@ +/*! + +\page rotation_page Rotation + +\n This geometrical operation allows to rotate in space your mesh or +some of its elements. + +To rotate your mesh: +\par +From the \b Modification choose \b Transformation and from its sub-menu +select the \b Rotation item. The following dialog box shall appear: + +\image html rotation.png +\par +In this dialog box you can specify the elements which should be +rotated and the rotation parameters: +
      +
    • \b Axis: point and vector
    • +
    • \b Angle of rotation
    • +
    + +\n Toggle the corresponding checkbox to Select whole mesh, submesh or group. +\n When Move elements radio button is selected, the source mesh (or elements) is created at the new location and erased from its previous location +\n When Copy elements radio button is selected,the source mesh (or elements) is created at the new location, but it also remains at its previous location and is considered one and single mesh with the result of the rotation. +\n When Create as new mesh radio button is selected, the source mesh (or elements) remains at its previous location and a new mesh is created at the new location and appears in the Object Browser with the default name MeshName_rotated (you can change this name in the adjacent box). +\n Copy groups checkbox allows copying the groups of elements of the source mesh to the newly created one. +\par + + +\image html rotation1.png + +\image html rotation2.png + +
    See Also a sample TUI Script of a +\ref tui_rotation "Rotation" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/running_mesh_module.doc b/doc/salome/gui/SMESH/input/running_mesh_module.doc new file mode 100644 index 000000000..d7a794474 --- /dev/null +++ b/doc/salome/gui/SMESH/input/running_mesh_module.doc @@ -0,0 +1,16 @@ +/*! + +\page running_mesh_module_page Running MESH module + +\n To start MESH module in SALOME click "Mesh" icon in the "Modules" toolbar or +select \b Mesh from the Choose box. + +\image html image25.jpg +
    "Mesh" icon
    + +The desktop of the SALOME platform will be updated with additional +toolbars and menus related to the \b MESH component . + +\image html a-viewgeneral.png + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/segments_around_vertex_algo.doc b/doc/salome/gui/SMESH/input/segments_around_vertex_algo.doc new file mode 100644 index 000000000..f6250d2e5 --- /dev/null +++ b/doc/salome/gui/SMESH/input/segments_around_vertex_algo.doc @@ -0,0 +1,17 @@ +/*! + +\page segments_around_vertex_algo_page Segments around Vertex + +\n Segments around Vertex algorithm is considered to be a 0D meshing +algorithm, but, of course, it doesn't mesh nodes. It allows to define +the local size of the elements in the neighborhood of a certain +node. If we choose an object of higher dimension, it applies to all +its tops, i.e. corners of a box. The 0D algorithm combines with the +algorithms of higher dimensions, but it is not necessarily required +for their successful implementation. + +This algorithm allows only one hypothesis. + +\image html lengthnearvertex.png + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/selection_filter_library.doc b/doc/salome/gui/SMESH/input/selection_filter_library.doc new file mode 100644 index 000000000..613febb9c --- /dev/null +++ b/doc/salome/gui/SMESH/input/selection_filter_library.doc @@ -0,0 +1,46 @@ +/*! + +\page selection_filter_library_page Selection filter library + +\n Selection filter library is a powerful tool enabling to create +filters to be used on meshes. You can access to it from the Main Menu +via Tools / Selection filter library. + +\image html selectionfilterlibrary.png + +Library file name shows the path and the file name where your +filters will be stored. By clicking the Browse button you can load an +existing filter library. +\n Names of filters lists the filters created or uploaded for +the current study. You can \b Add or \b Delete filters. +\n In Filter name box you can specify the name for your +filter. By default it is prefixed with the corresponding entity type. +\n Each filter can be applicable to \b Nodes, \b Edges, \b Faces or \b +Volumes. You can combine many criteria in one filter, but they all +must be of the same Entity type. +\n The \b Add button creates a new criterion at the end of the list of +criteria. The \b Insert button creates a new criterion before the +selected criterion. The \b Remove button deletes the selected +criterion. The \b Clear button deletes all criteria. +\n Each Entity type has its specific list of criteria, however all +filters have common syntax. For each criterion you should specify the +Threshold Value and whether we search for the elements that should be +\b More, \b Less or \b Equal to this \b Value. You should also specify if the +criterion is \b Unary or \b Binary. +\n Some criteria should have the additional parameter of \b Tolerance. + +When we create a Standalone Group using filters (for this click +Set Filters button in the Create Group menu), the menu +for setting filters looks a bit differently. Toggling Insert filter +in viewer checkbox enables to preview the group selected with your +current filter in the viewer. +\n In the \b Source field you choose if the filter will be applied to +the whole \b Mesh, the Initial Selection or the Current Group. +\n Copy from... button gives you a possibility to load an +existing filter from Selection filter library and Add +to... button gives you a possibility to save your current filter +in the Library. + +\image html a-filteronedges.png + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/sewing_meshes.doc b/doc/salome/gui/SMESH/input/sewing_meshes.doc new file mode 100644 index 000000000..e40f8fdc8 --- /dev/null +++ b/doc/salome/gui/SMESH/input/sewing_meshes.doc @@ -0,0 +1,159 @@ +/*! + +\page sewing_meshes_page Sewing meshes + +\n In SMESH you can sew elements of different meshes. The current +functionality allows you to sew: +
      +
    • \ref free_borders_anchor "Free borders"
    • +
    • \ref conform_free_borders_anchor "Conform free borders"
    • +
    • \ref border_to_side_anchor "Border to side"
    • +
    • \ref side_elements_anchor "Side elements"
    • +
    + +To sew elements of different meshes: +
      +
    1. From the \b Modification menu choose the \b Transformation item +and from its sub-menu select the \b Sewing item.
    2. +
    3. Check in the dialog box one of the radio buttons corresponding to +the type of sewing operation you would like to perform.
    4. +
    5. Fill the other fields available in the dialog box.
    6. +
    7. Click the \b OK or \b Apply button to perform the operation of sewing.
    8. +
    + +
    +\anchor free_borders_anchor +

    Sew free borders

    + +This functionality allows you to unite two free borders of a 2D mesh. + +\image html sewing1.png + +For sewing free borders you should define three points on each border: +first, second and the last node: +
      +
    • the first node specifies beginning of the border;
    • +
    • the second node specifies the part of the border which should be +considered (as far as the free border usually forms a closed +contour);
    • +
    • the last node specifies the end of the border.
    • +
    + +You can select these nodes in the 3D viewer or define by its id. + +The first and the second nodes should belong to the same link of a +face. The second and the last nodes of a border can be the same. The +first and the last nodes of two borders can be the same. The +corresponding end nodes of two borders will be merged. Intermediate +nodes of two borders will be either merged or inserted into faces of +the opposite border. + +The sewing algorithm is as follows: +
      +
    1. The parameter (U) of each node within a border is computed. So +that the first node has U=0.0, the last node has U=1.0, for the rest +nodes 0.0 < U < 1.0;
    2. +
    3. Compare node parameters of the two borders. If two nodes of the +opposite borders have close parameters, they are merged, i.e. a node +of the first border is replaced in all elements by a node of the +second border. If a node has no node with a close parameter in the +opposite border, it is inserted into an edge of element of the +opposite border, an element is split. Two nodes are considered close +enough to merge, if difference of their parameters is less than one +fifth of minimum length of adjacent face edges on the borders.
    4. +
    + +\image html image22.jpg + +See Also a sample TUI Script of a +\ref tui_sew_free_borders "Sew Free Borders" operation. + +
    +\anchor conform_free_borders_anchor +

    Sew conform free borders

    + +This functionality can be used to unite two free borders of a 2D mesh. + +\image html sewing2.png + +The borders of meshes for sewing are defined as for "Sew free borders" +except that the second free border is not limited and can be defined +by the first and the second nodes only. The first nodes of two borders +can be the same. + +The algorithm is following: counting nodes starting at the first ones, +the n-th node of the first border is merged with the n-th node of the +other border, until the end of either of borders. Nodes of the first +border are replaced in all elements with corresponding nodes of the +second border. +\n For sewing conform free borders you should define three points on +the first border and two points on the second one. User can select +these nodes in 3D viewer or define node by its id. + +\image html image22.jpg + +See Also a sample TUI Script of a +\ref tui_sew_conform_free_borders "Sew Conform Free Borders" +operation. + +
    +\anchor border_to_side_anchor +

    Sew border to side

    + +"Sew border to side" is intended to sew a free border to a mesh +surface. +\n The free border is defined as for "Sewing of free borders". The +place where to sew the border is defined by two nodes, between which +the border faces are placed, so that the first border node is merged +with the first node on the side and the last node of the border is +merged with the second specified node on the side. + +\image html sewing3.png + +The algorithm is following. +
      +
    1. Find a sequence of linked nodes on the side such that the found +links to be most co-directed with the links of the free border.
    2. +
    3. Sew two sequences of nodes using algorithm of "Sewing of free berders". +\n For sewing border to side you should define three points on the +border and two points on the side. User can select these nodes in 3D +viewer or define node by its id.
    4. +
    + +\image html image30.jpg + +See Also a sample TUI Script of a +\ref tui_sew_meshes_border_to_side "Sew Border to Side" operation. + +
    +\anchor side_elements_anchor +

    Sew side elements

    + +This operation is intended to unite two mesh surfaces. + +\image html sewing4.png + +Surfaces may be defined by either 2d or 3d elements. The number of +given elements of the sides must be the same. The sets of given +elements must be topologically equal, i.e. each node of one element +set must have a corresponding node in the other element set and +corresponding nodes must be equally linked. If there are 3d elements +in a set, only their free faces must obey to that rule. +\n Two corresponding nodes on each side must be specified. They must +belong to one element and must be located on an element set boundary. + +Sewing algorithm finds and merges the corresponding nodes starting +from the specified ones. + +\image html image31.jpg + +\image html image32.jpg + +For sewing side elements you should define elements for sewing and two +nodes for merging on the each side. User can select these elements and +nodes in 3D viewer or define them by its id. + +See Also a sample TUI Script of a +\ref tui_sew_side_elements "Sew Side Elements" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/skew.doc b/doc/salome/gui/SMESH/input/skew.doc new file mode 100644 index 000000000..582ada3a1 --- /dev/null +++ b/doc/salome/gui/SMESH/input/skew.doc @@ -0,0 +1,32 @@ +/*! + +\page skew_page Skew + +\n \b Skew mesh quality criterion reflects the angle between the lines +that join opposite sides of a quadrangle element or the greatesr angle +between three medians in triangle elements. This mesh quality +criterion can be applied to elements composed of 4 and 3 nodes +(quadrangles and triangles). + +\image html image27.jpg + +To apply the Skew quality criterion to your mesh: +
      +
    1. Display your mesh in the viewer.
    2. + +
    3. Choose Controls > Skew or click "Skew" button of the toolbar. + +\image html image40.gif +
      "Skew" button
      + +Your mesh will be displayed in the viewer with its elements colored +according to the applied mesh quality control criterion: + +\image html image93.jpg +
    4. +
    + +
    See Also a sample TUI Script of a +\ref tui_skew "Skew quality control" operation. + +*/ diff --git a/doc/salome/gui/SMESH/input/smeshpy_interface.doc b/doc/salome/gui/SMESH/input/smeshpy_interface.doc new file mode 100644 index 000000000..6e2b421c9 --- /dev/null +++ b/doc/salome/gui/SMESH/input/smeshpy_interface.doc @@ -0,0 +1,41 @@ +/*! + +\page smeshpy_interface_page Python interface smesh.py + +\n Python package smesh defines several classes, destined for easy and +clear mesh creation and edition (see the \ref introduction_to_mesh_python_page "example"). + +\n Please draw your attention to the below notes before address to +the \ref smeshDC "documentation for smesh.py" + +\n 1. The main page of the \ref smeshDC "documentation for smesh.py" + contains a list of data structures and a list of functions, + provided by the package smesh.py. The first item in the data + structures list (\ref smeshDC::smeshDC "class smesh") also + represents documentation for methods of the package smesh.py itself. + +\n 2. Package smesh.py gives interface to create and manage + meshes. Please, use it to create an empty mesh or to import + it from data file. + +\n 3. Once you have created a mesh, you can manage it via its own + methods. See \ref smeshDC::Mesh "class Mesh" documentation for + them (it is also accessible by the second item "class Mesh" in the + data structures list). + +\n 4. Class Mesh allows to assign algorithms to a mesh. +\n \t Please note, that there are always available some algorithms, + included in standard Salome installation: + - REGULAR(1D), COMPOSITE(1D), MEFISTO(2D), Quadrangle(2D), Hexa(3D), etc. + +\n Also there are 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), + +\n others are based on commercial meshers: + - GHS3D(3D). + +\n \t To add hypotheses, please use interfaces, provided by the + assigned algorithms. + +*/ diff --git a/doc/salome/gui/SMESH/input/smoothing.doc b/doc/salome/gui/SMESH/input/smoothing.doc new file mode 100644 index 000000000..f1991d62b --- /dev/null +++ b/doc/salome/gui/SMESH/input/smoothing.doc @@ -0,0 +1,77 @@ +/*! + +\page smoothing_page Smoothing + +\n Smoothing is used to adjust the locations of element corners +(nodes) to reduce distortions in these elements. + +To apply smoothing to the elements of your mesh: +
      +
    1. Display a mesh or a submesh in the 3D viewer.
    2. +
    3. In the \b Modification menu select the \b Smoothing item or click +"Smoothing" button in the toolbar. + +\image html image84.gif +
      "Smoothing" button
      + +The dialog box contains the following fields which should be +specified: + +\image html smoothing.png + +
        +
      • Id Elements field allows to specify the elements which +should be smoothed by selecting them in the 3D viewer (lock \b Shift +button to select several elements).
      • +
      • Select whole mesh, submesh or group - smoothing is applied +to the whole mesh or its part.
      • +
      • Fixed nodes ids: some nodes keep their location during +smoothing. If a mesh is built on a geometry shape, the nodes built on +geometrical edges are always fixed. If smoothing is applied to a part +of a mesh then the boundary nodes of an elements set are also +fixed. Any other nodes may be additionally fixed.
      • +
      • Smoothing Method: +
          +
        • \b Laplacian smoothing pulls a node toward the center of +surrounding nodes directly connected to that node along an element +edge. +
        • \b Centroidal smoothing pulls a node toward the +element-area-weighted centroid of the surrounding elements.
        • + +Typically, the Laplacian method will produce the mesh with the least element +distortion. It is also the faster method.Centroidal smoothing usually +produces a mesh that has more uniform element sizes. Both methods +produce good results with "free" meshes. +
        + +\image html image83.gif + +
      • +
      • Iteration limit: both of the smoothing methods use an +iterative procedure to converge toward a smoothed mesh. All nodes are +smoothed according to one of the techniques shown above. Then the +smoothing is reevaluated with the updated nodal locations. This +process continues until the maximum number of iterations has been +exceeded, or all elements has aspect ratio less or equal than the +specified one.
      • +
      • Max. aspect ratio allows to define the quality at which the +smoothing algorithm should stop the iterations as the target of the +operation has been reached.
      • +
      • When in parametric space radio button is checked, the +algorithm tries to improve the shape of faces in the parametric space +of geometrical surfaces on which they are generated, else the shape of +faces in the 3D space is improved.
      • +
      + +
    4. +
    5. Click the \b Apply or \b OK button to confirm the operation.
    6. +
    + +\image html smoothing1.png + +\image html smoothing2.png + +
    See Also a sample TUI Script of a +\ref tui_smoothing "Smoothing" operation. + +*/ diff --git a/doc/salome/gui/SMESH/input/symmetry.doc b/doc/salome/gui/SMESH/input/symmetry.doc new file mode 100644 index 000000000..efbad6595 --- /dev/null +++ b/doc/salome/gui/SMESH/input/symmetry.doc @@ -0,0 +1,42 @@ +/*! + +\page symmetry_page Symmetry + +\n This geometrical operation allows to perform a symmetrical copy of +your mesh or some of its elements. + +To apply symmetry to your mesh: +\par +From the \b Modification choose \b Transformation and from its +sub-menu select the \b Symmetry item. The following dialog box shall +appear: + +\image html symmetry1.png + +\image html symmetry2.png + +\image html symmetry3.png + +\par +This operation has three options, you can symmetrically copy your mesh +or some of its elements specifying: +
      +
    • one point
    • +
    • one axis (point and vector)
    • +
    • one plane (point and normal)
    • +
    + + +\n Toggle the corresponding checkbox to Select whole mesh, submesh or group. +\n When Move elements radio button is selected, the source mesh (or elements) is created at the new location and erased from its previous location +\n When Copy elements radio button is selected,the source mesh (or elements) is created at the new location, but it also remains at its previous location and is considered one and single mesh with the result of the translation. +\n When Create as new mesh radio button is selected, the source mesh (or elements) remains at its previous location and a new mesh is created at the new location and appears in the Object Browser with the default name MeshName_mirrored (you can change this name in the adjacent box). +\n Copy groups checkbox allows copying the groups of elements of the source mesh to the newly created one. + +. +\par + +
    See Also a sample TUI Script of a +\ref tui_symmetry "Symmetry" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/taper.doc b/doc/salome/gui/SMESH/input/taper.doc new file mode 100644 index 000000000..a207990b7 --- /dev/null +++ b/doc/salome/gui/SMESH/input/taper.doc @@ -0,0 +1,32 @@ +/*! + +\page taper_page Taper + +\n \b Taper mesh quality criterion represents the ratio of the areas +of two triangles separated by a diagonal. So it can be calculated only +for elements consisting of 4 nodes. + +\image html image25.gif + +
    To apply the Taper quality criterion to your mesh: + +
      +
    1. Display your mesh in the viewer.
    2. + +
    3. Choose Controls > Taper or click "Taper" button in +the toolbar. + +\image html image36.gif +
      "Taper" button
      + +Your mesh will be displayed in the viewer with its elements colored +according to the applied mesh quality control criterion: + +\image html image90.jpg +
    4. +
    + +
    See Also a sample TUI Script of a +\ref tui_taper "Taper quality control" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/transforming_meshes.doc b/doc/salome/gui/SMESH/input/transforming_meshes.doc new file mode 100644 index 000000000..206c6401c --- /dev/null +++ b/doc/salome/gui/SMESH/input/transforming_meshes.doc @@ -0,0 +1,14 @@ +/*! + +\page transforming_meshes_page Transforming meshes + +
      +
    • \subpage translation_page
    • +
    • \subpage rotation_page
    • +
    • \subpage symmetry_page
    • +
    • \subpage sewing_meshes_page
    • +
    • \subpage merging_nodes_page
    • +
    • \subpage merging_elements_page
    • +
    + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/translation.doc b/doc/salome/gui/SMESH/input/translation.doc new file mode 100644 index 000000000..1f48901d5 --- /dev/null +++ b/doc/salome/gui/SMESH/input/translation.doc @@ -0,0 +1,35 @@ +/*! + +\page translation_page Translation + +\n This geometrical operation allows to translate in space your mesh +or some of its elements. + +To translate your mesh: +\par +From the \b Modification choose \b Transformation and from its +sub-menu select the \b Translation item. The following dialog box +shall appear: + +\image html translation1.png + +\image html translation2.png + +\par +This operation has two options, you can translate in space your mesh +or some of its elements specifying: +
      +
    • two points (starting and ending)
    • +
    • one vector
    • +
    +Toggle the corresponding checkbox to Select whole mesh, submesh or +group. +\n When Move elements radio button is selected, the source mesh (or elements) is created at the new location and erased from its previous location +\n When Copy elements radio button is selected,the source mesh (or elements) is created at the new location, but it also remains at its previous location and is considered one and single mesh with the result of the translation. +\n When Create as new mesh radio button is selected, the source mesh (or elements) remains at its previous location and a new mesh is created at the new location and appears in the Object Browser with the default name MeshName_translated (you can change this name in the adjacent box). +\n Copy groups checkbox allows copying the groups of elements of the source mesh to the newly created one. + +
    See Also a sample TUI Script of a +\ref tui_translation "Translation" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/transparency.doc b/doc/salome/gui/SMESH/input/transparency.doc new file mode 100644 index 000000000..91734abf8 --- /dev/null +++ b/doc/salome/gui/SMESH/input/transparency.doc @@ -0,0 +1,11 @@ +/*! + +\page transparency_page Transparency + +\image html a-transparency.png + +Using this slider you can set the transparency of shading. Absolutely +transparent shading will be invisible. By default it is absolutely +opaque. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/tui_creating_meshes.doc b/doc/salome/gui/SMESH/input/tui_creating_meshes.doc new file mode 100644 index 000000000..f174e863f --- /dev/null +++ b/doc/salome/gui/SMESH/input/tui_creating_meshes.doc @@ -0,0 +1,184 @@ +/*! + +\page tui_creating_meshes_page Creating Meshes + +\n First of all see \ref introduction_to_mesh_python_page "Example of 3d mesh generation", + which is an example of good python script style for Mesh module. + +
    +

    Construction of a Mesh

    + +\code +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 +\endcode + +
    +\anchor tui_construction_submesh +

    Construction of a Submesh

    + +\code +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() + +\endcode + +
    +\anchor tui_editing_mesh +

    Editing of a mesh

    + +\code +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) +\endcode + +
    +\anchor tui_export_mesh +

    Export of a Mesh

    + +\code +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) +\endcode + +
    +

    How to mesh a cylinder with hexahedrons?

    +Here you can see an example of python script, creating a hexahedral +mesh on a cylinder. And a picture below the source code of the script, +demonstrating the resulting mesh. +\include ex24_cylinder.py + +\image html mesh_cylinder_hexa.png + +*/ diff --git a/doc/salome/gui/SMESH/input/tui_defining_hypotheses.doc b/doc/salome/gui/SMESH/input/tui_defining_hypotheses.doc new file mode 100644 index 000000000..bd9fbbb10 --- /dev/null +++ b/doc/salome/gui/SMESH/input/tui_defining_hypotheses.doc @@ -0,0 +1,385 @@ +/*! + +\page tui_defining_hypotheses_page Defining Hypotheses and Algorithms + +

    Defining 1D Hypotheses

    + +
    +\anchor tui_1d_arithmetic +

    1D Arithmetic

    + +\code +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() +\endcode + +
    +\anchor tui_deflection_1d +

    Deflection 1D and Number of Segments

    + +\code +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() +\endcode + +
    +\anchor tui_start_and_end_length +

    Start and End Length

    + +\code +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() +\endcode + +
    +\anchor tui_average_length +

    Average Length

    + +\code +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() +\endcode + +

    Defining 2D and 3D hypotheses

    + +
    +\anchor tui_max_element_area +

    Maximum Element Area

    + +\code +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() +\endcode + +
    +\anchor tui_max_element_volume +

    Maximum Element Volume

    + +\code +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" +\endcode + +
    +\anchor tui_length_from_edges +

    Length from Edges

    + +\code +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() +\endcode + +

    Defining Additional Hypotheses

    + +
    +\anchor tui_propagation +

    Propagation

    + +\code +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() +\endcode + +
    +\anchor tui_defining_meshing_algos +

    Defining Meshing Algorithms

    + +\code +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() +\endcode + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/tui_grouping_elements.doc b/doc/salome/gui/SMESH/input/tui_grouping_elements.doc new file mode 100644 index 000000000..8b9f6391c --- /dev/null +++ b/doc/salome/gui/SMESH/input/tui_grouping_elements.doc @@ -0,0 +1,277 @@ +/*! + +\page tui_grouping_elements_page Grouping Elements + +
    +\anchor tui_create_standalone_group +

    Create a Standalone Group

    + +\code +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh +salome = SMESH_mechanic.salome + +# Get ids of all faces with area > 100 +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_MoreThan, 100.) + +anIds = mesh.GetIdsFromFilter(aFilter) + +# create a group consisting of faces with area > 100 +aGroup = mesh.MakeGroupByIds("Area > 100", smesh.FACE, anIds) + +salome.sg.updateObjBrowser(1) +\endcode + +\image html create_group.png + +
    +\anchor tui_create_group_on_geometry +

    Create a Group on Geometry

    + +\code +import salome +import geompy +import smesh + +# create a box +box = geompy.MakeBox(0., 0., 0., 100., 100., 100.) +geompy.addToStudy(box, "box") + +# add the first face of the box to the study +subShapeList = geompy.SubShapeAll(box, geompy.ShapeType["FACE"]) +face = subShapeList[0] +geompy.addToStudyInFather(box, face, "face 1") + +# create group of edges on the face +aGeomGroupE = geompy.CreateGroup(face, geompy.ShapeType["EDGE"]) +geompy.AddObject(aGeomGroupE, 3) +geompy.AddObject(aGeomGroupE, 6) +geompy.AddObject(aGeomGroupE, 8) +geompy.AddObject(aGeomGroupE, 10) +geompy.addToStudyInFather(face, aGeomGroupE, "Group of Edges") + +# create quadrangle 2D mesh on the box +quadra = smesh.Mesh(box, "Box : quadrangle 2D mesh") +algo1D = quadra.Segment() +quadra.Quadrangle() +algo1D.NumberOfSegments(7) + +# compute the mesh +quadra.Compute() + +# create SMESH group on the face with name "SMESHGroup1" +aSmeshGroup1 = quadra.GroupOnGeom(face, "SMESHGroup1") + +# create SMESH group on with default name +aSmeshGroup2 = quadra.GroupOnGeom(aGeomGroupE) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_edit_group +

    Edit a Group

    + +\code +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh +salome = SMESH_mechanic.salome + +# Get ids of all faces with area > 35 +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_MoreThan, 35.) + +anIds = mesh.GetIdsFromFilter(aFilter) + +print "Criterion: Area > 35, Nb = ", len(anIds) + +# create a group by adding elements with area > 35 +aGroup = mesh.CreateEmptyGroup(smesh.FACE, "Area > 35") +aGroup.Add(anIds) + +# Get ids of all faces with area > 40 +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_MoreThan, 40.) + +anIds = mesh.GetIdsFromFilter(aFilter) + +print "Criterion: Area > 40, Nb = ", len(anIds) + +# create a group of elements with area [35; 40] by removing elements with area > 40 from group aGroup +aGroup.Remove(anIds) + +# print the result +aGroupElemIDs = aGroup.GetListOfID() + +print "Criterion: 35 < Area < 40, Nb = ", len(aGroupElemIDs) + +j = 1 +for i in range(len(aGroupElemIDs)): + if j > 20: j = 1; print "" + print aGroupElemIDs[i], + j = j + 1 + pass +print "" + +salome.sg.updateObjBrowser(1) +\endcode + +\image html editing_groups1.png + +\image html editing_groups2.png + +
    +\anchor tui_union_of_two_groups +

    Union of two groups

    + +\code +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh +salome = SMESH_mechanic.salome + +# Criterion : AREA > 20 +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_MoreThan, 20.) + +anIds = mesh.GetIdsFromFilter(aFilter) + +print "Criterion: Area > 20, Nb = ", len( anIds ) + +# create a group by adding elements with area > 20 +aGroup1 = mesh.CreateEmptyGroup(SMESH.FACE, "Area > 20") +aGroup1.Add(anIds) + +# Criterion : AREA = 20 +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_EqualTo, 20.) + +anIds = mesh.GetIdsFromFilter(aFilter) + +print "Criterion: Area = 20, Nb = ", len( anIds ) + +# create a group by adding elements with area = 20 +aGroup2 = mesh.CreateEmptyGroup( smesh.FACE, "Area = 20" ) + +aGroup2.Add(anIds) + +# create union group : area >= 20 +aGroup3 = mesh.UnionGroups(aGroup1, aGroup2, "Area >= 20") +print "Criterion: Area >= 20, Nb = ", len(aGroup3.GetListOfID()) + +# Criterion : AREA < 20 +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_LessThan, 20.) + +anIds = mesh.GetIdsFromFilter(aFilter) + +print "Criterion: Area < 20, Nb = ", len(anIds) + +# create a group by adding elements with area < 20 +aGroup4 = mesh.CreateEmptyGroup(smesh.FACE, "Area < 20") +aGroup4.Add(anIds) + +# create union group : area >= 20 and area < 20 +aGroup5 = mesh.UnionGroups(aGroup3, aGroup4, "Any Area") +print "Criterion: Any Area, Nb = ", len(aGroup5.GetListOfID()) + +salome.sg.updateObjBrowser(1) +\endcode + +\image html union_groups1.png + +\image html union_groups2.png + +\image html union_groups3.png + +
    +\anchor tui_intersection_of_two_groups +

    Intersection of two groups

    + +\code +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh +salome = SMESH_mechanic.salome + +# Criterion : AREA > 20 +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_MoreThan, 20.) + +anIds = mesh.GetIdsFromFilter(aFilter) + +print "Criterion: Area > 20, Nb = ", len(anIds) + +# create a group by adding elements with area > 20 +aGroup1 = mesh.CreateEmptyGroup(SMESH.FACE, "Area > 20") +aGroup1.Add(anIds) + +# Criterion : AREA < 60 +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_LessThan, 60.) + +anIds = mesh.GetIdsFromFilter(aFilter) + +print "Criterion: Area < 60, Nb = ", len(anIds) + +# create a group by adding elements with area < 60 +aGroup2 = mesh.CreateEmptyGroup(SMESH.FACE, "Area < 60") +aGroup2.Add(anIds) + +# create an intersection of groups : 20 < area < 60 +aGroup3 = mesh.IntersectGroups(aGroup1, aGroup2, "20 < Area < 60") +print "Criterion: 20 < Area < 60, Nb = ", len(aGroup3.GetListOfID()) + +salome.sg.updateObjBrowser(1) +\endcode + +\image html intersect_groups1.png + +\image html intersect_groups2.png + +\image html intersect_groups3.png + +
    +\anchor tui_cut_of_two_groups +

    Cut of two groups

    + +\code +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh +salome = SMESH_mechanic.salome + +# Criterion : AREA > 20 +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_MoreThan, 20.) + +anIds = mesh.GetIdsFromFilter(aFilter) + +print "Criterion: Area > 20, Nb = ", len(anIds) + +# create a group by adding elements with area > 20 +aGroupMain = mesh.MakeGroupByIds("Area > 20", smesh.FACE, anIds) + +# Criterion : AREA < 60 +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_LessThan, 60.) + +anIds = mesh.GetIdsFromFilter(aFilter) + +print "Criterion: Area < 60, Nb = ", len(anIds) + +# create a group by adding elements with area < 60 +aGroupTool = mesh.MakeGroupByIds("Area < 60", smesh.FACE, anIds) + +# create a cut of groups : area >= 60 +aGroupRes = mesh.CutGroups(aGroupMain, aGroupTool, "Area >= 60") +print "Criterion: Area >= 60, Nb = ", len(aGroupRes.GetListOfID()) + +salome.sg.updateObjBrowser(1) +\endcode + +\image html cut_groups1.png + +\image html cut_groups2.png + +\image html cut_groups3.png + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/tui_modifying_meshes.doc b/doc/salome/gui/SMESH/input/tui_modifying_meshes.doc new file mode 100644 index 000000000..342968ff7 --- /dev/null +++ b/doc/salome/gui/SMESH/input/tui_modifying_meshes.doc @@ -0,0 +1,817 @@ +/*! + +\page tui_modifying_meshes_page Modifying Meshes + +
    +\anchor tui_adding_nodes_and_elements +

    Adding Nodes and Elements

    + +
    +\anchor tui_add_node +

    Add Node

    + +\code +import SMESH_mechanic + +mesh = SMESH_mechanic.mesh + +# add node +new_id = mesh.AddNode(50, 10, 0) +print "" +if new_id == 0: print "KO node addition." +else: print "New Node has been added with ID ", new_id +\endcode + +
    +\anchor tui_add_edge +

    Add Edge

    + +\code +import SMESH_mechanic + +mesh = SMESH_mechanic.mesh +print "" + +# add node +n1 = mesh.AddNode(50, 10, 0) +if n1 == 0: print "KO node addition." + +# add edge +e1 = mesh.AddEdge([n1, 38]) +if e1 == 0: print "KO edge addition." +else: print "New Edge has been added with ID ", e1 +\endcode + +
    +\anchor tui_add_triangle +

    Add Triangle

    + +\code +import SMESH_mechanic + +mesh = SMESH_mechanic.mesh +print "" + +# add node +n1 = mesh.AddNode(50, 10, 0) +if n1 == 0: print "KO node addition." + +# add triangle +t1 = mesh.AddFace([n1, 38, 39]) +if t1 == 0: print "KO triangle addition." +else: print "New Triangle has been added with ID ", t1 +\endcode + +
    +\anchor tui_add_quadrangle +

    Add Quadrangle

    + +\code +import SMESH_mechanic + +mesh = SMESH_mechanic.mesh +print "" + +# add node +n1 = mesh.AddNode(50, 10, 0) +if n1 == 0: print "KO node addition." + +n2 = mesh.AddNode(40, 20, 0) +if n2 == 0: print "KO node addition." + +# add quadrangle +q1 = mesh.AddFace([n2, n1, 38, 39]) +if q1 == 0: print "KO quadrangle addition." +else: print "New Quadrangle has been added with ID ", q1 +\endcode + +
    +\anchor tui_add_tetrahedron +

    Add Tetrahedron

    + +\code +import SMESH_mechanic + +mesh = SMESH_mechanic.mesh +print "" + +# add node +n1 = mesh.AddNode(50, 10, 0) +if n1 == 0: print "KO node addition." + +# add tetrahedron +t1 = mesh.AddVolume([n1, 38, 39, 246]) +if t1 == 0: print "KO tetrahedron addition." +else: print "New Tetrahedron has been added with ID ", t1 +\endcode + +
    +\anchor tui_add_hexahedron +

    Add Hexahedron

    + +\code +import SMESH_mechanic + +mesh = SMESH_mechanic.mesh +print "" + +# add nodes +nId1 = mesh.AddNode(50, 10, 0) +nId2 = mesh.AddNode(47, 12, 0) +nId3 = mesh.AddNode(50, 10, 10) +nId4 = mesh.AddNode(47, 12, 10) + +if nId1 == 0 or nId2 == 0 or nId3 == 0 or nId4 == 0: print "KO node addition." + +# add hexahedron +vId = mesh.AddVolume([nId2, nId1, 38, 39, nId4, nId3, 245, 246]) +if vId == 0: print "KO Hexahedron addition." +else: print "New Hexahedron has been added with ID ", vId +\endcode + +
    +\anchor tui_add_polygon +

    Add Polygon

    + +\code +import math +import salome + +import smesh + +# create an empty mesh structure +mesh = smesh.Mesh() + +# a method to build a polygonal mesh element with angles: +def MakePolygon (a_mesh, x0, y0, z0, radius, nb_vert): + al = 2.0 * math.pi / nb_vert + node_ids = [] + + # Create nodes for a polygon + for ii in range(nb_vert): + nid = mesh.AddNode(x0 + radius * math.cos(ii*al), + y0 + radius * math.sin(ii*al), + z0) + node_ids.append(nid) + pass + + # Create a polygon + return mesh.AddPolygonalFace(node_ids) + +# Create three polygons +f1 = MakePolygon(mesh, 0, 0, 0, 30, 13) +f2 = MakePolygon(mesh, 0, 0, 10, 21, 9) +f3 = MakePolygon(mesh, 0, 0, 20, 13, 6) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_add_polyhedron +

    Add Polyhedron

    + +\code +import salome +import math + +# create an empty mesh structure +mesh = smesh.Mesh() + +# Create nodes for 12-hedron with pentagonal faces +al = 2 * math.pi / 5.0 +cosal = math.cos(al) +aa = 13 +rr = aa / (2.0 * math.sin(al/2.0)) +dr = 2.0 * rr * cosal +r1 = rr + dr +dh = rr * math.sqrt(2.0 * (1.0 - cosal * (1.0 + 2.0 * cosal))) +hh = 2.0 * dh - dr * (rr*(cosal - 1) + (rr + dr)*(math.cos(al/2) - 1)) / dh + +dd = [] # top +cc = [] # below top +bb = [] # above bottom +aa = [] # bottom + +for i in range(5): + cos_bot = math.cos(i*al) + sin_bot = math.sin(i*al) + + cos_top = math.cos(i*al + al/2.0) + sin_top = math.sin(i*al + al/2.0) + + nd = mesh.AddNode(rr * cos_top, rr * sin_top, hh ) # top + nc = mesh.AddNode(r1 * cos_top, r1 * sin_top, hh - dh) # below top + nb = mesh.AddNode(r1 * cos_bot, r1 * sin_bot, dh) # above bottom + na = mesh.AddNode(rr * cos_bot, rr * sin_bot, 0) # bottom + dd.append(nd) # top + cc.append(nc) # below top + bb.append(nb) # above bottom + aa.append(na) # bottom + pass + +# Create a polyhedral volume (12-hedron with pentagonal faces) +MeshEditor.AddPolyhedralVolume([dd[0], dd[1], dd[2], dd[3], dd[4], # top + dd[0], cc[0], bb[1], cc[1], dd[1], # - + dd[1], cc[1], bb[2], cc[2], dd[2], # - + dd[2], cc[2], bb[3], cc[3], dd[3], # - below top + dd[3], cc[3], bb[4], cc[4], dd[4], # - + dd[4], cc[4], bb[0], cc[0], dd[0], # - + aa[4], bb[4], cc[4], bb[0], aa[0], # . + aa[3], bb[3], cc[3], bb[4], aa[4], # . + aa[2], bb[2], cc[2], bb[3], aa[3], # . above bottom + aa[1], bb[1], cc[1], bb[2], aa[2], # . + aa[0], bb[0], cc[0], bb[1], aa[1], # . + aa[0], aa[1], aa[2], aa[3], aa[4]], # bottom + [5,5,5,5,5,5,5,5,5,5,5,5]) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_removing_nodes_and_elements +

    Removing Nodes and Elements

    + +
    +\anchor tui_removing_nodes +

    Removing Nodes

    + +\code +import SMESH_mechanic + +mesh = SMESH_mechanic.mesh + +# remove nodes #246 and #255 +res = mesh.RemoveNodes([246, 255]) +if res == 1: print "Nodes removing is OK!" +else: print "KO nodes removing." +\endcode + +
    +\anchor tui_removing_elements +

    Removing Elements

    + +\code +import SMESH_mechanic + +mesh = SMESH_mechanic.mesh + +# remove three elements: #850, #859 and #814 +res = mesh.RemoveElements([850, 859, 814]) +if res == 1: print "Elements removing is OK!" +else: print "KO Elements removing." +\endcode + +
    +\anchor tui_renumbering_nodes_and_elements +

    Renumbering Nodes and Elements

    + +\code +import SMESH_mechanic + +mesh = SMESH_mechanic.mesh + +mesh.RenumberNodes() + +mesh.RenumberElements() +\endcode + +
    +\anchor tui_moving_nodes +

    Moving Nodes

    + +\code +import SMESH_mechanic + +mesh = SMESH_mechanic.mesh + +# move node #38 +mesh.MoveNode(38, 20., 10., 0.) +\endcode + +
    +\anchor tui_mesh_through_point +

    Mesh through point

    + +\code +from geompy import * +from smesh import * + +box = MakeBoxDXDYDZ(200, 200, 200) + +mesh = Mesh( box ) +mesh.Segment().AutomaticLength(0.1) +mesh.Quadrangle() +mesh.Compute() + +# find node at (0,0,0) +node000 = None +for vId in SubShapeAllIDs( box, ShapeType["VERTEX"]): + if node000: break + nodeIds = mesh.GetSubMeshNodesId( vId, True ) + for node in nodeIds: + xyz = mesh.GetNodeXYZ( node ) + if xyz[0] == 0 and xyz[1] == 0 and xyz[2] == 0 : + node000 = node + pass + pass + pass + +if not node000: + raise "node000 not found" + +# find node000 using the tested function +n = mesh.FindNodeClosestTo( -1,-1,-1 ) +if not n == node000: + raise "FindNodeClosestTo() returns " + str( n ) + " != " + str( node000 ) + +# check if any node will be found for a point inside a box +n = mesh.FindNodeClosestTo( 100, 100, 100 ) +if not n > 0: + raise "FindNodeClosestTo( 100, 100, 100 ) fails" + +# move node000 to a new location +x,y,z = -10, -10, -10 +n = mesh.MeshToPassThroughAPoint( x,y,z ) +if not n == node000: + raise "FindNodeClosestTo() returns " + str( n ) + " != " + str( node000 ) + +# check the coordinates of the node000 +xyz = mesh.GetNodeXYZ( node000 ) +if not ( xyz[0] == x and xyz[1] == y and xyz[2] == z) : + raise "Wrong coordinates: " + str( xyz ) + " != " + str( [x,y,z] ) +\endcode + +
    +\anchor tui_diagonal_inversion +

    Diagonal Inversion

    + +\code +import salome +import smesh + +# create an empty mesh structure +mesh = smesh.Mesh() + +# create the following mesh: +# .----.----.----. +# | /| /| /| +# | / | / | / | +# | / | / | / | +# |/ |/ |/ | +# .----.----.----. + +bb = [0, 0, 0, 0] +tt = [0, 0, 0, 0] +ff = [0, 0, 0, 0, 0, 0] + +bb[0] = mesh.AddNode( 0., 0., 0.) +bb[1] = mesh.AddNode(10., 0., 0.) +bb[2] = mesh.AddNode(20., 0., 0.) +bb[3] = mesh.AddNode(30., 0., 0.) + +tt[0] = mesh.AddNode( 0., 15., 0.) +tt[1] = mesh.AddNode(10., 15., 0.) +tt[2] = mesh.AddNode(20., 15., 0.) +tt[3] = mesh.AddNode(30., 15., 0.) + +ff[0] = mesh.AddFace([bb[0], bb[1], tt[1]]) +ff[1] = mesh.AddFace([bb[0], tt[1], tt[0]]) +ff[2] = mesh.AddFace([bb[1], bb[2], tt[2]]) +ff[3] = mesh.AddFace([bb[1], tt[2], tt[1]]) +ff[4] = mesh.AddFace([bb[2], bb[3], tt[3]]) +ff[5] = mesh.AddFace([bb[2], tt[3], tt[2]]) + +# inverse the diagonal bb[1] - tt[2] +print "\nDiagonal inversion ... ", +res = mesh.InverseDiag(bb[1], tt[2]) +if not res: print "failed!" +else: print "done." + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_uniting_two_triangles +

    Uniting two Triangles

    + +\code +import salome +import smesh + +# create an empty mesh structure +mesh = smesh.Mesh() + +# create the following mesh: +# .----.----.----. +# | /| /| /| +# | / | / | / | +# | / | / | / | +# |/ |/ |/ | +# .----.----.----. + +bb = [0, 0, 0, 0] +tt = [0, 0, 0, 0] +ff = [0, 0, 0, 0, 0, 0] + +bb[0] = mesh.AddNode( 0., 0., 0.) +bb[1] = mesh.AddNode(10., 0., 0.) +bb[2] = mesh.AddNode(20., 0., 0.) +bb[3] = mesh.AddNode(30., 0., 0.) + +tt[0] = mesh.AddNode( 0., 15., 0.) +tt[1] = mesh.AddNode(10., 15., 0.) +tt[2] = mesh.AddNode(20., 15., 0.) +tt[3] = mesh.AddNode(30., 15., 0.) + +ff[0] = mesh.AddFace([bb[0], bb[1], tt[1]]) +ff[1] = mesh.AddFace([bb[0], tt[1], tt[0]]) +ff[2] = mesh.AddFace([bb[1], bb[2], tt[2]]) +ff[3] = mesh.AddFace([bb[1], tt[2], tt[1]]) +ff[4] = mesh.AddFace([bb[2], bb[3], tt[3]]) +ff[5] = mesh.AddFace([bb[2], tt[3], tt[2]]) + +# delete the diagonal bb[1] - tt[2] +print "\nUnite two triangles ... ", +res = mesh.DeleteDiag(bb[1], tt[2]) +if not res: print "failed!" +else: print "done." + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_uniting_set_of_triangles +

    Uniting a Set of Triangles

    + +\code +import salome +import smesh + +# create an empty mesh structure +mesh = smesh.Mesh() + +# create the following mesh: +# .----.----.----. +# | /| /| /| +# | / | / | / | +# | / | / | / | +# |/ |/ |/ | +# .----.----.----. + +bb = [0, 0, 0, 0] +tt = [0, 0, 0, 0] +ff = [0, 0, 0, 0, 0, 0] + +bb[0] = mesh.AddNode( 0., 0., 0.) +bb[1] = mesh.AddNode(10., 0., 0.) +bb[2] = mesh.AddNode(20., 0., 0.) +bb[3] = mesh.AddNode(30., 0., 0.) + +tt[0] = mesh.AddNode( 0., 15., 0.) +tt[1] = mesh.AddNode(10., 15., 0.) +tt[2] = mesh.AddNode(20., 15., 0.) +tt[3] = mesh.AddNode(30., 15., 0.) + +ff[0] = mesh.AddFace([bb[0], bb[1], tt[1]]) +ff[1] = mesh.AddFace([bb[0], tt[1], tt[0]]) +ff[2] = mesh.AddFace([bb[1], bb[2], tt[2]]) +ff[3] = mesh.AddFace([bb[1], tt[2], tt[1]]) +ff[4] = mesh.AddFace([bb[2], bb[3], tt[3]]) +ff[5] = mesh.AddFace([bb[2], tt[3], tt[2]]) + +# unite a set of triangles +print "\nUnite a set of triangles ... ", +res = mesh.TriToQuad([ff[2], ff[3], ff[4], ff[5]], smesh.FT_MinimumAngle, 60.) +if not res: print "failed!" +else: print "done." + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_orientation +

    Orientation

    + +\code +import salome +import smesh + +# create an empty mesh structure +mesh = smesh.Mesh() + +# build five quadrangles: +dx = 10 +dy = 20 + +n1 = mesh.AddNode(0.0 * dx, 0, 0) +n2 = mesh.AddNode(1.0 * dx, 0, 0) +n3 = mesh.AddNode(2.0 * dx, 0, 0) +n4 = mesh.AddNode(3.0 * dx, 0, 0) +n5 = mesh.AddNode(4.0 * dx, 0, 0) +n6 = mesh.AddNode(5.0 * dx, 0, 0) +n7 = mesh.AddNode(0.0 * dx, dy, 0) +n8 = mesh.AddNode(1.0 * dx, dy, 0) +n9 = mesh.AddNode(2.0 * dx, dy, 0) +n10 = mesh.AddNode(3.0 * dx, dy, 0) +n11 = mesh.AddNode(4.0 * dx, dy, 0) +n12 = mesh.AddNode(5.0 * dx, dy, 0) + +f1 = mesh.AddFace([n1, n2, n8 , n7 ]) +f2 = mesh.AddFace([n2, n3, n9 , n8 ]) +f3 = mesh.AddFace([n3, n4, n10, n9 ]) +f4 = mesh.AddFace([n4, n5, n11, n10]) +f5 = mesh.AddFace([n5, n6, n12, n11]) + +# Change the orientation of the second and the fourth faces. +mesh.Reorient([2, 4]) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_cutting_quadrangles +

    Cutting Quadrangles

    + +\code +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh + +# cut two quadrangles: 405 and 406 +mesh.QuadToTri([405, 406], smesh.FT_MinimumAngle) +\endcode + +
    +\anchor tui_smoothing +

    Smoothing

    + +\code +import salome +import geompy + +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh + +# select the top face +faces = geompy.SubShapeAllSorted(SMESH_mechanic.shape_mesh, geompy.ShapeType["FACE"]) +face = faces[3] +geompy.addToStudyInFather(SMESH_mechanic.shape_mesh, face, "face planar with hole") + +# create a group of faces to be smoothed +GroupSmooth = mesh.GroupOnGeom(face, "Group of faces (smooth)", smesh.FACE) + +# perform smoothing + +# boolean SmoothObject(Object, IDsOfFixedNodes, MaxNbOfIterations, MaxAspectRatio, Method) +res = mesh.SmoothObject(GroupSmooth, [], 20, 2., smesh.CENTROIDAL_SMOOTH) +print "\nSmoothing ... ", +if not res: print "failed!" +else: print "done." + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_extrusion +

    Extrusion

    + +\code +import salome +import geompy + +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh + +# select the top face +faces = geompy.SubShapeAllSorted(SMESH_mechanic.shape_mesh, geompy.ShapeType["FACE"]) +face = faces[7] +geompy.addToStudyInFather(SMESH_mechanic.shape_mesh, face, "face circular top") + +# create a vector for extrusion +point = smesh.PointStruct(0., 0., 5.) +vector = smesh.DirStruct(point) + +# create a group to be extruded +GroupTri = mesh.GroupOnGeom(face, "Group of faces (extrusion)", smesh.FACE) + +# perform extrusion of the group +mesh.ExtrusionSweepObject(GroupTri, vector, 5) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_extrusion_along_path +

    Extrusion along a Path

    + +\code +import math +import salome + +# Geometry +import geompy + +# 1. Create points +points = [[0, 0], [50, 30], [50, 110], [0, 150], [-80, 150], [-130, 70], [-130, -20]] + +iv = 1 +vertices = [] +for point in points: + vert = geompy.MakeVertex(point[0], point[1], 0) + geompy.addToStudy(vert, "Vertex_" + `iv`) + vertices.append(vert) + iv += 1 + pass + +# 2. Create edges and wires +Edge_straight = geompy.MakeEdge(vertices[0], vertices[4]) +Edge_bezierrr = geompy.MakeBezier(vertices) +Wire_polyline = geompy.MakePolyline(vertices) +Edge_Circle = geompy.MakeCircleThreePnt(vertices[0], vertices[1], vertices[2]) + +geompy.addToStudy(Edge_straight, "Edge_straight") +geompy.addToStudy(Edge_bezierrr, "Edge_bezierrr") +geompy.addToStudy(Wire_polyline, "Wire_polyline") +geompy.addToStudy(Edge_Circle , "Edge_Circle") + +# 3. Explode wire on edges, as they will be used for mesh extrusion +Wire_polyline_edges = geompy.SubShapeAll(Wire_polyline, geompy.ShapeType["EDGE"]) +for ii in range(len(Wire_polyline_edges)): + geompy.addToStudyInFather(Wire_polyline, Wire_polyline_edges[ii], "Edge_" + `ii + 1`) + pass + +# Mesh +import smesh + +# Mesh the given shape with the given 1d hypothesis +def Mesh1D(shape1d, nbSeg, name): + mesh1d_tool = smesh.Mesh(shape1d, name) + algo = mesh1d_tool.Segment() + hyp = algo.NumberOfSegments(nbSeg) + isDone = mesh1d_tool.Compute() + if not isDone: print 'Mesh ', name, ': computation failed' + return mesh1d_tool + +# Create a mesh with six nodes, seven edges and two quadrangle faces +def MakeQuadMesh2(mesh_name): + quad_1 = smesh.Mesh(name = mesh_name) + + # six nodes + n1 = quad_1.AddNode(0, 20, 10) + n2 = quad_1.AddNode(0, 40, 10) + n3 = quad_1.AddNode(0, 40, 30) + n4 = quad_1.AddNode(0, 20, 30) + n5 = quad_1.AddNode(0, 0, 30) + n6 = quad_1.AddNode(0, 0, 10) + + # seven edges + quad_1.AddEdge([n1, n2]) # 1 + quad_1.AddEdge([n2, n3]) # 2 + quad_1.AddEdge([n3, n4]) # 3 + quad_1.AddEdge([n4, n1]) # 4 + quad_1.AddEdge([n4, n5]) # 5 + quad_1.AddEdge([n5, n6]) # 6 + quad_1.AddEdge([n6, n1]) # 7 + + # two quadrangle faces + quad_1.AddFace([n1, n2, n3, n4]) # 8 + quad_1.AddFace([n1, n4, n5, n6]) # 9 + return [quad_1, [1,2,3,4,5,6,7], [8,9]] + +# Path meshes +Edge_straight_mesh = Mesh1D(Edge_straight, 7, "Edge_straight") +Edge_bezierrr_mesh = Mesh1D(Edge_bezierrr, 7, "Edge_bezierrr") +Wire_polyline_mesh = Mesh1D(Wire_polyline, 3, "Wire_polyline") +Edge_Circle_mesh = Mesh1D(Edge_Circle , 8, "Edge_Circle") + +# Initial meshes (to be extruded) +[quad_1, ee_1, ff_1] = MakeQuadMesh2("quad_1") +[quad_2, ee_2, ff_2] = MakeQuadMesh2("quad_2") +[quad_3, ee_3, ff_3] = MakeQuadMesh2("quad_3") +[quad_4, ee_4, ff_4] = MakeQuadMesh2("quad_4") +[quad_5, ee_5, ff_5] = MakeQuadMesh2("quad_5") +[quad_6, ee_6, ff_6] = MakeQuadMesh2("quad_6") +[quad_7, ee_7, ff_7] = MakeQuadMesh2("quad_7") + +# ExtrusionAlongPath +# IDsOfElements, PathMesh, PathShape, NodeStart, +# HasAngles, Angles, HasRefPoint, RefPoint +refPoint = smesh.PointStruct(0, 0, 0) +a10 = 10.0*math.pi/180.0 +a45 = 45.0*math.pi/180.0 + +# 1. Extrusion of two mesh edges along a straight path +error = quad_1.ExtrusionAlongPath([1,2], Edge_straight_mesh, Edge_straight, 1, + 0, [], 0, refPoint) + +# 2. Extrusion of one mesh edge along a curved path +error = quad_2.ExtrusionAlongPath([2], Edge_bezierrr_mesh, Edge_bezierrr, 1, + 0, [], 0, refPoint) + +# 3. Extrusion of one mesh edge along a curved path with usage of angles +error = quad_3.ExtrusionAlongPath([2], Edge_bezierrr_mesh, Edge_bezierrr, 1, + 1, [a45, a45, a45, 0, -a45, -a45, -a45], 0, refPoint) + +# 4. Extrusion of one mesh edge along the path, which is a part of a meshed wire +error = quad_4.ExtrusionAlongPath([4], Wire_polyline_mesh, Wire_polyline_edges[0], 1, + 1, [a10, a10, a10], 0, refPoint) + +# 5. Extrusion of two mesh faces along the path, which is a part of a meshed wire +error = quad_5.ExtrusionAlongPath(ff_5 , Wire_polyline_mesh, Wire_polyline_edges[2], 4, + 0, [], 0, refPoint) + +# 6. Extrusion of two mesh faces along a closed path +error = quad_6.ExtrusionAlongPath(ff_6 , Edge_Circle_mesh, Edge_Circle, 1, + 0, [], 0, refPoint) + +# 7. Extrusion of two mesh faces along a closed path with usage of angles +error = quad_7.ExtrusionAlongPath(ff_7, Edge_Circle_mesh, Edge_Circle, 1, + 1, [a45, -a45, a45, -a45, a45, -a45, a45, -a45], 0, refPoint) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_revolution +

    Revolution

    + +\code +import math + +import SMESH_mechanic + +mesh = SMESH_mechanic.mesh +smesh = SMESH_mechanic.smesh + +# create a group of faces to be revolved +FacesRotate = [492, 493, 502, 503] +GroupRotate = mesh.CreateGroup(SMESH.FACE,"Group of faces (rotate)") +GroupRotate.Add(FacesRotate) + +# define revolution angle and axis +angle45 = 45 * math.pi / 180 +axisXYZ = SMESH.AxisStruct(-38.3128, -73.3658, -23.321, -13.3402, -13.3265, 6.66632) + +# perform revolution of an object +mesh.RotationSweepObject(GroupRotate, axisXYZ, angle45, 4, 1e-5) +\endcode + +
    +\anchor tui_pattern_mapping +

    Pattern Mapping

    + +\code +import geompy + +import smesh + +# define the geometry +Box_1 = geompy.MakeBoxDXDYDZ(200., 200., 200.) +geompy.addToStudy(Box_1, "Box_1") + +faces = geompy.SubShapeAll(Box_1, geompy.ShapeType["FACE"]) +Face_1 = faces[0] +Face_2 = faces[1] + +geompy.addToStudyInFather(Box_1, Face_1, "Face_1") +geompy.addToStudyInFather(Box_1, Face_2, "Face_2") + +# build a quadrangle mesh 3x3 on Face_1 +Mesh_1 = smesh.Mesh(Face_1) +algo1D = Mesh_1.Segment() +algo1D.NumberOfSegments(3) +Mesh_1.Quadrangle() + +isDone = Mesh_1.Compute() +if not isDone: print 'Mesh Mesh_1 : computation failed' + +# build a triangle mesh on Face_2 +Mesh_2 = smesh.Mesh(Face_2) + +algo1D = Mesh_2.Segment() +algo1D.NumberOfSegments(1) +algo2D = Mesh_2.Triangle() +algo2D.MaxElementArea(240) + +isDone = Mesh_2.Compute() +if not isDone: print 'Mesh Mesh_2 : computation failed' + +# create a pattern +pattern = smesh.GetPattern() + +isDone = pattern.LoadFromFace(Mesh_2.GetMesh(), Face_2, 0) +if (isDone != 1): print 'LoadFromFace :', pattern.GetErrorCode() + +# apply the pattern to a face of the first mesh +pattern.ApplyToMeshFaces(Mesh_1.GetMesh(), [17], 0, 0) + +isDone = pattern.MakeMesh(Mesh_1.GetMesh(), 0, 0) +if (isDone != 1): print 'MakeMesh :', pattern.GetErrorCode() +\endcode + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/tui_quality_controls.doc b/doc/salome/gui/SMESH/input/tui_quality_controls.doc new file mode 100644 index 000000000..e1b8b700e --- /dev/null +++ b/doc/salome/gui/SMESH/input/tui_quality_controls.doc @@ -0,0 +1,575 @@ +/*! + +\page tui_quality_controls_page Quality Controls + +
    +\anchor tui_free_borders +

    Free Borders

    + +\code +import salome +import geompy + +import smesh + +# create open shell: a box without one plane +box = geompy.MakeBox(0., 0., 0., 20., 20., 15.) +FaceList = geompy.SubShapeAll(box, geompy.ShapeType["FACE"]) +FaceList.remove(FaceList[5]) +box = geompy.MakeShell(FaceList) +idbox = geompy.addToStudy(box, "box") + +# create a mesh +mesh = smesh.Mesh(box, "Mesh_free_borders") +algo = mesh.Segment() +algo.NumberOfSegments(5) +algo = mesh.Triangle() +algo.MaxElementArea(20.) +mesh.Compute() + +# criterion : free borders +aFilter = smesh.GetFilter(smesh.EDGE, smesh.FT_FreeBorders) +anIds = mesh.GetIdsFromFilter(aFilter) + +# print the result +print "Criterion: Free borders Nb = ", len(anIds) +j = 1 +for i in range(len(anIds)): + if j > 20: j = 1; print "" + print anIds[i], + j = j + 1 + pass +print "" + +# create a group +aGroup = mesh.CreateGroup(SMESH.EDGE, "Free borders") +aGroup.Add(anIds) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_borders_at_multiconnection +

    Borders at Multiconnection

    + +\code +import salome +import geompy + +import smesh +import SMESH + +# create open shell: a box without one plane +box = geompy.MakeBox(0., 0., 0., 20., 20., 15.) +FaceList = geompy.SubShapeAll(box, geompy.ShapeType["FACE"]) +FaceList.remove(FaceList[5]) +box = geompy.MakeShell(FaceList) +idbox = geompy.addToStudy(box, "box") + +# create a mesh +mesh = smesh.Mesh(box, "Mesh_borders_at_multi-connections") +algo = mesh.Segment() +algo.NumberOfSegments(5) +algo = mesh.Triangle() +algo.MaxElementArea(20.) +mesh.Compute() + +# Criterion : Borders at multi-connection +nb_conn = 2 + +aFilter = smesh.GetFilter(smesh.EDGE, smesh.FT_MultiConnection, smesh.FT_EqualTo, nb_conn) +anIds = mesh.GetIdsFromFilter(aFilter) + +# print the result +print "Criterion: Borders at multi-connections Nb = ", len(anIds) +j = 1 +for i in range(len(anIds)): + if j > 20: j = 1; print "" + print anIds[i], + j = j + 1 + pass +print "" + +# create a group +aGroup = mesh.CreateGroup(SMESH.EDGE, "Borders at multi-connections") +aGroup.Add(anIds) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_length_1d +

    Length 1D

    + +\code +import salome +import geompy + +import smesh + +# create open shell: a box without one plane +box = geompy.MakeBox(0., 0., 0., 20., 20., 15.) +FaceList = geompy.SubShapeAll(box, geompy.ShapeType["FACE"]) +FaceList.remove(FaceList[5]) +box = geompy.MakeShell(FaceList) +idbox = geompy.addToStudy(box, "box") + +# create a mesh +mesh = smesh.Mesh(box, "Mesh_Length_1D") +algo = mesh.Segment() +algo.NumberOfSegments(5) +algo = mesh.Triangle() +algo.MaxElementArea(20.) +mesh.Compute() + +# Criterion : Length > 3. +length_margin = 3. + +aFilter = smesh.GetFilter(smesh.EDGE, smesh.FT_Length, smesh.FT_MoreThan, length_margin) +anIds = mesh.GetIdsFromFilter(aFilter) + +# print the result +print "Criterion: Edges length > ", length_margin, " Nb = ", len(anIds) +j = 1 +for i in range(len(anIds)): + if j > 20: j = 1; print "" + print anIds[i], + j = j + 1 + pass +print "" + +# create a group +aGroup = mesh.CreateGroup(SMESH.EDGE, "Edges with length > " + `length_margin`) +aGroup.Add(anIds) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_free_edges +

    Free Edges

    + +\code +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh +salome = SMESH_mechanic.salome + +aFilterMgr = smesh.CreateFilterManager() + +# Remove some elements to obtain free edges +# Criterion : AREA > 95. +area_margin = 95. + +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_MoreThan, area_margin) + +anIds = mesh.GetIdsFromFilter(aFilter) + +mesh.RemoveElements(anIds) + +# Criterion : Free Edges +aBorders = mesh.GetFreeBorders() + +# create groups +aGroupF = mesh.CreateGroup(SMESH.FACE, "Faces with free edges") +aGroupN = mesh.CreateGroup(SMESH.NODE, "Nodes on free edges") + +# fill groups with elements, corresponding to the criterion +print "" +print "Criterion: Free edges Nb = ", len(aBorders) +for i in range(len(aBorders)): + aBorder = aBorders[i] + print "Face # ", aBorder.myElemId, " : Edge between nodes (", + print aBorder.myPnt1, ", ", aBorder.myPnt2, ")" + + aGroupF.Add([aBorder.myElemId]) + aGroupN.Add([aBorder.myPnt1, aBorder.myPnt2]) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_length_2d +

    Length 2D

    + +\code +import salome +import geompy + +import smesh + +# create open shell: a box without one plane +box = geompy.MakeBox(0., 0., 0., 20., 20., 15.) +FaceList = geompy.SubShapeAll(box, geompy.ShapeType["FACE"]) +FaceList.remove(FaceList[5]) +box = geompy.MakeShell(FaceList) +idbox = geompy.addToStudy(box, "box") + +# create a mesh +mesh = smesh.Mesh(box, "Mesh_Length_2D") +algo = mesh.Segment() +algo.NumberOfSegments(5) +algo = mesh.Triangle() +algo.MaxElementArea(20.) +mesh.Compute() + +# Criterion : Length 2D > 5.7 +length_margin = 5.7 + +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Length2D, smesh.FT_MoreThan, length_margin) + +anIds = mesh.GetIdsFromFilter(aFilter) + +# print the result +print "Criterion: Edges length 2D > ", length_margin, " Nb = ", len(anIds) +j = 1 +for i in range(len(anIds)): + if j > 20: j = 1; print "" + print anIds[i], + j = j + 1 + pass +print "" + +# create a group +aGroup = mesh.CreateEmptyGroup(smesh.FACE, "Faces with length 2D > " + `length_margin`) +aGroup.Add(anIds) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_borders_at_multiconnection_2d +

    Borders at Multiconnection 2D

    + +\code +import salome +import geompy + +import smesh + +# create a compound of two glued boxes +box1 = geompy.MakeBox(0., 0., 0., 20., 20., 15.) +box2 = geompy.MakeTranslation(box1, 0., 20., 0) +comp = geompy.MakeCompound([box1, box2]) +box = geompy.MakeGlueFaces(comp, 0.000001) +idbox = geompy.addToStudy(box, "box") + +# create a mesh +mesh = smesh.Mesh(box, "Box compound : 2D triangle mesh") +algo = mesh.Segment() +algo.NumberOfSegments(5) +algo = mesh.Triangle() +algo.MaxElementArea(20.) +mesh.Compute() + +# Criterion : MULTI-CONNECTION 2D = 3 +nb_conn = 3 + +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_MultiConnection2D, smesh.FT_EqualTo, nb_conn) + +anIds = mesh.GetIdsFromFilter(aFilter) + +# print the result +print "Criterion: Borders at multi-connection 2D = ", nb_conn, " Nb = ", len(anIds) +j = 1 +for i in range(len(anIds)): + if j > 20: j = 1; print "" + print anIds[i], + j = j + 1 + pass +print "" + +# create a group +aGroup = mesh.CreateEmptyGroup(smesh.FACE, "Borders at multi-connection 2D = " + `nb_conn`) +aGroup.Add(anIds) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_area +

    Area

    + +\code +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh +salome = SMESH_mechanic.salome + +# Criterion : AREA > 100. +area_margin = 100. + +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_MoreThan, area_margin) + +anIds = mesh.GetIdsFromFilter(aFilter) + +# print the result +print "Criterion: Area > ", area_margin, " Nb = ", len(anIds) +j = 1 +for i in range(len(anIds)): + if j > 20: j = 1; print "" + print anIds[i], + j = j + 1 + pass +print "" + +# create a group +aGroup = mesh.CreateEmptyGroup(smesh.FACE, "Area > " + `area_margin`) +aGroup.Add(anIds) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_taper +

    Taper

    + +\code +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh +salome = SMESH_mechanic.salome + +# Criterion : Taper > 3e-20 +taper_margin = 3e-20 + +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Taper, smesh.FT_MoreThan, taper_margin) + +anIds = mesh.GetIdsFromFilter(aFilter) + +# print the result +print "Criterion: Taper > ", taper_margin, " Nb = ", len(anIds) +j = 1 +for i in range(len(anIds)): + if j > 20: j = 1; print "" + print anIds[i], + j = j + 1 + pass +print "" + +# create a group +aGroup = mesh.CreateEmptyGroup(smesh.FACE, "Taper > " + `taper_margin`) +aGroup.Add(anIds) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_aspect_ratio +

    Aspect Ratio

    + +\code +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh +salome = SMESH_mechanic.salome + +# Criterion : ASPECT RATIO > 1.8 +ar_margin = 1.8 + +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_AspectRatio, smesh.FT_MoreThan, ar_margin) + +anIds = mesh.GetIdsFromFilter(aFilter) + +# print the result +print "Criterion: Aspect Ratio > ", ar_margin, " Nb = ", len(anIds) +j = 1 +for i in range(len(anIds)): + if j > 20: j = 1; print "" + print anIds[i], + j = j + 1 + pass +print "" + +# create a group +aGroup = mesh.CreateEmptyGroup(smesh.FACE, "Aspect Ratio > " + `ar_margin`) +aGroup.Add(anIds) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_minimum_angle +

    Minimum Angle

    + +\code +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh +salome = SMESH_mechanic.salome + +# Criterion : MINIMUM ANGLE < 35. +min_angle = 35. + +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_MinimumAngle, smesh.FT_LessThan, min_angle) + +anIds = mesh.GetIdsFromFilter(aFilter) + +# print the result +print "Criterion: Minimum Angle < ", min_angle, " Nb = ", len(anIds) +j = 1 +for i in range(len(anIds)): + if j > 20: j = 1; print "" + print anIds[i], + j = j + 1 + pass +print "" + +# create a group +aGroup = mesh.CreateEmptyGroup(smesh.FACE, "Minimum Angle < " + `min_angle`) + +aGroup.Add(anIds) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_warping +

    Warping

    + +\code +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh +salome = SMESH_mechanic.salome + +# Criterion : WARP ANGLE > 1e-15 +wa_margin = 1e-15 + +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Warping, smesh.FT_MoreThan, wa_margin) + +anIds = mesh.GetIdsFromFilter(aFilter) + +# print the result +print "Criterion: Warp > ", wa_margin, " Nb = ", len(anIds) +j = 1 +for i in range(len(anIds)): + if j > 20: j = 1; print "" + print anIds[i], + j = j + 1 + pass +print "" + +# create a group +aGroup = mesh.CreateEmptyGroup(smesh.FACE, "Warp > " + `wa_margin`) + +aGroup.Add(anIds) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_skew +

    Skew

    + +\code +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh +salome = SMESH_mechanic.salome + +# Criterion : Skew > 38. +skew_margin = 38. + +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Skew, smesh.FT_MoreThan, skew_margin) + +anIds = mesh.GetIdsFromFilter(aFilter) + +# print the result +print "Criterion: Skew > ", skew_margin, " Nb = ", len(anIds) +j = 1 +for i in range(len(anIds)): + if j > 20: j = 1; print "" + print anIds[i], + j = j + 1 + pass +print "" + +# create a group +aGroup = mesh.CreateEmptyGroup(smesh.FACE, "Skew > " + `skew_margin`) +aGroup.Add(anIds) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_aspect_ratio_3d +

    Aspect Ratio 3D

    + +\code +import SMESH_mechanic_tetra + +smesh = SMESH_mechanic_tetra.smesh +mesh = SMESH_mechanic_tetra.mesh +salome = SMESH_mechanic_tetra.salome + +# Criterion : ASPECT RATIO 3D > 4.5 +ar_margin = 4.5 + +aFilter = smesh.GetFilter(smesh.VOLUME, smesh.FT_AspectRatio3D, smesh.FT_MoreThan, ar_margin) + +anIds = mesh.GetIdsFromFilter(aFilter) + +# print the result +print "Criterion: Aspect Ratio 3D > ", ar_margin, " Nb = ", len(anIds) +j = 1 +for i in range(len(anIds)): + if j > 20: j = 1; print "" + print anIds[i], + j = j + 1 + pass +print "" + +# create a group +aGroup = mesh.CreateEmptyGroup(smesh.VOLUME, "Aspect Ratio 3D > " + `ar_margin`) + +aGroup.Add(anIds) + +salome.sg.updateObjBrowser(1) +\endcode + +
    +\anchor tui_volume +

    Volume

    + +\code +import SMESH_mechanic_tetra + +smesh = SMESH_mechanic_tetra.smesh +mesh = SMESH_mechanic_tetra.mesh +salome = SMESH_mechanic_tetra.salome + +# Criterion : VOLUME < 7. +volume_margin = 7. + +aFilter = smesh.GetFilter(smesh.VOLUME, smesh.FT_Volume3D, smesh.FT_LessThan, volume_margin) + +anIds = mesh.GetIdsFromFilter(aFilter) + +# print the result +print "" +print "Criterion: Volume < ", volume_margin, " Nb = ", len(anIds) +j = 1 +for i in range(len(anIds)): + if j > 20: j = 1; print "" + print anIds[i], + j = j + 1 + pass +print "" + +# create a group +aGroup = mesh.CreateEmptyGroup(smesh.VOLUME, "Volume < " + `volume_margin`) + +aGroup.Add(anIds) + +salome.sg.updateObjBrowser(1) +\endcode + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/tui_scripts.doc b/doc/salome/gui/SMESH/input/tui_scripts.doc new file mode 100644 index 000000000..4c19b9d7b --- /dev/null +++ b/doc/salome/gui/SMESH/input/tui_scripts.doc @@ -0,0 +1,15 @@ +/*! + +\page tui_scripts_page TUI Scripts + +
      +
    • \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
    • +
    + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/tui_transforming_meshes.doc b/doc/salome/gui/SMESH/input/tui_transforming_meshes.doc new file mode 100644 index 000000000..163afe0e4 --- /dev/null +++ b/doc/salome/gui/SMESH/input/tui_transforming_meshes.doc @@ -0,0 +1,322 @@ +/*! + +\page tui_transforming_meshes_page Transforming Meshes + +

    Transforming Meshes

    + +
    +\anchor tui_translation +

    Translation

    + +\code +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh + +# define translation vector +point = smesh.PointStruct(-150., -150., 0.) +vector =smesh.DirStruct(point) + +# translate a mesh +doCopy = 1 + +mesh.Translate([], vector, doCopy) +\endcode + +
    +\anchor tui_rotation +

    Rotation

    + +\code +import math + +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh + +# define rotation axis and angle +axisXYZ = smesh.AxisStruct(0., 0., 0., 5., 5., 20.) +angle270 = 1.5 * math.pi + +# rotate a mesh +mesh.Rotate([], axisXYZ, angle270, 1) +\endcode + +
    +\anchor tui_symmetry +

    Symmetry

    + +\code +import math + +import SMESH_mechanic + +smesh = SMESH_mechanic.smesh +mesh = SMESH_mechanic.mesh + +# create a symmetrical copy of the mesh mirrored through a point +axis = SMESH.AxisStruct(0, 0, 0, 0, 0, 0) + +mesh.Mirror([], axis, smesh.POINT, 1) +\endcode + +
    +\anchor tui_merging_nodes +

    Merging Nodes

    + +\code +import SMESH_mechanic +mesh = SMESH_mechanic.mesh + +# merge nodes +Tolerance = 25.0 + +GroupsOfNodes = mesh.FindCoincidentNodes(Tolerance) +mesh.MergeNodes(GroupsOfNodes) +\endcode + +
    +\anchor tui_merging_elements +

    Merging Elements

    + +\code +import salome +import geompy +import smesh + +# create a face to be meshed +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 + +face1 = geompy.MakeFace(wire, isPlanarFace) +id_face1 = geompy.addToStudy(face1, "Face1") + +# create a circle to be an extrusion path +px1 = geompy.MakeVertex( 100., 100., 0.) +py1 = geompy.MakeVertex(-100., -100., 0.) +pz1 = geompy.MakeVertex( 0., 0., 50.) + +circle = geompy.MakeCircleThreePnt(py1, pz1, px1) +id_circle = geompy.addToStudy(circle, "Path") + +# create a 2D mesh on the face +trias = smesh.Mesh(face1, "Face : 2D mesh") + +algo1D = trias.Segment() +algo1D.NumberOfSegments(6) +algo2D = trias.Triangle() +algo2D.LengthFromEdges() + +trias.Compute() + +# create a path mesh +circlemesh = smesh.Mesh(circle, "Path mesh") +algo = circlemesh.Segment() +algo.NumberOfSegments(10) +circlemesh.Compute() + +# extrusion of the mesh +trias.ExtrusionAlongPath([], circlemesh, circle, + 1, 0, [], 0, smesh.PointStruct(0, 0, 0)) + +# merge nodes +print "Number of nodes before MergeNodes:", +trias.NbNodes() +tolerance = 0.001 +array_of_nodes_groups = trias.FindCoincidentNodes(tolerance) + +trias.MergeNodes(array_of_nodes_groups) + +print "Number of nodes after MergeNodes:", trias.NbNodes() +print "" +print "Number of elements before MergeEqualElements:" +print "Edges : ", trias.NbEdges() +print "Triangles : ", trias.NbTriangles() +print "Quadrangles: ", trias.NbQuadrangles() +print "Volumes : ", trias.NbVolumes() + +# merge elements +trias.MergeEqualElements() +print "Number of elements after MergeEqualElements:" +print "Edges : ", trias.NbEdges() +print "Triangles : ", trias.NbTriangles() +print "Quadrangles: ", trias.NbQuadrangles() +print "Volumes : ", trias.NbVolumes() + +salome.sg.updateObjBrowser(1) +\endcode + +

    Sewing Meshes

    + +
    +\anchor tui_sew_meshes_border_to_side +

    Sew Meshes Border to Side

    + +\code +import geompy +import smesh + +# create two faces of a box +box1 = geompy.MakeBox(0., 0., -10., 30., 20., 25.) +facesList1 = geompy.SubShapeAll(box1, geompy.ShapeType["FACE"]) +face1 = facesList1[2] + +box2 = geompy.MakeBox(0., 5., 0., 20., 20., 15.) +facesList2 = geompy.SubShapeAll(box2, geompy.ShapeType["FACE"]) +face2 = facesList2[1] + +edgesList = geompy.SubShapeAll(face2, geompy.ShapeType["EDGE"]) +edge1 = edgesList[2] + +aComp = geompy.MakeCompound([face1, face2]) +geompy.addToStudy(aComp, "Two faces") + +# create a mesh on two faces +mesh = smesh.Mesh(aComp, "Two faces : quadrangle mesh") + +algo1D = mesh.Segment() +algo1D.NumberOfSegments(9) +algo2D = mesh.Quadrangle() + +algo_local = mesh.Segment(edge1) +algo_local.Arithmetic1D(1, 4) +algo_local.Propagation() + +mesh.Compute() + +# sew border to side +# FirstNodeIDOnFreeBorder, SecondNodeIDOnFreeBorder, LastNodeIDOnFreeBorder, +# FirstNodeIDOnSide, LastNodeIDOnSide, +# CreatePolygons, CreatePolyedrs +mesh.SewBorderToSide(5, 45, 6, 113, 109, 0, 0) +\endcode + +
    +\anchor tui_sew_conform_free_borders +

    Sew Conform Free Borders

    + +\code +import geompy +import smesh + +# create two faces of the box +box1 = geompy.MakeBox(0., 0., -10., 20., 20., 15.) +facesList1 = geompy.SubShapeAll(box1, geompy.ShapeType["FACE"]) +face1 = facesList1[2] + +box2 = geompy.MakeBox(0., 5., 0., 20., 20., 15.) +facesList2 = geompy.SubShapeAll(box2, geompy.ShapeType["FACE"]) +face2 = facesList2[1] + +edgesList = geompy.SubShapeAll(face2, geompy.ShapeType["EDGE"]) +edge1 = edgesList[2] + +aComp = geompy.MakeCompound([face1, face2]) +geompy.addToStudy(aComp, "Two faces") + +# create a mesh on two faces +mesh = smesh.Mesh(aComp, "Two faces : quadrangle mesh") + +algo1D = mesh.Segment() +algo1D.NumberOfSegments(9) +algo2D = mesh.Quadrangle() + +algo_local = mesh.Segment(edge1) +algo_local.Arithmetic1D(1, 4) +algo_local.Propagation() + +mesh.Compute() + +# sew conform free borders +# FirstNodeID1, SecondNodeID1, LastNodeID1, FirstNodeID2, SecondNodeID2 +mesh.SewConformFreeBorders(5, 45, 6, 3, 24) +\endcode + +
    +\anchor tui_sew_free_borders +

    Sew Free Borders

    + +\code +import geompy +import smesh + +# create two faces of the box +box1 = geompy.MakeBox(0., 0., 0., 20., 20., 15.) +facesList1 = geompy.SubShapeAll(box1, geompy.ShapeType["FACE"]) +face1 = facesList1[2] + +box2 = geompy.MakeBox(0., 5., 0., 20., 20., 15.) +facesList2 = geompy.SubShapeAll(box2, geompy.ShapeType["FACE"]) +face2 = facesList2[1] + +edgesList = geompy.SubShapeAll(face2, geompy.ShapeType["EDGE"]) +edge1 = edgesList[2] + +aComp = geompy.MakeCompound([face1, face2]) +geompy.addToStudy(aComp, "Two faces") + +# create a mesh on two faces +mesh = smesh.Mesh(aComp, "Two faces : quadrangle mesh") + +algo1D = mesh.Segment() +algo1D.NumberOfSegments(4) +algo2D = mesh.Quadrangle() + +algo_local = mesh.Segment(edge1) +algo_local.Arithmetic1D(1, 4) +algo_local.Propagation() + +mesh.Compute() + +# sew free borders +# FirstNodeID1, SecondNodeID1, LastNodeID1, +# FirstNodeID2, SecondNodeID2, LastNodeID2, CreatePolygons, CreatePolyedrs +mesh.SewFreeBorders(6, 21, 5, 1, 12, 3, 0, 0) +\endcode + +
    +\anchor tui_sew_side_elements +

    Sew Side Elements

    + +\code +import geompy +import smesh + +# create two boxes +box1 = geompy.MakeBox(0., 0., 0., 10., 10., 10.) +box2 = geompy.MakeBox(0., 15., 0., 20., 25., 10.) + +EdgesList = geompy.SubShapeAll(box2, geompy.ShapeType["EDGE"]) + +aComp = geompy.MakeCompound([box1, box2]) +geompy.addToStudy(aComp, "Two boxes") + +# create a mesh on two boxes +mesh = smesh.Mesh(aComp, "Two faces : quadrangle mesh") + +algo1D = mesh.Segment() +algo1D.NumberOfSegments(2) +algo2D = mesh.Quadrangle() + +algo_local = mesh.Segment(EdgesList[8]) +algo_local.NumberOfSegments(4) +algo_local.Propagation() + +mesh.Compute() + +# sew side elements +# IDsOfSide1Elements, IDsOfSide2Elements, +# NodeID1OfSide1ToMerge, NodeID1OfSide2ToMerge, NodeID2OfSide1ToMerge, NodeID2OfSide2ToMerge +mesh.SewSideElements([69, 70, 71, 72], [91, 92, 89, 90], 8, 38, 23, 58) +\endcode + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/tui_viewing_meshes.doc b/doc/salome/gui/SMESH/input/tui_viewing_meshes.doc new file mode 100644 index 000000000..59681c16b --- /dev/null +++ b/doc/salome/gui/SMESH/input/tui_viewing_meshes.doc @@ -0,0 +1,47 @@ +/*! + +\page tui_viewing_meshes_page Viewing Meshes + +
    +\anchor tui_viewing_mesh_infos +

    Viewing Mesh Infos

    + +\code +import geompy +import smesh + +# create a box +box = geompy.MakeBox(0., 0., 0., 20., 20., 20.) +geompy.addToStudy(box, "box") + +# create a mesh +tetra = smesh.Mesh(box, "MeshBox") + +algo1D = tetra.Segment() +algo1D.NumberOfSegments(3) + +algo2D = tetra.Triangle() +algo2D.MaxElementArea(10.) + +algo3D = tetra.Tetrahedron(smesh.NETGEN) +algo3D.MaxElementVolume(900.) + +# compute the mesh +tetra.Compute() + +# print information about the mesh +print "Information about mesh:" +print "Number of nodes : ", tetra.NbNodes() +print "Number of edges : ", tetra.NbEdges() +print "Number of faces : ", tetra.NbFaces() +print " triangles : ", tetra.NbTriangles() +print " quadrangles : ", tetra.NbQuadrangles() +print " polygons : ", tetra.NbPolygons() +print "Number of volumes : ", tetra.NbVolumes() +print " tetrahedrons: ", tetra.NbTetras() +print " hexahedrons : ", tetra.NbHexas() +print " prisms : ", tetra.NbPrisms() +print " pyramids : ", tetra.NbPyramids() +print " polyhedrons : ", tetra.NbPolyhedrons() +\endcode +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/uniting_set_of_triangles.doc b/doc/salome/gui/SMESH/input/uniting_set_of_triangles.doc new file mode 100644 index 000000000..fc3a74aed --- /dev/null +++ b/doc/salome/gui/SMESH/input/uniting_set_of_triangles.doc @@ -0,0 +1,53 @@ +/*! + +\page uniting_set_of_triangles_page Uniting a set of triangles + +\n In contrast to the previous operation this one allows to unite at +once many triangles if they have adjacent edges. + +To union several triangles: +
      +
    1. Display a mesh or a submesh in the 3D viewer.
    2. +
    3. In the \b Modification menu select the Union of triangles +item or click "Union of triangles" button in the toolbar. + +\image html image80.gif +
      "Union of triangles" button
      + +The following dialog box will appear: + +\image html a-unionoftriangles.png + +
        +
      • The main list shall contain the triangles which will be +united. You can click on an triangle in the 3D viewer and it will be +highlighted. After that click the \b Add button and the ID of this +triangle will be added to the list. To remove a selected element or +elements from the list click the \b Remove button. The \b Sort button allows +to sort the list of IDs. The Set filter button allows to apply a +definite filter to selection of triangles.
      • +
      • Apply to all radio button allows to modify connectivity and +type of all triangles of the currently displayed mesh or submesh.
      • +
      • \b Criterion menu allows to apply the operation only to those +object which meet the chosen criterion (from the list of Quality +Controls, i.e. Skew, Warping, Minimum Angle, etc.)
      • +
      • Select from set of fields allows to choose a submesh or an +existing group whose triangle elements will be automatically added to +the list.
      • +
      + +
    4. +
    5. Click the \b Apply or \b OK button to confirm the operation.
    6. +
    + +If some selected triangle elements have no adjacent edges with one of +the others, the operation on these elements shall take no effect. + +\image html uniting_a_set_of_triangles1.png + +\image html uniting_a_set_of_triangles2.png + +
    See Also a sample TUI Script of a +\ref tui_uniting_set_of_triangles "Uniting a Set of Triangles" operation. + +*/ diff --git a/doc/salome/gui/SMESH/input/uniting_two_triangles.doc b/doc/salome/gui/SMESH/input/uniting_two_triangles.doc new file mode 100644 index 000000000..36d46f688 --- /dev/null +++ b/doc/salome/gui/SMESH/input/uniting_two_triangles.doc @@ -0,0 +1,34 @@ +/*! + +\page uniting_two_triangles_page Uniting two triangles + +\n In MESH you can union two neighboring triangles (cells) by deletion +of the common edge. + +To unite two triangles: +
      +
    1. From the \b Modification menu choose the Union of two +triangles item or click "Union of two triangles" button +in the toolbar. + +\image html image71.gif +
      "Union of two triangles" button
      + +The following dialog box shall appear: + +\image html unionoftwotriangles.png + +
    2. +
    3. Enter the ID of the required edge in the \b Edge field or select +this edge in the 3D viewer.
    4. +
    5. Click the \b Apply or \b OK button.
    6. +
    + +\image html uniting_two_triangles1.png + +\image html uniting_two_triangles2.png + +
    See Also a sample TUI Script of a +\ref tui_uniting_two_triangles "Uniting Two Triangles" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/using_operations_on_groups.doc b/doc/salome/gui/SMESH/input/using_operations_on_groups.doc new file mode 100644 index 000000000..c6d4d75a7 --- /dev/null +++ b/doc/salome/gui/SMESH/input/using_operations_on_groups.doc @@ -0,0 +1,123 @@ +/*! + +\page using_operations_on_groups_page Using operations on groups + +\n In MESH you can perform some Boolean operations on groups, which +belong to one and the same mesh. +
      +
    • \ref union_anchor "Union"
    • +
    • \ref intersection_anchor "Intersection"
    • +
    • \ref cut_anchor "Cut"
    • +
    + + +
    +\anchor union_anchor +

    Union of two groups

    + +This operation allows to create a new group in such a way that all +mesh elements that are present in the initial groups will be added to +the new one. + +To union two groups: +
      +
    1. In the \b Mesh menu select the Union Groups item. The following +dialog box will appear: + +\image html uniongroups.png + +In this dialog box you should specify the name of the resulting group +and two groups which will be united. + +For example, we have two groups Group1 and Group2. +\n The result of their \b Union will be Group12: + +\image html image133.gif +
      Group1
      + +\image html image134.gif +
      Group2
      + +\image html image135.gif +
      Group12
      +
    2. +
    3. Click the \b Ok or \b Apply button to confirm creation of the group.
    4. +
    + +See Also a sample TUI Script of a +\ref tui_union_of_two_groups "Union of two Groups" operation. + +
    +\anchor intersection_anchor +

    Intersection of two groups

    + +This operation allows to create a new group in such a way that all +mesh elements that are present in both initial groups are added to the +new one. + +To intersect two groups: +
      +
    1. In the \b Mesh menu select the Intersect Groups item. The +following dialog box will appear: + +\image html intersectgroups.png + +In this dialog box you should specify the name of the resulting group +and two groups which will be intersected. + +For example, we have two groups Group1 and Group2. +\n The result of their \b Intersection will be Group12a: + +\image html image133.gif +
      Group1
      + +\image html image134.gif +
      Group2
      + +\image html image136.gif +
      Group12a
      +
    2. +
    3. Click the \b Ok or \b Apply button to confirm creation of the group.
    4. +
    + +See Also a sample TUI Script of an +\ref tui_intersection_of_two_groups "Intersection of two Groups" operation. + +
    +\anchor cut_anchor +

    Cut of two groups

    + +This operation allows to create a new group in such a way that all +mesh elements that are present in the main group but are absent in the +tool group are added to the new one. + +To cut two groups: +
      +
    1. In the \b Mesh menu select the Cut Groups item. The +following dialog box will appear: + +\image html cutgroups.png + +In this dialog box you should specify the name of the resulting group +and two groups which will be cut. + +For example, we have two groups Group1 and Group2. +\n The result of their \b Cut will be Group12b: + +\image html image133.gif +
      Group1
      + +\image html image134.gif +
      Group2
      + +\image html image137.gif +
      Group12b
      +
    2. +
    3. Click the \b Ok or \b Apply button to confirm creation of the +group.
    4. +
    + +See Also a sample TUI Script of a +\ref tui_cut_of_two_groups "Cut of two Groups" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/viewing_meshes.doc b/doc/salome/gui/SMESH/input/viewing_meshes.doc new file mode 100644 index 000000000..aac10da54 --- /dev/null +++ b/doc/salome/gui/SMESH/input/viewing_meshes.doc @@ -0,0 +1,15 @@ +/*! + +\page viewing_meshes_page Viewing meshes + +
      +
    • \subpage viewing_meshes_overview_page
    • +
    • \subpage mesh_infos_page
    • +
    • \subpage numbering_page
    • +
    • \subpage display_mode_page
    • +
    • \subpage display_entity_page
    • +
    • \subpage transparency_page
    • +
    • \subpage clipping_page
    • +
    + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/viewing_meshes_overview.doc b/doc/salome/gui/SMESH/input/viewing_meshes_overview.doc new file mode 100644 index 000000000..5cddd5db3 --- /dev/null +++ b/doc/salome/gui/SMESH/input/viewing_meshes_overview.doc @@ -0,0 +1,50 @@ +/*! + +\page viewing_meshes_overview_page Overview + +\n After definition of algorithms and hypotheses a new mesh is listed +in the Object Browser. Right-click on it and select \b 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. +\n 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. + +\image html dialog.png + +
      +
    • Hide all - allows to hide all objects in the viewer.
    • +
    • Update - refreshes the presentation of your mesh in the +Object Browser, applying all recent changes.
    • +
    • \ref advanced_mesh_infos_anchor "Advanced Mesh Infos" - provides +more detailed information about the mesh.
    • +
    • \ref standard_mesh_infos_anchor "Standard Mesh Infos" - provides +basic information about the mesh.
    • +
    • \ref mesh_element_info_anchor "Mesh Element Info" - provides basic +information about the selected element of the mesh.
    • +
    • \ref numbering_page "Numbering" - allows to display the ID +numbers of all meshing elements or nodes composing your mesh in the +viewer.
    • +
    • \ref display_mode_page "Display Mode" - allows to select between +Wireframe, Shading and Nodes presentation.
    • +
    • \ref display_entity_page "Display Entity" - allows to display +Faces, Edges or both.
    • +
    • Colors / Size - allows to select color and size of +meshes.
    • +
    • \ref transparency_page "Transparency" - allows to change the +transparency of mesh elements.
    • +
    • \ref clipping_page "Clipping" - allows to create cross-sections of the selected objects.
    • +
    • \ref about_quality_controls_page "Controls" - graphically +presents various information about meshes.
    • +
    • Hide - allows to hide the selected mesh from the viewer.
    • +
    • Show 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/input/volume.doc b/doc/salome/gui/SMESH/input/volume.doc new file mode 100644 index 000000000..391b09023 --- /dev/null +++ b/doc/salome/gui/SMESH/input/volume.doc @@ -0,0 +1,28 @@ +/*! + +\page volume_page Volume + +\n \b Volume mesh quality criterion reflects the volume of meshes of a +3D object. + +To apply the Volume quality criterion to your mesh: +
      +
    1. Display your mesh in the viewer.
    2. + +
    3. Choose Controls > Volume or click "Volume" button +in the toolbar. + +\image html image145.gif +
      "Volume" button
      + +Your mesh will be displayed in the viewer with its elements colored +according to the applied mesh quality control criterion: + +\image html image143.gif +
    4. +
    + +
    See Also a sample TUI Script of a +\ref tui_volume "Volume quality control" operation. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/SMESH/input/warping.doc b/doc/salome/gui/SMESH/input/warping.doc new file mode 100644 index 000000000..9b97aa6a2 --- /dev/null +++ b/doc/salome/gui/SMESH/input/warping.doc @@ -0,0 +1,43 @@ +/*! + +\page warping_page Warping + +\image html image24.gif + +\n \b Warping indicates that a face is not planar and is applied only to +2D elements with 4 nodes. This quality control criterion is based on a +projection plane created by: +
      +
    1. bisecting the four element edges,
    2. +
    3. creating a point on the plane at the vector average of the +corners, where the x-axis extends from the point to the bisector on +edge 2.
    4. +
    +The plane normal is in the direction of the cross product of the +x-axis and the vector from the origin to the bisector of edge 3. Every +corner of the quad will then be a distance ?h? from the plane. The +length of each half edge is measured and the shortest length is +assigned ?l?. The warp angle is the arcsine of the ratio of the +projection height ?h? to the half edge length ?l?. + +To apply the Warping quality criterion to your mesh: +
      +
    1. Display your mesh in the viewer.
    2. + +
    3. Choose Controls > Warping Angle or click "Warping angle" +button of the toolbar. + +\image html image39.gif +
      "Warping angle" button
      + +Your mesh will be displayed in the viewer with its elements colored +according to the applied mesh quality control criterion: + +\image html image97.jpg +
    4. +
    + +
    See Also a sample TUI Script of a +\ref tui_warping "Warping quality control" operation. + +*/ diff --git a/doc/salome/gui/SMESH/length.htm b/doc/salome/gui/SMESH/length.htm deleted file mode 100755 index d318cbe4a..000000000 --- a/doc/salome/gui/SMESH/length.htm +++ /dev/null @@ -1,118 +0,0 @@ - - - - - -Length - - - - - - - - - - - - - -

    Length

    - -

    The Length quality control criterion returns a value - of length of edge.

    - -

     

    - -

    - -

     

    - -

     

    - -

    See Also - a sample TUI Script of a  Length - quality control operation.  

    - -

    .

    - - - - diff --git a/doc/salome/gui/SMESH/merge_elements.htm b/doc/salome/gui/SMESH/merge_elements.htm deleted file mode 100755 index 32b5ebfb8..000000000 --- a/doc/salome/gui/SMESH/merge_elements.htm +++ /dev/null @@ -1,101 +0,0 @@ - - - - - -Merge Elements - - - - - - - - - - -

    Merging Elements

    - -

    This functionality allows to merge coincident elements - of a mesh selectable in the dialog box.

    - -

    - -

    In this picture you see a triangle which coincides with one of the elements - of the mesh. After we apply Merge Elements - functionality, the triangle will be completely merged with the mesh.

    - -

    - -

      See - Also a sample TUI Script of a Merge - Elements operation.  

    - -

     

    - -

     

    - - - - diff --git a/doc/salome/gui/SMESH/mesh.htm b/doc/salome/gui/SMESH/mesh.htm deleted file mode 100755 index be7069d51..000000000 --- a/doc/salome/gui/SMESH/mesh.htm +++ /dev/null @@ -1,216 +0,0 @@ - - - - - -mesh - - - - - - - - - - - -

    Introduction to MESH

    - -

     

    - -

    MESH - module of SALOME is destined for:

    - - - -

    - -

    for edges:

    - -
      - - -
    - -

    for faces:

    - -
      - - -
    - -

    for solids:

    - -
      - - -
    - -

    .

    - - - - diff --git a/doc/salome/gui/SMESH/modifying_meshes.htm b/doc/salome/gui/SMESH/modifying_meshes.htm deleted file mode 100755 index 8708a02b0..000000000 --- a/doc/salome/gui/SMESH/modifying_meshes.htm +++ /dev/null @@ -1,1579 +0,0 @@ - - - - - -Modifying Meshes - - - - - - - - - - - -

    Modifying Meshes

    - -

    Adding Nodes and Elements

    - -

    Add Node

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # add node

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    if aMeshEditor.AddNode(50, - 10, 0) == 1:

    - -

        print - "Node addition is OK!"

    - -

    else:

    - -

        print - "KO node addition."

    - -

        

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Add Edge

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # add node

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    if aMeshEditor.AddNode(50, - 10, 0) == 1:

    - -

        print - "Node addition is OK!"

    - -

    else:

    - -

        print - "KO node addition."

    - -

     

    - -

    # add edge

    - -

    LastNodeId = mesh.NbNodes()

    - -

    if aMeshEditor.AddEdge([LastNodeId, - 38]) == 1:

    - -

        print - "Edge addition is OK!"

    - -

    else:

    - -

        print - "KO edge addition."

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Add Triangle

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # add node

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    if aMeshEditor.AddNode(50, - 10, 0) == 1:

    - -

        print - "Node addition is OK!"

    - -

    else:

    - -

        print - "KO node addition."

    - -

     

    - -

    LastNodeId = mesh.NbNodes()

    - -

     

    - -

    # add triangle

    - -

    if aMeshEditor.AddFace([LastNodeId, - 38, 39]) == 1:

    - -

        print - "Triangle addition is OK!"

    - -

    else:

    - -

        print - "KO triangle addition."

    - -

        

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Add Quadrangle

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # add node

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    if aMeshEditor.AddNode(50, - 10, 0) == 1:

    - -

        print - "Node addition is OK!"

    - -

    else:

    - -

        print - "KO node addition."

    - -

     

    - -

    LastNodeId = mesh.NbNodes()

    - -

     

    - -

    # add quadrangle

    - -

    if aMeshEditor.AddNode(40, - 20, 0) == 1:

    - -

        print - "Node addition is OK!"

    - -

    else:

    - -

        print - "KO node addition."

    - -

    if aMeshEditor.AddFace([mesh.NbNodes(), - LastNodeId, 38, 39]) == 1:

    - -

        print - "Quadrangle addition is OK!"

    - -

    else:

    - -

        print - "KO quadrangle addition."

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Add Tetrahedron

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # add node

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    if aMeshEditor.AddNode(50, - 10, 0) == 1:

    - -

        print - "Node addition is OK!"

    - -

    else:

    - -

        print - "KO node addition."

    - -

     

    - -

    LastNodeId = mesh.NbNodes()

    - -

     

    - -

    # add tetrahedron

    - -

    if aMeshEditor.AddVolume([LastNodeId, - 38, 39, 246]) == 1:

    - -

        print - "Tetrahedron addition is OK!"

    - -

    else:

    - -

        print - "KO tetrahedron addition."

    - -

        

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Add Hexahedron

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # add nodes

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    if aMeshEditor.AddNode(50, - 10, 0) == 1:

    - -

        print - "Node addition is OK!"

    - -

    else:

    - -

        print - "KO node addition."

    - -

    aNodeId1 = mesh.NbNodes()

    - -

     

    - -

    if aMeshEditor.AddNode(47, - 12, 0) == 1:

    - -

        print - "Node addition is OK!"

    - -

    else:

    - -

        print - "KO node addition."

    - -

    aNodeId2 = mesh.NbNodes()

    - -

     

    - -

    if aMeshEditor.AddNode(50, - 10, 10) == 1:

    - -

        print - "Node addition is OK!"

    - -

    else:

    - -

        print - "KO node addition."

    - -

    aNodeId3 = mesh.NbNodes()

    - -

     

    - -

    if aMeshEditor.AddNode(47, - 12, 10) == 1:

    - -

        print - "Node addition is OK!"

    - -

    else:

    - -

        print - "KO node addition."

    - -

    aNodeId4 = mesh.NbNodes()

    - -

     

    - -

    # add hexahedron

    - -

    if aMeshEditor.AddVolume([aNodeId2, - aNodeId1, 38, 39, aNodeId4, aNodeId3, 245, 246]) == 1:

    - -

        print - "Hexahedron addition is OK!"

    - -

    else:

    - -

        print - "KO Hexahedron addition."

    - -

        

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Add Polygon

    - -

    import salome

    - -

    import geompy

    - -

    import math

    - -

     

    - -

    import StdMeshers

    - -

     

    - -

    # GEOM module

    - -

    shape_mesh = geompy.MakeCylinderRH(13, - 77)

    - -

    geompy.addToStudy(shape_mesh, - "cylinder")

    - -

     

    - -

    # SMESH module

    - -

    smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

    - -

    smesh.SetCurrentStudy(salome.myStudy)

    - -

    mesh = smesh.CreateMesh(shape_mesh)

    - -

    MeshEditor = mesh.GetMeshEditor()

    - -

     

    - -

    # a method to build a polygonal - mesh element with nb_vert angles:

    - -

    def MakePolygon - (a_mesh, x0, y0, z0, radius, nb_vert):

    - -

        node_start_id - = a_mesh.NbNodes() + 1

    - -

        al - = 2.0 * math.pi / nb_vert

    - -

        node_ids - = []

    - -

        

    - -

    # Create nodes for a polyhedron

    - -

        for - ii in range(nb_vert):

    - -

            MeshEditor.AddNode(x0 - + radius * math.cos(ii*al),

    - -

                               y0 - + radius * math.sin(ii*al),

    - -

                               z0)

    - -

            node_ids.append(node_start_id - + ii)

    - -

            pass

    - -

        

    - -

    # Create a polygon

    - -

        MeshEditor.AddPolygonalFace(node_ids)

    - -

        return - 0

    - -

     

    - -

    # Create three polygons

    - -

    MakePolygon(mesh, - 0, 0,  0, - 30, 13)

    - -

    MakePolygon(mesh, - 0, 0, 10, 21,  9)

    - -

    MakePolygon(mesh, - 0, 0, 20, 13,  6)

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -  

    - -

     

    - -

    Add polyhedron

    - -

    import - salome

    - -

    import geompy

    - -

    import math

    - -

     

    - -

    #import SMESH

    - -

    import StdMeshers

    - -

     

    - -

    # GEOM

    - -

    shape_mesh = geompy.MakeCylinderRH(13, - 77)

    - -

    geompy.addToStudy(shape_mesh, - "cylinder")

    - -

     

    - -

    # SMESH

    - -

    smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

    - -

    smesh.SetCurrentStudy(salome.myStudy)

    - -

    mesh = smesh.CreateMesh(shape_mesh)

    - -

    MeshEditor = mesh.GetMeshEditor()

    - -

     

    - -

    # Now we are going - to create a 12-hedron:

    - -

     

    - -

    # Create nodes for - polyhedron

    - -

    al = 2 * math.pi - / 5.0

    - -

    cosal = math.cos(al)

    - -

     

    - -

    aa = 13

    - -

    rr = aa / (2.0 * - math.sin(al/2.0))

    - -

    dr = 2.0 * rr * - cosal

    - -

    r1 = rr + dr

    - -

    dh = rr * math.sqrt(2.0 - * (1.0 - cosal * (1.0 + 2.0 * cosal)))

    - -

    hh = 2.0 * dh - - dr * (rr*(cosal - 1) + (rr + dr)*(math.cos(al/2) - 1)) / dh

    - -

     

    - -

    for i in range(5):

    - -

        MeshEditor.AddNode(rr*math.cos(i*al), - rr*math.sin(i*al),  0) - # 1,3,5,7, 9 # bottom

    - -

        MeshEditor.AddNode(r1*math.cos(i*al), - r1*math.sin(i*al), dh) # - 2,4,6,8,10 # above bottom

    - -

     

    - -

    for i in range(5):

    - -

        MeshEditor.AddNode(rr*math.cos(i*al - + al/2.0),

    - -

                           rr*math.sin(i*al - + al/2.0), hh) # 11,13,15,17,19 # - top

    - -

        MeshEditor.AddNode(r1*math.cos(i*al - + al/2.0),

    - -

                           r1*math.sin(i*al - + al/2.0), hh - dh) # 12,14,16,18,20 # - below top

    - -

     

    - -

    # Create a polyhedral - volume

    - -

    MeshEditor.AddPolyhedralVolume([ - 1,  3,  5, -  7,  9, -  # - bottom

    - -

                                     1, -  2, 12, -  4,  3, -  # - .

    - -

                                     3, -  4, 14, -  6,  5, -  # - .

    - -

                                     5, -  6, 16, -  8,  7, -  # - . above bottom

    - -

                                     7, -  8, 18, - 10,  9, -  # - .

    - -

                                     9, - 10, 20,  2, -  1,  # - .

    - -

                                    11, - 12,  4, - 14, 13,  # - -

    - -

                                    13, - 14,  6, - 16, 15,  # - -

    - -

                                    15, - 16,  8, - 18, 17,  # - - below top

    - -

                                    17, - 18, 10, 20, 19,  # - -

    - -

                                    19, - 20,  2, - 12, 11,  # - -

    - -

                                    11, - 13, 15, 17, 19], # - top

    - -

                                   [5,5,5,5,5,5,5,5,5,5,5,5])

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -  

    - -

     

    - -

    Removing Nodes and Elements

    - -

    Removing Nodes

    - -

     

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # add node

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    if aMeshEditor.RemoveNodes([246, - 255]) == 1:

    - -

        print - "Node removing is OK!"

    - -

    else:

    - -

        print - "KO node removing."

    - -

        

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Removing Elements

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    anEditor = mesh.GetMeshEditor()

    - -

    anEditor.RemoveElements([850, - 859, 814])

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Renumbering Nodes and Elements

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    anEditor = mesh.GetMeshEditor()

    - -

    anEditor.RenumberNodes()

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

     

    - -

    Moving Nodes

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # move node

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    aMeshEditor.MoveNode(38, - 20, 10, 0)

    - -

        

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Diagonal Inversion

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # inverse diagonal

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    aMeshEditor.InverseDiag(700, - 642)

    - -

        

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Uniting two Triangles

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # delete diagonal

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    aMeshEditor.DeleteDiag(700, - 642)

    - -

        

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Uniting a Set of Triangles

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # unite a set of triangles

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

    aFunctor = aFilterMgr.CreateMinimumAngle()

    - -

     

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    aMeshEditor.TriToQuad([1145, - 1147, 1159, 1135], aFunctor, 60)

    - -

        

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Orientation

    - -

    import - salome

    - -

    import geompy

    - -

     

    - -

    import StdMeshers

    - -

     

    - -

    # GEOM module

    - -

    shape_mesh = geompy.MakeCylinderRH(13, - 77)

    - -

    geompy.addToStudy(shape_mesh, - "cylinder")

    - -

     

    - -

    # SMESH module

    - -

    smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

    - -

    smesh.SetCurrentStudy(salome.myStudy)

    - -

    mesh = smesh.CreateMesh(shape_mesh)

    - -

    MeshEditor = mesh.GetMeshEditor()

    - -

     

    - -

    # build five quadrangles:

    - -

    node_start_id = mesh.NbNodes() - + 1

    - -

    dx = 10

    - -

    dy = 20

    - -

     

    - -

    MeshEditor.AddNode(0.0 - * dx, 0, 0) # 1

    - -

    MeshEditor.AddNode(1.0 - * dx, 0, 0) # 2

    - -

    MeshEditor.AddNode(2.0 - * dx, 0, 0) # 3

    - -

    MeshEditor.AddNode(3.0 - * dx, 0, 0) # 4

    - -

    MeshEditor.AddNode(4.0 - * dx, 0, 0) # 5

    - -

    MeshEditor.AddNode(5.0 - * dx, 0, 0) # 6

    - -

     

    - -

    MeshEditor.AddNode(0.0 - * dx, dy, 0) # 7

    - -

    MeshEditor.AddNode(1.0 - * dx, dy, 0) # 8

    - -

    MeshEditor.AddNode(2.0 - * dx, dy, 0) # 9

    - -

    MeshEditor.AddNode(3.0 - * dx, dy, 0) # 10

    - -

    MeshEditor.AddNode(4.0 - * dx, dy, 0) # 11

    - -

    MeshEditor.AddNode(5.0 - * dx, dy, 0) # 12

    - -

     

    - -

    MeshEditor.AddFace([1, - 2,  8,  7])

    - -

    MeshEditor.AddFace([2, - 3,  9,  8])

    - -

    MeshEditor.AddFace([3, - 4, 10,  9])

    - -

    MeshEditor.AddFace([4, - 5, 11, 10])

    - -

    MeshEditor.AddFace([5, - 6, 12, 11])

    - -

     

    - -

    # Change orientation - of the second and the fourth faces.

    - -

    MeshEditor.Reorient([2, - 4])

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -  

    - -

     

    - -

    Cutting Quadrangles

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # unite a set of triangles

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

    aFunctor = aFilterMgr.CreateMinimumAngle()

    - -

     

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    aMeshEditor.QuadToTri([405, - 406], aFunctor)

    - -

        

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Smoothing

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # smooth

    - -

    FacesSmooth = [911, - 931, 950, 864, 932]

    - -

    GroupSmooth = mesh.CreateGroup(SMESH.FACE,"Group - of faces (smooth)")

    - -

    GroupSmooth.Add(FacesSmooth)

    - -

     

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    aMeshEditor.SmoothObject(GroupSmooth, - [], 20, 2, SMESH.SMESH_MeshEditor.CENTROIDAL_SMOOTH)

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

     

    - -

    Extrusion

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # extrusion of the group

    - -

    point = SMESH.PointStruct(0, - 0, 5)

    - -

    vector = SMESH.DirStruct(point)

    - -

    FacesTriToQuad = [2381, - 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, - 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, - 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, - 2418, 2419, 2420, 2421, 2422]

    - -

     

    - -

    GroupTriToQuad = mesh.CreateGroup(SMESH.FACE,"Group - of faces (quad)")

    - -

    GroupTriToQuad.Add(FacesTriToQuad)

    - -

     

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    aMeshEditor.ExtrusionSweepObject(GroupTriToQuad, - vector, 5)

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Extrusion along a Path

    - -

    import geompy

    - -

    import smesh

    - -

    import salome

    - -

    import SMESH

    - -

     

    - -

    # create a face to be - meshed

    - -

    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

    - -

     

    - -

    face1 = geompy.MakeFace(wire, - isPlanarFace)

    - -

    id_face1 = geompy.addToStudy(face1, - "Face1")

    - -

     

    - -

    # create a 2D mesh on - the face

    - -

    trias = smesh.Mesh(face1, - "Face : 2D mesh")

    - -

     

    - -

    algo = trias.Segment()

    - -

    algo.NumberOfSegments(6)

    - -

     

    - -

    algo = trias.Triangle()

    - -

    algo.LengthFromEdges()

    - -

     

    - -

    trias.Compute()

    - -

     

    - -

    # create a path mesh

    - -

    px1 = geompy.MakeVertex(100., - 100.  , - 0.  )

    - -

    py1 = geompy.MakeVertex(-100. -  , -100., - 0.  )

    - -

    pz1 = geompy.MakeVertex(0. -  , 0.  , - 50.)

    - -

     

    - -

    circle = geompy.MakeCircleThreePnt(py1, - pz1, px1)

    - -

    id_circle = geompy.addToStudy(circle, - "Path")

    - -

     

    - -

    circlemesh = smesh.Mesh(circle, - "Path mesh")

    - -

     

    - -

    algo = circlemesh.Segment()

    - -

    algo.NumberOfSegments(10)

    - -

     

    - -

    circlemesh.Compute()

    - -

     

    - -

    # extrusion of the mesh

    - -

    # The mesh "trias" - will be extruded along another mesh, which is a sub-mesh of "circlemesh",

    - -

    # - corresponding to geometry "circle". In this particular case - the path mesh will be the whole "circlemesh"

    - -

     

    - -

    aMeshEditor = trias.GetMesh().GetMeshEditor()

    - -

    aMeshEditor.ExtrusionAlongPathObject(trias.GetMesh(), - circlemesh.GetMesh(), circle, 1, 0, [], 0, SMESH.PointStruct(0, 0, 0))

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

    Revolution

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

    import math

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # rotate a sweep object

    - -

    FacesRotate = [492, - 493, 502, 503]

    - -

    GroupRotate = mesh.CreateGroup(SMESH.FACE,"Group - of faces (rotate)")

    - -

    GroupRotate.Add(FacesRotate)

    - -

    angle45 =  45*math.pi/180

    - -

    axisXYZ = SMESH.AxisStruct(-38.3128, - -73.3658, -23.321, -13.3402, -13.3265, 6.66632)

    - -

     

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    aMeshEditor.RotationSweepObject(GroupRotate, - axisXYZ, angle45, 4, 1e-5)

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Pattern Mapping

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

    import salome

    - -

    import geompy

    - -

    import SMESH, smesh

    - -

     

    - -

    geompy.init_geom(salome.myStudy)

    - -

    smesh.smesh.SetCurrentStudy(salome.myStudy)

    - -

     

    - -

    # define geometry

    - -

    Box_1 = geompy.MakeBoxDXDYDZ(200, - 200, 200)

    - -

    geompy.addToStudy(Box_1, - "Box_1")

    - -

     

    - -

    faces = geompy.SubShapeAll(Box_1, - geompy.ShapeType["FACE"])

    - -

    Face_1 = faces[0]

    - -

    Face_2 = faces[1]

    - -

    geompy.addToStudyInFather(Box_1, - Face_1, "Face_1")

    - -

    geompy.addToStudyInFather(Box_1, - Face_2, "Face_2")

    - -

     

    - -

    # build quadrangle mesh - 3x3 on Face_1

    - -

    Mesh_1 = smesh.Mesh(Face_1)

    - -

    Wire_discretisation - = Mesh_1.Segment()

    - -

    Wire_discretisation.NumberOfSegments(3)

    - -

    Mesh_1.Quadrangle()

    - -

     

    - -

    isDone = Mesh_1.Compute()

    - -

    if not isDone: print - 'Mesh Mesh_1 : computation failed'

    - -

     

    - -

    # pattern the mesh

    - -

    Mesh_2 = smesh.Mesh(Face_2)

    - -

    Nb_Segments_1 = smesh.smesh.CreateHypothesis('NumberOfSegments', - 'libStdMeshersEngine.so')

    - -

    Nb_Segments_1.SetNumberOfSegments(1)

    - -

    status = Mesh_2.GetMesh().AddHypothesis(Face_2, - Nb_Segments_1)

    - -

    status = Mesh_2.GetMesh().AddHypothesis(Face_2, - Wire_discretisation.GetAlgorithm())

    - -

    Triangle_Mefisto = - Mesh_2.Triangle()

    - -

    Max_Element_Area = - Triangle_Mefisto.MaxElementArea(240)

    - -

     

    - -

    isDone = Mesh_2.Compute()

    - -

    if not isDone: print - 'Mesh Mesh_2 : computation failed'

    - -

     

    - -

    # create a pattern

    - -

    pattern = smesh.smesh.GetPattern()

    - -

    isDone = pattern.LoadFromFace(Mesh_2.GetMesh(), - Face_2, 0)

    - -

    if (isDone != 1):

    - -

    print - 'LoadFromFace :', pattern.GetErrorCode()

    - -

     

    - -

    # apply the pattern to - a face of the first mesh

    - -

    pattern.ApplyToMeshFaces(Mesh_1.GetMesh(), - [17], 0, 0)

    - -

    isDone = pattern.MakeMesh(Mesh_1.GetMesh(), - 0, 0)

    - -

    if (isDone != 1):

    - -

    print - 'MakeMesh :', pattern.GetErrorCode()

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - - - - diff --git a/doc/salome/gui/SMESH/note1.gif b/doc/salome/gui/SMESH/note1.gif deleted file mode 100755 index b53e21d0a..000000000 Binary files a/doc/salome/gui/SMESH/note1.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pattern_mapping.htm b/doc/salome/gui/SMESH/pattern_mapping.htm deleted file mode 100755 index 2e1bccf29..000000000 --- a/doc/salome/gui/SMESH/pattern_mapping.htm +++ /dev/null @@ -1,311 +0,0 @@ - - - - - -Pattern mapping - - - - - - - - - - - - - -

    Pattern mapping

    - -

    About patterns

    - -

    The pattern describes a mesh to generate: positions of - nodes within a geometrical domain and nodal connectivity of elements. - As well, a pattern specifies the so-called key-points, i.e. nodes that - will be located at geometrical vertices. Pattern description is stored - in <pattern_name>.smp file.

    - -

     

    - -

    The smp file contains 4 sections:

    - -

     

    - -

    1. The first line holds the number of nodes - (N).

    - -

     

    - -

    2. The next N lines describe nodes coordinates. - Each line holds 2 coordinates of a node.

    - -

     

    - -

    3. A key-points line: indices of nodes to - be mapped on geometrical vertices. An index n refers to a node described - on an n-th line of section 2. The first node index is zero.

    - -

     

    - -

    4. The rest lines describe nodal connectivity - of elements, one line for an element. A line holds indices of nodes forming - an element. An index n refers to a node described on an n-th line of the - section 2. The first node index is zero. There must be 3 or 4 indices - on a line: only 2d elements are allowed.

    - -

     

    - -

    The 2D pattern must contain at least one element and at least one key-point. - All key-points must lay on boundaries.

    - -

     

    - -

    An example of a simple smp file and a preview of a pattern described - in this file:

    - -

     

    - -

    - -

     

    - -

     

    - -

    Application of pattern mapping

    - -

    To apply pattern mapping to a geometrical object:

    - -

     

    - -

    1. From the Modification - menu choose the Pattern Mapping - item or click button in the toolbar. The following - dialog box shall appear:

    - -

     

    - - --- - - - -
    -

    -

    - -

     

    - -

    To apply a pattern to a geometrical object, you should specify:

    - -

    - a face having the number of vertices equal - to the number of key-points in the pattern; the number of key-points on - internal boundaries of a pattern must also be equal to the number of vertices - on internal boundaries of a face;

    - -

    - a vertex to which the first key-point should - be mapped,

    - -

    - reverse or not the order of key-points. - (The order of vertices of a face is counterclockwise looking from outside).

    - -

     

    - -

    Then you either load a .smp pattern file previously created manually - by clicking on the button, or click on the New - button for automatic generation.

    - -

    For an automatic generation you just specify a geometrical face having - a mesh built on it. Mesh nodes lying on face vertices become key-points. - Additionally, you may choose the way of getting nodes coordinates by projecting nodes on the face instead - of using "positions on face" generated by mesher (if there is - any). Faces having a seam edge canÂ’t be used for automatic pattern creation.

    - -

     

    - -

    When creating a pattern from an existing mesh, there are two possible - cases:

    - -

     

    - -

    1. A sub-mesh on face is selected. A pattern is created from the 2d - elements bound to a face by mesher. Node coordinates are either "positions - on face" computed by mesher, or coordinates got by node projection - on a geometrical surface, according to your choice.

    - -

    2. A mesh where the main shape is a face, is selected. A pattern is - created from all the 2d elements in a mesh. If all mesh elements are build - by mesher, the user can select the way of getting nodes coordinates, else - all nodes are projected on a face surface.

    - - --- - - - -
    -

    -

    - -

     

    - -

    Mapping algorithm:

    - -

    The mapping algorithm is as follows:

    - -

     

    - -

    1. Key-points are set in the order that they - are encountered when walking along a pattern boundary so that elements - are on the left. The first key-point is preserved.

    - -

    2. Find geometrical vertices corresponding - to key-points by vertices order in a face boundary; here, "Reverse - order of key-points" flag is taken into account.

    - -

     

    - -

    - -

     

    - -

    3. Boundary nodes of a pattern are mapped - onto edges of a face: a node located between certain key-points on a pattern - boundary is mapped on a geometrical edge limited by corresponding geometrical - vertices. Node position on an edge reflects its distance from two key-points.

    - -

     

    - -

    - -

     

    - -

    4. Coordinates of a non-boundary node in - a parametric space of a face are defined as following. In a parametric - space of a pattern, a node lays at the intersection of two iso-lines, - each of which intersects a pattern boundary at least at two points. Knowing - mapped positions of boundary nodes, we find where isoline-boundary intersection - points are mapped to, and hence we can find mapped isolines direction - and then, two node positions on two mapped isolines. The eventual mapped - position of a node is found as an average of positions on mapped isolines.

    - -

     

    - -

    - -

     

    - -

     See - Also a sample TUI Script of a Pattern - Mapping operation.  

    - -

     

    - - - - diff --git a/doc/salome/gui/SMESH/pics/a-arithmetic1d.png b/doc/salome/gui/SMESH/pics/a-arithmetic1d.png deleted file mode 100755 index d34a5e24c..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-arithmetic1d.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-averagelength.png b/doc/salome/gui/SMESH/pics/a-averagelength.png deleted file mode 100755 index dc007eb57..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-averagelength.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-clipping2.png b/doc/salome/gui/SMESH/pics/a-clipping2.png deleted file mode 100755 index 639792ca3..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-clipping2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-creategroup.png b/doc/salome/gui/SMESH/pics/a-creategroup.png deleted file mode 100755 index 38ef5a856..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-creategroup.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-createpolyhedralvolume.png b/doc/salome/gui/SMESH/pics/a-createpolyhedralvolume.png deleted file mode 100755 index 532eac08f..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-createpolyhedralvolume.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-cuttingofquadrangles.png b/doc/salome/gui/SMESH/pics/a-cuttingofquadrangles.png deleted file mode 100755 index ff9ae68e1..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-cuttingofquadrangles.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-deflection1d.png b/doc/salome/gui/SMESH/pics/a-deflection1d.png deleted file mode 100755 index 57fd8597a..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-deflection1d.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-extusionalongapath2.png b/doc/salome/gui/SMESH/pics/a-extusionalongapath2.png deleted file mode 100755 index f120fc3c0..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-extusionalongapath2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-filteronedges.png b/doc/salome/gui/SMESH/pics/a-filteronedges.png deleted file mode 100755 index 48b3ece01..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-filteronedges.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-maxelarea.png b/doc/salome/gui/SMESH/pics/a-maxelarea.png deleted file mode 100755 index b4af4b23f..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-maxelarea.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-maxelvolume.png b/doc/salome/gui/SMESH/pics/a-maxelvolume.png deleted file mode 100755 index 2611807fd..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-maxelvolume.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-nbsegments1.png b/doc/salome/gui/SMESH/pics/a-nbsegments1.png deleted file mode 100755 index 35c09094d..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-nbsegments1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-nbsegments2.png b/doc/salome/gui/SMESH/pics/a-nbsegments2.png deleted file mode 100755 index 7f33c61ff..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-nbsegments2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-patterntype.png b/doc/salome/gui/SMESH/pics/a-patterntype.png deleted file mode 100755 index 3383cd75e..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-patterntype.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-patterntype1.png b/doc/salome/gui/SMESH/pics/a-patterntype1.png deleted file mode 100755 index 38449225a..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-patterntype1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-standmeshinfo.png b/doc/salome/gui/SMESH/pics/a-standmeshinfo.png deleted file mode 100755 index 6b35f0a99..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-standmeshinfo.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-startendlength.png b/doc/salome/gui/SMESH/pics/a-startendlength.png deleted file mode 100755 index e48f617d2..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-startendlength.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-transparency.png b/doc/salome/gui/SMESH/pics/a-transparency.png deleted file mode 100755 index 8e7498d58..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-transparency.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-unionoftriangles.png b/doc/salome/gui/SMESH/pics/a-unionoftriangles.png deleted file mode 100755 index d9ef53c11..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-unionoftriangles.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/a-viewgeneral.png b/doc/salome/gui/SMESH/pics/a-viewgeneral.png deleted file mode 100755 index 09b7c2391..000000000 Binary files a/doc/salome/gui/SMESH/pics/a-viewgeneral.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/add_edge.png b/doc/salome/gui/SMESH/pics/add_edge.png deleted file mode 100755 index 8a532e1d9..000000000 Binary files a/doc/salome/gui/SMESH/pics/add_edge.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/add_node.png b/doc/salome/gui/SMESH/pics/add_node.png deleted file mode 100755 index cb50bf6e6..000000000 Binary files a/doc/salome/gui/SMESH/pics/add_node.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/add_polygone.png b/doc/salome/gui/SMESH/pics/add_polygone.png deleted file mode 100755 index a76baceae..000000000 Binary files a/doc/salome/gui/SMESH/pics/add_polygone.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/add_polyhedron.png b/doc/salome/gui/SMESH/pics/add_polyhedron.png deleted file mode 100755 index 2e23634c9..000000000 Binary files a/doc/salome/gui/SMESH/pics/add_polyhedron.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/add_quadrangle.png b/doc/salome/gui/SMESH/pics/add_quadrangle.png deleted file mode 100755 index f25b94d9f..000000000 Binary files a/doc/salome/gui/SMESH/pics/add_quadrangle.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/add_triangle.png b/doc/salome/gui/SMESH/pics/add_triangle.png deleted file mode 100755 index 41c335929..000000000 Binary files a/doc/salome/gui/SMESH/pics/add_triangle.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/addedge.png b/doc/salome/gui/SMESH/pics/addedge.png deleted file mode 100755 index c9eeaf970..000000000 Binary files a/doc/salome/gui/SMESH/pics/addedge.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/addhexahedron.png b/doc/salome/gui/SMESH/pics/addhexahedron.png deleted file mode 100755 index fd2ef245a..000000000 Binary files a/doc/salome/gui/SMESH/pics/addhexahedron.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/addnode.png b/doc/salome/gui/SMESH/pics/addnode.png deleted file mode 100755 index 167a966b8..000000000 Binary files a/doc/salome/gui/SMESH/pics/addnode.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/addpolygon.png b/doc/salome/gui/SMESH/pics/addpolygon.png deleted file mode 100755 index 785a62341..000000000 Binary files a/doc/salome/gui/SMESH/pics/addpolygon.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/addquadrangle.png b/doc/salome/gui/SMESH/pics/addquadrangle.png deleted file mode 100755 index 2bbddf158..000000000 Binary files a/doc/salome/gui/SMESH/pics/addquadrangle.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/addtetrahedron.png b/doc/salome/gui/SMESH/pics/addtetrahedron.png deleted file mode 100755 index 0a415707a..000000000 Binary files a/doc/salome/gui/SMESH/pics/addtetrahedron.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/addtriangle.png b/doc/salome/gui/SMESH/pics/addtriangle.png deleted file mode 100755 index 405d6f57f..000000000 Binary files a/doc/salome/gui/SMESH/pics/addtriangle.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/advanced_mesh_infos.png b/doc/salome/gui/SMESH/pics/advanced_mesh_infos.png deleted file mode 100755 index f8341e892..000000000 Binary files a/doc/salome/gui/SMESH/pics/advanced_mesh_infos.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/aqt.png b/doc/salome/gui/SMESH/pics/aqt.png deleted file mode 100755 index 32e36bd0e..000000000 Binary files a/doc/salome/gui/SMESH/pics/aqt.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/automaticlength.png b/doc/salome/gui/SMESH/pics/automaticlength.png deleted file mode 100755 index d96ffc82d..000000000 Binary files a/doc/salome/gui/SMESH/pics/automaticlength.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/b-art_end_length.png b/doc/salome/gui/SMESH/pics/b-art_end_length.png deleted file mode 100755 index 26da5fa73..000000000 Binary files a/doc/salome/gui/SMESH/pics/b-art_end_length.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/b-erage_length.png b/doc/salome/gui/SMESH/pics/b-erage_length.png deleted file mode 100755 index f64077c90..000000000 Binary files a/doc/salome/gui/SMESH/pics/b-erage_length.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/b-flection1d.png b/doc/salome/gui/SMESH/pics/b-flection1d.png deleted file mode 100755 index e160cf55d..000000000 Binary files a/doc/salome/gui/SMESH/pics/b-flection1d.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/b-ithmetic1d.png b/doc/salome/gui/SMESH/pics/b-ithmetic1d.png deleted file mode 100755 index 72f76b951..000000000 Binary files a/doc/salome/gui/SMESH/pics/b-ithmetic1d.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/b-mberofsegments.png b/doc/salome/gui/SMESH/pics/b-mberofsegments.png deleted file mode 100755 index 27f68685e..000000000 Binary files a/doc/salome/gui/SMESH/pics/b-mberofsegments.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/b-mesh_infos.png b/doc/salome/gui/SMESH/pics/b-mesh_infos.png deleted file mode 100755 index 6abd3c184..000000000 Binary files a/doc/salome/gui/SMESH/pics/b-mesh_infos.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/create_group.png b/doc/salome/gui/SMESH/pics/create_group.png deleted file mode 100755 index 6fc2367b3..000000000 Binary files a/doc/salome/gui/SMESH/pics/create_group.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/creategroup.png b/doc/salome/gui/SMESH/pics/creategroup.png deleted file mode 100755 index 207e2099e..000000000 Binary files a/doc/salome/gui/SMESH/pics/creategroup.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/createmesh-inv.png b/doc/salome/gui/SMESH/pics/createmesh-inv.png deleted file mode 100755 index 9ed8a6255..000000000 Binary files a/doc/salome/gui/SMESH/pics/createmesh-inv.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/createmesh-inv2.png b/doc/salome/gui/SMESH/pics/createmesh-inv2.png deleted file mode 100755 index f73e1df7d..000000000 Binary files a/doc/salome/gui/SMESH/pics/createmesh-inv2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/createmesh-inv3.png b/doc/salome/gui/SMESH/pics/createmesh-inv3.png deleted file mode 100755 index 6c9da9c0a..000000000 Binary files a/doc/salome/gui/SMESH/pics/createmesh-inv3.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/cut_groups1.png b/doc/salome/gui/SMESH/pics/cut_groups1.png deleted file mode 100755 index f066a5541..000000000 Binary files a/doc/salome/gui/SMESH/pics/cut_groups1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/cut_groups2.png b/doc/salome/gui/SMESH/pics/cut_groups2.png deleted file mode 100755 index 3ec7a93d1..000000000 Binary files a/doc/salome/gui/SMESH/pics/cut_groups2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/cut_groups3.png b/doc/salome/gui/SMESH/pics/cut_groups3.png deleted file mode 100755 index 1c5ebed80..000000000 Binary files a/doc/salome/gui/SMESH/pics/cut_groups3.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/cutgroups.png b/doc/salome/gui/SMESH/pics/cutgroups.png deleted file mode 100755 index 87e6da88b..000000000 Binary files a/doc/salome/gui/SMESH/pics/cutgroups.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/deletegroups.png b/doc/salome/gui/SMESH/pics/deletegroups.png deleted file mode 100755 index 383a79aa8..000000000 Binary files a/doc/salome/gui/SMESH/pics/deletegroups.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/diagonalinversion.png b/doc/salome/gui/SMESH/pics/diagonalinversion.png deleted file mode 100755 index 967e7a12e..000000000 Binary files a/doc/salome/gui/SMESH/pics/diagonalinversion.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/distributionwithanalyticdensity.png b/doc/salome/gui/SMESH/pics/distributionwithanalyticdensity.png deleted file mode 100755 index 87ebc5ffe..000000000 Binary files a/doc/salome/gui/SMESH/pics/distributionwithanalyticdensity.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/distributionwithtabledensity.png b/doc/salome/gui/SMESH/pics/distributionwithtabledensity.png deleted file mode 100755 index 9ea6cab98..000000000 Binary files a/doc/salome/gui/SMESH/pics/distributionwithtabledensity.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/edit_mesh1.png b/doc/salome/gui/SMESH/pics/edit_mesh1.png deleted file mode 100755 index 4369e51b4..000000000 Binary files a/doc/salome/gui/SMESH/pics/edit_mesh1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/edit_mesh_change_value_hyp.png b/doc/salome/gui/SMESH/pics/edit_mesh_change_value_hyp.png deleted file mode 100755 index 7dee01f7d..000000000 Binary files a/doc/salome/gui/SMESH/pics/edit_mesh_change_value_hyp.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/edit_mesh_remove_hyp.png b/doc/salome/gui/SMESH/pics/edit_mesh_remove_hyp.png deleted file mode 100755 index 0a45639aa..000000000 Binary files a/doc/salome/gui/SMESH/pics/edit_mesh_remove_hyp.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/editgroup.png b/doc/salome/gui/SMESH/pics/editgroup.png deleted file mode 100755 index c0a50f36f..000000000 Binary files a/doc/salome/gui/SMESH/pics/editgroup.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/editing_groups1.png b/doc/salome/gui/SMESH/pics/editing_groups1.png deleted file mode 100755 index beb946ab7..000000000 Binary files a/doc/salome/gui/SMESH/pics/editing_groups1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/editing_groups2.png b/doc/salome/gui/SMESH/pics/editing_groups2.png deleted file mode 100755 index 7cff1819c..000000000 Binary files a/doc/salome/gui/SMESH/pics/editing_groups2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/exemple.gif b/doc/salome/gui/SMESH/pics/exemple.gif deleted file mode 100755 index 6350d1737..000000000 Binary files a/doc/salome/gui/SMESH/pics/exemple.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/extrusionalongaline1.png b/doc/salome/gui/SMESH/pics/extrusionalongaline1.png deleted file mode 100755 index 86b2cba30..000000000 Binary files a/doc/salome/gui/SMESH/pics/extrusionalongaline1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/extrusionalongaline2.png b/doc/salome/gui/SMESH/pics/extrusionalongaline2.png deleted file mode 100755 index b039cfce5..000000000 Binary files a/doc/salome/gui/SMESH/pics/extrusionalongaline2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/free_borders1.png b/doc/salome/gui/SMESH/pics/free_borders1.png deleted file mode 100755 index 6e73c9329..000000000 Binary files a/doc/salome/gui/SMESH/pics/free_borders1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/free_edges.png b/doc/salome/gui/SMESH/pics/free_edges.png deleted file mode 100755 index 6f1100c87..000000000 Binary files a/doc/salome/gui/SMESH/pics/free_edges.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/graduatedaxes1.png b/doc/salome/gui/SMESH/pics/graduatedaxes1.png deleted file mode 100755 index cf021ba42..000000000 Binary files a/doc/salome/gui/SMESH/pics/graduatedaxes1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image100.gif b/doc/salome/gui/SMESH/pics/image100.gif deleted file mode 100755 index c44d68ffc..000000000 Binary files a/doc/salome/gui/SMESH/pics/image100.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image102.gif b/doc/salome/gui/SMESH/pics/image102.gif deleted file mode 100755 index 3507814ba..000000000 Binary files a/doc/salome/gui/SMESH/pics/image102.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image107.gif b/doc/salome/gui/SMESH/pics/image107.gif deleted file mode 100755 index ae9d7f1e6..000000000 Binary files a/doc/salome/gui/SMESH/pics/image107.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image108.gif b/doc/salome/gui/SMESH/pics/image108.gif deleted file mode 100755 index bec69e662..000000000 Binary files a/doc/salome/gui/SMESH/pics/image108.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image109.gif b/doc/salome/gui/SMESH/pics/image109.gif deleted file mode 100755 index 5dbba4646..000000000 Binary files a/doc/salome/gui/SMESH/pics/image109.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image138.gif b/doc/salome/gui/SMESH/pics/image138.gif deleted file mode 100755 index 1659aab9f..000000000 Binary files a/doc/salome/gui/SMESH/pics/image138.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image139.gif b/doc/salome/gui/SMESH/pics/image139.gif deleted file mode 100755 index 03943831c..000000000 Binary files a/doc/salome/gui/SMESH/pics/image139.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image21.gif b/doc/salome/gui/SMESH/pics/image21.gif deleted file mode 100755 index 5dbd12184..000000000 Binary files a/doc/salome/gui/SMESH/pics/image21.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image23.gif b/doc/salome/gui/SMESH/pics/image23.gif deleted file mode 100755 index 5a1216dc6..000000000 Binary files a/doc/salome/gui/SMESH/pics/image23.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image27.gif b/doc/salome/gui/SMESH/pics/image27.gif deleted file mode 100755 index 6c8485ca9..000000000 Binary files a/doc/salome/gui/SMESH/pics/image27.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image77.gif b/doc/salome/gui/SMESH/pics/image77.gif deleted file mode 100755 index ef7a62f32..000000000 Binary files a/doc/salome/gui/SMESH/pics/image77.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image78.gif b/doc/salome/gui/SMESH/pics/image78.gif deleted file mode 100755 index 9466aa6ce..000000000 Binary files a/doc/salome/gui/SMESH/pics/image78.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image89.gif b/doc/salome/gui/SMESH/pics/image89.gif deleted file mode 100755 index 373a6c026..000000000 Binary files a/doc/salome/gui/SMESH/pics/image89.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image91.gif b/doc/salome/gui/SMESH/pics/image91.gif deleted file mode 100755 index 9e93c1c72..000000000 Binary files a/doc/salome/gui/SMESH/pics/image91.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image96.gif b/doc/salome/gui/SMESH/pics/image96.gif deleted file mode 100755 index 4580d5b5c..000000000 Binary files a/doc/salome/gui/SMESH/pics/image96.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image97.gif b/doc/salome/gui/SMESH/pics/image97.gif deleted file mode 100755 index 1d78de1bc..000000000 Binary files a/doc/salome/gui/SMESH/pics/image97.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image98.gif b/doc/salome/gui/SMESH/pics/image98.gif deleted file mode 100755 index 6519dbb67..000000000 Binary files a/doc/salome/gui/SMESH/pics/image98.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/image99.gif b/doc/salome/gui/SMESH/pics/image99.gif deleted file mode 100755 index 3711be813..000000000 Binary files a/doc/salome/gui/SMESH/pics/image99.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/intersect_groups1.png b/doc/salome/gui/SMESH/pics/intersect_groups1.png deleted file mode 100755 index 9251b0e7a..000000000 Binary files a/doc/salome/gui/SMESH/pics/intersect_groups1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/intersect_groups2.png b/doc/salome/gui/SMESH/pics/intersect_groups2.png deleted file mode 100755 index eeaed8da1..000000000 Binary files a/doc/salome/gui/SMESH/pics/intersect_groups2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/intersect_groups3.png b/doc/salome/gui/SMESH/pics/intersect_groups3.png deleted file mode 100755 index 74f5c2d76..000000000 Binary files a/doc/salome/gui/SMESH/pics/intersect_groups3.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/intersectgroups.png b/doc/salome/gui/SMESH/pics/intersectgroups.png deleted file mode 100755 index b28b4d4d6..000000000 Binary files a/doc/salome/gui/SMESH/pics/intersectgroups.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/length-crit.png b/doc/salome/gui/SMESH/pics/length-crit.png deleted file mode 100755 index 96836cd87..000000000 Binary files a/doc/salome/gui/SMESH/pics/length-crit.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/length2d.png b/doc/salome/gui/SMESH/pics/length2d.png deleted file mode 100755 index 9a5264a02..000000000 Binary files a/doc/salome/gui/SMESH/pics/length2d.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/max_el_area.png b/doc/salome/gui/SMESH/pics/max_el_area.png deleted file mode 100755 index 88db3d6f8..000000000 Binary files a/doc/salome/gui/SMESH/pics/max_el_area.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/mergeelems.png b/doc/salome/gui/SMESH/pics/mergeelems.png deleted file mode 100755 index 9314da8c3..000000000 Binary files a/doc/salome/gui/SMESH/pics/mergeelems.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/mergenodes.png b/doc/salome/gui/SMESH/pics/mergenodes.png deleted file mode 100755 index d994afa28..000000000 Binary files a/doc/salome/gui/SMESH/pics/mergenodes.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/merging_nodes1.png b/doc/salome/gui/SMESH/pics/merging_nodes1.png deleted file mode 100755 index f64bdcbe2..000000000 Binary files a/doc/salome/gui/SMESH/pics/merging_nodes1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/merging_nodes2.png b/doc/salome/gui/SMESH/pics/merging_nodes2.png deleted file mode 100755 index 8d7cfdd09..000000000 Binary files a/doc/salome/gui/SMESH/pics/merging_nodes2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/meshexportmesh.png b/doc/salome/gui/SMESH/pics/meshexportmesh.png deleted file mode 100755 index a84b25207..000000000 Binary files a/doc/salome/gui/SMESH/pics/meshexportmesh.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/meshimportmesh.png b/doc/salome/gui/SMESH/pics/meshimportmesh.png deleted file mode 100755 index f87250bf4..000000000 Binary files a/doc/salome/gui/SMESH/pics/meshimportmesh.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/meshtrianglemergeelem1.png b/doc/salome/gui/SMESH/pics/meshtrianglemergeelem1.png deleted file mode 100755 index 0f9bd5215..000000000 Binary files a/doc/salome/gui/SMESH/pics/meshtrianglemergeelem1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/movenodes.png b/doc/salome/gui/SMESH/pics/movenodes.png deleted file mode 100755 index 16e9e6262..000000000 Binary files a/doc/salome/gui/SMESH/pics/movenodes.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/moving_nodes1.png b/doc/salome/gui/SMESH/pics/moving_nodes1.png deleted file mode 100755 index 2bae38850..000000000 Binary files a/doc/salome/gui/SMESH/pics/moving_nodes1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/moving_nodes2.png b/doc/salome/gui/SMESH/pics/moving_nodes2.png deleted file mode 100755 index b65e57ae9..000000000 Binary files a/doc/salome/gui/SMESH/pics/moving_nodes2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/orientaation1.png b/doc/salome/gui/SMESH/pics/orientaation1.png deleted file mode 100755 index c23b0b8a8..000000000 Binary files a/doc/salome/gui/SMESH/pics/orientaation1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/patternmapping1.png b/doc/salome/gui/SMESH/pics/patternmapping1.png deleted file mode 100755 index 14daae187..000000000 Binary files a/doc/salome/gui/SMESH/pics/patternmapping1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/patternmapping2.png b/doc/salome/gui/SMESH/pics/patternmapping2.png deleted file mode 100755 index fbcf35544..000000000 Binary files a/doc/salome/gui/SMESH/pics/patternmapping2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/remove_elements1.png b/doc/salome/gui/SMESH/pics/remove_elements1.png deleted file mode 100755 index 538460f43..000000000 Binary files a/doc/salome/gui/SMESH/pics/remove_elements1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/remove_elements2.png b/doc/salome/gui/SMESH/pics/remove_elements2.png deleted file mode 100755 index 888188cc7..000000000 Binary files a/doc/salome/gui/SMESH/pics/remove_elements2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/remove_nodes1.png b/doc/salome/gui/SMESH/pics/remove_nodes1.png deleted file mode 100755 index 94caae679..000000000 Binary files a/doc/salome/gui/SMESH/pics/remove_nodes1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/remove_nodes2.png b/doc/salome/gui/SMESH/pics/remove_nodes2.png deleted file mode 100755 index e9f806402..000000000 Binary files a/doc/salome/gui/SMESH/pics/remove_nodes2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/removeelements.png b/doc/salome/gui/SMESH/pics/removeelements.png deleted file mode 100755 index 42a79b5b1..000000000 Binary files a/doc/salome/gui/SMESH/pics/removeelements.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/removenodes.png b/doc/salome/gui/SMESH/pics/removenodes.png deleted file mode 100755 index cfcb777c6..000000000 Binary files a/doc/salome/gui/SMESH/pics/removenodes.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/renumberelements.png b/doc/salome/gui/SMESH/pics/renumberelements.png deleted file mode 100755 index 0812b5066..000000000 Binary files a/doc/salome/gui/SMESH/pics/renumberelements.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/renumbernodes.png b/doc/salome/gui/SMESH/pics/renumbernodes.png deleted file mode 100755 index 90a0eda13..000000000 Binary files a/doc/salome/gui/SMESH/pics/renumbernodes.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/revolution1.png b/doc/salome/gui/SMESH/pics/revolution1.png deleted file mode 100755 index d459cf463..000000000 Binary files a/doc/salome/gui/SMESH/pics/revolution1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/revolution2.png b/doc/salome/gui/SMESH/pics/revolution2.png deleted file mode 100755 index a3c005202..000000000 Binary files a/doc/salome/gui/SMESH/pics/revolution2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/rotation.png b/doc/salome/gui/SMESH/pics/rotation.png deleted file mode 100755 index 372b9b307..000000000 Binary files a/doc/salome/gui/SMESH/pics/rotation.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/rotation1.png b/doc/salome/gui/SMESH/pics/rotation1.png deleted file mode 100755 index 5a4ad9901..000000000 Binary files a/doc/salome/gui/SMESH/pics/rotation1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/rotation2.png b/doc/salome/gui/SMESH/pics/rotation2.png deleted file mode 100755 index 366771a69..000000000 Binary files a/doc/salome/gui/SMESH/pics/rotation2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/selectionfilterlibrary.png b/doc/salome/gui/SMESH/pics/selectionfilterlibrary.png deleted file mode 100755 index f07c09641..000000000 Binary files a/doc/salome/gui/SMESH/pics/selectionfilterlibrary.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/sewing1.png b/doc/salome/gui/SMESH/pics/sewing1.png deleted file mode 100755 index 795d7a06b..000000000 Binary files a/doc/salome/gui/SMESH/pics/sewing1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/sewing2.png b/doc/salome/gui/SMESH/pics/sewing2.png deleted file mode 100755 index 66a409973..000000000 Binary files a/doc/salome/gui/SMESH/pics/sewing2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/sewing3.png b/doc/salome/gui/SMESH/pics/sewing3.png deleted file mode 100755 index 6c74f1cbf..000000000 Binary files a/doc/salome/gui/SMESH/pics/sewing3.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/sewing4.png b/doc/salome/gui/SMESH/pics/sewing4.png deleted file mode 100755 index cd9869a85..000000000 Binary files a/doc/salome/gui/SMESH/pics/sewing4.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/smoothing.png b/doc/salome/gui/SMESH/pics/smoothing.png deleted file mode 100755 index 0fda00a22..000000000 Binary files a/doc/salome/gui/SMESH/pics/smoothing.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/smoothing1.png b/doc/salome/gui/SMESH/pics/smoothing1.png deleted file mode 100755 index 763a5300b..000000000 Binary files a/doc/salome/gui/SMESH/pics/smoothing1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/smoothing2.png b/doc/salome/gui/SMESH/pics/smoothing2.png deleted file mode 100755 index bfce45739..000000000 Binary files a/doc/salome/gui/SMESH/pics/smoothing2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/symmetry1.png b/doc/salome/gui/SMESH/pics/symmetry1.png deleted file mode 100755 index 0fe145964..000000000 Binary files a/doc/salome/gui/SMESH/pics/symmetry1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/symmetry2.png b/doc/salome/gui/SMESH/pics/symmetry2.png deleted file mode 100755 index 99c456463..000000000 Binary files a/doc/salome/gui/SMESH/pics/symmetry2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/symmetry3.png b/doc/salome/gui/SMESH/pics/symmetry3.png deleted file mode 100755 index 0ded9ce79..000000000 Binary files a/doc/salome/gui/SMESH/pics/symmetry3.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/translation1.png b/doc/salome/gui/SMESH/pics/translation1.png deleted file mode 100755 index 745506149..000000000 Binary files a/doc/salome/gui/SMESH/pics/translation1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/translation2.png b/doc/salome/gui/SMESH/pics/translation2.png deleted file mode 100755 index f321be118..000000000 Binary files a/doc/salome/gui/SMESH/pics/translation2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/union_groups1.png b/doc/salome/gui/SMESH/pics/union_groups1.png deleted file mode 100755 index 7b2fc7511..000000000 Binary files a/doc/salome/gui/SMESH/pics/union_groups1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/union_groups2.png b/doc/salome/gui/SMESH/pics/union_groups2.png deleted file mode 100755 index 980e48d41..000000000 Binary files a/doc/salome/gui/SMESH/pics/union_groups2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/union_groups3.png b/doc/salome/gui/SMESH/pics/union_groups3.png deleted file mode 100755 index caf6bb42b..000000000 Binary files a/doc/salome/gui/SMESH/pics/union_groups3.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/uniongroups.png b/doc/salome/gui/SMESH/pics/uniongroups.png deleted file mode 100755 index 936c3b9f7..000000000 Binary files a/doc/salome/gui/SMESH/pics/uniongroups.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/unionoftwotriangles.png b/doc/salome/gui/SMESH/pics/unionoftwotriangles.png deleted file mode 100755 index b9d2bdbd7..000000000 Binary files a/doc/salome/gui/SMESH/pics/unionoftwotriangles.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/uniting_a_set_of_triangles1.png b/doc/salome/gui/SMESH/pics/uniting_a_set_of_triangles1.png deleted file mode 100755 index fb00167a5..000000000 Binary files a/doc/salome/gui/SMESH/pics/uniting_a_set_of_triangles1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/uniting_a_set_of_triangles2.png b/doc/salome/gui/SMESH/pics/uniting_a_set_of_triangles2.png deleted file mode 100755 index 16d135112..000000000 Binary files a/doc/salome/gui/SMESH/pics/uniting_a_set_of_triangles2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/uniting_two_triangles1.png b/doc/salome/gui/SMESH/pics/uniting_two_triangles1.png deleted file mode 100755 index e94be3a0f..000000000 Binary files a/doc/salome/gui/SMESH/pics/uniting_two_triangles1.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/pics/uniting_two_triangles2.png b/doc/salome/gui/SMESH/pics/uniting_two_triangles2.png deleted file mode 100755 index 5cac5f541..000000000 Binary files a/doc/salome/gui/SMESH/pics/uniting_two_triangles2.png and /dev/null differ diff --git a/doc/salome/gui/SMESH/presentation.htm b/doc/salome/gui/SMESH/presentation.htm deleted file mode 100755 index 497621cae..000000000 --- a/doc/salome/gui/SMESH/presentation.htm +++ /dev/null @@ -1,138 +0,0 @@ - - - - - -Presentation - - - - - - - - - - - - -

    Display Mode

    - -

    By default your objects are represented as set in Preferences.

    - -

    However, right-clicking on the mesh in the Object - Browser, and selecting Display - Mode, you can display your mesh as: -

    - -

     

    - -

    Wireframe -

    - -

    - -

     

    - -

    Shading

    - -

    - -

     

    - -

    or - Nodes.

    - -

    - -

     

    - -

    Wireframe can - combine with Nodes and - Shading.

    - -

     

    - -

    Shading - and Wireframe modes can combine - with Shrink, however - Nodes can't.

    - -

    - -

     

    - - - - diff --git a/doc/salome/gui/SMESH/quality_controls.htm b/doc/salome/gui/SMESH/quality_controls.htm deleted file mode 100755 index 2af942145..000000000 --- a/doc/salome/gui/SMESH/quality_controls.htm +++ /dev/null @@ -1,1673 +0,0 @@ - - - - - -Quality Controls - - - - - - - - - - - -

    Quality Controls

    - -

    Free Borders

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

    import salome

    - -

    import geompy

    - -

    import SMESH

    - -

    import StdMeshers

    - -

     

    - -

    smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

    - -

    smesh.SetCurrentStudy(salome.myStudy)

    - -

     

    - -

    # create a box without - one plane

    - -

    box = geompy.MakeBox(0., - 0., 0., 20., 20., 15.)

    - -

    subShapeList = geompy.SubShapeAll(box, - geompy.ShapeType["FACE"])

    - -

     

    - -

    FaceList  = - []

    - -

    for i in range( - 5 ):

    - -

      FaceList.append( - subShapeList[ i ] )

    - -

     

    - -

    aComp = geompy.MakeCompound( - FaceList )

    - -

    aBox = geompy.Sew( - aComp, 1. )

    - -

    idbox = geompy.addToStudy( - aBox, "box" )

    - -

      

    - -

    aBox  = - salome.IDToObject( idbox )

    - -

     

    - -

    # create a mesh

    - -

    hyp1 = smesh.CreateHypothesis("NumberOfSegments", - "libStdMeshersEngine.so")

    - -

    hyp1.SetNumberOfSegments(5)

    - -

    hyp2 = smesh.CreateHypothesis("MaxElementArea", - "libStdMeshersEngine.so")

    - -

    hyp2.SetMaxElementArea(20)

    - -

     

    - -

    algo1 = smesh.CreateHypothesis("Regular_1D", - "libStdMeshersEngine.so")

    - -

    algo2 = smesh.CreateHypothesis("MEFISTO_2D", - "libStdMeshersEngine.so")

    - -

     

    - -

    mesh = smesh.CreateMesh(aBox)

    - -

    mesh.AddHypothesis(aBox,hyp1)

    - -

    mesh.AddHypothesis(aBox,hyp2)

    - -

    mesh.AddHypothesis(aBox,algo1)

    - -

    mesh.AddHypothesis(aBox,algo2)

    - -

     

    - -

    smesh.Compute(mesh,aBox)

    - -

     

    - -

    smeshgui = salome.ImportComponentGUI("SMESH")

    - -

    smeshgui.Init(salome.myStudyId);

    - -

    smeshgui.SetName( - salome.ObjectToID( mesh ), "Mesh_freebord" );

    - -

     

    - -

    # criterion : free borders

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

    aPredicate = aFilterMgr.CreateFreeBorders()

    - -

    aFilter = aFilterMgr.CreateFilter()

    - -

    aFilter.SetPredicate( - aPredicate )

    - -

    anIds = aFilter.GetElementsId( - mesh )

    - -

     

    - -

    # print the result

    - -

    print "Criterion: - Free borders Nb = ", len( anIds )

    - -

    for i in range( - len( anIds ) ):

    - -

      print - anIds[ i ]

    - -

     

    - -

    # create a group

    - -

    aGroup = mesh.CreateGroup( - SMESH.EDGE, "Free borders" )

    - -

    aGroup.Add( anIds - )

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Borders at Multiconnection

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

    import salome

    - -

    import geompy

    - -

    import SMESH

    - -

    import StdMeshers

    - -

     

    - -

    smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

    - -

    smesh.SetCurrentStudy(salome.myStudy)

    - -

     

    - -

    # create a box without - one plane

    - -

     

    - -

    box = geompy.MakeBox(0., - 0., 0., 20., 20., 15.)

    - -

    subShapeList = geompy.SubShapeAll(box, - geompy.ShapeType["FACE"])

    - -

     

    - -

    FaceList  = - []

    - -

    for i in range( - 5 ):

    - -

      FaceList.append( - subShapeList[ i ] )

    - -

     

    - -

    aComp = geompy.MakeCompound( - FaceList )

    - -

    aBox = geompy.Sew( - aComp, 1. )

    - -

    idbox = geompy.addToStudy( - aBox, "box" )

    - -

      

    - -

    aBox  = - salome.IDToObject( idbox )

    - -

     

    - -

    # create a mesh

    - -

     

    - -

    hyp1 = smesh.CreateHypothesis("NumberOfSegments", - "libStdMeshersEngine.so")

    - -

    hyp1.SetNumberOfSegments(5)

    - -

    hyp2 = smesh.CreateHypothesis("MaxElementArea", - "libStdMeshersEngine.so")

    - -

    hyp2.SetMaxElementArea(20)

    - -

     

    - -

    algo1 = smesh.CreateHypothesis("Regular_1D", - "libStdMeshersEngine.so")

    - -

    algo2 = smesh.CreateHypothesis("MEFISTO_2D", - "libStdMeshersEngine.so")

    - -

     

    - -

    mesh = smesh.CreateMesh(aBox)

    - -

    mesh.AddHypothesis(aBox,hyp1)

    - -

    mesh.AddHypothesis(aBox,hyp2)

    - -

    mesh.AddHypothesis(aBox,algo1)

    - -

    mesh.AddHypothesis(aBox,algo2)

    - -

     

    - -

    smesh.Compute(mesh,aBox)

    - -

     

    - -

    smeshgui = salome.ImportComponentGUI("SMESH")

    - -

    smeshgui.Init(salome.myStudyId);

    - -

    smeshgui.SetName( - salome.ObjectToID( mesh ), "Mesh_borders_at_multi-connections" - );

    - -

     

    - -

    # Criterion : Borders at - multi-connection

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

    aFunctor = aFilterMgr.CreateMultiConnection()

    - -

     

    - -

    aPredicate = aFilterMgr.CreateEqualTo()

    - -

    aPredicate.SetNumFunctor( - aFunctor )

    - -

    aPredicate.SetMargin( - 2 )

    - -

     

    - -

    aFilter = aFilterMgr.CreateFilter()

    - -

    aFilter.SetPredicate( - aPredicate )

    - -

     

    - -

    anIds = aFilter.GetElementsId( - mesh )

    - -

     

    - -

    # print the result

    - -

    print "Criterion: - Borders at multi-connections Nb = ", len( anIds )

    - -

    for i in range( - len( anIds ) ):

    - -

      print - anIds[ i ]

    - -

     

    - -

    # create a group

    - -

    aGroup = mesh.CreateGroup( - SMESH.EDGE, "Borders at multi-connections" )

    - -

    aGroup.Add( anIds - )

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Length 1D

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

     

    - -

    import salome

    - -

    import geompy

    - -

    import SMESH

    - -

    import StdMeshers

    - -

     

    - -

    smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

    - -

    smesh.SetCurrentStudy(salome.myStudy)

    - -

     

    - -

    # create a box without - one plane

    - -

    box = geompy.MakeBox(0., - 0., 0., 20., 20., 15.)

    - -

    subShapeList = geompy.SubShapeAll(box, - geompy.ShapeType["FACE"])

    - -

     

    - -

    FaceList  = - []

    - -

    for i in range( - 5 ):

    - -

      FaceList.append( - subShapeList[ i ] )

    - -

     

    - -

    aComp = geompy.MakeCompound( - FaceList )

    - -

    aBox = geompy.Sew( - aComp, 1. )

    - -

    idbox = geompy.addToStudy( - aBox, "box" )

    - -

      

    - -

    aBox  = - salome.IDToObject( idbox )

    - -

     

    - -

    # create a mesh

    - -

    hyp1 = smesh.CreateHypothesis("NumberOfSegments", - "libStdMeshersEngine.so")

    - -

    hyp1.SetNumberOfSegments(5)

    - -

    hyp2 = smesh.CreateHypothesis("MaxElementArea", - "libStdMeshersEngine.so")

    - -

    hyp2.SetMaxElementArea(20)

    - -

     

    - -

    algo1 = smesh.CreateHypothesis("Regular_1D", - "libStdMeshersEngine.so")

    - -

    algo2 = smesh.CreateHypothesis("MEFISTO_2D", - "libStdMeshersEngine.so")

    - -

     

    - -

    mesh = smesh.CreateMesh(aBox)

    - -

    mesh.AddHypothesis(aBox,hyp1)

    - -

    mesh.AddHypothesis(aBox,hyp2)

    - -

    mesh.AddHypothesis(aBox,algo1)

    - -

    mesh.AddHypothesis(aBox,algo2)

    - -

     

    - -

    smesh.Compute(mesh,aBox)

    - -

     

    - -

    smeshgui = salome.ImportComponentGUI("SMESH")

    - -

    smeshgui.Init(salome.myStudyId);

    - -

    smeshgui.SetName( - salome.ObjectToID( mesh ), "Mesh" );

    - -

     

    - -

    # Criterion : Length > - 3

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

    aFunctor = aFilterMgr.CreateLength()

    - -

     

    - -

    aPredicate = aFilterMgr.CreateMoreThan()

    - -

    aPredicate.SetNumFunctor( - aFunctor )

    - -

    aPredicate.SetMargin( - 3 )

    - -

     

    - -

    aFilter = aFilterMgr.CreateFilter()

    - -

    aFilter.SetPredicate( - aPredicate )

    - -

     

    - -

    anIds = aFilter.GetElementsId( - mesh )

    - -

     

    - -

    # print the result

    - -

    print "Criterion: - Edges length > 3 Nb = ", len( anIds )

    - -

    for i in range( - len( anIds ) ):

    - -

      print - anIds[ i ]

    - -

     

    - -

    # create a group

    - -

    aGroup = mesh.CreateGroup( - SMESH.EDGE, "Edges with legth > 3" )

    - -

    aGroup.Add( anIds - )

    - -

    salome.sg.updateObjBrowser(1)

    - -

     

    - -

    Free Edges

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

     

    - -

    # Criterion : AREA > - 30

    - -

    aFunctor = aFilterMgr.CreateArea()

    - -

    aPredicate = aFilterMgr.CreateMoreThan()

    - -

    aPredicate.SetNumFunctor( - aFunctor )

    - -

    aPredicate.SetMargin( - 95 )

    - -

     

    - -

    aFilter = aFilterMgr.CreateFilter()

    - -

    aFilter.SetPredicate( - aPredicate )

    - -

     

    - -

    anIds = aFilter.GetElementsId( - mesh )

    - -

    anEditor = mesh.GetMeshEditor()

    - -

    anEditor.RemoveElements(anIds)

    - -

     

    - -

    # Criterion : Free Edges

    - -

     

    - -

    aPredicate = aFilterMgr.CreateFreeEdges()

    - -

    aPredicate.SetMesh( - mesh )

    - -

    aBorders = aPredicate.GetBorders()

    - -

     

    - -

    # create groups

    - -

    aGroupF = mesh.CreateGroup( - SMESH.FACE, "Faces with free edges" )

    - -

    aGroupN = mesh.CreateGroup( - SMESH.NODE, "Nodes on free edges" )

    - -

     

    - -

    # fill groups with elements, - corresponding to the criterion

    - -

    print ""

    - -

    print "Criterion: - Free edges Nb = ", len( aBorders )

    - -

    for i in range( - len( aBorders ) ):

    - -

      aBorder - = aBorders[ i ]

    - -

      print - "Face # ", aBorder.myElemId, " : Edge between nodes (",

    - -

      print - aBorder.myPnt1, ", ", aBorder.myPnt2, ")"

    - -

      

    - -

      aGroupF.Add( - [aBorder.myElemId] )

    - -

      aGroupN.Add( - [aBorder.myPnt1, aBorder.myPnt2] )

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Length 2D

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

    import salome

    - -

    import geompy

    - -

    import SMESH

    - -

    import StdMeshers

    - -

     

    - -

    smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

    - -

    smesh.SetCurrentStudy(salome.myStudy)

    - -

     

    - -

    # create a box without - one plane

    - -

     

    - -

    box = geompy.MakeBox(0., - 0., 0., 20., 20., 15.)

    - -

    subShapeList = geompy.SubShapeAll(box, - geompy.ShapeType["FACE"])

    - -

     

    - -

    FaceList  = - []

    - -

    for i in range( - 5 ):

    - -

      FaceList.append( - subShapeList[ i ] )

    - -

     

    - -

    aComp = geompy.MakeCompound( - FaceList )

    - -

    aBox = geompy.Sew( - aComp, 1. )

    - -

    idbox = geompy.addToStudy( - aBox, "box" )

    - -

      

    - -

    aBox  = - salome.IDToObject( idbox )

    - -

     

    - -

    # create a mesh

    - -

     

    - -

    hyp1 = smesh.CreateHypothesis("NumberOfSegments", - "libStdMeshersEngine.so")

    - -

    hyp1.SetNumberOfSegments(5)

    - -

    hyp2 = smesh.CreateHypothesis("MaxElementArea", - "libStdMeshersEngine.so")

    - -

    hyp2.SetMaxElementArea(20)

    - -

     

    - -

    algo1 = smesh.CreateHypothesis("Regular_1D", - "libStdMeshersEngine.so")

    - -

    algo2 = smesh.CreateHypothesis("MEFISTO_2D", - "libStdMeshersEngine.so")

    - -

     

    - -

    mesh = smesh.CreateMesh(aBox)

    - -

    mesh.AddHypothesis(aBox,hyp1)

    - -

    mesh.AddHypothesis(aBox,hyp2)

    - -

    mesh.AddHypothesis(aBox,algo1)

    - -

    mesh.AddHypothesis(aBox,algo2)

    - -

     

    - -

    smesh.Compute(mesh,aBox)

    - -

     

    - -

    smeshgui = salome.ImportComponentGUI("SMESH")

    - -

    smeshgui.Init(salome.myStudyId);

    - -

    smeshgui.SetName( - salome.ObjectToID( mesh ), "Mesh" );

    - -

     

    - -

    # Criterion : Length 2D - > 5

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

    aFunctor = aFilterMgr.CreateLength2D()

    - -

     

    - -

    aPredicate = aFilterMgr.CreateMoreThan()

    - -

    aPredicate.SetNumFunctor( - aFunctor )

    - -

    aPredicate.SetMargin( - 5 )

    - -

     

    - -

    aFilter = aFilterMgr.CreateFilter()

    - -

    aFilter.SetPredicate( - aPredicate )

    - -

     

    - -

    anIds = aFilter.GetElementsId( - mesh )

    - -

     

    - -

    # print the result

    - -

    print "Criterion: - Edges length 2D > 5 Nb = ", len( anIds )

    - -

    for i in range( - len( anIds ) ):

    - -

      print - anIds[ i ]

    - -

     

    - -

    # create a group

    - -

    aGroup = mesh.CreateGroup( - SMESH.FACE, "Edges with legth 2D > 5" )

    - -

    aGroup.Add( anIds - )

    - -

    salome.sg.updateObjBrowser(1) -  

    - -

     

    - -

    Borders at Multiconnection 2D

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

    import salome

    - -

    import geompy

    - -

    import SMESH

    - -

    import StdMeshers

    - -

     

    - -

    smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

    - -

    smesh.SetCurrentStudy(salome.myStudy)

    - -

     

    - -

    # create a box without - one plane

    - -

    box = geompy.MakeBox(0., - 0., 0., 20., 20., 15.)

    - -

    subShapeList = geompy.SubShapeAll(box, - geompy.ShapeType["FACE"])

    - -

     

    - -

    FaceList  = - []

    - -

    for i in range( - 5 ):

    - -

      FaceList.append( - subShapeList[ i ] )

    - -

     

    - -

    aComp = geompy.MakeCompound( - FaceList )

    - -

    aBox = geompy.Sew( - aComp, 1. )

    - -

    idbox = geompy.addToStudy( - aBox, "box" )

    - -

      

    - -

    aBox  = - salome.IDToObject( idbox )

    - -

     

    - -

    # create a mesh

    - -

    hyp1 = smesh.CreateHypothesis("NumberOfSegments", - "libStdMeshersEngine.so")

    - -

    hyp1.SetNumberOfSegments(5)

    - -

    hyp2 = smesh.CreateHypothesis("MaxElementArea", - "libStdMeshersEngine.so")

    - -

    hyp2.SetMaxElementArea(20)

    - -

     

    - -

    algo1 = smesh.CreateHypothesis("Regular_1D", - "libStdMeshersEngine.so")

    - -

    algo2 = smesh.CreateHypothesis("MEFISTO_2D", - "libStdMeshersEngine.so")

    - -

     

    - -

    mesh = smesh.CreateMesh(aBox)

    - -

    mesh.AddHypothesis(aBox,hyp1)

    - -

    mesh.AddHypothesis(aBox,hyp2)

    - -

    mesh.AddHypothesis(aBox,algo1)

    - -

    mesh.AddHypothesis(aBox,algo2)

    - -

     

    - -

    smesh.Compute(mesh,aBox)

    - -

    smeshgui = salome.ImportComponentGUI("SMESH")

    - -

    smeshgui.Init(salome.myStudyId);

    - -

    smeshgui.SetName( - salome.ObjectToID( mesh ), "Mesh" );

    - -

     

    - -

    # Criterion : MULTI-CONNECTION - 2D = 2

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

    aFunctor = aFilterMgr.CreateMultiConnection2D()

    - -

     

    - -

    aPredicate = aFilterMgr.CreateEqualTo()

    - -

    aPredicate.SetNumFunctor( - aFunctor )

    - -

    aPredicate.SetMargin( - 2 )

    - -

     

    - -

    aFilter = aFilterMgr.CreateFilter()

    - -

    aFilter.SetPredicate( - aPredicate )

    - -

    anIds = aFilter.GetElementsId( - mesh )

    - -

     

    - -

    # print the result

    - -

    print "Criterion: - Borders at multi-connection 2D = 2 Nb = ", len( anIds )

    - -

    for i in range( - len( anIds ) ):

    - -

      print - anIds[ i ]

    - -

     

    - -

    # create a group

    - -

    aGroup = mesh.CreateGroup( - SMESH.FACE, "Borders at multi-connection 2D = 2" )

    - -

    aGroup.Add( anIds - )

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Area

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

     

    - -

    # Criterion : AREA > - 100

    - -

     

    - -

    aFunctor = aFilterMgr.CreateArea()

    - -

    aPredicate = aFilterMgr.CreateMoreThan()

    - -

    aPredicate.SetNumFunctor( - aFunctor )

    - -

    aPredicate.SetMargin( - 100 )

    - -

     

    - -

    aFilter = aFilterMgr.CreateFilter()

    - -

    aFilter.SetPredicate( - aPredicate )

    - -

     

    - -

    anIds = aFilter.GetElementsId( - mesh )

    - -

     

    - -

    # print the result

    - -

    print "Criterion: - Area > 100 Nb = ", len( anIds )

    - -

    for i in range( - len( anIds ) ):

    - -

      print - anIds[ i ]

    - -

     

    - -

    # create a group

    - -

    aGroup = mesh.CreateGroup( - SMESH.FACE, "Area > 100" )

    - -

    aGroup.Add( anIds - )

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Taper

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

     

    - -

    # Criterion : Taper > - 3e-20

    - -

     

    - -

    aFunctor = aFilterMgr.CreateTaper()

    - -

    aPredicate = aFilterMgr.CreateMoreThan()

    - -

    aPredicate.SetNumFunctor( - aFunctor )

    - -

    aPredicate.SetMargin( - 3e-20 )

    - -

     

    - -

    aFilter = aFilterMgr.CreateFilter()

    - -

    aFilter.SetPredicate( - aPredicate )

    - -

     

    - -

    anIds = aFilter.GetElementsId( - mesh )

    - -

     

    - -

    # print the result

    - -

    print "Criterion: - Taper > 3e-20 Nb = ", len( anIds )

    - -

    for i in range( - len( anIds ) ):

    - -

      print - anIds[ i ]

    - -

     

    - -

    # create a group

    - -

    aGroup = mesh.CreateGroup( - SMESH.FACE, "Taper > 3e-20" )

    - -

    aGroup.Add( anIds - )

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Aspect Ratio

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

     

    - -

    # Criterion : ASPECT RATIO - > 1.4

    - -

     

    - -

    aFunctor = aFilterMgr.CreateAspectRatio()

    - -

    aPredicate = aFilterMgr.CreateMoreThan()

    - -

    aPredicate.SetNumFunctor( - aFunctor )

    - -

    aPredicate.SetMargin( - 1.4 )

    - -

     

    - -

    aFilter = aFilterMgr.CreateFilter()

    - -

    aFilter.SetPredicate( - aPredicate )

    - -

     

    - -

    anIds = aFilter.GetElementsId( - mesh )

    - -

     

    - -

    # print the result

    - -

    print "Criterion: - Aspect Ratio > 1.4 Nb = ", len( anIds )

    - -

    for i in range( - len( anIds ) ):

    - -

      print - anIds[ i ]

    - -

     

    - -

    # create a group

    - -

    aGroup = mesh.CreateGroup( - SMESH.FACE, "Aspect Ratio > 1.4" )

    - -

    aGroup.Add( anIds - )

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Minimum Angle

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

     

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

     

    - -

    # Criterion : MINIMUM - ANGLE < 70

    - -

     

    - -

    aFunctor = aFilterMgr.CreateMinimumAngle()

    - -

    aPredicate = aFilterMgr.CreateLessThan()

    - -

    aPredicate.SetNumFunctor( - aFunctor )

    - -

    aPredicate.SetMargin( - 70 )

    - -

     

    - -

    aFilter = aFilterMgr.CreateFilter()

    - -

    aFilter.SetPredicate( - aPredicate )

    - -

     

    - -

    anIds = aFilter.GetElementsId( - mesh )

    - -

     

    - -

    # print the result

    - -

    print "Criterion: - Minimum Angle < 70 Nb = ", len( anIds )

    - -

    for i in range( - len( anIds ) ):

    - -

      print - anIds[ i ]

    - -

     

    - -

    # create a group

    - -

    aGroup = mesh.CreateGroup( - SMESH.FACE, "Minimum Angle < 70" )

    - -

    aGroup.Add( anIds - )

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Warping

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

     

    - -

    # Criterion : WARP ANGLE - > 1e-15

    - -

     

    - -

    aFunctor = aFilterMgr.CreateWarping()

    - -

    aPredicate = aFilterMgr.CreateMoreThan()

    - -

    aPredicate.SetNumFunctor( - aFunctor )

    - -

    aPredicate.SetMargin( - 1e-15 )

    - -

     

    - -

    aFilter = aFilterMgr.CreateFilter()

    - -

    aFilter.SetPredicate( - aPredicate )

    - -

     

    - -

    anIds = aFilter.GetElementsId( - mesh )

    - -

     

    - -

    # print the result

    - -

    print "Criterion: - Warp > 1e-15 Nb = ", len( anIds )

    - -

    for i in range( - len( anIds ) ):

    - -

      print - anIds[ i ]

    - -

     

    - -

    # create a group

    - -

    aGroup = mesh.CreateGroup( - SMESH.FACE, "Warp > 1e-15" )

    - -

    aGroup.Add( anIds - )

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Skew

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

     

    - -

    # Criterion : Skew > - 18

    - -

     

    - -

    aFunctor = aFilterMgr.CreateSkew()

    - -

    aPredicate = aFilterMgr.CreateMoreThan()

    - -

    aPredicate.SetNumFunctor( - aFunctor )

    - -

    aPredicate.SetMargin( - 18 )

    - -

     

    - -

    aFilter = aFilterMgr.CreateFilter()

    - -

    aFilter.SetPredicate( - aPredicate )

    - -

     

    - -

    anIds = aFilter.GetElementsId( - mesh )

    - -

     

    - -

    # print the result

    - -

    print "Criterion: - Skew > 18 Nb = ", len( anIds )

    - -

    for i in range( - len( anIds ) ):

    - -

      print - anIds[ i ]

    - -

     

    - -

    # create a group

    - -

    aGroup = mesh.CreateGroup( - SMESH.FACE, "Skew > 18" )

    - -

    aGroup.Add( anIds - )

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Aspect Ratio 3D

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

    import SMESH

    - -

    import SMESH_mechanic_tetra

    - -

     

    - -

    smesh  = - SMESH_mechanic_tetra.smesh

    - -

    mesh   = - SMESH_mechanic_tetra.mesh

    - -

    salome = SMESH_mechanic_tetra.salome

    - -

     

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

     

    - -

    # Criterion : ASPECT RATIO - 3D > 2.2

    - -

     

    - -

    aFunctor = aFilterMgr.CreateAspectRatio3D()

    - -

    aPredicate = aFilterMgr.CreateMoreThan()

    - -

    aPredicate.SetNumFunctor( - aFunctor )

    - -

    aPredicate.SetMargin( - 2.2 )

    - -

     

    - -

    aFilter = aFilterMgr.CreateFilter()

    - -

    aFilter.SetPredicate( - aPredicate )

    - -

     

    - -

    anIds = aFilter.GetElementsId( - mesh )

    - -

     

    - -

    # print the result

    - -

    print "Criterion: - Aspect Ratio 3D > 2.2 Nb = ", len( anIds )

    - -

    for i in range( - len( anIds ) ):

    - -

      print - anIds[ i ]

    - -

     

    - -

    # create a group

    - -

    aGroup = mesh.CreateGroup( - SMESH.VOLUME, "Aspect Ratio 3D > 2.2" )

    - -

    aGroup.Add( anIds - )

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Volume

    - -

    import SMESH

    - -

    import SMESH_mechanic_tetra

    - -

     

    - -

    smesh  = - SMESH_mechanic_tetra.smesh

    - -

    mesh   = - SMESH_mechanic_tetra.mesh

    - -

    salome = SMESH_mechanic_tetra.salome

    - -

     

    - -

    aFilterMgr = smesh.CreateFilterManager()

    - -

     

    - -

    # Criterion : VOLUME < - 7

    - -

     

    - -

    aFunctor = aFilterMgr.CreateVolume3D()

    - -

    aPredicate = aFilterMgr.CreateLessThan()

    - -

    aPredicate.SetNumFunctor( - aFunctor )

    - -

    aPredicate.SetMargin( - 7 )

    - -

     

    - -

    aFilter = aFilterMgr.CreateFilter()

    - -

    aFilter.SetPredicate( - aPredicate )

    - -

     

    - -

    anIds = aFilter.GetElementsId( - mesh )

    - -

     

    - -

    # print the result

    - -

    print ""

    - -

    print "Criterion: - Volume < 7 Nb = ", len( anIds )

    - -

    for i in range( - len( anIds ) ):

    - -

      print - anIds[ i ]

    - -

     

    - -

    # create a group

    - -

    aGroup = mesh.CreateGroup( - SMESH.VOLUME, "Volume < 7" )

    - -

    aGroup.Add( anIds - )

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - - - - diff --git a/doc/salome/gui/SMESH/revolution.htm b/doc/salome/gui/SMESH/revolution.htm deleted file mode 100755 index 177ed997c..000000000 --- a/doc/salome/gui/SMESH/revolution.htm +++ /dev/null @@ -1,156 +0,0 @@ - - - - - -Revolution - - - - - - - - - - - - -

    Revolution

    - -

    Revolution is a type of surface meshing by generation from discretized - lines. It is used to build mesh elements of plus one dimension than the - swept ones. Each swept 1D element produces one or more quadrangles (or - triangles if one node of a rotated element lays on the revolution axis).

    - -

     

    - -

    To apply revolution:

    - -

     

    - -

    1. From the Modification - menu choose the Revolution item - or click button in the toolbar. The following dialog box - shall appear:

    - -

     

    - -

    - -

     

    - -

    - -

     

    - -

    2. In this dialog box you should specify:

    - -
      - -
    • the type of elements - which will be extruded (1D or 2D),

    • - -
    • specify the IDs of - the elements which will be revolved by selecting them in the 3D viewer - or select the whole mesh or submesh,

    • - -
    • specify the axis (point - and vector) around which the elements will be revolved,

    • - -
    • angle of rotation,

    • - -
    • number of steps,

    • - -
    • tolerance of rotation

    • -
    - -

     

    - -

    3. Click the Apply - or OK button.

    - -

     

    - -

    - -

     

    - -

     See - Also a sample TUI Script of a  Revolution - operation.  

    - -

     

    - - - - diff --git a/doc/salome/gui/SMESH/selection_filter_library.htm b/doc/salome/gui/SMESH/selection_filter_library.htm deleted file mode 100755 index 93ed142e9..000000000 --- a/doc/salome/gui/SMESH/selection_filter_library.htm +++ /dev/null @@ -1,159 +0,0 @@ - - - - - -Selection filter library - - - - - - - - - - - - -

    Selection filter library

    - -

    Selection filter library is a powerful tool enabling to create filters - to be used on meshes. You can access to it from the Main Menu via Tools / Selection filter library.

    - -

     

    - -

    - -

     

    - -

    Library file name shows - the path and the file name where your filters will be stored. By clicking - the browse button - you can load an existing filter library.

    - -

    Names of filters lists the filters - created or uploaded for the current study. You can Add - or Delete filters.  

    - -

    In Filter name box you can specify - the name for your filter. By default it is prefixed with the corresponding - entity type.

    - -

    Each filter can be applicable to Nodes, - Edges, Faces or Volumes. - You can combine many criteria in one filter, but they all must be of the - same Entity type.

    - -

    The Add button creates a new - criterion at the end of the list of criteria. The Insert - button creates a new criterion before the selected criterion. The Remove button deletes the selected criterion. - The Clear button deletes all criteria. -  

    - -

    Each Entity type has its specific - list of criteria, however all filters have common syntax. For each criterion - you should specify the Threshold Value - and whether we search for the elements that should be More, - Less or Equal to this Value. - You should also specify if the criterion is Unary - or Binary.   

    - -

    Some criteria should have the additional parameter of Tolerance.

    - -

     

    - -

    When we create a Standalone Group - using filters (for this click Set Filters - button in the Create Group menu), - the menu for setting filters looks a bit differently. Toggling Insert - filter in viewer checkbox enables to preview the group selected - with your current filter in the viewer.

    - -

    In the Source field you choose - if the filter will be applied to the whole Mesh, - the Initial Selection or the Current Group.

    - -

    Copy from... button gives you - a possibility to load an existing filter from Selection - filter library and Add to... - button gives you a possibility to save your current filter in the Library. -  

    - -

     

    - -

    - - - - diff --git a/doc/salome/gui/SMESH/smesh.log b/doc/salome/gui/SMESH/smesh.log deleted file mode 100755 index 4d82ab088..000000000 --- a/doc/salome/gui/SMESH/smesh.log +++ /dev/null @@ -1,508 +0,0 @@ -|SourceProjectName:SMESH.hpr -|DestinationProjectName:index.htm -whhost.js -whmsg.js -whmozemu.js -whproxy.js -whstub.js -whutils.js -whver.js -whform.js -whphost.js -whstart.js -whtopic.js -whframes.js -whlang.js -whskin_info.htm -whskin_blank.htm -whskin_pickup.htm -whskin_homepage.htm -whskin_tw.htm -whnjs.htm -whthost.js -whtdhtml.htm -whihost.js -whibody.htm -whiform.htm -whfhost.js -whfbody.htm -whfform.htm -whghost.js -whgbody.htm -whgdhtml.htm -whgdef.htm -whproj.js -whproj.xml -whproj.htm -whxdata\whtoc.xml -whxdata\whidx.xml -whxdata\whfts.xml -whxdata\whglo.xml -whdata\whtoc.js -whdata\whtoc.htm -whdata\whtdata.js -whdata\whidx.js -whdata\whidx.htm -whdata\whidata.js -whdata\whfts.js -whdata\whfts.htm -whdata\whglo.js -whdata\whglo.htm -whdata\whgdata.js -whdata\whftdata.js -whdata\whfwdata.js -whres.xml -webhelp.jar -webhelp.cab -whgdata\whnvp30.htm -whgdata\whnvp31.htm -whgdata\whnvp32.htm -whgdata\whnvp33.htm -whgdata\whnvt30.htm -whgdata\whnvt31.htm -whgdata\whnvt32.htm -whgdata\whnvt33.htm -whgdata\whnvf30.htm -whgdata\whnvf31.htm -whgdata\whnvf32.htm -whgdata\whnvf33.htm -whgdata\whnvl31.htm -whgdata\whnvl32.htm -whgdata\whnvl33.htm -whgdata\whexpbar.gif -cshdat_webhelp.htm -whcsh_home.htm -whcshdata.htm -cshdat_robohelp.htm -whd_topic.xml -whd_nvp10.htm -whd_nvp20.htm -whd_tabs.htm -whd_dpns.htm -whd_tab0.gif -whd_tab1.gif -whd_tab2.gif -whd_tab3.gif -whd_tab4.gif -whd_tab5.gif -whd_tab6.gif -whd_tab7.gif -whd_tab8.gif -whd_toc1.gif -whd_toc2.gif -whd_toc3.gif -whd_toc4.gif -whd_show0.gif -whd_show1.gif -whd_show2.gif -whd_hide0.gif -whd_hide1.gif -whd_hide2.gif -whd_sync0.gif -whd_sync1.gif -whd_sync2.gif -whd_prev0.gif -whd_prev1.gif -whd_prev2.gif -whd_next0.gif -whd_next1.gif -whd_next2.gif -whd_wbsh0.gif -whd_wbsh1.gif -whd_wbsh2.gif -whidhtml.htm -whfdhtml.htm -index_hha.hhk -index.hhc -index.hhk -about_viewing_meshes.htm -adding_quadratic_nodes_and_elements.htm -aspect_ratio_3d.htm -borders_at_multi-connection.htm -borders_at_multiconnection_2d.htm -clipping.htm -constructing_meshes.htm -defining_hypotheses_tui.htm -deleting_groups.htm -display_entity.htm -extrusion.htm -extrusion_along_a_path.htm -files\about_hypotheses.htm -files\about_meshes.htm -files\about_meshing_algorithms.htm -files\about_quality_controls.htm -files\adding_nodes_and_elements.htm -files\area_of_elements.htm -files\arithmetic_1d.htm -files\aspect_ratio.htm -files\changing_orientation_of_elements.htm -files\constructing_groups_of_specific_elements.htm -files\constructing_meshes.htm -files\constructing_submeshes.htm -files\creating_groups.htm -files\cutting_quadrangles.htm -files\diagonal_iversion_of_elements.htm -files\displacing_nodes.htm -files\displaying_nodes_numbers.htm -files\editing_groups.htm -files\importing_and_exporting_meshes.htm -files\length_of_edges.htm -files\max._element_area_hypothesis.htm -files\max._element_volume_hypothsis.htm -files\merging_nodes.htm -files\minimum_angle.htm -files\non_conform_mesh_allowed_hypothesis.htm -files\reassigning_hypotheses_and_algorithms.htm -files\removing_nodes_and_elements.htm -files\renumbering_nodes_and_elements.htm -files\rotation.htm -files\running_smesh_module.htm -files\sewing_meshes.htm -files\skew.htm -files\smoothing.htm -files\symmetry.htm -files\taper.htm -files\translation.htm -files\uniting_a_set_of_triangles.htm -files\uniting_two_triangles.htm -files\using_operations_on_groups.htm -files\viewing_mesh_info.htm -files\vtk_3d_viewer.htm -files\warp.htm -free_borders.htm -free_edges.htm -grouping_elements.htm -length.htm -merge_elements.htm -mesh.htm -modifying_meshes.htm -pattern_mapping.htm -presentation.htm -quality_controls.htm -revolution.htm -selection_filter_library.htm -transforming_meshes.htm -transparency.htm -viewing_meshes.htm -volume.htm -ehelp.xml -texture_horiz_ltbluebubbles.jpg -index.glo -default.css -pics\add_node.png -pics\remove_nodes2.png -pics\merging_nodes2.png -pics\moving_nodes2.png -pics\smoothing2.png -pics\b-mberofsegments.png -pics\b-flection1d.png -pics\a-cuttingofquadrangles.png -pics\addquadrangle.png -pics\intersectgroups.png -pics\editgroup.png -image95.jpg -pics\sewing1.png -image92.gif -image51.jpg -image70.gif -pics\image138.gif -pics\create_group.png -pics\edit_mesh_change_value_hyp.png -pics\free_borders1.png -pics\add_triangle.png -pics\b-art_end_length.png -pics\a-creategroup.png -pics\a-clipping2.png -pics\a-transparency.png -pics\diagonalinversion.png -pics\translation1.png -image96.jpg -pics\sewing2.png -image119.gif -image108.gif -image52.jpg -image82.gif -image71.gif -image30.jpg -pics\distributionwithanalyticdensity.png -pics\image139.gif -pics\rotation1.png -pics\a-createpolyhedralvolume.png -pics\a-patterntype.png -pics\orientaation1.png -pics\translation2.png -pics\cutgroups.png -image97.jpg -pics\sewing3.png -image86.jpg -image50.gif -image94.gif -image83.gif -image31.jpg -pics\graduatedaxes1.png -pics\image107.gif -pics\automaticlength.png -pics\image27.gif -pics\add_polyhedron.png -pics\add_edge.png -pics\rotation2.png -pics\b-ithmetic1d.png -image10.jpg -pics\a-maxelarea.png -pics\addhexahedron.png -pics\addtetrahedron.png -image5.jpg -pics\sewing4.png -image95.gif -image76.jpg -image84.gif -image32.jpg -image40.gif -pics\image108.gif -pics\aqt.png -pics\distributionwithtabledensity.png -pics\smoothing.png -image88.jpg -image30.gif -image96.gif -image77.jpg -image74.gif -image63.gif -image22.jpg -image41.gif -pics\image109.gif -pics\meshimportmesh.png -pics\deletegroups.png -pics\editing_groups1.png -pics\uniting_two_triangles1.png -image7.jpg -pics\a-averagelength.png -pics\a-patterntype1.png -pics\extrusionalongaline1.png -pics\movenodes.png -pics\rotation.png -image56.jpg -image53.gif -image20.gif -image97.gif -image78.jpg -image64.gif -image23.jpg -image151.gif -pics\cut_groups1.png -pics\editing_groups2.png -pics\uniting_two_triangles2.png -pics\a-unionoftriangles.png -pics\a-arithmetic1d.png -pics\extrusionalongaline2.png -image79.jpg -image98.gif -image32.gif -pics\image91.gif -image152.gif -pics\cut_groups2.png -image130.gif -pics\max_el_area.png -pics\a-extusionalongapath2.png -pics\a-viewgeneral.png -pics\revolution1.png -pics\addtriangle.png -image99.gif -image55.gif -image88.gif -image36.jpg -image33.gif -image25.jpg -i_blue.jpg -image15.jpg -image142.gif -pics\cut_groups3.png -image131.gif -pics\add_quadrangle.png -pics\uniting_a_set_of_triangles1.png -pics\a-deflection1d.png -pics\revolution2.png -pics\unionoftwotriangles.png -pics\addnode.png -image120.gif -image56.gif -image37.jpg -image67.gif -image34.gif -image143.gif -image132.gif -pics\edit_mesh1.png -pics\remove_elements1.png -pics\uniting_a_set_of_triangles2.png -pics\mergenodes.png -pics\symmetry1.png -image121.gif -image79.gif -image38.jpg -image46.gif -image35.gif -image27.jpg -image24.gif -pics\createmesh-inv2.png -image144.gif -pics\intersect_groups1.png -image133.gif -pics\add_polygone.png -pics\remove_elements2.png -pics\a-maxelvolume.png -pics\symmetry2.png -image122.gif -image58.gif -image36.gif -image25.gif -note1.gif -pics\createmesh-inv3.png -image145.gif -pics\intersect_groups2.png -image134.gif -pics\b-mesh_infos.png -pics\symmetry3.png -pics\addedge.png -image123.gif -image101.gif -image37.gif -pics\image96.gif -image146.gif -pics\intersect_groups3.png -image135.gif -pics\b-erage_length.png -pics\a-standmeshinfo.png -pics\a-nbsegments1.png -pics\patternmapping1.png -image90.jpg -image124.gif -image102.gif -image49.gif -image38.gif -pics\image100.gif -pics\image97.gif -pics\length-crit.png -image147.gif -image136.gif -pics\a-nbsegments2.png -pics\a-startendlength.png -pics\patternmapping2.png -pics\removeelements.png -pics\removenodes.png -pics\uniongroups.png -image125.gif -image103.gif -pics\exemple.gif -image39.gif -image28.gif -pics\advanced_mesh_infos.png -pics\image98.gif -image148.gif -pics\meshexportmesh.png -pics\image21.gif -pics\union_groups1.png -image137.gif -pics\free_edges.png -pics\creategroup.png -image92.jpg -image126.gif -image104.gif -image18.gif -image70.jpg -pics\createmesh-inv.png -pics\image102.gif -pics\image99.gif -pics\image77.gif -pics\meshtrianglemergeelem1.png -pics\mergeelems.png -pics\union_groups2.png -pics\length2d.png -pics\renumbernodes.png -image127.gif -image93.jpg -image105.gif -image19.gif -image71.jpg -pics\image89.gif -pics\image78.gif -pics\image23.gif -pics\selectionfilterlibrary.png -pics\union_groups3.png -pics\edit_mesh_remove_hyp.png -pics\remove_nodes1.png -pics\merging_nodes1.png -pics\moving_nodes1.png -pics\smoothing1.png -pics\a-filteronedges.png -pics\renumberelements.png -pics\addpolygon.png -image94.jpg -image106.gif -image91.gif -image80.gif -index.ppf -ehlpdhtm.js -default_ns.css -whxdata\whtdata0.xml -whxdata\whftdata0.xml -whxdata\whfwdata0.xml -whxdata\whgdata0.xml -whdata\whtdata0.htm -whdata\whftdata0.htm -whdata\whfwdata0.htm -whdata\whgdata0.htm -whgdata\whlstt0.htm -whgdata\whlstt1.htm -whgdata\whlstt2.htm -whgdata\whlstt3.htm -whgdata\whlstt4.htm -whgdata\whlstt5.htm -whgdata\whlstt6.htm -whgdata\whlstt7.htm -whgdata\whlstt8.htm -whgdata\whlstt9.htm -whgdata\whlsti0.htm -whgdata\whlstfl0.htm -whgdata\whlstfl1.htm -whgdata\whlstfl2.htm -whgdata\whlstfl3.htm -whgdata\whlstfl4.htm -whgdata\whlstfl5.htm -whgdata\whlstfl6.htm -whgdata\whlstfl7.htm -whgdata\whlstfl8.htm -whgdata\whlstfl9.htm -whgdata\whlstfl10.htm -whgdata\whlstfl11.htm -whgdata\whlstfl12.htm -whgdata\whlstfl13.htm -whgdata\whlstfl14.htm -whgdata\whlstfl15.htm -whgdata\whlstfl16.htm -whgdata\whlstfl17.htm -whgdata\whlstfl18.htm -whgdata\whlstfl19.htm -whgdata\whlstfl20.htm -whgdata\whlstfl21.htm -whgdata\whlstfl22.htm -whgdata\whlstfl23.htm -whgdata\whlstfl24.htm -whgdata\whlstfl25.htm -whgdata\whlstf0.htm -whgdata\whlstf1.htm -whgdata\whlstf2.htm -whgdata\whlstf3.htm -whgdata\whlstf4.htm -whgdata\whlstf5.htm -whgdata\whlstf6.htm -whgdata\whlstf7.htm -whgdata\whlstf8.htm -whgdata\whlstf9.htm -whgdata\whlstf10.htm -whgdata\whlstf11.htm -whgdata\whlstf12.htm -whgdata\whlstf13.htm -whgdata\whlstg0.htm -index.htm -index_csh.htm -index_rhc.htm diff --git a/doc/salome/gui/SMESH/smesh_py_introduction.htm b/doc/salome/gui/SMESH/smesh_py_introduction.htm deleted file mode 100755 index 405ec0138..000000000 --- a/doc/salome/gui/SMESH/smesh_py_introduction.htm +++ /dev/null @@ -1,208 +0,0 @@ - - - - - -Introduction to MESH module python interface - - - - - - - - - - - -

    Introduction to MESH module python interface

    - -

    Package smesh provides a standard API for meshes creation and edition. -

    Below you can see an example of package smesh usage for 3d mesh generation. -

      -

    Example of 3d mesh generation with NETGEN

    - -
    from geompy import * -
    -
    import smesh -
    -
    # Geometry -
    # ======== -
    -
    # an assembly of a box, a cylinder and a truncated cone meshed with tetrahedral. -
    -
    # Define values -
    # ------------- -
    -
    name = "ex21_lamp" -
    -
    cote = 60 -
    -
    section = 20 -
    size = 200 -
    -
    radius_1 = 80 -
    radius_2 = 40 -
    height = 100 -
    -
    # Build a box -
    # ----------- -
    -
    box = MakeBox(-cote, -cote, -cote, +cote, +cote, +cote) -
    -
    # Build a cylinder -
    # ---------------- -
    -
    pt1 = MakeVertex(0, 0, cote/3) -
    di1 = MakeVectorDXDYDZ(0, 0, 1) -
    cyl = MakeCylinder(pt1, di1, section, size) -
    -
    # Build a truncated cone -
    # ---------------------- -
    -
    pt2 = MakeVertex(0, 0, size) -
    cone = MakeCone(pt2, di1, radius_1, radius_2, height) -
    -
    # Fuse -
    # ---- -
    -
    box_cyl = MakeFuse(box, cyl) -
    piece = MakeFuse(box_cyl, cone) -
    -
    # Add in study -
    # ------------ -
    -
    addToStudy(piece, name) -
    -
    # Create a group of faces -
    # ----------------------- -
    -
    group = CreateGroup(piece, ShapeType["FACE"]) -
    -
    group_name = name + "_grp" -
    addToStudy(group, group_name) -
    group.SetName(group_name) -
    -
    # Add faces in the group -
    # ---------------------- -
    -
    faces = SubShapeAllIDs(piece, ShapeType["FACE"]) -
    -
    UnionIDs(group, faces) -
    -
    # Create a mesh -
    # ============= -
    -
    # Define a mesh on a geometry -
    # --------------------------- -
    -
    tetra = smesh.Mesh(piece, name) -
    -
    # Define 1D hypothesis -
    # -------------------- -
    -
    algo1d = tetra.Segment() -
    algo1d.LocalLength(10) -
    -
    # Define 2D hypothesis -
    # -------------------- -
    -
    algo2d = tetra.Triangle() -
    algo2d.LengthFromEdges() -
    -
    # Define 3D hypothesis -
    # -------------------- -
    -
    algo3d = tetra.Tetrahedron(smesh.NETGEN) -
    algo3d.MaxElementVolume(100) -
    -
    # Compute the mesh -
    # ---------------- -
    -
    tetra.Compute() -
    -
    # Create a groupe of faces -
    # ------------------------ -
    -
    tetra.Group(group) - - - - diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh.html b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh.html deleted file mode 100644 index b99783934..000000000 --- a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh.html +++ /dev/null @@ -1,1004 +0,0 @@ - - -SALOME - SMESH - v.version: smesh.Mesh Class Reference - - - - -

    smesh.Mesh Class Reference

    Class to define a mesh. -More... -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    def __init__
     Constructor.
    def GetMesh
     Method that returns the mesh.
    def GetShape
     Method that returns the shape associated to the mesh.
    def MeshDimension
     Returns mesh dimension depending on shape one.
    def Segment
     Creates a segment discretization 1D algorithm.
    def Triangle
     Creates a triangle 2D algorithm for faces.
    def Quadrangle
     Creates a quadrangle 2D algorithm for faces.
    def Tetrahedron
     Creates a tetrahedron 3D algorithm for solids.
    def Hexahedron
     Creates a hexahedron 3D algorithm for solids.
    def Netgen
     Creates a NETGEN-based 2D or 3D independent algorithm (i.e.
    def Compute
     Compute the mesh and return the status of the computation.
    def AutomaticTetrahedralization
     Compute tetrahedral mesh using AutomaticLength + MEFISTO + NETGEN The parameter fineness [0.
    def AutomaticHexahedralization
     Compute hexahedral mesh using AutomaticLength + Quadrangle + Hexahedron The parameter fineness [0.
    def RemoveGlobalHypotheses
     Removes all global hypotheses.
    def Group
     Create a mesh group based on geometric object grp and give a name, if this parameter is not defined the name is the same as the geometric group name.
    def ExportToMED
     Export the mesh in a file with the MED format and choice the version of MED format.
    def ExportMED
     Export the mesh in a file with the MED format.
    def ExportDAT
     Export the mesh in a file with the DAT format.
    def ExportUNV
     Export the mesh in a file with the UNV format.
    def ExportSTL
     Export the mesh in a file with the STL format.

    Data Fields

     geom
     mesh

    Static Public Attributes

    int geom = 0
    int mesh = 0
    -


    Detailed Description

    -More details. -

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.__init__   self,
      geom,
      name = 0
    -
    - - - - - -
    -   - - -

    -Creates mesh on the shape geom, sets GUI name of this mesh to name.

    Parameters:
    - - - -
    geom Shape to be meshed
    name Study name of the mesh
    -
    -
    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh.GetMesh   self  ) 
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh.GetShape   self  ) 
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh.MeshDimension   self  ) 
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.Segment   self,
      algo = REGULAR,
      geom = 0
    -
    - - - - - -
    -   - - -

    -If the optional algo parameter is not sets, this algorithm is REGULAR. If the optional geom parameter is not sets, this algorithm is global. Otherwise, this algorithm define a submesh based on geom subshape.

    Parameters:
    - - - -
    algo values are smesh.REGULAR or smesh.PYTHON for discretization via python function
    geom If defined, subshape to be meshed
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.Triangle   self,
      geom = 0
    -
    - - - - - -
    -   - - -

    -If the optional geom parameter is not sets, this algorithm is global. Otherwise, this algorithm define a submesh based on geom subshape.

    Parameters:
    - - -
    geom If defined, subshape to be meshed
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.Quadrangle   self,
      geom = 0
    -
    - - - - - -
    -   - - -

    -If the optional geom parameter is not sets, this algorithm is global. Otherwise, this algorithm define a submesh based on geom subshape.

    Parameters:
    - - -
    geom If defined, subshape to be meshed
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.Tetrahedron   self,
      algo,
      geom = 0
    -
    - - - - - -
    -   - - -

    -The parameter algo permits to choice the algorithm: NETGEN or GHS3D If the optional geom parameter is not sets, this algorithm is global. Otherwise, this algorithm define a submesh based on geom subshape.

    Parameters:
    - - - -
    algo values are: smesh.NETGEN, smesh.GHS3D
    geom If defined, subshape to be meshed
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.Hexahedron   self,
      geom = 0
    -
    - - - - - -
    -   - - -

    -If the optional geom parameter is not sets, this algorithm is global. Otherwise, this algorithm define a submesh based on geom subshape.

    Parameters:
    - - -
    geom If defined, subshape to be meshed
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.Netgen   self,
      is3D,
      geom = 0
    -
    - - - - - -
    -   - - -

    -needs no discrete boundary). If the optional geom parameter is not sets, this algorithm is global. Otherwise, this algorithm defines a submesh based on geom subshape.

    Parameters:
    - - - -
    is3D If 0 then algorithm is 2D, otherwise 3D
    geom If defined, subshape to be meshed
    -
    -
    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh.Compute   self  ) 
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.AutomaticTetrahedralization   self,
      fineness = 0
    -
    - - - - - -
    -   - - -

    --1.] defines mesh fineness

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.AutomaticHexahedralization   self,
      fineness = 0
    -
    - - - - - -
    -   - - -

    --1.] defines mesh fineness

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh.RemoveGlobalHypotheses   self  ) 
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.Group   self,
      grp,
      name = ""
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - - -
    grp is a geometric group, a vertex, an edge, a face or a solid
    name is the name of the mesh group
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.ExportToMED   self,
      f,
      version,
      opt = 0
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - - -
    f is the file name
    version values are SMESH.MED_V2_1, SMESH.MED_V2_2
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.ExportMED   self,
      f,
      opt = 0
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - -
    f is the file name
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.ExportDAT   self,
      f
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - -
    f is the file name
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.ExportUNV   self,
      f
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - -
    f is the file name
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh.ExportSTL   self,
      f,
      ascii = 1
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - - -
    f is the file name
    ascii defined the kind of file contents
    -
    -
    -


    Field Documentation

    -

    - - - - -
    - - - - -
    int smesh.Mesh.geom = 0 [static]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh.mesh = 0 [static]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh.geom
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh.mesh
    -
    - - - - - -
    -   - - -

    -

    - - diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Algorithm.html b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Algorithm.html deleted file mode 100644 index 97d0e0ef7..000000000 --- a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Algorithm.html +++ /dev/null @@ -1,461 +0,0 @@ - - -SALOME - SMESH - v.version: smesh.Mesh_Algorithm Class Reference - - - - -

    smesh.Mesh_Algorithm Class Reference

    Mother class to define algorithm, recommended to don't use directly. -More... -

    -Inheritance diagram for smesh.Mesh_Algorithm:

    Inheritance graph
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    def GetSubMesh
    def GetAlgorithm
     Return the wrapped mesher.
    def TreatHypoStatus
     Private method.
    def Create
     Private method.
    def Hypothesis
     Private method.

    Data Fields

     mesh
     geom
     subm
     algo

    Static Public Attributes

    int mesh = 0
    int geom = 0
    int subm = 0
    int algo = 0
    -

    Detailed Description

    -More details. -

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetSubMesh   self  ) 
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetAlgorithm   self  ) 
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.TreatHypoStatus   self,
      status,
      hypName,
      geomName,
      isAlgo
    -
    - - - - - -
    -   - - -

    -Print error message if a hypothesis was not assigned.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Create   self,
      mesh,
      geom,
      hypo,
      so = "libStdMeshersEngine.so"
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Hypothesis   self,
      hyp,
      args = [],
      so = "libStdMeshersEngine.so"
    -
    - - - - - -
    -   - - -

    -

    -


    Field Documentation

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.mesh = 0 [static]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.geom = 0 [static]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.subm = 0 [static]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.algo = 0 [static]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.mesh
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.geom
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.subm
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.algo
    -
    - - - - - -
    -   - - -

    -

    - - diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Algorithm__inherit__graph.jpg b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Algorithm__inherit__graph.jpg deleted file mode 100644 index 39dd1ddf8..000000000 Binary files a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Algorithm__inherit__graph.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Hexahedron.html b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Hexahedron.html deleted file mode 100644 index d177efa43..000000000 --- a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Hexahedron.html +++ /dev/null @@ -1,502 +0,0 @@ - - -SALOME - SMESH - v.version: smesh.Mesh_Hexahedron Class Reference - - - - -

    smesh.Mesh_Hexahedron Class Reference

    Class to define a hexahedron 3D algorithm. -More... -

    -Inheritance diagram for smesh.Mesh_Hexahedron:

    Inheritance graph
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    def __init__
     Private constructor.
    def GetSubMesh
    def GetAlgorithm
     Return the wrapped mesher.
    def TreatHypoStatus
     Private method.
    def Create
     Private method.
    def Hypothesis
     Private method.

    Data Fields

     mesh
     geom
     subm
     algo

    Static Public Attributes

    int mesh = 0
    int geom = 0
    int subm = 0
    int algo = 0
    -

    Detailed Description

    -More details. -

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Hexahedron.__init__   self,
      mesh,
      geom = 0
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetSubMesh   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetAlgorithm   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.TreatHypoStatus   self,
      status,
      hypName,
      geomName,
      isAlgo
    [inherited]
    -
    - - - - - -
    -   - - -

    -Print error message if a hypothesis was not assigned.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Create   self,
      mesh,
      geom,
      hypo,
      so = "libStdMeshersEngine.so"
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Hypothesis   self,
      hyp,
      args = [],
      so = "libStdMeshersEngine.so"
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    -


    Field Documentation

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.mesh = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.mesh [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.geom = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.geom [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.subm = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.subm [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.algo = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.algo [inherited]
    -
    - - - - - -
    -   - - -

    -

    - - diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Hexahedron__inherit__graph.jpg b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Hexahedron__inherit__graph.jpg deleted file mode 100644 index 4d1e65ac6..000000000 Binary files a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Hexahedron__inherit__graph.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Netgen.html b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Netgen.html deleted file mode 100644 index cab8462b2..000000000 --- a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Netgen.html +++ /dev/null @@ -1,590 +0,0 @@ - - -SALOME - SMESH - v.version: smesh.Mesh_Netgen Class Reference - - - - -

    smesh.Mesh_Netgen Class Reference

    Class to define a NETGEN-based 2D or 3D algorithm that need no discrete boundary (i.e. -More... -

    -Inheritance diagram for smesh.Mesh_Netgen:

    Inheritance graph
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    def __init__
     Private constructor.
    def Parameters
     Define hypothesis containing parameters of the algorithm.
    def GetSubMesh
    def GetAlgorithm
     Return the wrapped mesher.
    def TreatHypoStatus
     Private method.
    def Create
     Private method.
    def Hypothesis
     Private method.

    Data Fields

     is3D
     mesh
     geom
     subm
     algo

    Static Public Attributes

    int is3D = 0
    int mesh = 0
    int geom = 0
    int subm = 0
    int algo = 0
    -

    Detailed Description

    -independent)

    -More details. -

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Netgen.__init__   self,
      mesh,
      is3D,
      geom = 0
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Netgen.Parameters   self  ) 
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetSubMesh   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetAlgorithm   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.TreatHypoStatus   self,
      status,
      hypName,
      geomName,
      isAlgo
    [inherited]
    -
    - - - - - -
    -   - - -

    -Print error message if a hypothesis was not assigned.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Create   self,
      mesh,
      geom,
      hypo,
      so = "libStdMeshersEngine.so"
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Hypothesis   self,
      hyp,
      args = [],
      so = "libStdMeshersEngine.so"
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    -


    Field Documentation

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Netgen.is3D = 0 [static]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Netgen.is3D
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.mesh = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.mesh [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.geom = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.geom [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.subm = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.subm [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.algo = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.algo [inherited]
    -
    - - - - - -
    -   - - -

    -

    - - diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Netgen__inherit__graph.jpg b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Netgen__inherit__graph.jpg deleted file mode 100644 index d82cacddc..000000000 Binary files a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Netgen__inherit__graph.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Quadrangle.html b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Quadrangle.html deleted file mode 100644 index 8febcc801..000000000 --- a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Quadrangle.html +++ /dev/null @@ -1,533 +0,0 @@ - - -SALOME - SMESH - v.version: smesh.Mesh_Quadrangle Class Reference - - - - -

    smesh.Mesh_Quadrangle Class Reference

    Class to define a quadrangle 2D algorithm. -More... -

    -Inheritance diagram for smesh.Mesh_Quadrangle:

    Inheritance graph
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    def __init__
     Private constructor.
    def QuadranglePreference
     Define "QuadranglePreference" hypothesis, forcing construction of quadrangles if the number of nodes on opposite edges is not the same in the case where the global number of nodes on edges is even.
    def GetSubMesh
    def GetAlgorithm
     Return the wrapped mesher.
    def TreatHypoStatus
     Private method.
    def Create
     Private method.
    def Hypothesis
     Private method.

    Data Fields

     mesh
     geom
     subm
     algo

    Static Public Attributes

    int mesh = 0
    int geom = 0
    int subm = 0
    int algo = 0
    -

    Detailed Description

    -More details. -

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Quadrangle.__init__   self,
      mesh,
      geom = 0
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Quadrangle.QuadranglePreference   self  ) 
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetSubMesh   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetAlgorithm   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.TreatHypoStatus   self,
      status,
      hypName,
      geomName,
      isAlgo
    [inherited]
    -
    - - - - - -
    -   - - -

    -Print error message if a hypothesis was not assigned.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Create   self,
      mesh,
      geom,
      hypo,
      so = "libStdMeshersEngine.so"
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Hypothesis   self,
      hyp,
      args = [],
      so = "libStdMeshersEngine.so"
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    -


    Field Documentation

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.mesh = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.mesh [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.geom = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.geom [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.subm = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.subm [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.algo = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.algo [inherited]
    -
    - - - - - -
    -   - - -

    -

    - - diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Quadrangle__inherit__graph.jpg b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Quadrangle__inherit__graph.jpg deleted file mode 100644 index 38172d200..000000000 Binary files a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Quadrangle__inherit__graph.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment.html b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment.html deleted file mode 100644 index 53ca6c993..000000000 --- a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment.html +++ /dev/null @@ -1,858 +0,0 @@ - - -SALOME - SMESH - v.version: smesh.Mesh_Segment Class Reference - - - - -

    smesh.Mesh_Segment Class Reference

    Class to define a segment 1D algorithm for discretization. -More... -

    -Inheritance diagram for smesh.Mesh_Segment:

    Inheritance graph
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    def __init__
     Private constructor.
    def LocalLength
     Define "LocalLength" hypothesis to cut an edge in several segments with the same length.
    def NumberOfSegments
     Define "NumberOfSegments" hypothesis to cut an edge in several fixed number of segments.
    def Arithmetic1D
     Define "Arithmetic1D" hypothesis to cut an edge in several segments with arithmetic length increasing.
    def StartEndLength
     Define "StartEndLength" hypothesis to cut an edge in several segments with geometric length increasing.
    def Deflection1D
     Define "Deflection1D" hypothesis.
    def Propagation
     Define "Propagation" hypothesis that propagate all other hypothesis on all others edges that are in the opposite side in the case of quadrangular faces.
    def AutomaticLength
     Define "AutomaticLength" hypothesis.
    def QuadraticMesh
     Define "QuadraticMesh" hypothesis, forcing construction of quadratic edges.
    def GetSubMesh
    def GetAlgorithm
     Return the wrapped mesher.
    def TreatHypoStatus
     Private method.
    def Create
     Private method.
    def Hypothesis
     Private method.

    Data Fields

     mesh
     geom
     subm
     algo

    Static Public Attributes

    int mesh = 0
    int geom = 0
    int subm = 0
    int algo = 0
    -

    Detailed Description

    -More details. -

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment.__init__   self,
      mesh,
      geom = 0
    -
    - - - - - -
    -   - - -

    - -

    -Reimplemented in smesh.Mesh_Segment_Python.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment.LocalLength   self,
      l
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - -
    l for the length of segments that cut an edge
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment.NumberOfSegments   self,
      n,
      s = []
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - - -
    n for the number of segments that cut an edge
    s for the scale factor (optional)
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment.Arithmetic1D   self,
      start,
      end
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - - -
    start for the length of the first segment
    end for the length of the last segment
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment.StartEndLength   self,
      start,
      end
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - - -
    start for the length of the first segment
    end for the length of the last segment
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment.Deflection1D   self,
      d
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - -
    d for the deflection
    -
    -
    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Segment.Propagation   self  ) 
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment.AutomaticLength   self,
      fineness = 0
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - -
    fineness for the fineness [0-1]
    -
    -
    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Segment.QuadraticMesh   self  ) 
    -
    - - - - - -
    -   - - -

    -If the 2D mesher sees that all boundary edges are quadratic ones, it generates quadratic faces, else it generates linear faces using medium nodes as if they were vertex ones. The 3D mesher generates quadratic volumes only if all boundary faces are quadratic ones, else it fails.

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetSubMesh   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetAlgorithm   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.TreatHypoStatus   self,
      status,
      hypName,
      geomName,
      isAlgo
    [inherited]
    -
    - - - - - -
    -   - - -

    -Print error message if a hypothesis was not assigned.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Create   self,
      mesh,
      geom,
      hypo,
      so = "libStdMeshersEngine.so"
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Hypothesis   self,
      hyp,
      args = [],
      so = "libStdMeshersEngine.so"
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    -


    Field Documentation

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.mesh = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.mesh [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.geom = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.geom [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.subm = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.subm [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.algo = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.algo [inherited]
    -
    - - - - - -
    -   - - -

    -

    - - diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment__Python.html b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment__Python.html deleted file mode 100644 index 230c9c259..000000000 --- a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment__Python.html +++ /dev/null @@ -1,910 +0,0 @@ - - -SALOME - SMESH - v.version: smesh.Mesh_Segment_Python Class Reference - - - - -

    smesh.Mesh_Segment_Python Class Reference

    Class to define a segment 1D algorithm for discretization with python function. -More... -

    -Inheritance diagram for smesh.Mesh_Segment_Python:

    Inheritance graph
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    def __init__
     Private constructor.
    def PythonSplit1D
     Define "PythonSplit1D" hypothesis based on the Erwan Adam patch, awaiting equivalent SALOME functionality.
    def LocalLength
     Define "LocalLength" hypothesis to cut an edge in several segments with the same length.
    def NumberOfSegments
     Define "NumberOfSegments" hypothesis to cut an edge in several fixed number of segments.
    def Arithmetic1D
     Define "Arithmetic1D" hypothesis to cut an edge in several segments with arithmetic length increasing.
    def StartEndLength
     Define "StartEndLength" hypothesis to cut an edge in several segments with geometric length increasing.
    def Deflection1D
     Define "Deflection1D" hypothesis.
    def Propagation
     Define "Propagation" hypothesis that propagate all other hypothesis on all others edges that are in the opposite side in the case of quadrangular faces.
    def AutomaticLength
     Define "AutomaticLength" hypothesis.
    def QuadraticMesh
     Define "QuadraticMesh" hypothesis, forcing construction of quadratic edges.
    def GetSubMesh
    def GetAlgorithm
     Return the wrapped mesher.
    def TreatHypoStatus
     Private method.
    def Create
     Private method.
    def Hypothesis
     Private method.

    Data Fields

     mesh
     geom
     subm
     algo

    Static Public Attributes

    int mesh = 0
    int geom = 0
    int subm = 0
    int algo = 0
    -

    Detailed Description

    -More details. -

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment_Python.__init__   self,
      mesh,
      geom = 0
    -
    - - - - - -
    -   - - -

    - -

    -Reimplemented from smesh.Mesh_Segment.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment_Python.PythonSplit1D   self,
      n,
      func
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - - -
    n for the number of segments that cut an edge
    func for the python function that calculate the length of all segments
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment.LocalLength   self,
      l
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - -
    l for the length of segments that cut an edge
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment.NumberOfSegments   self,
      n,
      s = []
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - - -
    n for the number of segments that cut an edge
    s for the scale factor (optional)
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment.Arithmetic1D   self,
      start,
      end
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - - -
    start for the length of the first segment
    end for the length of the last segment
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment.StartEndLength   self,
      start,
      end
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - - -
    start for the length of the first segment
    end for the length of the last segment
    -
    -
    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment.Deflection1D   self,
      d
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - -
    d for the deflection
    -
    -
    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Segment.Propagation   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Segment.AutomaticLength   self,
      fineness = 0
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - -
    fineness for the fineness [0-1]
    -
    -
    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Segment.QuadraticMesh   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -If the 2D mesher sees that all boundary edges are quadratic ones, it generates quadratic faces, else it generates linear faces using medium nodes as if they were vertex ones. The 3D mesher generates quadratic volumes only if all boundary faces are quadratic ones, else it fails.

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetSubMesh   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetAlgorithm   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.TreatHypoStatus   self,
      status,
      hypName,
      geomName,
      isAlgo
    [inherited]
    -
    - - - - - -
    -   - - -

    -Print error message if a hypothesis was not assigned.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Create   self,
      mesh,
      geom,
      hypo,
      so = "libStdMeshersEngine.so"
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Hypothesis   self,
      hyp,
      args = [],
      so = "libStdMeshersEngine.so"
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    -


    Field Documentation

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.mesh = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.mesh [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.geom = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.geom [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.subm = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.subm [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.algo = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.algo [inherited]
    -
    - - - - - -
    -   - - -

    -

    - - diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment__Python__inherit__graph.jpg b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment__Python__inherit__graph.jpg deleted file mode 100644 index 68ae8f3e6..000000000 Binary files a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment__Python__inherit__graph.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment__inherit__graph.jpg b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment__inherit__graph.jpg deleted file mode 100644 index a5de47112..000000000 Binary files a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment__inherit__graph.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Tetrahedron.html b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Tetrahedron.html deleted file mode 100644 index e0064eea3..000000000 --- a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Tetrahedron.html +++ /dev/null @@ -1,553 +0,0 @@ - - -SALOME - SMESH - v.version: smesh.Mesh_Tetrahedron Class Reference - - - - -

    smesh.Mesh_Tetrahedron Class Reference

    Class to define a tetrahedron 3D algorithm. -More... -

    -Inheritance diagram for smesh.Mesh_Tetrahedron:

    Inheritance graph
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    def __init__
     Private constructor.
    def MaxElementVolume
     Define "MaxElementVolume" hypothesis to give the maximun volume of each tetrahedral.
    def GetSubMesh
    def GetAlgorithm
     Return the wrapped mesher.
    def TreatHypoStatus
     Private method.
    def Create
     Private method.
    def Hypothesis
     Private method.

    Data Fields

     mesh
     geom
     subm
     algo

    Static Public Attributes

    int mesh = 0
    int geom = 0
    int subm = 0
    int algo = 0
    -

    Detailed Description

    -More details. -

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Tetrahedron.__init__   self,
      mesh,
      algo,
      geom = 0
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Tetrahedron.MaxElementVolume   self,
      vol
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - -
    vol for the maximum volume of each tetrahedral
    -
    -
    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetSubMesh   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetAlgorithm   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.TreatHypoStatus   self,
      status,
      hypName,
      geomName,
      isAlgo
    [inherited]
    -
    - - - - - -
    -   - - -

    -Print error message if a hypothesis was not assigned.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Create   self,
      mesh,
      geom,
      hypo,
      so = "libStdMeshersEngine.so"
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Hypothesis   self,
      hyp,
      args = [],
      so = "libStdMeshersEngine.so"
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    -


    Field Documentation

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.mesh = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.mesh [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.geom = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.geom [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.subm = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.subm [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.algo = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.algo [inherited]
    -
    - - - - - -
    -   - - -

    -

    - - diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Tetrahedron__inherit__graph.jpg b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Tetrahedron__inherit__graph.jpg deleted file mode 100644 index 78d01b1be..000000000 Binary files a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Tetrahedron__inherit__graph.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Triangle.html b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Triangle.html deleted file mode 100644 index 718cfc3de..000000000 --- a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Triangle.html +++ /dev/null @@ -1,578 +0,0 @@ - - -SALOME - SMESH - v.version: smesh.Mesh_Triangle Class Reference - - - - -

    smesh.Mesh_Triangle Class Reference

    Class to define a triangle 2D algorithm. -More... -

    -Inheritance diagram for smesh.Mesh_Triangle:

    Inheritance graph
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    def __init__
     Private constructor.
    def MaxElementArea
     Define "MaxElementArea" hypothesis to give the maximun area of each triangles.
    def LengthFromEdges
     Define "LengthFromEdges" hypothesis to build triangles based on the length of the edges taken from the wire.
    def GetSubMesh
    def GetAlgorithm
     Return the wrapped mesher.
    def TreatHypoStatus
     Private method.
    def Create
     Private method.
    def Hypothesis
     Private method.

    Data Fields

     mesh
     geom
     subm
     algo

    Static Public Attributes

    int mesh = 0
    int geom = 0
    int subm = 0
    int algo = 0
    -

    Detailed Description

    -More details. -

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Triangle.__init__   self,
      mesh,
      geom = 0
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Triangle.MaxElementArea   self,
      area
    -
    - - - - - -
    -   - - -

    -

    Parameters:
    - - -
    area for the maximum area of each triangles
    -
    -
    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Triangle.LengthFromEdges   self  ) 
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetSubMesh   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - -
    def smesh.Mesh_Algorithm.GetAlgorithm   self  )  [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.TreatHypoStatus   self,
      status,
      hypName,
      geomName,
      isAlgo
    [inherited]
    -
    - - - - - -
    -   - - -

    -Print error message if a hypothesis was not assigned.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Create   self,
      mesh,
      geom,
      hypo,
      so = "libStdMeshersEngine.so"
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def smesh.Mesh_Algorithm.Hypothesis   self,
      hyp,
      args = [],
      so = "libStdMeshersEngine.so"
    [inherited]
    -
    - - - - - -
    -   - - -

    -

    -


    Field Documentation

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.mesh = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.mesh [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.geom = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.geom [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.subm = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.subm [inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.Mesh_Algorithm.algo = 0 [static, inherited]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    smesh.Mesh_Algorithm.algo [inherited]
    -
    - - - - - -
    -   - - -

    -

    - - diff --git a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Triangle__inherit__graph.jpg b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Triangle__inherit__graph.jpg deleted file mode 100644 index 30692a195..000000000 Binary files a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Triangle__inherit__graph.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/smeshpy_doc/doxygen.css b/doc/salome/gui/SMESH/smeshpy_doc/doxygen.css deleted file mode 100644 index dc9da5220..000000000 --- a/doc/salome/gui/SMESH/smeshpy_doc/doxygen.css +++ /dev/null @@ -1,218 +0,0 @@ -H1 { - text-align: center; - font-family: Geneva, Arial, Helvetica, sans-serif; -} -H2 { - font-family: Geneva, Arial, Helvetica, sans-serif; -} -CAPTION { font-weight: bold } -DIV.qindex { - width: 100%; - background-color: #eeeeff; - border: 1px solid #B0B0B0; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 120%; -} -A.qindex { - text-decoration: none; - font-weight: bold; - color: #1A419D; - padding: 2px; -} -A.qindex:visited { - text-decoration: none; - font-weight: bold; - color: #1A419D - padding: 2px; -} -A.qindex:hover { - text-decoration: none; - background-color: #ddddff; - padding: 2px; -} -A.qindexHL { - text-decoration: none; - font-weight: bold; - background-color: #6666cc; - color: #ffffff; - padding: 2px 6px; - border: 1px double #9295C2; -} -A.qindexHL:hover { - text-decoration: none; - background-color: #6666cc; - color: #ffffff; - padding: 2px 6px; -} -A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } -A.el { text-decoration: none; font-weight: bold } -A.elRef { font-weight: bold } -A.code { text-decoration: none; font-weight: normal; color: #1A419D} -A.codeRef { font-weight: normal; color: #1A419D} -A:hover { text-decoration: none; background-color: #f2f2ff } -DL.el { margin-left: -1cm } -PRE.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; - margin-top: 4px; - margin-bottom: 4px; - margin-left: 2px; - margin-right: 8px; - padding-left: 6px; - padding-right: 6px; - padding-top: 4px; - padding-bottom: 4px; -} -DIV.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; - padding: 6px; -} -DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } -TD.md { background-color: #F4F4FB; font-weight: bold; } -TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; } -TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; } -DIV.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: bold; - font-family: Geneva, Arial, Helvetica, sans-serif; -} -DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller } -BODY { - background: white; - color: black; - margin-right: 20px; - margin-left: 20px; -} -TD.indexkey { - background-color: #eeeeff; - font-weight: bold; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TD.indexvalue { - background-color: #eeeeff; - font-style: italic; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TR.memlist { - background-color: #f0f0f0; -} -P.formulaDsp { text-align: center; } -IMG.formulaDsp { } -IMG.formulaInl { vertical-align: middle; } -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 } -.mdTable { - border: 1px solid #868686; - background-color: #F4F4FB; -} -.mdRow { - padding: 8px 10px; -} -.mdescLeft { - font-size: smaller; - font-style: italic; - background-color: #FAFAFA; - padding-left: 8px; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.mdescRight { - font-size: smaller; - font-style: italic; - background-color: #FAFAFA; - padding-left: 4px; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; - padding-bottom: 0px; - padding-right: 8px; -} -.memItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-style: solid; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-family: Geneva, Arial, Helvetica, sans-serif; - font-size: 12px; -} -.memItemRight { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-style: solid; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-family: Geneva, Arial, Helvetica, sans-serif; - font-size: 13px; -} -.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: #eeeeff; -} -TD.tiny { font-size: 75%; -} -a { - color: #252E78; -} -a:visited { - color: #3D2185; -} diff --git a/doc/salome/gui/SMESH/smeshpy_doc/namespacesmesh.html b/doc/salome/gui/SMESH/smeshpy_doc/namespacesmesh.html deleted file mode 100644 index 130b8881f..000000000 --- a/doc/salome/gui/SMESH/smeshpy_doc/namespacesmesh.html +++ /dev/null @@ -1,268 +0,0 @@ - - -SALOME - SMESH - v.version: Package smesh - - - - -

    Package smesh

    -

    -Python package smesh defines several classes, destined for easy and clear mesh creation and edition. -

    Example.

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Data Structures

    class  Mesh_Algorithm
     Mother class to define algorithm, recommended to don't use directly. More...
    class  Mesh_Segment
     Class to define a segment 1D algorithm for discretization. More...
    class  Mesh_Segment_Python
     Class to define a segment 1D algorithm for discretization with python function. More...
    class  Mesh_Triangle
     Class to define a triangle 2D algorithm. More...
    class  Mesh_Quadrangle
     Class to define a quadrangle 2D algorithm. More...
    class  Mesh_Tetrahedron
     Class to define a tetrahedron 3D algorithm. More...
    class  Mesh_Hexahedron
     Class to define a hexahedron 3D algorithm. More...
    class  Mesh_Netgen
     Class to define a NETGEN-based 2D or 3D algorithm that need no discrete boundary (i.e. More...
    class  Mesh
     Class to define a mesh. More...

    Functions

    def GetName
    def SetName

    Variables

    int REGULAR = 1
    int PYTHON = 2
    int NETGEN = 3
    int GHS3D = 4
    tuple smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
    string NO_NAME = "NoName"
    -


    Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    def smesh.GetName   obj  ) 
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    def smesh.SetName   obj,
      name
    -
    - - - - - -
    -   - - -

    -

    -


    Variable Documentation

    -

    - - - - -
    - - - - -
    int smesh.REGULAR = 1 [static]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.PYTHON = 2 [static]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.NETGEN = 3 [static]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    int smesh.GHS3D = 4 [static]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    tuple smesh.smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH") [static]
    -
    - - - - - -
    -   - - -

    -

    -

    - - - - -
    - - - - -
    string smesh.NO_NAME = "NoName" [static]
    -
    - - - - - -
    -   - - -

    -

    - - diff --git a/doc/salome/gui/SMESH/static/doxygen.css b/doc/salome/gui/SMESH/static/doxygen.css new file mode 100755 index 000000000..88e613d23 --- /dev/null +++ b/doc/salome/gui/SMESH/static/doxygen.css @@ -0,0 +1,170 @@ +H1 { + text-align: center; +} + +CAPTION { + font-weight: bold +} + +/* Link in the top navbar */ +A.qindex {} + +A.qindexRef {} + +/* Link to any cross-referenced Doxygen element */ +A.el { + text-decoration: none; + font-weight: bold +} + +A.elRef { + font-weight: bold +} + +/* Link to any cross-referenced Doxygen element inside a code section + (ex: header) +*/ +A.code { + text-decoration: none; + font-weight: normal; + color: #4444ee +} + +A.codeRef { + font-weight: normal; + color: #4444ee +} + +A:hover { + text-decoration: none; + background-color: lightblue +} + +DL.el { + margin-left: -1cm +} + +/* A code fragment (ex: header) */ +DIV.fragment { + width: 100%; + border: none; + background-color: #CCCCCC +} + +/* In the alpha list (coumpound index), style of an alphabetical index letter */ +DIV.ah { + background-color: #CCCCCC; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px +} + +/* Method name (+ type) */ +TD.md { + background-color: lightblue; + font-weight: bold; +} + +/* Method parameter (some of them) */ +TD.mdname1 { + background-color: lightblue; + font-weight: bold; color: #602020; +} + +/* Method parameter (some of them) */ +TD.mdname { + background-color: lightblue; + font-weight: bold; + color: #602020; + width: 600px; +} + +/* Separator between methods group (usually empty, seems not supported by IE) */ +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold +} + +DIV.groupText { + margin-left: 16px; + font-style: italic; + font-size: smaller +} + +BODY { + background: #FFFFFF; +} + +/*div.div-page { + background-color: #FFFFFF; + margin-left: 1em; + margin-right: 1em; + margin-top: 1em; + margin-bottom: 0.1em; + + padding-left: 1em; + padding-right: 1em; + padding-top: 0.5em; + padding-bottom: 0.5em; + + border: 2px solid #0D299A; + border-width: 2px; + border-color: #0D299A; +}*/ + +div.tabs { + text-align: justify; + margin-left : 2px; + margin-right : 2px; + margin-top : 2px; + margin-bottom : 2px + font-weight: bold; + color: #FFFFFF; +} + +DIV.div-footer { + margin-left: 1em; + margin-right: 1em; + margin-bottom: 0.2em; + text-align: right; + font-size: 9pt; +} + +/* In File List, Coumpound List, etc, 1st column of the index */ +TD.indexkey { + background-color: #CCCCCC; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px +} + +/* In File List, Coumpound List, etc, 2nd column of the index */ +TD.indexvalue { + background-color: #CCCCCC; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px +} + +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 } diff --git a/doc/salome/gui/SMESH/static/footer.html b/doc/salome/gui/SMESH/static/footer.html new file mode 100755 index 000000000..56d52a61a --- /dev/null +++ b/doc/salome/gui/SMESH/static/footer.html @@ -0,0 +1,10 @@ + + + + + +


    +
    Copyright © 2003-2007 CEA, EDF
    +
    + + diff --git a/doc/salome/gui/SMESH/static/header.html b/doc/salome/gui/SMESH/static/header.html new file mode 100755 index 000000000..a70a95e30 --- /dev/null +++ b/doc/salome/gui/SMESH/static/header.html @@ -0,0 +1,12 @@ + + + + + $title + + +
    +
    +SALOME documentation central +
    +
    diff --git a/doc/salome/gui/SMESH/texture_horiz_ltbluebubbles.jpg b/doc/salome/gui/SMESH/texture_horiz_ltbluebubbles.jpg deleted file mode 100755 index a10d494a5..000000000 Binary files a/doc/salome/gui/SMESH/texture_horiz_ltbluebubbles.jpg and /dev/null differ diff --git a/doc/salome/gui/SMESH/transforming_meshes.htm b/doc/salome/gui/SMESH/transforming_meshes.htm deleted file mode 100755 index 078ea190b..000000000 --- a/doc/salome/gui/SMESH/transforming_meshes.htm +++ /dev/null @@ -1,866 +0,0 @@ - - - - - -Transforming Meshes - - - - - - - - - - - -

    Transforming Meshes

    - -

    Transforming Meshes

    - -

     

    - -

    Translation

    - -

     

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # translate a mesh

    - -

    anEditor = mesh.GetMeshEditor()

    - -

    point = SMESH.PointStruct(-150, -150, - 0)

    - -

    vector = SMESH.DirStruct(point)

    - -

    anEditor.TranslateObject(mesh, vector, - 1)

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Rotation

    - -

     

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    import math

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # rotate a mesh

    - -

    anEditor = mesh.GetMeshEditor()

    - -

    axisXYZ = SMESH.AxisStruct(0, 0, 0, 5, - 5, 20)

    - -

    angle180 =  1.5*math.pi

    - -

    anEditor.RotateObject(mesh, axisXYZ, angle180, - 1)

    - -

     

    - -

    salome.sg.updateObjBrowser(1)

    - -

     

    - -

     

    - -

    Symmetry

    - -

     

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    import math

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # create a symmetrical - copy of the mesh mirrored through a point

    - -

    anEditor = mesh.GetMeshEditor()

    - -

    anEditor.MirrorObject(mesh, SMESH.AxisStruct(0, - 0, 0, 0, 0, 0), SMESH.SMESH_MeshEditor.POINT, 1)

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

     

    - -

    Merging - Nodes

    - -

     

    - -

    import SMESH

    - -

    import SMESH_mechanic

    - -

     

    - -

    smesh  = - SMESH_mechanic.smesh

    - -

    mesh   = - SMESH_mechanic.mesh

    - -

    salome = SMESH_mechanic.salome

    - -

     

    - -

    # merge nodes

    - -

    aMeshEditor = mesh.GetMeshEditor()

    - -

    Tolerance = 25.0

    - -

     

    - -

    GroupsOfNodes = aMeshEditor.FindCoincidentNodes(Tolerance)

    - -

    aMeshEditor.MergeNodes(GroupsOfNodes)

    - -

        

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Merging Elements

    - -

    import geompy

    - -

    import smesh

    - -

    import salome

    - -

    import SMESH

    - -

     

    - -

    # create a face to be meshed

    - -

    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

    - -

     

    - -

    face1 = geompy.MakeFace(wire, - isPlanarFace)

    - -

    id_face1 = geompy.addToStudy(face1, - "Face1")

    - -

     

    - -

    # create a 2D mesh on the - face

    - -

    trias = smesh.Mesh(face1, - "Face : 2D mesh")

    - -

     

    - -

    algo = trias.Segment()

    - -

    algo.NumberOfSegments(6)

    - -

     

    - -

    algo = trias.Triangle()

    - -

    algo.LengthFromEdges()

    - -

     

    - -

    trias.Compute()

    - -

     

    - -

    tri_mesh = trias.GetMesh()

    - -

     

    - -

    # create a path mesh

    - -

    px1 = geompy.MakeVertex(100., - 100.  , - 0.  )

    - -

    py1 = geompy.MakeVertex(-100. -  , -100., - 0.  )

    - -

    pz1 = geompy.MakeVertex(0. -  , 0.  , - 50.)

    - -

     

    - -

    circle = geompy.MakeCircleThreePnt(py1, - pz1, px1)

    - -

    id_circle = geompy.addToStudy(circle, - "Path")

    - -

     

    - -

    circlemesh = smesh.Mesh(circle, - "Path mesh")

    - -

     

    - -

    algo = circlemesh.Segment()

    - -

    algo.NumberOfSegments(10)

    - -

     

    - -

    circlemesh.Compute()

    - -

     

    - -

    # extrusion of the mesh

    - -

    aMeshEditor = tri_mesh.GetMeshEditor()

    - -

    aMeshEditor.ExtrusionAlongPathObject(tri_mesh, - circlemesh.GetMesh(), circle, 1, 0, [], 0, SMESH.PointStruct(0, 0, 0))

    - -

     

    - -

    # merge nodes

    - -

    print "Number - of nodes before MergeNodes:", tri_mesh.NbNodes()

    - -

     

    - -

    tolerance = 0.001

    - -

    array_of_nodes_groups - = aMeshEditor.FindCoincidentNodes(tolerance)

    - -

    aMeshEditor.MergeNodes(array_of_nodes_groups)

    - -

     

    - -

    print "Number - of nodes after MergeNodes:", tri_mesh.NbNodes()

    - -

    print ""

    - -

    print "Number - of elements before MergeEqualElements:"

    - -

    print "Edges -      : - ", tri_mesh.NbEdges()

    - -

    print "Triangles -  : ", - tri_mesh.NbTriangles()

    - -

    print "Quadrangles: - ", tri_mesh.NbQuadrangles()

    - -

    print "Volumes -    : - ", tri_mesh.NbVolumes()

    - -

     

    - -

    # merge elements

    - -

    aMeshEditor.MergeEqualElements()

    - -

     

    - -

    print "Number - of elements after MergeEqualElements:"

    - -

    print "Edges -      : - ", tri_mesh.NbEdges()

    - -

    print "Triangles -  : ", - tri_mesh.NbTriangles()

    - -

    print "Quadrangles: - ", tri_mesh.NbQuadrangles()

    - -

    print "Volumes -    : - ", tri_mesh.NbVolumes()

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

    Sewing Meshes

    - -

    Sew Meshes Border to Border

    - -

    import salome

    - -

    import geompy

    - -

    import smesh

    - -

     

    - -

    # create two faces of a - box

    - -

    box1 = geompy.MakeBox(0., - 0., -10., 30., 20., 25.)

    - -

    subShapeList1 = - geompy.SubShapeAll(box1, geompy.ShapeType["FACE"])

    - -

     

    - -

    box2 = geompy.MakeBox(0., - 5., 0., 20., 20., 15.)

    - -

    subShapeList2 = - geompy.SubShapeAll(box2, geompy.ShapeType["FACE"])

    - -

    EdgesList = geompy.SubShapeAll(subShapeList2[ - 1 ], geompy.ShapeType["EDGE"])

    - -

     

    - -

    aComp = geompy.MakeCompound( - [subShapeList1[ 2 ], subShapeList2[ 1 ]] )

    - -

    idComp = geompy.addToStudy( - aComp, "Two faces" )

    - -

    aCompobj  = - salome.IDToObject( idComp )

    - -

     

    - -

    # create a mesh on two - faces

    - -

     

    - -

    mesh = smesh.Mesh(aCompobj, - "Two faces : quadrangle mesh")

    - -

    algo = mesh.Segment()

    - -

     

    - -

    # define "NumberOfSegments" - hypothesis to cut an edge in a fixed number of segments

    - -

    algo.NumberOfSegments(9)

    - -

     

    - -

    # create a quadrangle 2D - algorithm for faces

    - -

    mesh.Quadrangle()

    - -

     

    - -

    # create a local hypothesis

    - -

    algo = mesh.Segment(EdgesList[2])

    - -

     

    - -

    # define "Arithmetic1D" - hypothesis to cut an edge in several segments with increasing arithmetic - length

    - -

    algo.Arithmetic1D(1, - 4)

    - -

     

    - -

    # define "Propagation" - hypothesis that propagates all other hypothesis on all edges on the opposite - side in case of quadrangular faces

    - -

    algo.Propagation()

    - -

    mesh.Compute()

    - -

     

    - -

    # sew free borders

    - -

    anEditor = mesh.GetMesh().GetMeshEditor()

    - -

    anEditor.SewBorderToSide(5, - 45, 6, 113, 109, 0, 0)

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Sew Conform Free Borders

    - -

    import salome

    - -

    import geompy

    - -

    import smesh

    - -

     

    - -

    # create two faces of the - box

    - -

    box1 = geompy.MakeBox(0., - 0., -10., 20., 20., 15.)

    - -

    subShapeList1 = - geompy.SubShapeAll(box1, geompy.ShapeType["FACE"])

    - -

     

    - -

    box2 = geompy.MakeBox(0., - 5., 0., 20., 20., 15.)

    - -

    subShapeList2 = - geompy.SubShapeAll(box2, geompy.ShapeType["FACE"])

    - -

    EdgesList = geompy.SubShapeAll(subShapeList2[ - 1 ], geompy.ShapeType["EDGE"])

    - -

     

    - -

    aComp = geompy.MakeCompound( - [subShapeList1[ 2 ], subShapeList2[ 1 ]] )

    - -

    idComp = geompy.addToStudy( - aComp, "Two faces" )

    - -

    aCompobj  = - salome.IDToObject( idComp )

    - -

     

    - -

    # create a mesh on two - faces

    - -

    mesh = smesh.Mesh(aCompobj, - "Two faces : quadrangle mesh")

    - -

    algo = mesh.Segment()

    - -

     

    - -

    # define "NumberOfSegments" - hypothesis to cut an edge in a fixed number of segments

    - -

    algo.NumberOfSegments(9)

    - -

     

    - -

    # create a quadrangle 2D - algorithm for faces

    - -

    mesh.Quadrangle()

    - -

     

    - -

    # create a local hypothesis

    - -

    algo = mesh.Segment(EdgesList[2])

    - -

     

    - -

    # define "Arithmetic1D" - hypothesis to cut an edge in several segments with increasing arithmetic - length

    - -

    algo.Arithmetic1D(1, - 4)

    - -

     

    - -

    # define "Propagation" - hypothesis that propagate all other hypothesis on all edges on - the opposite side in case of quadrangular faces

    - -

    algo.Propagation()

    - -

    mesh.Compute()

    - -

     

    - -

    # sew free borders

    - -

    anEditor = mesh.GetMesh().GetMeshEditor()

    - -

    anEditor.SewConformFreeBorders(5, - 45, 6, 3, 24)

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Sew Free Borders

    - -

    import salome

    - -

    import geompy

    - -

    import smesh

    - -

     

    - -

    # create two faces of the - box

    - -

    box1 = geompy.MakeBox(0., - 0., 0., 20., 20., 15.)

    - -

    subShapeList1 = - geompy.SubShapeAll(box1, geompy.ShapeType["FACE"])

    - -

     

    - -

    box2 = geompy.MakeBox(0., - 5., 0., 20., 20., 15.)

    - -

    subShapeList2 = - geompy.SubShapeAll(box2, geompy.ShapeType["FACE"])

    - -

    EdgesList = geompy.SubShapeAll(subShapeList2[ - 1 ], geompy.ShapeType["EDGE"])

    - -

     

    - -

    aComp = geompy.MakeCompound( - [subShapeList1[ 2 ], subShapeList2[ 1 ]] )

    - -

    idComp = geompy.addToStudy( - aComp, "Two faces" )

    - -

    aCompobj  = - salome.IDToObject( idComp )

    - -

     

    - -

    # create a mesh on two - faces

    - -

    mesh = smesh.Mesh(aCompobj, - "Two faces : quadrangle mesh")

    - -

    algo = mesh.Segment()

    - -

     

    - -

    # define "NumberOfSegments" - hypothesis to cut an edge in a fixed number of segments

    - -

    algo.NumberOfSegments(4)

    - -

     

    - -

    # creates a quadrangle - 2D algorithm for faces

    - -

    mesh.Quadrangle()

    - -

     

    - -

    # create a local hypothesis

    - -

    algo = mesh.Segment(EdgesList[2])

    - -

     

    - -

    # define "Arithmetic1D" - hypothesis to cut an edge in several segments with  increasing - arithmetic length

    - -

    algo.Arithmetic1D(1, - 4)

    - -

     

    - -

    # define "Propagation" - hypothesis that propagate all other hypothesis on all edges on - the opposite side in case of quadrangular faces

    - -

    algo.Propagation()

    - -

    mesh.Compute()

    - -

     

    - -

    # sew free borders

    - -

    anEditor = mesh.GetMesh().GetMeshEditor()

    - -

    anEditor.SewFreeBorders(6, - 21, 5, 1, 12, 3, 0, 0)

    - -

     

    - -

    salome.sg.updateObjBrowser(1) -

    - -

     

    - -

    Sew Side Elements

    - -

    import salome

    - -

    import geompy

    - -

    import smesh

    - -

     

    - -

    # create two faces of the - box

    - -

    box1 = geompy.MakeBox(0., -  0., 0., - 10., 10., 10.)

    - -

    box2 = geompy.MakeBox(0., - 15., 0., 20., 25., 10.)

    - -

    EdgesList = geompy.SubShapeAll(box2, - geompy.ShapeType["EDGE"])

    - -

     

    - -

    aComp = geompy.MakeCompound( - [box1, box2] )

    - -

    idComp = geompy.addToStudy( - aComp, "Two faces" )

    - -

    aCompobj  = - salome.IDToObject( idComp )

    - -

     

    - -

    # create a mesh on two - faces

    - -

    mesh = smesh.Mesh(aCompobj, - "Two faces : quadrangle mesh")

    - -

    algo = mesh.Segment()

    - -

     

    - -

    # define "NumberOfSegments" - hypothesis to cut an edge in a fixed number of segments

    - -

    algo.NumberOfSegments(2)

    - -

     

    - -

    # create a quadrangle 2D - algorithm for faces

    - -

    mesh.Quadrangle()

    - -

     

    - -

    # create a local hypothesis

    - -

    algo = mesh.Segment(EdgesList[8])

    - -

     

    - -

    # define "Arithmetic1D" - hypothesis to cut an edge in several segments with increasing arithmetic - length

    - -

    algo.NumberOfSegments(4)

    - -

     

    - -

    # define "Propagation" - hypothesis that propagates all other hypothesis on all edges on the opposite side in case - of quadrangular faces

    - -

    algo.Propagation()

    - -

    mesh.Compute()

    - -

     

    - -

    # sew free borders

    - -

    anEditor = mesh.GetMesh().GetMeshEditor()

    - -

    anEditor.SewSideElements([69, - 70, 71, 72], [91, 92, 89, 90], 8, 38, 23, 58)

    - -

    salome.sg.updateObjBrowser(1) -

    - - - - diff --git a/doc/salome/gui/SMESH/transparency.htm b/doc/salome/gui/SMESH/transparency.htm deleted file mode 100755 index 9f9244643..000000000 --- a/doc/salome/gui/SMESH/transparency.htm +++ /dev/null @@ -1,98 +0,0 @@ - - - - - -Transparency - - - - - - - - - - - - -

    Transparency

    - -

    - -

     

    - -

    Using this slider you can set the transparency of shading. Absolutely - transparent shading will be invisible. By default it is absolutely opaque. -  

    - -

     

    - - - - diff --git a/doc/salome/gui/SMESH/viewing_meshes.htm b/doc/salome/gui/SMESH/viewing_meshes.htm deleted file mode 100755 index a04fe708b..000000000 --- a/doc/salome/gui/SMESH/viewing_meshes.htm +++ /dev/null @@ -1,256 +0,0 @@ - - - - - -Viewing Meshes - - - - - - - - - - - -

    Viewing Meshes

    - -

    Viewing Mesh Infos

    - -

    Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use smesh package. -
      - -

    import salome

    - -

    import geompy

    - -

    import SMESH

    - -

    import StdMeshers

    - -

     

    - -

    smesh = salome.lcc.FindOrLoadComponent("FactoryServer", - "SMESH")

    - -

    smesh.SetCurrentStudy(salome.myStudy)

    - -

     

    - -

    box   = - geompy.MakeBox(0., 0., 0., 20., 20., 20.)

    - -

    idbox = geompy.addToStudy(box, "box")

    - -

     

    - -

    subShapeList = geompy.SubShapeAll(box, - geompy.ShapeType["EDGE"])

    - -

    edge   = - subShapeList[0]

    - -

    name   = - geompy.SubShapeName(edge, box)

    - -

    idedge = geompy.addToStudyInFather(box, - edge, name)

    - -

     

    - -

    box  = - salome.IDToObject(idbox)

    - -

    edge = salome.IDToObject(idedge)

    - -

     

    - -

    hyp1 = smesh.CreateHypothesis("NumberOfSegments", - "libStdMeshersEngine.so")

    - -

    hyp1.SetNumberOfSegments(3)

    - -

    hyp2 = smesh.CreateHypothesis("MaxElementArea", - "libStdMeshersEngine.so")

    - -

    hyp2.SetMaxElementArea(10)

    - -

    hyp3 = smesh.CreateHypothesis("Arithmetic1D", - "libStdMeshersEngine.so")

    - -

    hyp3.SetLength(1,1)

    - -

    hyp3.SetLength(6,0)

    - -

    hyp4 = smesh.CreateHypothesis("Propagation", - "libStdMeshersEngine.so")

    - -

     

    - -

    algo1 = smesh.CreateHypothesis("Regular_1D", - "libStdMeshersEngine.so")

    - -

    algo2 = smesh.CreateHypothesis("MEFISTO_2D", - "libStdMeshersEngine.so")

    - -

    mesh = smesh.CreateMesh(box)

    - -

     

    - -

    mesh.AddHypothesis(box,hyp1)

    - -

    mesh.AddHypothesis(box,hyp2)

    - -

    mesh.AddHypothesis(box,algo1)

    - -

    mesh.AddHypothesis(box,algo2)

    - -

    mesh.AddHypothesis(edge,hyp3)

    - -

    mesh.AddHypothesis(edge,hyp4)

    - -

    mesh.AddHypothesis(edge,algo1)

    - -

    smesh.Compute(mesh,box)

    - -

    salome.sg.updateObjBrowser(1)

    - -

     

    - -

    # remove one hypothesis

    - -

    mesh.RemoveHypothesis(edge,hyp4)

    - -

    smesh.Compute(mesh,box)

    - -

    salome.sg.updateObjBrowser(1)

    - -

     

    - -

    # change the value - of the hypothesis

    - -

    hyp2.SetMaxElementArea(2)

    - -

    mesh.AddHypothesis(box,hyp2)

    - -

    smesh.Compute(mesh,box)

    - -

    print "Information about mesh:"

    - -

    print "Number of nodes       : - ", mesh.NbNodes()

    - -

    print "Number of edges       : - ", mesh.NbEdges()

    - -

    print "Number of faces       : - ", mesh.NbFaces()

    - -

    print "Number of triangles   : - ", mesh.NbTriangles()

    - -

    print "Number of quadrangles : ", - mesh.NbQuadrangles()

    - -

    print "Number of polygons    : - ", mesh.NbPolygons()

    - -

    print "Number of volumes     : - ", mesh.NbVolumes()

    - -

    print "Number of tetrahedrons: ", - mesh.NbTetras()

    - -

    print "Number of hexahedrons : ", - mesh.NbHexas()

    - -

    print "Number of prisms      : - ", mesh.NbPrisms()

    - -

    print "Number of pyramids    : - ", mesh.NbPyramids()

    - -

    print "Number of polyhedrons : ", - mesh.NbPolyhedrons()

    - -

    salome.sg.updateObjBrowser(1)

    - -

     

    - - - - diff --git a/doc/salome/gui/SMESH/volume.htm b/doc/salome/gui/SMESH/volume.htm deleted file mode 100755 index f55993eaf..000000000 --- a/doc/salome/gui/SMESH/volume.htm +++ /dev/null @@ -1,123 +0,0 @@ - - - - - -Volume - - - - - - - - - - - -

    Volume

    - -

    Volume mesh quality - criterion reflects the volume of meshes of a 3D object.

    - -

    - -

    To - apply the Volume quality criterion to your mesh:

    - -

    1. Display your mesh in the viewer.

    - -

    2. Choose Controls - > Volume or click button in 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 a Volume quality control operation. -  

    - -

     

    - -

     

    - -

     

    - - - - diff --git a/doc/salome/gui/SMESH/webhelp.cab b/doc/salome/gui/SMESH/webhelp.cab deleted file mode 100755 index b942f642f..000000000 Binary files a/doc/salome/gui/SMESH/webhelp.cab and /dev/null differ diff --git a/doc/salome/gui/SMESH/webhelp.jar b/doc/salome/gui/SMESH/webhelp.jar deleted file mode 100755 index 53b266636..000000000 Binary files a/doc/salome/gui/SMESH/webhelp.jar and /dev/null differ diff --git a/doc/salome/gui/SMESH/whcsh_home.htm b/doc/salome/gui/SMESH/whcsh_home.htm deleted file mode 100755 index 5a486ba28..000000000 --- a/doc/salome/gui/SMESH/whcsh_home.htm +++ /dev/null @@ -1,600 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whcshdata.htm b/doc/salome/gui/SMESH/whcshdata.htm deleted file mode 100755 index 14d55202c..000000000 --- a/doc/salome/gui/SMESH/whcshdata.htm +++ /dev/null @@ -1,87 +0,0 @@ - - -Mesh Module Reference Manual - - - - - - - - - - diff --git a/doc/salome/gui/SMESH/whd_dpns.htm b/doc/salome/gui/SMESH/whd_dpns.htm deleted file mode 100755 index 1bca23603..000000000 --- a/doc/salome/gui/SMESH/whd_dpns.htm +++ /dev/null @@ -1,43 +0,0 @@ - - -Navigator Pane - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whd_hide0.gif b/doc/salome/gui/SMESH/whd_hide0.gif deleted file mode 100755 index 97ea0bb6d..000000000 Binary files a/doc/salome/gui/SMESH/whd_hide0.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_hide1.gif b/doc/salome/gui/SMESH/whd_hide1.gif deleted file mode 100755 index 97ea0bb6d..000000000 Binary files a/doc/salome/gui/SMESH/whd_hide1.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_hide2.gif b/doc/salome/gui/SMESH/whd_hide2.gif deleted file mode 100755 index 97ea0bb6d..000000000 Binary files a/doc/salome/gui/SMESH/whd_hide2.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_next0.gif b/doc/salome/gui/SMESH/whd_next0.gif deleted file mode 100755 index d92dda522..000000000 Binary files a/doc/salome/gui/SMESH/whd_next0.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_next1.gif b/doc/salome/gui/SMESH/whd_next1.gif deleted file mode 100755 index d92dda522..000000000 Binary files a/doc/salome/gui/SMESH/whd_next1.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_next2.gif b/doc/salome/gui/SMESH/whd_next2.gif deleted file mode 100755 index d92dda522..000000000 Binary files a/doc/salome/gui/SMESH/whd_next2.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_nvp10.htm b/doc/salome/gui/SMESH/whd_nvp10.htm deleted file mode 100755 index a57fe1e49..000000000 --- a/doc/salome/gui/SMESH/whd_nvp10.htm +++ /dev/null @@ -1,15 +0,0 @@ - - -Navigation Pane - - - - - - - - - - - - diff --git a/doc/salome/gui/SMESH/whd_nvp20.htm b/doc/salome/gui/SMESH/whd_nvp20.htm deleted file mode 100755 index c5754bc41..000000000 --- a/doc/salome/gui/SMESH/whd_nvp20.htm +++ /dev/null @@ -1,334 +0,0 @@ - - -navigation pane - - - - - - - - - - - - - - - - - diff --git a/doc/salome/gui/SMESH/whd_prev0.gif b/doc/salome/gui/SMESH/whd_prev0.gif deleted file mode 100755 index 518561a0d..000000000 Binary files a/doc/salome/gui/SMESH/whd_prev0.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_prev1.gif b/doc/salome/gui/SMESH/whd_prev1.gif deleted file mode 100755 index 518561a0d..000000000 Binary files a/doc/salome/gui/SMESH/whd_prev1.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_prev2.gif b/doc/salome/gui/SMESH/whd_prev2.gif deleted file mode 100755 index 518561a0d..000000000 Binary files a/doc/salome/gui/SMESH/whd_prev2.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_show0.gif b/doc/salome/gui/SMESH/whd_show0.gif deleted file mode 100755 index 60e8e6897..000000000 Binary files a/doc/salome/gui/SMESH/whd_show0.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_show1.gif b/doc/salome/gui/SMESH/whd_show1.gif deleted file mode 100755 index 60e8e6897..000000000 Binary files a/doc/salome/gui/SMESH/whd_show1.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_show2.gif b/doc/salome/gui/SMESH/whd_show2.gif deleted file mode 100755 index 60e8e6897..000000000 Binary files a/doc/salome/gui/SMESH/whd_show2.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_sync0.gif b/doc/salome/gui/SMESH/whd_sync0.gif deleted file mode 100755 index 1a9785ce6..000000000 Binary files a/doc/salome/gui/SMESH/whd_sync0.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_sync1.gif b/doc/salome/gui/SMESH/whd_sync1.gif deleted file mode 100755 index 1a9785ce6..000000000 Binary files a/doc/salome/gui/SMESH/whd_sync1.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_sync2.gif b/doc/salome/gui/SMESH/whd_sync2.gif deleted file mode 100755 index 1a9785ce6..000000000 Binary files a/doc/salome/gui/SMESH/whd_sync2.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_tab0.gif b/doc/salome/gui/SMESH/whd_tab0.gif deleted file mode 100755 index 955c42f47..000000000 Binary files a/doc/salome/gui/SMESH/whd_tab0.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_tab1.gif b/doc/salome/gui/SMESH/whd_tab1.gif deleted file mode 100755 index b3ec41d6d..000000000 Binary files a/doc/salome/gui/SMESH/whd_tab1.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_tab2.gif b/doc/salome/gui/SMESH/whd_tab2.gif deleted file mode 100755 index 08fb0ce4f..000000000 Binary files a/doc/salome/gui/SMESH/whd_tab2.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_tab3.gif b/doc/salome/gui/SMESH/whd_tab3.gif deleted file mode 100755 index 1819c8e8f..000000000 Binary files a/doc/salome/gui/SMESH/whd_tab3.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_tab4.gif b/doc/salome/gui/SMESH/whd_tab4.gif deleted file mode 100755 index 1a6fc4f4a..000000000 Binary files a/doc/salome/gui/SMESH/whd_tab4.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_tab5.gif b/doc/salome/gui/SMESH/whd_tab5.gif deleted file mode 100755 index 934019260..000000000 Binary files a/doc/salome/gui/SMESH/whd_tab5.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_tab6.gif b/doc/salome/gui/SMESH/whd_tab6.gif deleted file mode 100755 index fe312d238..000000000 Binary files a/doc/salome/gui/SMESH/whd_tab6.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_tab7.gif b/doc/salome/gui/SMESH/whd_tab7.gif deleted file mode 100755 index 3b95ae24e..000000000 Binary files a/doc/salome/gui/SMESH/whd_tab7.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_tab8.gif b/doc/salome/gui/SMESH/whd_tab8.gif deleted file mode 100755 index c80acc8d5..000000000 Binary files a/doc/salome/gui/SMESH/whd_tab8.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_tabs.htm b/doc/salome/gui/SMESH/whd_tabs.htm deleted file mode 100755 index 1568f573d..000000000 --- a/doc/salome/gui/SMESH/whd_tabs.htm +++ /dev/null @@ -1,533 +0,0 @@ - - -WebHelp Tabs Frame in Navigation Pane - - - - - - - - - - - \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whd_toc1.gif b/doc/salome/gui/SMESH/whd_toc1.gif deleted file mode 100755 index 11017258c..000000000 Binary files a/doc/salome/gui/SMESH/whd_toc1.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_toc2.gif b/doc/salome/gui/SMESH/whd_toc2.gif deleted file mode 100755 index 975e5f6f4..000000000 Binary files a/doc/salome/gui/SMESH/whd_toc2.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_toc3.gif b/doc/salome/gui/SMESH/whd_toc3.gif deleted file mode 100755 index 4b8122f0f..000000000 Binary files a/doc/salome/gui/SMESH/whd_toc3.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_toc4.gif b/doc/salome/gui/SMESH/whd_toc4.gif deleted file mode 100755 index 3f9a03686..000000000 Binary files a/doc/salome/gui/SMESH/whd_toc4.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_topic.xml b/doc/salome/gui/SMESH/whd_topic.xml deleted file mode 100755 index a1b0320fb..000000000 --- a/doc/salome/gui/SMESH/whd_topic.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - -"]]> - - - - -"]]> - - - - -"; -OutputInTopicNavBarDataWebSearch.form();]]> - - - - - - - - - - -"]]> - - - diff --git a/doc/salome/gui/SMESH/whd_wbsh0.gif b/doc/salome/gui/SMESH/whd_wbsh0.gif deleted file mode 100755 index 383688e7c..000000000 Binary files a/doc/salome/gui/SMESH/whd_wbsh0.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_wbsh1.gif b/doc/salome/gui/SMESH/whd_wbsh1.gif deleted file mode 100755 index 383688e7c..000000000 Binary files a/doc/salome/gui/SMESH/whd_wbsh1.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whd_wbsh2.gif b/doc/salome/gui/SMESH/whd_wbsh2.gif deleted file mode 100755 index 383688e7c..000000000 Binary files a/doc/salome/gui/SMESH/whd_wbsh2.gif and /dev/null differ diff --git a/doc/salome/gui/SMESH/whdata/whftdata.js b/doc/salome/gui/SMESH/whdata/whftdata.js deleted file mode 100755 index 071ae6fc7..000000000 --- a/doc/salome/gui/SMESH/whdata/whftdata.js +++ /dev/null @@ -1,25 +0,0 @@ -// WebHelp 5.10.001 -var gTEA = new Array(); -function aTE(sTopicTitle, sTopicURL) -{ - var len = gTEA.length; - gTEA[len] = new topicEntry(sTopicTitle, sTopicURL); -} - -function topicEntry(sTopicTitle, sTopicURL) -{ - this.sTopicTitle = sTopicTitle; - this.sTopicURL = sTopicURL; -} - -function window_OnLoad() -{ - if (parent && parent != this) { - if (parent.putFtsTData) - { - parent.putFtsTData(gTEA); - } - } -} - -window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whftdata0.htm b/doc/salome/gui/SMESH/whdata/whftdata0.htm deleted file mode 100755 index fc446b19a..000000000 --- a/doc/salome/gui/SMESH/whdata/whftdata0.htm +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - diff --git a/doc/salome/gui/SMESH/whdata/whfts.htm b/doc/salome/gui/SMESH/whdata/whfts.htm deleted file mode 100755 index 15e5cf489..000000000 --- a/doc/salome/gui/SMESH/whdata/whfts.htm +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whfts.js b/doc/salome/gui/SMESH/whdata/whfts.js deleted file mode 100755 index 2b6678690..000000000 --- a/doc/salome/gui/SMESH/whdata/whfts.js +++ /dev/null @@ -1,40 +0,0 @@ -// WebHelp 5.10.001 -var gaFileMapping = new Array(); -var gaFileTopicMapping = new Array(); - -function fileMapping(sStartKey, sEndKey, sFileName) -{ - this.sStartKey = sStartKey; - this.sEndKey = sEndKey; - this.sFileName = sFileName; - this.aFtsKeys = null; -} - -function fileTopicMapping(nIdBegin, nIdEnd, sFileName) -{ - this.nBegin = nIdBegin; - this.nEnd = nIdEnd; - this.sFileName = sFileName; - this.aTopics = null; -} - - -function iWM(sStartKey, sEndKey, sFileName) -{ - gaFileMapping[gaFileMapping.length] = new fileMapping(sStartKey, sEndKey, sFileName); -} - -function window_OnLoad() -{ - if (parent && parent != this && parent.ftsReady) - { - parent.ftsReady(gaFileMapping, gaFileTopicMapping); - } -} - -function iTM(nIdBegin, nIdEnd, sFileName) -{ - gaFileTopicMapping[gaFileTopicMapping.length] = new fileTopicMapping(nIdBegin, nIdEnd, sFileName); -} - -window.onload = window_OnLoad; diff --git a/doc/salome/gui/SMESH/whdata/whfwdata.js b/doc/salome/gui/SMESH/whdata/whfwdata.js deleted file mode 100755 index e9e8bc6c1..000000000 --- a/doc/salome/gui/SMESH/whdata/whfwdata.js +++ /dev/null @@ -1,37 +0,0 @@ -// WebHelp 5.10.001 -var gWEA = new Array(); -function aWE() -{ - var len = gWEA.length; - gWEA[len] = new ftsEntry(aWE.arguments); -} - -function ftsEntry(fn_arguments) -{ - if (fn_arguments.length && fn_arguments.length >= 1) - { - this.sItemName = fn_arguments[0]; - this.aTopics = null; - var nLen = fn_arguments.length; - if (nLen > 1) - { - this.aTopics = new Array(); - for (var i = 0; i < nLen - 1; i ++ ) - { - this.aTopics[i] = fn_arguments[i + 1]; - } - } - } -} - -function window_OnLoad() -{ - if (parent && parent != this) { - if (parent.putFtsWData) - { - parent.putFtsWData(gWEA); - } - } -} - -window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whfwdata0.htm b/doc/salome/gui/SMESH/whdata/whfwdata0.htm deleted file mode 100755 index c31f4e4ff..000000000 --- a/doc/salome/gui/SMESH/whdata/whfwdata0.htm +++ /dev/null @@ -1,1317 +0,0 @@ - - - - - - - - - - - diff --git a/doc/salome/gui/SMESH/whdata/whgdata.js b/doc/salome/gui/SMESH/whdata/whgdata.js deleted file mode 100755 index 77e0107f3..000000000 --- a/doc/salome/gui/SMESH/whdata/whgdata.js +++ /dev/null @@ -1,26 +0,0 @@ -// WebHelp 5.10.001 -var gIEA = new Array(); -function aGE(sName, sDef) -{ - var len = gIEA.length; - gIEA[len] = new gloEntry(sName, sDef); -} - -function gloEntry(sName, sDef) -{ - this.sName = sName; - this.sDef = sDef; - this.nNKOff = 0; -} - -function window_OnLoad() -{ - if (parent && parent != this) { - if (parent.putData) - { - parent.putData(gIEA); - } - } -} - -window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whgdata0.htm b/doc/salome/gui/SMESH/whdata/whgdata0.htm deleted file mode 100755 index 9d256b1a8..000000000 --- a/doc/salome/gui/SMESH/whdata/whgdata0.htm +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - diff --git a/doc/salome/gui/SMESH/whdata/whglo.htm b/doc/salome/gui/SMESH/whdata/whglo.htm deleted file mode 100755 index dc5a67786..000000000 --- a/doc/salome/gui/SMESH/whdata/whglo.htm +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whglo.js b/doc/salome/gui/SMESH/whdata/whglo.js deleted file mode 100755 index e0519afcb..000000000 --- a/doc/salome/gui/SMESH/whdata/whglo.js +++ /dev/null @@ -1,34 +0,0 @@ -// WebHelp 5.10.001 -var gaFileMapping = new Array(); -function fileMapping(sBK, sEK, sFileName, nNum) -{ - this.sBK = sBK; - this.sEK = sEK; - this.sFileName = sFileName; - this.aKs = null; - this.nNum = nNum; - this.oUsedItems = null; -} - - -function iFM(sBK, sEK, sFileName, nNum) -{ - var i = gaFileMapping.length; - gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum); - if (i == 0) { - gaFileMapping[i].nTotal = nNum; - } - else { - gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal; - } -} - -function window_OnLoad() -{ - if (parent && parent != this && parent.projReady) - { - parent.projReady(gaFileMapping); - } -} - -window.onload = window_OnLoad; diff --git a/doc/salome/gui/SMESH/whdata/whidata.js b/doc/salome/gui/SMESH/whdata/whidata.js deleted file mode 100755 index 9f0eb15ed..000000000 --- a/doc/salome/gui/SMESH/whdata/whidata.js +++ /dev/null @@ -1,89 +0,0 @@ -// WebHelp 5.10.001 -// const strings -var gIEA = new Array(); -function aIE() -{ - var len = gIEA.length; - gIEA[len] = new indexEntry(aIE.arguments); -} - -function topic(sName, sURL) -{ - this.sName = sName; - this.sURL = sURL; -} - -function indexEntry(fn_arguments) -{ - if (fn_arguments.length && fn_arguments.length >= 3) - { - this.nType = fn_arguments[0]; - this.nPKOff = 0; - this.nNKOff = fn_arguments[1]; - this.sName = fn_arguments[2]; - this.aTopics = null; - var nLen = fn_arguments.length; - if (Math.floor(nLen / 2) * 2 == nLen) - { - this.sTarget = fn_arguments[3]; - if (nLen > 5) - { - this.aTopics = new Array(); - for (var i = 0; i < (nLen - 5)/2; i++) - { - this.aTopics[i] = new topic(fn_arguments[i * 2 + 4], fn_arguments[i * 2 + 5]); - } - } - - } - else - { - if (nLen > 4) - { - this.aTopics = new Array(); - for (var i = 0; i < (nLen - 4)/2; i++) - { - this.aTopics[i] = new topic(fn_arguments[i * 2 + 3], fn_arguments[i * 2 + 4]); - } - } - } - } -} - -function getIndexTopicMappingList(nItemIndex) -{ - var sTopics = ""; - if (gIEA.length > nItemIndex) - { - if (gIEA[nItemIndex].aTopics) - { - var i = 0; - var nLen = gIEA[nItemIndex].aTopics.length; - for (i = 0; i < nLen; i ++) - { - sTopics += "," + gIEA[nItemIndex].aTopics[i]; - } - } - } - return sTopics; -} - -function window_OnLoad() -{ - if (parent && parent != this) { - if (parent.putData) - { - for (var i = 0; i < gIEA.length; i ++ ) - { - if (gIEA[i].nNKOff != 0 && i + gIEA[i].nNKOff + 1 < gIEA.length) - { - - gIEA[i + gIEA[i].nNKOff + 1].nPKOff = gIEA[i].nNKOff; - } - } - parent.putData(gIEA); - } - } -} - -window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whidx.htm b/doc/salome/gui/SMESH/whdata/whidx.htm deleted file mode 100755 index 0a0deedd0..000000000 --- a/doc/salome/gui/SMESH/whdata/whidx.htm +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whidx.js b/doc/salome/gui/SMESH/whdata/whidx.js deleted file mode 100755 index e0519afcb..000000000 --- a/doc/salome/gui/SMESH/whdata/whidx.js +++ /dev/null @@ -1,34 +0,0 @@ -// WebHelp 5.10.001 -var gaFileMapping = new Array(); -function fileMapping(sBK, sEK, sFileName, nNum) -{ - this.sBK = sBK; - this.sEK = sEK; - this.sFileName = sFileName; - this.aKs = null; - this.nNum = nNum; - this.oUsedItems = null; -} - - -function iFM(sBK, sEK, sFileName, nNum) -{ - var i = gaFileMapping.length; - gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum); - if (i == 0) { - gaFileMapping[i].nTotal = nNum; - } - else { - gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal; - } -} - -function window_OnLoad() -{ - if (parent && parent != this && parent.projReady) - { - parent.projReady(gaFileMapping); - } -} - -window.onload = window_OnLoad; diff --git a/doc/salome/gui/SMESH/whdata/whtdata.js b/doc/salome/gui/SMESH/whdata/whtdata.js deleted file mode 100755 index d5428a7de..000000000 --- a/doc/salome/gui/SMESH/whdata/whtdata.js +++ /dev/null @@ -1,64 +0,0 @@ -// WebHelp 5.10.001 -var gTEA = new Array(); -function aTE() -{ - gTEA[gTEA.length] = new tocEntry(aTE.arguments); -} - -function tocEntry(fn_arguments) -{ - if (fn_arguments.length < 3) - { - alert ("data format wrong!!!"); - return; - } - - this.nType = fn_arguments[0]; - this.nContents = fn_arguments[1]; - this.sItemName = fn_arguments[2]; - - if (this.nType == 1 || this.nType == 2 || this.nType == 16) - { - if (fn_arguments.length > 3) - { - this.sItemURL = fn_arguments[3]; - if (fn_arguments.length > 4) - { - this.sTarget = fn_arguments[4]; - if (fn_arguments.length > 5) - this.sIconRef = fn_arguments[5]; - } - } - } - if (this.nType == 4 || this.nType == 8) - { - if (fn_arguments.length > 3) - { - this.sRefURL = fn_arguments[3]; - if (this.nType == 4) - { - if(this.sRefURL.lastIndexOf("/")!=this.sRefURL.length-1) - this.sRefURL+="/"; - } - if (fn_arguments.length > 4) - { - this.sItemURL = fn_arguments[4]; - if (fn_arguments.length > 5) - { - this.sTarget = fn_arguments[5]; - if (fn_arguments.length > 6) - this.sIconRef = fn_arguments[6]; - } - } - } - } -} - - -function window_OnLoad() -{ - if (parent && parent != this && parent.putData) { - parent.putData(gTEA); - } -} -window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whtdata0.htm b/doc/salome/gui/SMESH/whdata/whtdata0.htm deleted file mode 100755 index a39e4b369..000000000 --- a/doc/salome/gui/SMESH/whdata/whtdata0.htm +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - diff --git a/doc/salome/gui/SMESH/whdata/whtoc.htm b/doc/salome/gui/SMESH/whdata/whtoc.htm deleted file mode 100755 index 54e0cbf26..000000000 --- a/doc/salome/gui/SMESH/whdata/whtoc.htm +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whtoc.js b/doc/salome/gui/SMESH/whdata/whtoc.js deleted file mode 100755 index 163d8cc9f..000000000 --- a/doc/salome/gui/SMESH/whdata/whtoc.js +++ /dev/null @@ -1,31 +0,0 @@ -// WebHelp 5.10.001 -// const strings -var gaProj = new Array(); -var gsRoot = ""; - -function setRoot(sRoot) -{ - gsRoot = sRoot -} - -function aPE(sProjPath, sRootPath) -{ - gaProj[gaProj.length] = new tocProjEntry(sProjPath, sRootPath); -} - -function tocProjEntry(sProjPath, sRootPath) -{ - if(sProjPath.lastIndexOf("/")!=sProjPath.length-1) - sProjPath+="/"; - this.sPPath = sProjPath; - this.sRPath = sRootPath; -} - - -function window_OnLoad() -{ - if (parent && parent != this && parent.projReady) { - parent.projReady(gsRoot, gaProj); - } -} -window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whfbody.htm b/doc/salome/gui/SMESH/whfbody.htm deleted file mode 100755 index 5666e1b55..000000000 --- a/doc/salome/gui/SMESH/whfbody.htm +++ /dev/null @@ -1,37 +0,0 @@ - - -Search Result - - - - - - - - - - - - - - - - - diff --git a/doc/salome/gui/SMESH/whfdhtml.htm b/doc/salome/gui/SMESH/whfdhtml.htm deleted file mode 100755 index 37429607b..000000000 --- a/doc/salome/gui/SMESH/whfdhtml.htm +++ /dev/null @@ -1,30 +0,0 @@ - - -Search Frame - - - - - - - - - diff --git a/doc/salome/gui/SMESH/whfform.htm b/doc/salome/gui/SMESH/whfform.htm deleted file mode 100755 index 87d754ec4..000000000 --- a/doc/salome/gui/SMESH/whfform.htm +++ /dev/null @@ -1,136 +0,0 @@ - - -Search Form - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whfhost.js b/doc/salome/gui/SMESH/whfhost.js deleted file mode 100755 index 167acc459..000000000 --- a/doc/salome/gui/SMESH/whfhost.js +++ /dev/null @@ -1,945 +0,0 @@ -// WebHelp 5.10.003 -var gsSK2=null; -var gsSK=null; -var gsFtsBreakChars="\t\r\n\"\\ .,!@#$%^&*()~'`:;<>?/{}[]|+-=\x85\x92\x93\x94\x95\x96\x97\x99\xA9\xAE\xB7"; -var gnCLF=0; -var gsHelpCannotSearch="Cannot search for that phrase."; -var gsNoTopics="No Topics Found."; -var gsLoadingDivID="LoadingDiv"; -var gsLoadingMsg="Loading data, please wait..."; -var gsSearchMsg="Searching..."; -var gsResultDivID="ResultDiv"; -var gaaFCD=new Array(); -var gaaFTCD=new Array(); -var goCF=null; -var goCTF=null; -var gaTI=null; -var gnCurrentOp=0; -var gbNot=false; -var gbReady=false; -var gnLoadFts=1; -var gnCacheLimits=5; -var gaCCD=new Array(); -var gbXML=false; -var gaData=new Array(); -var gsBgColor="#ffffff"; -var gsBgImage=""; -var gsMargin="0pt"; -var gsIndent="0pt"; -var gsCheckKey=null; -var gnIndexNum=0; -var gaFtsContentsCon=null; -var gaTopicCheckInfo=null; -var gnTopicCheck=0; -var goFont=null; -var goErrFont=null; -var goHoverFont=null; -var gsABgColor="#cccccc"; -var gbWhFHost=false; -var gbFirst=false; - -function setBackground(sBgImage) -{ - gsBgImage=sBgImage; -} - -function setBackgroundcolor(sBgColor) -{ - gsBgColor=sBgColor; -} - -function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration) -{ - var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration); - if(sType=="Normal") - goFont=vFont; - else if(sType=="Error") - goErrFont=vFont; - else if(sType=="Hover") - goHoverFont=vFont; -} - -function setActiveBgColor(sBgColor) -{ - gsABgColor=sBgColor; -} - -function setMargin(sMargin) -{ - gsMargin=sMargin; -} - -function setIndent(sIndent) -{ - gsIndent=sIndent; -} - -function updateCache(oCF) -{ - var len=gaCCD.length; - if(len0&&sURL) - { - var topic=new Object(); - topic.sTopicTitle=name; - topic.sTopicURL=sURL; - aTopics[aTopics.length]=topic; - } - } - oChild=oChild.nextSibling; - } - putFtsTData(aTopics); - } - } - else if(gnLoadFts==2) - { - var node=xmlDoc.lastChild; - if(node) - { - var oChild=node.firstChild; - var aFtsContents=new Array(); - while(oChild) - { - if(oChild.nodeName=="key") - { - var name=oChild.getAttribute("name"); - if(name&&name.length>0) - { - var item=new Object(); - item.sItemName=name; - aFtsContents[aFtsContents.length]=item; - var oChildChild=oChild.firstChild; - while(oChildChild) - { - if(oChildChild.nodeName=="#text") - { - var sIDs=oChildChild.nodeValue; - if(sIDs) - { - var nBPos=0; - do - { - var nPos=sIDs.indexOf(",",nBPos); - var sID=null; - if(nPos!=-1) - sID=sIDs.substring(nBPos,nPos); - else - sID=sIDs.substring(nBPos); - - if(sID) - { - var id=parseInt(sID); - if(!isNaN(id)) - { - if(!item.aTopics) - item.aTopics=new Array(); - item.aTopics[item.aTopics.length]=id; - } - } - nBPos=nPos+1; - }while(nBPos!=0&&nBPos0) - { - document.body.background=gsBgImage; - } - if(gsBgColor&&gsBgColor.length>0) - { - document.body.bgColor=gsBgColor; - } - writeResultDiv(); - loadFts(); - var oMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null) - SendMessage(oMsg); -} - -function writeResultDiv() -{ - var sHTML="
    "; - document.body.insertAdjacentHTML("beforeEnd",sHTML); -} - -function loadFts() -{ - if(!gbReady) - { - var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null); - if(SendMessage(oResMsg)&&oResMsg.oParam) - { - gbReady=true; - var oProj=oResMsg.oParam; - var aProj=oProj.aProj; - gbXML=oProj.bXML; - if(aProj.length>0) - { - var sLangId=aProj[0].sLangId; - for(var i=0;i=0)&&(gsFtsBreakChars.charAt(nSep)=="|"))){ - gnCurrentOp=0; - gbNot=false; - }else if((sCW=="and")||((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="&"))){ - gnCurrentOp=1; - gbNot=false; - }else if((sCW=="not")|| - ((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="~"))){ - gbNot=!gbNot; - }else if(sCW!=""&&!IsStopWord(sCW,gaFtsStop)){ - var sCurrentStem=GetStem(sCW); - gsCW=sCurrentStem; - ftsFindKeyword(); - return; - } - findOneKey(); - } - else{ - displayTopics(); - checkAgain(); - } -} - -function checkAgain() -{ - gsCheckKey = ""; - gnIndexNum = 0; - gsSK=gsSK2; - gsSK2=null; - if(gsSK!=null) - setTimeout("findFTSKey();",1); -} - -function displayTopics() -{ - var sHTML=""; - var sLine=""; - for(var i=0;i"+_textToHtml(gaTI[i].sTopicTitle)+""; - if(i>>4<<4==i) - { - sHTML+=sLine; - sLine=""; - } - } - if(sLine.length>0) - sHTML+=sLine; - - if(sHTML.length==0) - sHTML="

    "+gsNoTopics+"

    " - else - sHTML="
    "+sHTML+"
    "; - - var resultDiv=getElement(gsResultDivID); - if(resultDiv) - resultDiv.innerHTML=sHTML; -} - -function displayMsg(sErrorMsg) -{ - var sHTML="

    "+sErrorMsg+"

    "; - - var resultDiv=getElement(gsResultDivID); - if(resultDiv) - resultDiv.innerHTML=sHTML; -} - -function ftsFindKeyword() -{ - var sKey=gsCW; - var bNeedLoad=false; - var aFtsContentsCon=null; - var s=0; - if(sKey==null) return; - if(!gsCheckKey||sKey!=gsCheckKey||gnIndexNum==0) - { - aFtsContentsCon=new Array(); - gnCheck=0; - gsCheckKey=sKey; - gnTopicCheck=0; - gaTopicCheckInfo=null; - } - else{ - s=gnIndexNum; - aFtsContentsCon=gaFtsContentsCon; - } - for(var i=gnCheck;i=aTI.length) - { - aLS=gaTI; - aSS=aTI; - } - else - { - aLS=aTI; - aSS=gaTI; - } - var s=0; - for(var i=0;i=0) - { - var nM; - var bFound=false; - do{ - nM=(nB+nE)>>1; - if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)>0) - nE=nM-1; - else if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0) - nB=nM+1; - else - { - bFound=true; - break; - } - }while(nB<=nE); - if(bFound) - insertItemIntoArray(aTI,nM,oTI); - else - { - if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0) - insertItemIntoArray(aTI,nM+1,oTI); - else - insertItemIntoArray(aTI,nM,oTI); - } - } - else - aTI[0]=oTI; -} - -function mergeTopics(aTI1,aTI2) -{ - var i1=0; - var i2=0; - var len1=aTI1.length; - var len2=aTI2.length; - var aTopicNew=new Array(); - var i=0; - while(i1>1; - if(compare(keys[nM].sItemName,sKey)>0) - nE=nM-1; - else if(compare(keys[nM].sItemName,sKey)<0) - nB=nM+1; - else{ - bFound=true; - break; - } - }while(nB<=nE); - if(bFound) - { - if(keys[nM].aTopics) - { - for(var i=0;i>1; - if(aFTCD[nM].nBegin>nTopicId) - nE=nM-1; - else if(aFTCD[nM].nEnd

     See - Also a sample TUI Script of an Extrusion - operation.