mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 17:00:34 +05:00
Merge branch 'V7_dev'
This commit is contained in:
commit
a17b36970b
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
@ -87,7 +87,8 @@ MARK_AS_ADVANCED(SALOME_BUILD_GUI SALOME_SMESH_USE_CGNS SALOME_SMESH_USE_TBB)
|
||||
|
||||
# Various
|
||||
# Python
|
||||
FIND_PACKAGE(SalomePython REQUIRED)
|
||||
FIND_PACKAGE(SalomePythonInterp REQUIRED)
|
||||
FIND_PACKAGE(SalomePythonLibs REQUIRED)
|
||||
# PThread
|
||||
FIND_PACKAGE(SalomePThread REQUIRED)
|
||||
# SWIG
|
||||
|
504
LICENCE
504
LICENCE
@ -1,504 +0,0 @@
|
||||
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.
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
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.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
|
||||
|
119
README
119
README
@ -0,0 +1,119 @@
|
||||
*****************
|
||||
About SALOME Mesh
|
||||
*****************
|
||||
|
||||
SALOME Mesh module implements the functionalities for:
|
||||
- Creating meshes in different ways:
|
||||
* By meshing geometrical models previously created or imported by the Geometry
|
||||
component;
|
||||
* Bottom-up, using mesh edition operations, especially extrusion and revolution;
|
||||
* By generation of the 3D mesh from the 2D mesh (the latter can be either imported
|
||||
or manually created).
|
||||
- Importing and exporting meshes in various formats.
|
||||
- Modifying meshes with a vast array of dedicated operations.
|
||||
- Creating groups of mesh elements.
|
||||
- Filtering mesh entities (nodes or elements) using Filters functionality for
|
||||
creating groups and applying mesh modifications.
|
||||
- Viewing meshes in the VTK viewer and getting info on mesh and its sub-objects.
|
||||
- Applying to meshes Quality Controls, allowing to highlight important elements.
|
||||
- Taking various measurements of the mesh objects.
|
||||
|
||||
For more information please visit the SALOME platform web site:
|
||||
|
||||
<http://www.salome-platform.org/>
|
||||
|
||||
=======
|
||||
License
|
||||
=======
|
||||
|
||||
SALOME platform is distributed under the GNU Lesser General Public License.
|
||||
See COPYING file for more details.
|
||||
|
||||
Also, additional information can be found at SALOME platform web site:
|
||||
|
||||
<http://www.salome-platform.org/downloads/license/>
|
||||
|
||||
============
|
||||
Installation
|
||||
============
|
||||
|
||||
--------------
|
||||
Pre-requisites
|
||||
--------------
|
||||
|
||||
SALOME platform relies on a set of third-party softwares; some of them are needed
|
||||
at build time only, while other ones are needed in runtime also.
|
||||
|
||||
For more information about the pre-requisites please visit SALOME platform web
|
||||
site:
|
||||
|
||||
* Check Release Notes and Software Requirements of the latest SALOME release at
|
||||
|
||||
<http://www.salome-platform.org/downloads/current-version/>
|
||||
|
||||
* Pre-requisites page at SALOME web site:
|
||||
|
||||
<http://www.salome-platform.org/downloads/license/>
|
||||
|
||||
Note: SALOME Mesh module needs SALOME KERNEL, SALOME GUI and SALOME Geometry as
|
||||
pre-requisites.
|
||||
|
||||
------------------
|
||||
Basic Installation
|
||||
------------------
|
||||
|
||||
The build procedure of the SALOME platform is implemented with CMake.
|
||||
In order to build the module you have to do the following actions:
|
||||
|
||||
1. Set up environment for pre-requisites (see "Pre-requisites" section above).
|
||||
|
||||
2. Create a build directory:
|
||||
|
||||
% mkdir SMESH_BUILD
|
||||
|
||||
3. Configure the build procedure:
|
||||
|
||||
% cd SMESH_BUILD
|
||||
% cmake -DCMAKE_BUILD_TYPE=<mode> -DCMAKE_INSTALL_PREFIX=<installation_directory> <path_to_src_dir>
|
||||
|
||||
where
|
||||
- <mode> is either Release or Debug (default: Release);
|
||||
- <installation_directory> is a destination folder to install SALOME Mesh
|
||||
module (default: /usr);
|
||||
- <path_to_src_dir> is a path to the SALOME Mesh sources directory.
|
||||
|
||||
Note: by default (if CMAKE_INSTALL_PREFIX option is not given), SALOME Mesh
|
||||
module will be configured for installation to the /usr directory that requires
|
||||
root permissions to complete the installation.
|
||||
|
||||
4. Build and install:
|
||||
|
||||
% make
|
||||
% make install
|
||||
|
||||
This will install SALOME Mesh module to the <installation_directory>
|
||||
specified to cmake command on the previous step.
|
||||
|
||||
-------------------
|
||||
Custom installation
|
||||
-------------------
|
||||
|
||||
SALOME Mesh module supports a set of advanced configuration options;
|
||||
for more details learn CMakeLists.txt file in the root source directory.
|
||||
|
||||
You can also use other options of cmake command to customize your installation.
|
||||
Learn more about available options by typing
|
||||
|
||||
% cmake --help
|
||||
|
||||
=============
|
||||
Documentation
|
||||
=============
|
||||
|
||||
The directory doc contains additional documentation file of SALOME Mesh module.
|
||||
|
||||
===============
|
||||
Troubleshooting
|
||||
===============
|
||||
|
||||
Please, send a mail to webmaster.salome@opencascade.com.
|
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
//
|
||||
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -5,7 +5,7 @@
|
||||
#
|
||||
|
||||
###############################################################
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -5,7 +5,7 @@
|
||||
#
|
||||
|
||||
#########################################################################
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2013-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2013-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2013-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2013-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2013-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2013-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -5,7 +5,7 @@
|
||||
#
|
||||
|
||||
#########################################################################
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -6,7 +6,7 @@
|
||||
#
|
||||
|
||||
#########################################################################
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
dnl Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
dnl Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
dnl
|
||||
dnl Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
dnl Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
dnl Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
dnl
|
||||
dnl Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
dnl Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
dnl Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
dnl
|
||||
dnl Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
dnl Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
dnl Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
dnl
|
||||
dnl Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
dnl Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
dnl Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
dnl
|
||||
dnl Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
dnl Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
dnl Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
dnl
|
||||
dnl Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
dnl Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
dnl Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
dnl
|
||||
dnl Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: iso-8859-1 -*-
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
35
cvs-tags
35
cvs-tags
@ -1,35 +0,0 @@
|
||||
Start-v1_1a: ?
|
||||
?
|
||||
|
||||
V1_2_1: ?
|
||||
?
|
||||
|
||||
V1_2_2: 2003-09-26 17:00
|
||||
New data structure in SMDS.
|
||||
|
||||
nadir_1_2_2: 2003-10-06 12:50
|
||||
Branch after V1_2_2. Developpement branch for user nadir
|
||||
|
||||
merge_1_2_c__1_2_2: 2003-10-17 14:35
|
||||
Branch after V1_2_2. Branch to merge Salome 1.2c. Initiated by Paul Rascle.
|
||||
|
||||
MergeV1_2c-1: 2003-10-19 13:49
|
||||
End of merge_1_2_c__1_2_2 branch. This branch is ready to be merge with the head.
|
||||
|
||||
V1_3_0b1: 2003-11-12
|
||||
First pre-release of 1.3.0. Include the merge of 1.2c branch.
|
||||
|
||||
nadir_update_MED_v1_3_0: 2003-11-17 10:22
|
||||
New branch for user nadir. Synchronization of API with MED 1.3.
|
||||
|
||||
V1_3_0b2: 2003-11-18
|
||||
Second pre-release of 1.3.0. Synchronization of API with MED 1.3.
|
||||
|
||||
V1_3_0: 2003-11-25 08:52
|
||||
Release 1.3.0.
|
||||
|
||||
V1_3_1: 2004-01-05 14:28
|
||||
Release 1.3.1. Added Netgen.
|
||||
|
||||
merge_1_2_d: 2003-01-20 11:25
|
||||
Branch to merge Release 1.2d of Salome Pro.
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -2,17 +2,16 @@
|
||||
|
||||
import salome
|
||||
salome.salome_init()
|
||||
import GEOM
|
||||
from salome.geom import geomBuilder
|
||||
geompy = geomBuilder.New(salome.myStudy)
|
||||
|
||||
import SMESH, SALOMEDS
|
||||
import SMESH
|
||||
from salome.smesh import smeshBuilder
|
||||
smesh = smeshBuilder.New(salome.myStudy)
|
||||
|
||||
###
|
||||
# Geometry: an assembly of a box, a cylinder and a truncated cone
|
||||
# meshed with tetrahedral
|
||||
# to be meshed with tetrahedra
|
||||
###
|
||||
|
||||
# Define values
|
||||
@ -44,14 +43,14 @@ piece = geompy.MakeFuse(box_cyl, cone)
|
||||
geompy.addToStudy(piece, name)
|
||||
|
||||
# Create a group of faces
|
||||
group = geompy.CreateGroup(piece, geompy.ShapeType["FACE"])
|
||||
faces_group = geompy.CreateGroup(piece, geompy.ShapeType["FACE"])
|
||||
group_name = name + "_grp"
|
||||
geompy.addToStudy(group, group_name)
|
||||
group.SetName(group_name)
|
||||
geompy.addToStudy(faces_group, group_name)
|
||||
faces_group.SetName(group_name)
|
||||
|
||||
# Add faces to the group
|
||||
faces = geompy.SubShapeAllIDs(piece, geompy.ShapeType["FACE"])
|
||||
geompy.UnionIDs(group, faces)
|
||||
geompy.UnionIDs(faces_group, faces)
|
||||
|
||||
###
|
||||
# Create a mesh
|
||||
@ -60,20 +59,20 @@ geompy.UnionIDs(group, faces)
|
||||
# Define a mesh on a geometry
|
||||
tetra = smesh.Mesh(piece, name)
|
||||
|
||||
# Define 1D hypothesis
|
||||
# Define 1D algorithm and hypothesis
|
||||
algo1d = tetra.Segment()
|
||||
algo1d.LocalLength(10)
|
||||
|
||||
# Define 2D hypothesis
|
||||
# Define 2D algorithm and hypothesis
|
||||
algo2d = tetra.Triangle()
|
||||
algo2d.LengthFromEdges()
|
||||
|
||||
# Define 3D hypothesis
|
||||
# Define 3D algorithm and hypothesis
|
||||
algo3d = tetra.Tetrahedron()
|
||||
algo3d.MaxElementVolume(100)
|
||||
|
||||
# Compute the mesh
|
||||
tetra.Compute()
|
||||
|
||||
# Create a groupe of faces
|
||||
tetra.Group(group)
|
||||
# Create a mesh group of all triangles generated on geom faces present in faces_group
|
||||
group = tetra.Group(faces_group)
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
@ -95,6 +95,9 @@ SET(GOOD_TESTS
|
||||
filters_ex33.py
|
||||
filters_ex34.py
|
||||
filters_ex36.py
|
||||
filters_ex37.py
|
||||
filters_ex38.py
|
||||
filters_ex39.py
|
||||
filters_belong2group.py
|
||||
grouping_elements_ex01.py
|
||||
grouping_elements_ex02.py
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2015 CEA/DEN, EDF R&D
|
||||
# Copyright (C) 2015-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Construction of a Submesh
|
||||
# Construction of a Sub-mesh
|
||||
|
||||
import salome
|
||||
salome.salome_init()
|
||||
@ -20,27 +20,31 @@ EdgeX = geompy.GetEdgeNearPoint(box, p5)
|
||||
geompy.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")
|
||||
mesh = smesh.Mesh(box, "Box : hexahedral 3D mesh")
|
||||
|
||||
# create a regular 1D algorithm for the faces
|
||||
algo1D = quadra.Segment()
|
||||
# create a Regular_1D algorithm for discretization of edges
|
||||
algo1D = mesh.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()
|
||||
mesh.Quadrangle()
|
||||
|
||||
# construct a submesh on the edge with a local hypothesis
|
||||
algo_local = quadra.Segment(EdgeX)
|
||||
# construct a sub-mesh on the edge with a local Regular_1D algorithm
|
||||
algo_local = mesh.Segment(EdgeX)
|
||||
|
||||
# define "Arithmetic1D" hypothesis to cut the edge in several segments with increasing arithmetic length
|
||||
# define "Arithmetic1D" hypothesis to cut EdgeX in several segments with length arithmetically
|
||||
# increasing from 1.0 to 4.0
|
||||
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
|
||||
# define "Propagation" hypothesis that propagates algo_local and "Arithmetic1D" hypothesis
|
||||
# on all parallel edges of the box
|
||||
algo_local.Propagation()
|
||||
|
||||
# assign a hexahedral algorithm
|
||||
mesh.Hexahedron()
|
||||
|
||||
# compute the mesh
|
||||
quadra.Compute()
|
||||
mesh.Compute()
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Change priority of submeshes in Mesh
|
||||
# Change priority of sub-meshes in Mesh
|
||||
|
||||
import salome
|
||||
salome.salome_init()
|
||||
@ -16,47 +16,44 @@ Box_1 = geompy.MakeBoxDXDYDZ(200, 200, 200)
|
||||
# create Mesh object on Box shape
|
||||
Mesh_1 = smesh.Mesh(Box_1)
|
||||
|
||||
# assign mesh algorithms
|
||||
# assign mesh algorithms and hypotheses
|
||||
Regular_1D = Mesh_1.Segment()
|
||||
Nb_Segments_1 = Regular_1D.NumberOfSegments(20)
|
||||
Nb_Segments_1.SetDistrType( 0 )
|
||||
MEFISTO_2D = Mesh_1.Triangle()
|
||||
Max_Element_Area_1 = MEFISTO_2D.MaxElementArea(1200)
|
||||
Tetrahedron = Mesh_1.Tetrahedron()
|
||||
Max_Element_Volume_1 = Tetrahedron.MaxElementVolume(40000)
|
||||
|
||||
# create submesh and assign algorithms on Face_1
|
||||
# create sub-mesh and assign algorithms on Face_1
|
||||
Regular_1D_1 = Mesh_1.Segment(geom=Face_1)
|
||||
Nb_Segments_2 = Regular_1D_1.NumberOfSegments(4)
|
||||
Nb_Segments_2.SetDistrType( 0 )
|
||||
MEFISTO_2D_1 = Mesh_1.Triangle(algo=smeshBuilder.MEFISTO,geom=Face_1)
|
||||
Length_From_Edges_2D = MEFISTO_2D_1.LengthFromEdges()
|
||||
SubMesh_1 = MEFISTO_2D_1.GetSubMesh()
|
||||
|
||||
# create submesh and assign algorithms on Face_2
|
||||
# create sub-mesh and assign algorithms on Face_2
|
||||
Regular_1D_2 = Mesh_1.Segment(geom=Face_2)
|
||||
Nb_Segments_3 = Regular_1D_2.NumberOfSegments(8)
|
||||
Nb_Segments_3.SetDistrType( 0 )
|
||||
MEFISTO_2D_2 = Mesh_1.Triangle(algo=smeshBuilder.MEFISTO,geom=Face_2)
|
||||
Length_From_Edges_2D_1 = MEFISTO_2D_2.LengthFromEdges()
|
||||
SubMesh_2 = MEFISTO_2D_2.GetSubMesh()
|
||||
|
||||
# create submesh and assign algorithms on Face_3
|
||||
# create sub-mesh and assign algorithms on Face_3
|
||||
Regular_1D_3 = Mesh_1.Segment(geom=Face_3)
|
||||
Nb_Segments_4 = Regular_1D_3.NumberOfSegments(12)
|
||||
Nb_Segments_4.SetDistrType( 0 )
|
||||
MEFISTO_2D_3 = Mesh_1.Triangle(algo=smeshBuilder.MEFISTO,geom=Face_3)
|
||||
Length_From_Edges_2D_2 = MEFISTO_2D_3.LengthFromEdges()
|
||||
SubMesh_3 = MEFISTO_2D_3.GetSubMesh()
|
||||
|
||||
# check exisiting submesh priority order
|
||||
# check exisiting sub-mesh priority order
|
||||
[ [ SubMesh_1, SubMesh_3, SubMesh_2 ] ] = Mesh_1.GetMeshOrder()
|
||||
# set new submesh order
|
||||
isDone = Mesh_1.Compute()
|
||||
print "Nb elements at initial order of sub-meshes:", Mesh_1.NbElements()
|
||||
|
||||
# set new sub-mesh order
|
||||
isDone = Mesh_1.SetMeshOrder( [ [ SubMesh_1, SubMesh_2, SubMesh_3 ] ])
|
||||
# compute mesh
|
||||
isDone = Mesh_1.Compute()
|
||||
print "Nb elements at new order of sub-meshes:", Mesh_1.NbElements()
|
||||
|
||||
# clear mesh result and compute with other submesh order
|
||||
Mesh_1.Clear()
|
||||
# compute with other sub-mesh order
|
||||
isDone = Mesh_1.SetMeshOrder( [ [ SubMesh_2, SubMesh_1, SubMesh_3 ] ])
|
||||
isDone = Mesh_1.Compute()
|
||||
print "Nb elements at another order of sub-meshes:", Mesh_1.NbElements()
|
||||
|
@ -46,8 +46,7 @@ tria.Compute()
|
||||
PrintMeshInfo(tria)
|
||||
|
||||
# remove a local hypothesis
|
||||
mesh = tria.GetMesh()
|
||||
mesh.RemoveHypothesis(edge, hyp4)
|
||||
tria.RemoveHypothesis(hyp4, edge)
|
||||
|
||||
# compute the mesh
|
||||
tria.Compute()
|
||||
|
@ -1,5 +1,8 @@
|
||||
# Creating a hexahedral mesh on a cylinder.
|
||||
# Note: it is a copy of 'ex24_cylinder.py' from SMESH_SWIG
|
||||
#
|
||||
# This example uses Partition to divide the cylinder into blocks, which is
|
||||
# a general approach. But for the case of cylinder there is a dedicated
|
||||
# command creating a blocked cylinder: geompy.MakeDividedCylinder()
|
||||
|
||||
import salome
|
||||
salome.salome_init()
|
||||
@ -22,7 +25,7 @@ height = 200
|
||||
# Build a cylinder
|
||||
# ----------------
|
||||
|
||||
base = geompy.MakeVertex(0, 0, 0)
|
||||
base = geompy.MakeVertex(0, 0, 0)
|
||||
direction = geompy.MakeVectorDXDYDZ(0, 0, 1)
|
||||
|
||||
cylinder = geompy.MakeCylinder(base, direction, radius, height)
|
||||
@ -34,9 +37,9 @@ geompy.addToStudy(cylinder, "cylinder")
|
||||
|
||||
size = radius/2.0
|
||||
|
||||
box_rot = geompy.MakeBox(-size, -size, 0, +size, +size, height)
|
||||
box_rot = geompy.MakeBox(-size, -size, 0, +size, +size, height)
|
||||
box_axis = geompy.MakeLine(base, direction)
|
||||
box = geompy.MakeRotation(box_rot, box_axis, math.pi/4)
|
||||
box = geompy.MakeRotation(box_rot, box_axis, math.pi/4)
|
||||
|
||||
hole = geompy.MakeCut(cylinder, box)
|
||||
|
||||
@ -47,8 +50,8 @@ plane_b = geompy.MakePlane(base, geompy.MakeVectorDXDYDZ(0, 1, 0), plane_trim)
|
||||
|
||||
blocks_part = geompy.MakePartition([hole], [plane_a, plane_b], [], [], geompy.ShapeType["SOLID"])
|
||||
blocks_list = [box] + geompy.SubShapeAll(blocks_part, geompy.ShapeType["SOLID"])
|
||||
blocks_all = geompy.MakeCompound(blocks_list)
|
||||
blocks = geompy.MakeGlueFaces(blocks_all, 0.0001)
|
||||
blocks_all = geompy.MakeCompound(blocks_list)
|
||||
blocks = geompy.MakeGlueFaces(blocks_all, 0.0001)
|
||||
|
||||
geompy.addToStudy(blocks, "cylinder:blocks")
|
||||
|
||||
@ -59,8 +62,7 @@ def group(name, shape, type, base=None, direction=None):
|
||||
t = geompy.ShapeType[type]
|
||||
g = geompy.CreateGroup(shape, t)
|
||||
|
||||
geompy.addToStudy(g, name)
|
||||
g.SetName(name)
|
||||
geompy.addToStudyInFather(shape, g, name)
|
||||
|
||||
if base!=None:
|
||||
l = geompy.GetShapesOnPlaneWithLocationIDs(shape, t, direction, base, GEOM.ST_ON)
|
||||
@ -73,7 +75,7 @@ group_a = group("baseA", blocks, "FACE", base, direction)
|
||||
base_b = geompy.MakeVertex(0, 0, height)
|
||||
group_b = group("baseB", blocks, "FACE", base_b, direction)
|
||||
|
||||
group_1 = group("limit", blocks, "SOLID")
|
||||
group_1 = group("limit", blocks, "SOLID")
|
||||
group_1_all = geompy.SubShapeAllIDs(blocks, geompy.ShapeType["SOLID"])
|
||||
geompy.UnionIDs(group_1, group_1_all)
|
||||
group_1_box = geompy.GetBlockNearPoint(blocks, base)
|
||||
@ -84,12 +86,12 @@ geompy.DifferenceList(group_1, [group_1_box])
|
||||
|
||||
smesh.SetCurrentStudy(salome.myStudy)
|
||||
|
||||
def discretize(x, y, z, n, s=blocks):
|
||||
p = geompy.MakeVertex(x, y, z)
|
||||
e = geompy.GetEdgeNearPoint(s, p)
|
||||
a = hexa.Segment(e)
|
||||
a.NumberOfSegments(n)
|
||||
a.Propagation()
|
||||
def discretize(x, y, z, nbSeg, shape=blocks):
|
||||
vert = geompy.MakeVertex( x, y, z )
|
||||
edge = geompy.GetEdgeNearPoint( shape, vert )
|
||||
algo = hexa.Segment( edge )
|
||||
algo.NumberOfSegments( nbSeg )
|
||||
algo.Propagation()
|
||||
|
||||
hexa = smesh.Mesh(blocks)
|
||||
|
||||
|
@ -14,7 +14,7 @@ smesh = smeshBuilder.New(salome.myStudy)
|
||||
box = geompy.MakeBoxDXDYDZ(100,100,100)
|
||||
face = geompy.SubShapeAllSorted(box, geompy.ShapeType["FACE"])[0]
|
||||
|
||||
# generate 3D mesh
|
||||
# generate a prismatic 3D mesh
|
||||
mesh = smesh.Mesh(box)
|
||||
localAlgo = mesh.Triangle(face)
|
||||
mesh.AutomaticHexahedralization()
|
||||
@ -44,4 +44,4 @@ nodeIds = nGroup.GetIDs()[-10:]
|
||||
newMesh = smesh.CopyMesh( mesh.GetIDSource( nodeIds, SMESH.NODE), "some nodes copy")
|
||||
|
||||
# 6. copy a sub-mesh
|
||||
newMesh = smesh.CopyMesh( subMesh, "submesh copy" )
|
||||
newMesh = smesh.CopyMesh( subMesh, "sub-mesh copy" )
|
||||
|
@ -37,7 +37,7 @@ algo.NumberOfSegments(20)
|
||||
# assign triangulation algorithm
|
||||
algo = tria_mesh.Triangle()
|
||||
|
||||
# apply "Max Element Area" hypothesis to each triangle
|
||||
# assign "Max Element Area" hypothesis
|
||||
algo.MaxElementArea(100)
|
||||
|
||||
# compute the mesh
|
||||
|
@ -24,12 +24,13 @@ tria = smesh.Mesh(face1, "Face : triangle 2D mesh")
|
||||
|
||||
# Define 1D meshing
|
||||
algo1D = tria.Segment()
|
||||
algo1D.NumberOfSegments(2)
|
||||
algo1D.LocalLength(3.)
|
||||
|
||||
# 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
|
||||
# create and assign "LengthFromEdges" hypothesis to build triangles with
|
||||
# linear size close to the length of the segments generated on the face wires (3.)
|
||||
algo2D.LengthFromEdges()
|
||||
|
||||
# compute the mesh
|
||||
|
@ -14,7 +14,7 @@ smesh = smeshBuilder.New(salome.myStudy)
|
||||
box = geompy.MakeBoxDXDYDZ(10., 10., 10.)
|
||||
geompy.addToStudy(box, "Box")
|
||||
|
||||
# 1. Create a hexahedral mesh on the box
|
||||
# Create a hexahedral mesh on the box
|
||||
hexa = smesh.Mesh(box, "Box : hexahedrical mesh")
|
||||
|
||||
# create a Regular 1D algorithm for edges
|
||||
|
@ -24,7 +24,7 @@ faces = geompy.SubShapeAll(box, geompy.ShapeType["FACE"])
|
||||
f1 = faces[2]
|
||||
f2 = faces[0]
|
||||
# face opposite to f2
|
||||
f2opp = faces[1]
|
||||
f2opp = geompy.GetOppositeFace( box, f2 )
|
||||
|
||||
# Get vertices used to specify how to associate sides of faces at projection
|
||||
[v1F1, v2F1] = geompy.SubShapeAll(f1, geompy.ShapeType["VERTEX"])[:2]
|
||||
@ -48,7 +48,7 @@ src_mesh = smesh.Mesh(box, "Source mesh")
|
||||
src_mesh.Segment().NumberOfSegments(9,10)
|
||||
src_mesh.Quadrangle()
|
||||
src_mesh.Hexahedron()
|
||||
src_mesh.Triangle(f1) # triangular sumbesh
|
||||
src_mesh.Triangle(f1) # triangular sub-mesh
|
||||
src_mesh.Compute()
|
||||
|
||||
|
||||
|
@ -27,7 +27,8 @@ geompy.addToStudy( box, 'box' )
|
||||
geompy.addToStudyInFather( box, Face_1, 'Face_1' )
|
||||
geompy.addToStudyInFather( box, Face_2, 'Face_2' )
|
||||
|
||||
# Make the source mesh with Netgem2D
|
||||
|
||||
# Make the source mesh triangulated by MEFISTO
|
||||
src_mesh = smesh.Mesh(Face_1, "Source mesh")
|
||||
src_mesh.Segment().NumberOfSegments(15)
|
||||
src_mesh.Triangle()
|
||||
|
@ -13,8 +13,7 @@ smesh = smeshBuilder.New(salome.myStudy)
|
||||
# Create face from the wire and add to study
|
||||
Face = geompy.MakeSketcher("Sketcher:F 0 0:TT 20 0:R 90:C 20 90:WF", [0, 0, 0, 1, 0, 0, 0, 0, 1])
|
||||
geompy.addToStudy(Face,"Face")
|
||||
edges = geompy.SubShapeAllSorted(Face, geompy.ShapeType["EDGE"])
|
||||
circle, radius1, radius2 = edges
|
||||
circle, radius1, radius2 = geompy.SubShapeAllSorted(Face, geompy.ShapeType["EDGE"])
|
||||
geompy.addToStudyInFather(Face, radius1,"radius1")
|
||||
geompy.addToStudyInFather(Face, radius2,"radius2")
|
||||
geompy.addToStudyInFather(Face, circle,"circle")
|
||||
|
@ -2,15 +2,16 @@
|
||||
|
||||
# create mesh
|
||||
from SMESH_mechanic import *
|
||||
print
|
||||
|
||||
# create a group of all faces (quadrangles) generated on sub_face3
|
||||
faces_on_face3 = mesh.MakeGroup("faces_on_face3", SMESH.FACE, SMESH.FT_BelongToGeom,'=',sub_face3)
|
||||
print "There are %s quadrangles generated on '%s' and included in the group '%s'" % ( faces_on_face3.Size(), sub_face3.GetName(), faces_on_face3.GetName() )
|
||||
quads_on_face3 = mesh.MakeGroup("quads_on_face3", SMESH.FACE, SMESH.FT_BelongToGeom,'=',sub_face3)
|
||||
print "There are %s quadrangles generated on '%s' and included in the group '%s'" % ( quads_on_face3.Size(), sub_face3.GetName(), quads_on_face3.GetName() )
|
||||
|
||||
# create a group of all the rest quadrangles, generated on other faces by combining 2 criteria:
|
||||
# - negated FT_BelongToMeshGroup to select elements not included in faces_on_face3
|
||||
# - negated FT_BelongToMeshGroup to select elements not included in quads_on_face3
|
||||
# - FT_ElemGeomType to select quadrangles
|
||||
not_on_face3 = smesh.GetCriterion( SMESH.FACE, SMESH.FT_BelongToMeshGroup,'=',faces_on_face3, SMESH.FT_LogicalNOT )
|
||||
not_on_face3 = smesh.GetCriterion( SMESH.FACE, SMESH.FT_BelongToMeshGroup,'=',quads_on_face3, SMESH.FT_LogicalNOT )
|
||||
quadrangles = smesh.GetCriterion( SMESH.FACE, SMESH.FT_ElemGeomType,'=',SMESH.Geom_QUADRANGLE )
|
||||
|
||||
rest_quads = mesh.MakeGroupByCriteria("rest_quads", [ not_on_face3, quadrangles ])
|
||||
|
@ -1,16 +1,22 @@
|
||||
# Aspect ratio
|
||||
# This script demonstrates various usages of filters
|
||||
|
||||
# create mesh
|
||||
from SMESH_mechanic import *
|
||||
|
||||
# get faces with aspect ratio > 1.5
|
||||
filter = smesh.GetFilter(SMESH.FACE, SMESH.FT_AspectRatio, SMESH.FT_MoreThan, 1.5)
|
||||
# get faces with aspect ratio > 2.5
|
||||
filter = smesh.GetFilter(SMESH.FACE, SMESH.FT_AspectRatio, SMESH.FT_MoreThan, 2.5)
|
||||
ids = mesh.GetIdsFromFilter(filter)
|
||||
print "Number of faces with aspect ratio > 2.5:", len(ids)
|
||||
|
||||
# get faces with aspect ratio > 1.5
|
||||
filter = smesh.GetFilter(SMESH.FACE, SMESH.FT_AspectRatio, '>', 1.5, mesh=mesh)
|
||||
ids = filter.GetIDs()
|
||||
print "Number of faces with aspect ratio > 1.5:", len(ids)
|
||||
|
||||
# copy the faces with aspect ratio > 1.5 to another mesh;
|
||||
# this demostrates that a filter can be used where usually a group or sub-mesh is acceptable
|
||||
filter.SetMesh( mesh.GetMesh() )
|
||||
filter.SetMesh( mesh.GetMesh() ) # - actually non necessary as mesh is set at filter creation
|
||||
mesh2 = smesh.CopyMesh( filter, "AR > 1.5" )
|
||||
print "Number of copied faces with aspect ratio > 1.5:", mesh2.NbFaces()
|
||||
|
||||
|
@ -1,23 +1,21 @@
|
||||
# Free borders
|
||||
|
||||
# create mesh
|
||||
|
||||
import salome
|
||||
# initialize SALOME and modules
|
||||
import salome, SMESH
|
||||
salome.salome_init()
|
||||
import GEOM
|
||||
from salome.geom import geomBuilder
|
||||
geompy = geomBuilder.New(salome.myStudy)
|
||||
|
||||
import SMESH, SALOMEDS
|
||||
from salome.smesh import smeshBuilder
|
||||
smesh = smeshBuilder.New(salome.myStudy)
|
||||
|
||||
# create mesh
|
||||
face = geompy.MakeFaceHW(100, 100, 1)
|
||||
geompy.addToStudy( face, "quadrangle" )
|
||||
mesh = smesh.Mesh(face)
|
||||
mesh.Segment().NumberOfSegments(10)
|
||||
mesh.Triangle().MaxElementArea(25)
|
||||
mesh.Compute()
|
||||
|
||||
# get all free borders
|
||||
filter = smesh.GetFilter(SMESH.EDGE, SMESH.FT_FreeBorders)
|
||||
ids = mesh.GetIdsFromFilter(filter)
|
||||
|
@ -1,23 +1,21 @@
|
||||
# Free edges
|
||||
|
||||
# create mesh
|
||||
|
||||
import salome
|
||||
# initialize SALOME and modules
|
||||
import salome, SMESH
|
||||
salome.salome_init()
|
||||
import GEOM
|
||||
from salome.geom import geomBuilder
|
||||
geompy = geomBuilder.New(salome.myStudy)
|
||||
|
||||
import SMESH, SALOMEDS
|
||||
from salome.smesh import smeshBuilder
|
||||
smesh = smeshBuilder.New(salome.myStudy)
|
||||
|
||||
# create mesh
|
||||
face = geompy.MakeFaceHW(100, 100, 1)
|
||||
geompy.addToStudy( face, "quadrangle" )
|
||||
mesh = smesh.Mesh(face)
|
||||
mesh.Segment().NumberOfSegments(10)
|
||||
mesh.Triangle().MaxElementArea(25)
|
||||
mesh.Compute()
|
||||
|
||||
# get all faces with free edges
|
||||
filter = smesh.GetFilter(SMESH.FACE, SMESH.FT_FreeEdges)
|
||||
ids = mesh.GetIdsFromFilter(filter)
|
||||
|
@ -4,7 +4,7 @@
|
||||
from SMESH_mechanic import *
|
||||
# remove some faces to have faces with bare borders
|
||||
mesh.RemoveElements( mesh.GetElementsByType(SMESH.FACE)[0:5] )
|
||||
# get all faces bare borders
|
||||
# get all faces with bare borders
|
||||
filter = smesh.GetFilter(SMESH.FACE, SMESH.FT_BareBorderFace)
|
||||
ids = mesh.GetIdsFromFilter(filter)
|
||||
print "Faces with bare borders:", ids
|
||||
|
@ -1,16 +1,12 @@
|
||||
# Double nodes
|
||||
|
||||
|
||||
import salome
|
||||
salome.salome_init()
|
||||
import GEOM
|
||||
from salome.geom import geomBuilder
|
||||
geompy = geomBuilder.New(salome.myStudy)
|
||||
|
||||
import SMESH, SALOMEDS
|
||||
import SMESH
|
||||
from salome.smesh import smeshBuilder
|
||||
smesh = smeshBuilder.New(salome.myStudy)
|
||||
import salome_notebook
|
||||
|
||||
# make a mesh on a box
|
||||
box = geompy.MakeBoxDXDYDZ(100,100,100)
|
||||
@ -20,8 +16,8 @@ mesh.Quadrangle()
|
||||
mesh.Hexahedron()
|
||||
mesh.Compute()
|
||||
# copy all elements with translation
|
||||
mesh.TranslateObject( mesh, smesh.MakeDirStruct( 10,0,0), Copy=True )
|
||||
# create filters to find nodes equal within tolerance of 1e-5
|
||||
mesh.TranslateObject( mesh, [10,0,0], Copy=True )
|
||||
# create a filter to find nodes equal within tolerance of 1e-5
|
||||
filter = smesh.GetFilter(SMESH.NODE, SMESH.FT_EqualNodes, Tolerance=1e-5)
|
||||
# get equal nodes
|
||||
print "Number of equal nodes:", len( mesh.GetIdsFromFilter( filter ))
|
||||
|
@ -1,8 +1,25 @@
|
||||
# Borders at multi-connection
|
||||
|
||||
# create mesh
|
||||
from SMESH_mechanic import *
|
||||
# get border edges with number of connected faces = 5
|
||||
filter = smesh.GetFilter(SMESH.EDGE, SMESH.FT_MultiConnection, 5)
|
||||
import salome
|
||||
salome.salome_init()
|
||||
from salome.geom import geomBuilder
|
||||
geompy = geomBuilder.New(salome.myStudy)
|
||||
import SMESH
|
||||
from salome.smesh import smeshBuilder
|
||||
smesh = smeshBuilder.New(salome.myStudy)
|
||||
|
||||
# make a mesh on a box
|
||||
box = geompy.MakeBoxDXDYDZ(100,100,100)
|
||||
mesh = smesh.Mesh( box, "Box" )
|
||||
mesh.Segment().NumberOfSegments(10)
|
||||
mesh.Quadrangle()
|
||||
mesh.Hexahedron()
|
||||
mesh.Compute()
|
||||
# copy all elements with translation and merge nodes
|
||||
mesh.TranslateObject( mesh, [10,0,0], Copy=True )
|
||||
mesh.MergeNodes( mesh.FindCoincidentNodes( 1e-5 ))
|
||||
|
||||
# get mesh edges with number of connected elements (faces and volumes) == 3
|
||||
filter = smesh.GetFilter(SMESH.EDGE, SMESH.FT_MultiConnection, 3)
|
||||
ids = mesh.GetIdsFromFilter(filter)
|
||||
print "Number of border edges with 5 faces connected:", len(ids)
|
||||
print "Number of border edges with 3 faces connected:", len(ids)
|
||||
|
15
doc/salome/examples/filters_ex37.py
Normal file
15
doc/salome/examples/filters_ex37.py
Normal file
@ -0,0 +1,15 @@
|
||||
# Entity type
|
||||
|
||||
# create a mesh
|
||||
from SMESH_mechanic import *
|
||||
|
||||
# make the mesh quadratic
|
||||
mesh.ConvertToQuadratic()
|
||||
# make some elements bi-quadratic
|
||||
for face in SubFaceL[: len(SubFaceL)/2]:
|
||||
mesh.ConvertToQuadratic( theSubMesh=mesh.Group( face ), theToBiQuad=True )
|
||||
|
||||
# get triangles with 7 nodes
|
||||
filter_tri = smesh.GetFilter(SMESH.FACE, SMESH.FT_EntityType,'=', SMESH.Entity_BiQuad_Triangle )
|
||||
ids_tri = mesh.GetIdsFromFilter(filter_tri)
|
||||
print "Number of bi-quadratic triangles:", len(ids_tri)
|
15
doc/salome/examples/filters_ex38.py
Normal file
15
doc/salome/examples/filters_ex38.py
Normal file
@ -0,0 +1,15 @@
|
||||
# Ball diameter
|
||||
|
||||
# create a mesh
|
||||
from SMESH_mechanic import *
|
||||
|
||||
# create several balls with increasing diameter
|
||||
for i in range(1,10):
|
||||
diameter = float( i )
|
||||
mesh.AddBall( i, diameter )
|
||||
pass
|
||||
|
||||
# get balls with diameter > 5.
|
||||
diam_filter = smesh.GetFilter(SMESH.BALL, SMESH.FT_BallDiameter,'>', 5. )
|
||||
ids = mesh.GetIdsFromFilter( diam_filter )
|
||||
print "Number of balls with diameter > 5:", len(ids)
|
45
doc/salome/examples/filters_ex39.py
Normal file
45
doc/salome/examples/filters_ex39.py
Normal file
@ -0,0 +1,45 @@
|
||||
# Elements of a domain
|
||||
|
||||
import salome, SMESH
|
||||
salome.salome_init()
|
||||
from salome.geom import geomBuilder
|
||||
geompy = geomBuilder.New(salome.myStudy)
|
||||
from salome.smesh import smeshBuilder
|
||||
smesh = smeshBuilder.New(salome.myStudy)
|
||||
|
||||
# create two boxes to have two domains in the mesh
|
||||
|
||||
box1 = geompy.MakeBoxDXDYDZ( 100,100,100 )
|
||||
box2 = geompy.MakeTranslation( box1, 200, 0, 0 )
|
||||
boxes = geompy.MakeCompound( [box1, box2] )
|
||||
box1, box2 = geompy.SubShapeAll( boxes, geompy.ShapeType["SHAPE"], "box")
|
||||
|
||||
vertex = geompy.SubShape( box1, geompy.ShapeType["VERTEX"], [1] )
|
||||
|
||||
# create a mesh
|
||||
|
||||
mesh = smesh.Mesh( boxes )
|
||||
mesh.Segment(box1).NumberOfSegments( 5 ) # to have different nb of elements on the boxes
|
||||
mesh.Segment(box2).NumberOfSegments( 10 )
|
||||
mesh.Quadrangle()
|
||||
mesh.Hexahedron()
|
||||
mesh.Compute()
|
||||
|
||||
# Create filters with FT_ConnectedElements criterion by pointing a domain in different ways:
|
||||
|
||||
# using point coordinates in box_1
|
||||
nodeFilter = smesh.GetFilter( SMESH.NODE, SMESH.FT_ConnectedElements, "=", "1.,2,10", mesh=mesh )
|
||||
print "Nb. nodes in box_1:", len( nodeFilter.GetIDs())
|
||||
|
||||
# using point coordinates in box_2
|
||||
edgeFilter = smesh.GetFilter( SMESH.EDGE, SMESH.FT_ConnectedElements, "=", [202,1,1 ], mesh=mesh )
|
||||
print "Nb. segments in box_2:", len( edgeFilter.GetIDs())
|
||||
|
||||
# using a geom vertex of box_1
|
||||
faceFilter = smesh.GetFilter( SMESH.FACE, SMESH.FT_ConnectedElements, "=", vertex, mesh=mesh )
|
||||
print "Nb. faces in box_1:", len( edgeFilter.GetIDs())
|
||||
|
||||
# using node ID in box_2
|
||||
voluFilter = smesh.GetFilter( SMESH.VOLUME, SMESH.FT_ConnectedElements, "=", 10, mesh=mesh )
|
||||
print "Nb. volumes in box_2:", len( voluFilter.GetIDs())
|
||||
|
@ -19,4 +19,62 @@ aGroup1 = mesh.MakeGroupByIds("Area > 100", SMESH.FACE, anIds)
|
||||
aGroup2 = mesh.CreateEmptyGroup(SMESH.NODE, "all nodes")
|
||||
aGroup2.AddFrom(mesh.mesh)
|
||||
|
||||
|
||||
# ====================================
|
||||
# Various methods of the Group object
|
||||
# ====================================
|
||||
|
||||
aGroup = mesh.CreateEmptyGroup(SMESH.NODE, "aGroup")
|
||||
|
||||
# set/get group name
|
||||
aGroup.SetName( "new name" )
|
||||
print "name", aGroup.GetName()
|
||||
|
||||
# get group type (type of entities in the group, SMESH.NODE in our case)
|
||||
print "type", aGroup.GetType()
|
||||
|
||||
# get number of entities (nodes in our case) in the group
|
||||
print "size", aGroup.Size()
|
||||
|
||||
# check of emptiness
|
||||
print "is empty", aGroup.IsEmpty()
|
||||
|
||||
# check of presence of an entity in the group
|
||||
aGroup.Add([1,2]) # method specific to the standalone group
|
||||
print "contains node 2", aGroup.Contains(2)
|
||||
|
||||
# get an entity by index
|
||||
print "1st node", aGroup.GetID(1)
|
||||
|
||||
# get all entities
|
||||
print "all", aGroup.GetIDs()
|
||||
|
||||
# get number of nodes (actual for groups of elements)
|
||||
print "nb nodes", aGroup.GetNumberOfNodes()
|
||||
|
||||
# get underlying nodes (actual for groups of elements)
|
||||
print "nodes", aGroup.GetNodeIDs()
|
||||
|
||||
# set/get color
|
||||
import SALOMEDS
|
||||
aGroup.SetColor( SALOMEDS.Color(1.,1.,0.));
|
||||
print "color", aGroup.GetColor()
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# methods specific to the standalone group and not present in GroupOnGeometry
|
||||
# and GroupOnFilter
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# clear the group's contents
|
||||
aGroup.Clear()
|
||||
|
||||
# add contents of other object (group, sub-mesh, filter)
|
||||
aGroup.AddFrom( aGroup2 )
|
||||
|
||||
# removes entities
|
||||
aGroup.Remove( [2,3,4] )
|
||||
|
||||
|
||||
|
||||
|
||||
salome.sg.updateObjBrowser(1)
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Use 3D extrusion meshing algorithm
|
||||
# Usage of 3D Extrusion meshing algorithm
|
||||
|
||||
import salome
|
||||
salome.salome_init()
|
||||
@ -58,7 +58,7 @@ mesh = smesh.Mesh( prisms )
|
||||
|
||||
# assign Global hypotheses
|
||||
|
||||
# 1D algorithm and hypothesis for vertical division
|
||||
# 1D algorithm and hypothesis for division along the pipe
|
||||
mesh.Segment().NumberOfSegments(15)
|
||||
|
||||
# Extrusion 3D algo
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
@ -30,8 +30,8 @@ SET(kernel_file "${KERNEL_ROOT_DIR}/bin/salome/prepare_generating_doc.py")
|
||||
|
||||
SALOME_ACCUMULATE_ENVIRONMENT(SMESH_MeshersList NOCHECK ${DOC_SMESH_MeshersList})
|
||||
|
||||
SET(_cmd_options ${smesh_file} -d -o tmp1/smeshBuilder.py StdMeshers)
|
||||
SALOME_GENERATE_ENVIRONMENT_SCRIPT(_cmd env_script "${PYTHON_EXECUTABLE}" "${_cmd_options}")
|
||||
SET(_cmd_options ${smesh_file} -o tmp1/smeshBuilder.py StdMeshers)
|
||||
SALOME_GENERATE_ENVIRONMENT_SCRIPT(_cmd env_script "${PYTHON_EXECUTABLE}" "${_cmd_options}")
|
||||
|
||||
ADD_CUSTOM_TARGET(usr_docs ${CMAKE_COMMAND} -E make_directory tmp1
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory tmp2
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: iso-8859-1 -*-
|
||||
# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.9 KiB |
Binary file not shown.
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 33 KiB |
@ -4,11 +4,11 @@
|
||||
|
||||
\b Filters allow picking only the mesh elements satisfying to a
|
||||
specific condition or a set of conditions. Filters can be used to create
|
||||
or edit mesh groups, remove elements from the mesh object, control
|
||||
or edit mesh groups, remove elements from the mesh, control
|
||||
mesh quality by different parameters, etc.
|
||||
|
||||
Several criteria can be combined together by using logical operators \a
|
||||
AND and \a OR. In addition, applied filter criterion can be reverted
|
||||
AND and \a OR. In addition, a filter criterion can be reverted
|
||||
using logical operator \a NOT.
|
||||
|
||||
Some filtering criteria use the functionality of \ref quality_page "mesh quality controls"
|
||||
@ -27,6 +27,8 @@ about selection filters and their usage in GUI.
|
||||
entities (nodes or elements) for the operations, which require the
|
||||
list of entities as input parameter (create/modify group, remove
|
||||
nodes/elements, etc) and for the operations, which accept objects
|
||||
as input parameter. The page \ref tui_filters_page provides
|
||||
examples of the filters usage in Python scripts.
|
||||
(groups, sub-meshes) as input parameter. The page \ref
|
||||
tui_filters_page provides examples of the filters usage in Python
|
||||
scripts.
|
||||
|
||||
*/
|
||||
|
@ -100,7 +100,8 @@ The mesh can include the following entities:
|
||||
Every mesh entity has an attribute associating it to a sub-shape it is
|
||||
generated on (if any). The node generated on the geometrical edge or
|
||||
surface in addition stores its position in parametric space of the
|
||||
associated geometrical entity.
|
||||
associated geometrical entity. This attribute is set up by meshing
|
||||
algorithms generating elements and nodes.
|
||||
|
||||
Mesh entities are identified by integer IDs starting from 1.
|
||||
Nodes and elements are counted separately, i.e. there can be a node
|
||||
|
@ -13,10 +13,11 @@ There are three types of groups different by their internal
|
||||
organization:<ol>
|
||||
<li><b>Standalone group</b> is a static set of mesh entities. Its
|
||||
contents can be explicitly controlled by the user. Upon removal of
|
||||
the entities included into the group, the group becomes empty and
|
||||
its content can be restored only manually. Hence it is
|
||||
reasonable to create standalone groups when the mesh generation is
|
||||
finished and mesh quality is verified.
|
||||
the entities included into the group, e.g. due to modification of
|
||||
meshing parameter, the group becomes empty and its content can be
|
||||
restored only manually. Hence it is reasonable to create standalone
|
||||
groups when the mesh generation is finished and mesh quality is
|
||||
verified.
|
||||
\warning Creation and edition of large standalone groups in
|
||||
\ref creating_groups_page "Create group" dialog using manual edition
|
||||
is problematic due to poor performance of the dialog.</li>
|
||||
@ -27,11 +28,11 @@ organization:<ol>
|
||||
established at group construction and cannot be changed. The group
|
||||
contents are always updated automatically, hence the
|
||||
group can be created even before mesh elements generation.</li>
|
||||
<li><b>Group on filter</b> encapsulates a filter, which is used to
|
||||
select mesh entities composing the group from the whole
|
||||
mesh. Criteria of the filter can be changed at any time. The
|
||||
group contents are always updated automatically, hence
|
||||
the group can be created even before mesh elements generation.</li>
|
||||
<li><b>Group on filter</b> encapsulates a \ref filters_page "filter",
|
||||
which is used to select mesh entities composing the group from the
|
||||
whole mesh. Criteria of the filter can be changed at any time. The
|
||||
group contents are always updated automatically, hence the group can
|
||||
be created even before mesh elements generation.</li>
|
||||
</ol>
|
||||
The group on geometry and group on filter can be converted to
|
||||
a standalone group.
|
||||
|
@ -41,7 +41,8 @@ The \b Global algorithms and hypotheses to be chosen at
|
||||
<li> 1D algorithm and hypothesis that will be applied for meshing
|
||||
(logically) vertical edges of the prism (which connect the top and the
|
||||
base faces of the prism). In the sample picture above these are
|
||||
"Regular_1D" algorithm and "Nb. Segments_1" hypothesis.</li>
|
||||
"Regular_1D" algorithm and "Nb. Segments" hypothesis named "Vertical
|
||||
Nb. Segments".</li>
|
||||
</ul>
|
||||
|
||||
The \b Local algorithms and hypotheses to be chosen at
|
||||
@ -51,9 +52,9 @@ The \b Local algorithms and hypotheses to be chosen at
|
||||
meshing the top and the base prism faces. These faces can be meshed
|
||||
with any type of 2D elements: quadrangles, triangles, polygons or
|
||||
their mix. It is enough to define a sub-mesh on either the top or the base
|
||||
face. In the sample picture above, "BLSURF" algorithm meshes
|
||||
"Face_1" base surface with triangles. (1D algorithm is not
|
||||
assigned as "BLSURF" does not require divided edges to create a 2D mesh.)
|
||||
face. In the sample picture above, "NETGEN_1D2D" algorithm meshes
|
||||
"bottom disk" face with triangles. (1D algorithm is not
|
||||
assigned as "NETGEN_1D2D" does not require divided edges to create a 2D mesh.)
|
||||
</li>
|
||||
<li> Optionally you can define a 1D sub-mesh on some vertical edges
|
||||
of stacked prisms, which will override the global 1D hypothesis mentioned
|
||||
|
@ -20,8 +20,8 @@ The algorithm treats any face as quadrangle. If a face is bound by
|
||||
more than four edges, four most sharp vertices are considered as
|
||||
corners of the quadrangle and all edges between these vertices are
|
||||
treated as quadrangle sides. In the case of three edges, the vertex
|
||||
specified by the user is considered as a degenerated side of the
|
||||
quadrangle.
|
||||
specified by the user is considered as a fourth degenerated side of the
|
||||
quadrangle.
|
||||
|
||||
\image html quad_meshes.png "Algorithm generates a structured mesh on complex faces provided that edges are properly discretized"
|
||||
|
||||
|
@ -73,7 +73,9 @@ the filtering algorithm works faster because node-to-shape association
|
||||
is used instead of measuring distance between nodes and the shape, and
|
||||
\b Tolerance is not used. If the threshold shape is any other shape,
|
||||
the algorithm works slower because distance between nodes and the
|
||||
shape is measured and is compared with \b Tolerance.
|
||||
shape is measured and is compared with \b Tolerance. The latter
|
||||
approach (distance measurement) is also used if an element is not
|
||||
associated to any shape.
|
||||
</li><li>
|
||||
<b>Lying on Geom</b> selects entities whose at least one node
|
||||
lies on the shape defined by the <b>Threshold Value</b>.
|
||||
@ -82,7 +84,9 @@ the filtering algorithm works faster because node-to-shape association
|
||||
is used instead of measuring distance between nodes and the shape, and
|
||||
\b Tolerance is not used. If the threshold shape is any other shape,
|
||||
the algorithm works slower because distance between nodes and the
|
||||
shape is measured and is compared with \b Tolerance.
|
||||
shape is measured and is compared with \b Tolerance. The latter
|
||||
approach (distance measurement) is also used if an element is not
|
||||
associated to any shape.
|
||||
</li><li>
|
||||
<b>Belong to Mesh Group</b> selects entities included into the mesh group
|
||||
defined by the <b>Threshold Value</b>.
|
||||
|
@ -7,49 +7,66 @@ be used for easy mesh creation and edition.
|
||||
|
||||
Documentation for SALOME %Mesh module Python API is available in two forms:
|
||||
- <a href="smeshpy_doc/modules.html">Structured documentation</a>, where all methods and
|
||||
classes are grouped by their functionality, like it is done in the GUI documentation
|
||||
classes are grouped by their functionality.
|
||||
- <a href="smeshpy_doc/namespaces.html">Linear documentation</a> grouped only by classes, declared
|
||||
in the \ref smeshBuilder and \ref StdMeshersBuilder Python packages.
|
||||
|
||||
\n With SALOME 7.2, the Python interface for %Mesh has been slightly modified to offer new functionality,
|
||||
\n With SALOME 7.2, the Python interface for %Mesh has been slightly modified to offer new functionality.
|
||||
\n You may have to modify your scripts generated with SALOME 6 or older versions.
|
||||
\n Please see \ref smesh_migration_page
|
||||
|
||||
The SMESH python package contains helper functions to manipulate mesh elements and
|
||||
interact with these elements.
|
||||
|
||||
Note that these functions either encapsulate the python programming interface of SMESH core
|
||||
(the CORBA or SWIG interface for example) or extend existing utilities as the smesh.py module.
|
||||
|
||||
The functions are distributed in the python package \b salome.smesh.
|
||||
|
||||
\note
|
||||
The main package \b salome contains other sub-packages that are distributed with the other
|
||||
SALOME modules. For example, the KERNEL module provides the python package \b salome.kernel
|
||||
and GEOM the package \b salome.geom.
|
||||
\n Please see \ref smesh_migration_page.
|
||||
|
||||
Class \ref smeshBuilder.smeshBuilder "smeshBuilder" provides an interface to create and handle
|
||||
meshes. It can be used to create an empty mesh or to import mesh from the data file.
|
||||
|
||||
Class \ref smeshstudytools.SMeshStudyTools "SMeshStudyTools" provides several methods to manipulate mesh objects in Salome study.
|
||||
|
||||
As soon as mesh is created, it is possible to manage it via its own
|
||||
methods, described in class \ref smeshBuilder.Mesh "Mesh" documentation.
|
||||
|
||||
Class \ref smeshBuilder.Mesh "Mesh" allows assigning algorithms to a mesh.
|
||||
Please note that some algorithms, included in the standard SALOME
|
||||
distribution are always available. Python package \ref StdMeshersBuilder "StdMeshersBuilder"
|
||||
provides an interface for standard meshing algorithms included into
|
||||
the SALOME %Mesh module distribution, like:
|
||||
- REGULAR (1D)
|
||||
- COMPOSITE (1D)
|
||||
- MEFISTO (2D)
|
||||
- Quadrangle (2D)
|
||||
- Hexa(3D)
|
||||
- etc ...
|
||||
Class \ref smeshstudytools.SMeshStudyTools "SMeshStudyTools" provides several methods to manipulate mesh objects in Salome study.
|
||||
|
||||
To add meshing hypotheses, it is possible to use the functions provided by the
|
||||
algorithms interfaces.
|
||||
A usual workflow to generate a mesh on geometry is following:
|
||||
<ol>
|
||||
<li>Create an instance of \ref smeshBuilder.smeshBuilder "smeshBuilder":
|
||||
<pre>
|
||||
from salome.smesh import smeshBuilder
|
||||
smesh = smeshBuilder.New( salome.myStudy )
|
||||
</pre></li>
|
||||
<li>Create a \ref smeshBuilder.Mesh "mesh" object:
|
||||
<pre>
|
||||
mesh = \ref smeshBuilder.smeshBuilder.Mesh "smesh.Mesh( geometry )"
|
||||
</pre></li>
|
||||
<li> Create and assign \ref basic_meshing_algos_page "algorithms" by
|
||||
calling corresponding methods of the mesh. If a sub-shape is
|
||||
provided as an argument, a \ref constructing_submeshes_page "sub-mesh"
|
||||
is implicitly created on this sub-shape:
|
||||
<pre>
|
||||
regular1D = \ref smeshBuilder.Mesh.Segment "mesh.Segment"()
|
||||
mefisto = \ref smeshBuilder.Mesh.Triangle "mesh.Triangle"( smeshBuilder.MEFISTO )
|
||||
# use other triangle algorithm on a face -- a sub-mesh appears in the mesh
|
||||
netgen = \ref smeshBuilder.Mesh.Triangle "mesh.Triangle"( smeshBuilder.NETGEN_1D2D, face )
|
||||
</pre></li>
|
||||
<li> Create and assign \ref about_hypo_page "hypotheses" by calling
|
||||
corresponding methods of algorithms:
|
||||
<pre>
|
||||
segLen10 = \ref StdMeshersBuilder.StdMeshersBuilder_Segment.LocalLength "regular1D.LocalLength"( 10. )
|
||||
maxArea = \ref StdMeshersBuilder.StdMeshersBuilder_Segment.LocalLength "mefisto.MaxElementArea"( 100. )
|
||||
netgen.SetMaxSize( 20. )
|
||||
netgen.SetFineness( smeshBuilder.VeryCoarse )
|
||||
</pre>
|
||||
</li>
|
||||
<li> \ref compute_anchor "Compute" the mesh (generate mesh nodes and elements):
|
||||
<pre>
|
||||
\ref Mesh.Compute "mesh.Compute"()
|
||||
</pre>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
An easiest way to start with Python scripting is to do something in
|
||||
GUI and then to get a corresponding Python script via
|
||||
<b> File > Dump Study </b> menu item. Don't forget that you can get
|
||||
all methods of any object in hand (e.g. a mesh group or a hypothesis)
|
||||
by calling \a dir() Python built-in function.
|
||||
|
||||
All methods of the Mesh Group can be found in \ref tui_create_standalone_group sample script.
|
||||
|
||||
An example below demonstrates usage of the Python API for 3d mesh generation.
|
||||
|
||||
@ -61,19 +78,19 @@ Examples of Python scripts for Mesh operations are available by
|
||||
the following links:
|
||||
|
||||
- \subpage tui_creating_meshes_page
|
||||
- \subpage tui_cartesian_algo
|
||||
- \subpage tui_use_existing_faces
|
||||
- \subpage tui_viewing_meshes_page
|
||||
- \subpage tui_defining_hypotheses_page
|
||||
- \subpage tui_quality_controls_page
|
||||
- \subpage tui_filters_page
|
||||
- \subpage tui_grouping_elements_page
|
||||
- \subpage tui_filters_page
|
||||
- \subpage tui_modifying_meshes_page
|
||||
- \subpage tui_transforming_meshes_page
|
||||
- \subpage tui_notebook_smesh_page
|
||||
- \subpage tui_viewing_meshes_page
|
||||
- \subpage tui_quality_controls_page
|
||||
- \subpage tui_measurements_page
|
||||
- \subpage tui_generate_flat_elements_page
|
||||
- \subpage tui_work_on_objects_from_gui
|
||||
- \subpage tui_notebook_smesh_page
|
||||
- \subpage tui_cartesian_algo
|
||||
- \subpage tui_use_existing_faces
|
||||
- \subpage tui_prism_3d_algo
|
||||
- \subpage tui_generate_flat_elements_page
|
||||
|
||||
*/
|
||||
|
@ -2,54 +2,50 @@
|
||||
|
||||
\page tui_creating_meshes_page Creating Meshes
|
||||
|
||||
\tableofcontents
|
||||
|
||||
\n First of all see \ref example_3d_mesh "Example of 3d mesh generation",
|
||||
which is an example of good python script style for Mesh module.
|
||||
|
||||
<br>
|
||||
<h2>Construction of a Mesh</h2>
|
||||
\section construction_of_a_mesh Construction of a mesh
|
||||
\tui_script{creating_meshes_ex01.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_construction_submesh
|
||||
<h2>Construction of a Submesh</h2>
|
||||
\section tui_construction_submesh Construction of a sub-mesh
|
||||
\tui_script{creating_meshes_ex02.py}
|
||||
|
||||
<br>
|
||||
<h2>Change priority of submeshes in Mesh</h2>
|
||||
\section change_priority_of_submeshes_in_mesh Change priority of sub-meshes in mesh
|
||||
\tui_script{creating_meshes_ex03.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_editing_while_meshing
|
||||
<h2>Intermediate edition while meshing</h2>
|
||||
\section tui_editing_while_meshing Intermediate edition while meshing
|
||||
\tui_script{a3DmeshOnModified2Dmesh.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_editing_mesh
|
||||
<h2>Editing a mesh</h2>
|
||||
\section tui_editing_mesh Editing a mesh
|
||||
\tui_script{creating_meshes_ex04.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_export_mesh
|
||||
<h2>Export of a Mesh</h2>
|
||||
\section tui_export_mesh Export of a Mesh
|
||||
\tui_script{creating_meshes_ex05.py}
|
||||
|
||||
<br>
|
||||
<h2>How to mesh a cylinder with hexahedrons?</h2>
|
||||
\section how_to_mesh_a_cylinder_with_hexahedrons 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.
|
||||
mesh on a cylinder. A picture below the source code of the script
|
||||
demonstrates the resulting mesh.
|
||||
\tui_script{creating_meshes_ex06.py}
|
||||
|
||||
\image html mesh_cylinder_hexa.png
|
||||
|
||||
<br>
|
||||
\anchor tui_building_compound
|
||||
<h2>Building a compound of meshes</h2>
|
||||
\section tui_building_compound Building a compound of meshes
|
||||
\tui_script{creating_meshes_ex07.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_copy_mesh
|
||||
<h2>Mesh Copying</h2>
|
||||
\section tui_copy_mesh Mesh Copying
|
||||
\tui_script{creating_meshes_ex08.py}
|
||||
|
||||
*/
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
Filters allow picking only the mesh elements satisfying to a
|
||||
specific condition or a set of conditions. Filters can be used to create
|
||||
or edit mesh groups, remove elements from the mesh object, control
|
||||
or edit mesh groups, remove elements from the mesh, control
|
||||
mesh quality by different parameters, etc.
|
||||
|
||||
Several filtering criteria can be combined together by using logical
|
||||
@ -24,7 +24,7 @@ Python scripts.
|
||||
|
||||
\section filter_aspect_ratio Aspect ratio
|
||||
|
||||
Filter 2D mesh elements (faces) according to the aspect ratio value:
|
||||
filters 2D mesh elements (faces) according to the aspect ratio value:
|
||||
- element type should be \a SMESH.FACE
|
||||
- functor type should be \a SMESH.FT_AspectRatio
|
||||
- threshold is floating point value (aspect ratio)
|
||||
@ -35,7 +35,7 @@ Filter 2D mesh elements (faces) according to the aspect ratio value:
|
||||
|
||||
\section filter_aspect_ratio_3d Aspect ratio 3D
|
||||
|
||||
Filter 3D mesh elements (volumes) according to the aspect ratio value:
|
||||
filters 3D mesh elements (volumes) according to the aspect ratio value:
|
||||
- element type is \a SMESH.VOLUME
|
||||
- functor type is \a SMESH.FT_AspectRatio3D
|
||||
- threshold is floating point value (aspect ratio)
|
||||
@ -46,7 +46,7 @@ Filter 3D mesh elements (volumes) according to the aspect ratio value:
|
||||
|
||||
\section filter_warping_angle Warping angle
|
||||
|
||||
Filter 2D mesh elements (faces) according to the warping angle value:
|
||||
filters 2D mesh elements (faces) according to the warping angle value:
|
||||
- element type is \a SMESH.FACE
|
||||
- functor type is \a SMESH.FT_Warping
|
||||
- threshold is floating point value (warping angle)
|
||||
@ -57,7 +57,7 @@ Filter 2D mesh elements (faces) according to the warping angle value:
|
||||
|
||||
\section filter_minimum_angle Minimum angle
|
||||
|
||||
Filter 2D mesh elements (faces) according to the minimum angle value:
|
||||
filters 2D mesh elements (faces) according to the minimum angle value:
|
||||
- element type is \a SMESH.FACE
|
||||
- functor type is \a SMESH.FT_MinimumAngle
|
||||
- threshold is floating point value (minimum angle)
|
||||
@ -68,7 +68,7 @@ Filter 2D mesh elements (faces) according to the minimum angle value:
|
||||
|
||||
\section filter_taper Taper
|
||||
|
||||
Filter 2D mesh elements (faces) according to the taper value:
|
||||
filters 2D mesh elements (faces) according to the taper value:
|
||||
- element type is \a SMESH.FACE
|
||||
- functor type is \a SMESH.FT_Taper
|
||||
- threshold is floating point value (taper)
|
||||
@ -79,7 +79,7 @@ Filter 2D mesh elements (faces) according to the taper value:
|
||||
|
||||
\section filter_skew Skew
|
||||
|
||||
Filter 2D mesh elements (faces) according to the skew value:
|
||||
filters 2D mesh elements (faces) according to the skew value:
|
||||
- element type is \a SMESH.FACE
|
||||
- functor type is \a SMESH.FT_Skew
|
||||
- threshold is floating point value (skew)
|
||||
@ -90,7 +90,7 @@ Filter 2D mesh elements (faces) according to the skew value:
|
||||
|
||||
\section filter_area Area
|
||||
|
||||
Filter 2D mesh elements (faces) according to the area value:
|
||||
filters 2D mesh elements (faces) according to the area value:
|
||||
- element type is \a SMESH.FACE
|
||||
- functor type is \a SMESH.FT_Area
|
||||
- threshold is floating point value (area)
|
||||
@ -101,7 +101,7 @@ Filter 2D mesh elements (faces) according to the area value:
|
||||
|
||||
\section filter_volume Volume
|
||||
|
||||
Filter 3D mesh elements (volumes) according to the volume value:
|
||||
filters 3D mesh elements (volumes) according to the volume value:
|
||||
- element type is \a SMESH.VOLUME
|
||||
- functor type is \a SMESH.FT_Volume3D
|
||||
- threshold is floating point value (volume)
|
||||
@ -112,7 +112,7 @@ Filter 3D mesh elements (volumes) according to the volume value:
|
||||
|
||||
\section filter_free_borders Free borders
|
||||
|
||||
Filter 1D mesh elements (edges) which represent free borders of a mesh:
|
||||
filters 1D mesh elements (edges) which represent free borders of a mesh:
|
||||
- element type is \a SMESH.EDGE
|
||||
- functor type is \a SMESH.FT_FreeBorders
|
||||
- threshold value is not required
|
||||
@ -123,8 +123,8 @@ Filter 1D mesh elements (edges) which represent free borders of a mesh:
|
||||
|
||||
\section filter_free_edges Free edges
|
||||
|
||||
Filter 2D mesh elements (faces) consisting of edges belonging to one
|
||||
element of mesh only:
|
||||
filters 2D mesh elements (faces) having edges (i.e. links between
|
||||
nodes, not mesh segments) belonging to one face of mesh only:
|
||||
- element type is \a SMESH.FACE
|
||||
- functor type is \a SMESH.FT_FreeEdges
|
||||
- threshold value is not required
|
||||
@ -135,7 +135,7 @@ element of mesh only:
|
||||
|
||||
\section filter_free_nodes Free nodes
|
||||
|
||||
Filter free nodes:
|
||||
filters free nodes:
|
||||
- element type is \a SMESH.NODE
|
||||
- functor type is \a SMESH.FT_FreeNodes
|
||||
- threshold value is not required
|
||||
@ -146,7 +146,7 @@ Filter free nodes:
|
||||
|
||||
\section filter_free_faces Free faces
|
||||
|
||||
Filter free faces:
|
||||
filters free faces:
|
||||
- element type is \a SMESH.FACE
|
||||
- functor type is \a SMESH.FT_FreeFaces
|
||||
- threshold value is not required
|
||||
@ -157,7 +157,7 @@ Filter free faces:
|
||||
|
||||
\section filter_bare_border_faces Bare border faces
|
||||
|
||||
Filter faces with bare borders:
|
||||
filters faces with bare borders:
|
||||
- element type is \a SMESH.FACE
|
||||
- functor type is \a SMESH.FT_BareBorderFace
|
||||
- threshold value is not required
|
||||
@ -168,7 +168,7 @@ Filter faces with bare borders:
|
||||
|
||||
\section filter_coplanar_faces Coplanar faces
|
||||
|
||||
Filter faces with bare borders:
|
||||
filters coplanar faces:
|
||||
- element type is \a SMESH.FACE
|
||||
- functor type is \a SMESH.FT_CoplanarFaces
|
||||
- threshold value is the face ID
|
||||
@ -178,7 +178,7 @@ Filter faces with bare borders:
|
||||
|
||||
\section filter_over_constrained_faces Over-constrained faces
|
||||
|
||||
Filter over-constrained faces:
|
||||
filters over-constrained faces:
|
||||
- element type is \a SMESH.FACE
|
||||
- functor type is \a SMESH.FT_OverConstrainedFace
|
||||
- threshold value is not required
|
||||
@ -189,7 +189,7 @@ Filter over-constrained faces:
|
||||
|
||||
\section filter_double_elements Double edges, Double faces, Double volumes
|
||||
|
||||
filter mesh elements basing on the same set of nodes:
|
||||
filters mesh elements basing on the same set of nodes:
|
||||
- element type is either \a SMESH.EGDE, \a SMESH.FACE or \a SMESH.VOLUME
|
||||
- functor type is either \a SMESH.FT_EqualEdges, \a
|
||||
SMESH.FT_EqualFaces or \a SMESH.FT_EqualVolumes,
|
||||
@ -211,8 +211,8 @@ filters mesh nodes which are coincident with other nodes (within a given toleran
|
||||
|
||||
\section filter_borders_multiconnection Borders at multi-connection
|
||||
|
||||
Filter border 1D mesh elements (edges) according to the specified number of
|
||||
connections (faces belonging the border edges)
|
||||
filters 1D mesh elements (segments) according to the specified number of
|
||||
connections (faces and volumes on whose border the segment lies):
|
||||
- element type is \a SMESH.EDGE
|
||||
- functor type is \a SMESH.FT_MultiConnection
|
||||
- threshold is integer value (number of connections)
|
||||
@ -223,8 +223,8 @@ connections (faces belonging the border edges)
|
||||
|
||||
\section filter_borders_multiconnection_2d Borders at multi-connection 2D
|
||||
|
||||
Filter 2D mesh elements (faces) which consist of edges belonging
|
||||
to the specified number of mesh elements
|
||||
filters 2D mesh elements (faces) with the specified maximal number of
|
||||
faces connected to a border (link between nodes, not mesh segment):
|
||||
- element type is \a SMESH.FACE
|
||||
- functor type is \a SMESH.FT_MultiConnection2D
|
||||
- threshold is integer value (number of connections)
|
||||
@ -235,7 +235,7 @@ to the specified number of mesh elements
|
||||
|
||||
\section filter_length Length
|
||||
|
||||
Filter 1D mesh elements (edges) according to the edge length value:
|
||||
filters 1D mesh elements (edges) according to the edge length value:
|
||||
- element type should be \a SMESH.EDGE
|
||||
- functor type should be \a SMESH.FT_Length
|
||||
- threshold is floating point value (length)
|
||||
@ -246,8 +246,8 @@ Filter 1D mesh elements (edges) according to the edge length value:
|
||||
|
||||
\section filter_length_2d Length 2D
|
||||
|
||||
Filter 2D mesh elements (faces) corresponding to the maximum length.
|
||||
value of its edges:
|
||||
filters 2D mesh elements (faces) according to the maximum length of its
|
||||
edges (links between nodes):
|
||||
- element type should be \a SMESH.FACE
|
||||
- functor type should be \a SMESH.FT_Length2D
|
||||
- threshold is floating point value (edge length)
|
||||
@ -258,11 +258,11 @@ value of its edges:
|
||||
|
||||
\section filter_max_element_length_2d Element Diameter 2D
|
||||
|
||||
Filter 2D mesh elements (faces) corresponding to the maximum length
|
||||
value of its edges and diagonals:
|
||||
filters 2D mesh elements (faces) according to the maximum length
|
||||
of its edges and diagonals:
|
||||
- element type should be \a SMESH.FACE
|
||||
- functor type should be \a SMESH.FT_MaxElementLength2D
|
||||
- threshold is floating point value (edge/diagonal length)
|
||||
- threshold is floating point value (length)
|
||||
|
||||
\tui_script{filters_ex22.py}
|
||||
|
||||
@ -270,8 +270,8 @@ value of its edges and diagonals:
|
||||
|
||||
\section filter_max_element_length_3d Element Diameter 3D
|
||||
|
||||
Filter 3D mesh elements (volumes) corresponding to the maximum length
|
||||
value of its edges and diagonals:
|
||||
filters 3D mesh elements (volumes) according to the maximum length
|
||||
of its edges and diagonals:
|
||||
- element type should be \a SMESH.VOLUME
|
||||
- functor type should be \a SMESH.FT_MaxElementLength3D
|
||||
- threshold is floating point value (edge/diagonal length)
|
||||
@ -282,7 +282,8 @@ value of its edges and diagonals:
|
||||
|
||||
\section filter_bare_border_volumes Bare border volumes
|
||||
|
||||
Filter 3D mesh elements with bare borders:
|
||||
filters 3D mesh elements with bare borders, i.e. having a facet not
|
||||
shared with other volumes and without a face on it:
|
||||
- element type is \a SMESH.VOLUME
|
||||
- functor type is \a SMESH.FT_BareBorderVolume
|
||||
- threshold value is not required
|
||||
@ -293,7 +294,7 @@ Filter 3D mesh elements with bare borders:
|
||||
|
||||
\section filter_over_constrained_volumes Over-constrained volumes
|
||||
|
||||
Filter over-constrained volumes:
|
||||
filters over-constrained volumes, whose all nodes are on the mesh boundary:
|
||||
- element type is \a SMESH.VOLUME
|
||||
- functor type is \a SMESH.FT_OverConstrainedVolume
|
||||
- threshold value is not required
|
||||
@ -304,9 +305,9 @@ Filter over-constrained volumes:
|
||||
|
||||
\section filter_belong_to_group Belong to Mesh Group
|
||||
|
||||
Filter mesh entities (nodes or elements) included in a mesh group
|
||||
filters mesh entities (nodes or elements) included in a mesh group
|
||||
defined by threshold value:
|
||||
- element type can be any entity type, from \a SMESH.NODE to \a SMESH.VOLUME
|
||||
- element type can be any, from \a SMESH.NODE to \a SMESH.BALL
|
||||
- functor type should be \a SMESH.FT_BelongToMeshGroup
|
||||
- threshold is mesh group object
|
||||
|
||||
@ -314,29 +315,33 @@ defined by threshold value:
|
||||
|
||||
\section filter_belong_to_geom Belong to Geom
|
||||
|
||||
Filter mesh entities (nodes or elements) which all nodes lie on the
|
||||
filters mesh entities (nodes or elements) which all nodes lie on the
|
||||
shape defined by threshold value:
|
||||
- element type can be any entity type, from \a SMESH.NODE to \a SMESH.VOLUME
|
||||
- element type can be any, from \a SMESH.NODE to \a SMESH.BALL
|
||||
- functor type should be \a SMESH.FT_BelongToGeom
|
||||
- threshold is geometrical object
|
||||
- tolerance is a distance between a node and the geometrical object;
|
||||
it is used if an node is not associated to any geometry.
|
||||
|
||||
\tui_script{filters_ex26.py}
|
||||
|
||||
\section filter_lying_on_geom Lying on Geom
|
||||
|
||||
Filter mesh entities (nodes or elements) at least one node of which lies on the
|
||||
filters mesh entities (nodes or elements) at least one node of which lies on the
|
||||
shape defined by threshold value:
|
||||
- element type can be any entity type, from \a SMESH.NODE to \a SMESH.VOLUME
|
||||
- element type can be any, from \a SMESH.NODE to \a SMESH.BALL
|
||||
- functor type should be \a SMESH.FT_LyingOnGeom
|
||||
- threshold is geometrical object
|
||||
- tolerance is a distance between a node and the geometrical object;
|
||||
it is used if an node is not associated to any geometry.
|
||||
|
||||
\tui_script{filters_ex27.py}
|
||||
|
||||
\section filter_belong_to_plane Belong to Plane
|
||||
|
||||
Filter mesh entities (nodes or elements) which all nodes belong to the
|
||||
filters mesh entities (nodes or elements) which all nodes belong to the
|
||||
plane defined by threshold value with the given tolerance:
|
||||
- element type can be: \a SMESH.NODE, \a SMESH.EDGE, \a SMESH.FACE
|
||||
- element type can be any except \a SMESH.VOLUME
|
||||
- functor type should be \a SMESH.FT_BelongToPlane
|
||||
- threshold is geometrical object (plane)
|
||||
- default tolerance is 1.0e-7
|
||||
@ -345,9 +350,9 @@ plane defined by threshold value with the given tolerance:
|
||||
|
||||
\section filter_belong_to_cylinder Belong to Cylinder
|
||||
|
||||
Filter mesh entities (nodes or elements) which all nodes belong to the
|
||||
filters mesh entities (nodes or elements) which all nodes belong to the
|
||||
cylindrical face defined by threshold value with the given tolerance:
|
||||
- element type can be: \a , \a SMESH.EDGE, \a SMESH.FACE
|
||||
- element type can be any except \a SMESH.VOLUME
|
||||
- functor type should be \a SMESH.FT_BelongToCylinder
|
||||
- threshold is geometrical object (cylindrical face)
|
||||
- default tolerance is 1.0e-7
|
||||
@ -356,9 +361,9 @@ cylindrical face defined by threshold value with the given tolerance:
|
||||
|
||||
\section filter_belong_to_surface Belong to Surface
|
||||
|
||||
Filter mesh entities (nodes or elements) which all nodes belong to the
|
||||
filters mesh entities (nodes or elements) which all nodes belong to the
|
||||
arbitrary surface defined by threshold value with the given tolerance:
|
||||
- element type can be: \a SMESH.NODE, \a SMESH.EDGE, \a SMESH.FACE
|
||||
- element type can be any except \a SMESH.VOLUME
|
||||
- functor type should be \a SMESH.FT_BelongToGenSurface
|
||||
- threshold is geometrical object (arbitrary surface)
|
||||
- default tolerance is 1.0e-7
|
||||
@ -367,9 +372,9 @@ arbitrary surface defined by threshold value with the given tolerance:
|
||||
|
||||
\section filter_range_of_ids Range of IDs
|
||||
|
||||
Filter mesh entities elements (nodes or elements) according to the
|
||||
filters mesh entities elements (nodes or elements) according to the
|
||||
specified identifiers range:
|
||||
- element type can be any entity type, from \a SMESH.NODE to \a SMESH.VOLUME
|
||||
- element type can be any, from \a SMESH.NODE to \a SMESH.BALL
|
||||
- functor type is \a SMESH.FT_RangeOfIds
|
||||
- threshold is string listing required IDs and/or ranges of IDs, e.g."1,2,3,50-60,63,67,70-78"
|
||||
|
||||
@ -377,7 +382,7 @@ specified identifiers range:
|
||||
|
||||
\section filter_bad_oriented_volume Badly oriented volume
|
||||
|
||||
Filter 3D mesh elements (volumes), which are incorrectly oriented from
|
||||
filters 3D mesh elements (volumes), which are incorrectly oriented from
|
||||
the point of view of MED convention.
|
||||
- element type should be \a SMESH.VOLUME
|
||||
- functor type is \a SMESH.FT_BadOrientedVolume
|
||||
@ -387,8 +392,8 @@ the point of view of MED convention.
|
||||
|
||||
\section filter_linear_or_quadratic Linear / quadratic
|
||||
|
||||
Filter linear / quadratic mesh elements:
|
||||
- element type should be any element type, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME
|
||||
filters linear / quadratic mesh elements:
|
||||
- element type should be either \a SMESH.EDGE, \a SMESH.FACE or \a SMESH.VOLUME
|
||||
- functor type is \a SMESH.FT_LinearOrQuadratic
|
||||
- threshold is not required
|
||||
- if unary operator is set to SMESH.FT_LogicalNOT, the quadratic
|
||||
@ -398,8 +403,8 @@ elements are selected, otherwise (by default) linear elements are selected
|
||||
|
||||
\section filter_group_color Group color
|
||||
|
||||
Filter mesh entities, belonging to the group with the color defined by the threshold value.
|
||||
- element type can be any entity type, from \a SMESH.NODE to \a SMESH.VOLUME
|
||||
filters mesh entities, belonging to the group with the color defined by the threshold value.
|
||||
- element type can be any, from \a SMESH.NODE to \a SMESH.BALL
|
||||
- functor type is \a SMESH.FT_GroupColor
|
||||
- threshold should be of SALOMEDS.Color type
|
||||
|
||||
@ -407,15 +412,42 @@ Filter mesh entities, belonging to the group with the color defined by the thres
|
||||
|
||||
\section filter_geom_type Geometry type
|
||||
|
||||
Filter mesh elements by the geometric type defined with the threshold
|
||||
filters mesh elements by the geometric type defined with the threshold
|
||||
value. The list of available geometric types depends on the element
|
||||
entity type.
|
||||
- element type should be any element type, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME
|
||||
- element type can be any, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME, etc.
|
||||
- functor type should be \a SMESH.FT_ElemGeomType
|
||||
- threshold is of smesh.GeometryType value
|
||||
- threshold is either of smesh.GeometryType values. Type \a SMESH.GeometryType._items in the Python Console to see all geometric types.
|
||||
|
||||
\tui_script{filters_ex35.py}
|
||||
|
||||
\section filter_entity_type Entity type
|
||||
|
||||
filters mesh elements by the geometric type and number of nodes.
|
||||
- element type can be any, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME, etc.
|
||||
- functor type should be \a SMESH.FT_EntityType
|
||||
- threshold is either of SMESH.EntityType values. Type \a SMESH.EntityType._items in the Python Console to see all entity types.
|
||||
|
||||
\tui_script{filters_ex37.py}
|
||||
|
||||
\section filter_ball_diam Ball diameter
|
||||
|
||||
filters ball elements by diameter.
|
||||
- element type should be \a SMESH.BALL
|
||||
- functor type should be \a SMESH.FT_BallDiameter
|
||||
- threshold is floating point value (ball diameter)
|
||||
|
||||
\tui_script{filters_ex38.py}
|
||||
|
||||
\section filter_domain Elements of a domain
|
||||
|
||||
filters elements of a specified domain.
|
||||
- element type can be any, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME, etc.
|
||||
- functor type should be \a SMESH.FT_ConnectedElements
|
||||
- threshold is either (1) node ID or (2) geometrical vertex or (3) 3 coordinates of a point.
|
||||
|
||||
\tui_script{filters_ex39.py}
|
||||
|
||||
\section combining_filters How to combine several criteria into a filter?
|
||||
|
||||
Several criteria can be combined into a filter.
|
||||
|
@ -2,27 +2,24 @@
|
||||
|
||||
\page tui_grouping_elements_page Grouping Elements
|
||||
|
||||
\tableofcontents
|
||||
|
||||
<br>
|
||||
\anchor tui_create_standalone_group
|
||||
<h2>Create a Standalone Group</h2>
|
||||
\section tui_create_standalone_group Create a Standalone Group
|
||||
\tui_script{grouping_elements_ex01.py}
|
||||
|
||||
\image html create_group.png
|
||||
|
||||
<br>
|
||||
\anchor tui_create_group_on_geometry
|
||||
<h2>Create a Group on Geometry</h2>
|
||||
\section tui_create_group_on_geometry Create a Group on Geometry
|
||||
\tui_script{grouping_elements_ex02.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_create_group_on_filter
|
||||
|
||||
<h2>Create a Group on Filter</h2>
|
||||
\section tui_create_group_on_filter Create a Group on Filter
|
||||
\tui_script{grouping_elements_ex03.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_edit_group
|
||||
<h2>Edit a Group</h2>
|
||||
\section tui_edit_group Edit a Group
|
||||
\tui_script{grouping_elements_ex04.py}
|
||||
|
||||
\image html editing_groups1.png
|
||||
@ -30,8 +27,7 @@
|
||||
\image html editing_groups2.png
|
||||
|
||||
<br>
|
||||
\anchor tui_union_of_groups
|
||||
<h2>Union of groups</h2>
|
||||
\section tui_union_of_groups Union of groups
|
||||
\tui_script{grouping_elements_ex05.py}
|
||||
|
||||
\image html union_groups1.png
|
||||
@ -41,8 +37,7 @@
|
||||
\image html union_groups3.png
|
||||
|
||||
<br>
|
||||
\anchor tui_intersection_of_groups
|
||||
<h2>Intersection of groups</h2>
|
||||
\section tui_intersection_of_groups Intersection of groups
|
||||
\tui_script{grouping_elements_ex06.py}
|
||||
|
||||
\image html intersect_groups1.png
|
||||
@ -52,8 +47,7 @@
|
||||
\image html intersect_groups3.png
|
||||
|
||||
<br>
|
||||
\anchor tui_cut_of_groups
|
||||
<h2>Cut of groups</h2>
|
||||
\section tui_cut_of_groups Cut of groups
|
||||
\tui_script{grouping_elements_ex07.py}
|
||||
|
||||
\image html cut_groups1.png
|
||||
@ -63,8 +57,7 @@
|
||||
\image html cut_groups3.png
|
||||
|
||||
<br>
|
||||
\anchor tui_create_dim_group
|
||||
<h2>Creating groups of entities from existing groups of superior dimensions</h2>
|
||||
\section tui_create_dim_group Creating groups of entities from existing groups of superior dimensions
|
||||
\tui_script{grouping_elements_ex08.py}
|
||||
|
||||
\image html dimgroup_tui1.png
|
||||
|
@ -2,9 +2,10 @@
|
||||
|
||||
\page tui_modifying_meshes_page Modifying Meshes
|
||||
|
||||
\tableofcontents
|
||||
|
||||
<br>
|
||||
\anchor tui_adding_nodes_and_elements
|
||||
<h2>Adding Nodes and Elements</h2>
|
||||
\section tui_adding_nodes_and_elements Adding Nodes and Elements
|
||||
|
||||
<br>
|
||||
\anchor tui_add_node
|
||||
@ -57,8 +58,7 @@
|
||||
\tui_script{modifying_meshes_ex10.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_removing_nodes_and_elements
|
||||
<h2>Removing Nodes and Elements</h2>
|
||||
\section tui_removing_nodes_and_elements Removing Nodes and Elements
|
||||
|
||||
<br>
|
||||
\anchor tui_removing_nodes
|
||||
@ -76,73 +76,59 @@
|
||||
\tui_script{modifying_meshes_ex13.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_renumbering_nodes_and_elements
|
||||
<h2>Renumbering Nodes and Elements</h2>
|
||||
\section tui_renumbering_nodes_and_elements Renumbering Nodes and Elements
|
||||
\tui_script{modifying_meshes_ex14.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_moving_nodes
|
||||
<h2>Moving Nodes</h2>
|
||||
\section tui_moving_nodes Moving Nodes
|
||||
\tui_script{modifying_meshes_ex15.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_diagonal_inversion
|
||||
<h2>Diagonal Inversion</h2>
|
||||
\section tui_diagonal_inversion Diagonal Inversion
|
||||
\tui_script{modifying_meshes_ex16.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_uniting_two_triangles
|
||||
<h2>Uniting two Triangles</h2>
|
||||
\section tui_uniting_two_triangles Uniting two Triangles
|
||||
\tui_script{modifying_meshes_ex17.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_uniting_set_of_triangles
|
||||
<h2>Uniting a Set of Triangles</h2>
|
||||
\section tui_uniting_set_of_triangles Uniting a Set of Triangles
|
||||
\tui_script{modifying_meshes_ex18.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_orientation
|
||||
<h2>Orientation</h2>
|
||||
\section tui_orientation Orientation
|
||||
\tui_script{modifying_meshes_ex19.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_cutting_quadrangles
|
||||
<h2>Cutting Quadrangles</h2>
|
||||
\section tui_cutting_quadrangles Cutting Quadrangles
|
||||
\tui_script{modifying_meshes_ex20.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_smoothing
|
||||
<h2>Smoothing</h2>
|
||||
\section tui_smoothing Smoothing
|
||||
\tui_script{modifying_meshes_ex21.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_extrusion
|
||||
<h2>Extrusion</h2>
|
||||
\section tui_extrusion Extrusion
|
||||
\tui_script{modifying_meshes_ex22.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_extrusion_along_path
|
||||
<h2>Extrusion along a Path</h2>
|
||||
\section tui_extrusion_along_path Extrusion along a Path
|
||||
\tui_script{modifying_meshes_ex23.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_revolution
|
||||
<h2>Revolution</h2>
|
||||
\section tui_revolution Revolution
|
||||
\tui_script{modifying_meshes_ex24.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_pattern_mapping
|
||||
<h2>Pattern Mapping</h2>
|
||||
\section tui_pattern_mapping Pattern Mapping
|
||||
\tui_script{modifying_meshes_ex25.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_quadratic
|
||||
<h2>Convert mesh to/from quadratic</h2>
|
||||
\section tui_quadratic Convert mesh to/from quadratic
|
||||
\tui_script{modifying_meshes_ex26.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_split_biquad
|
||||
<h2>Split bi-quadratic into linear</h2>
|
||||
\section tui_split_biquad Split bi-quadratic into linear
|
||||
\tui_script{split_biquad.py}
|
||||
|
||||
*/
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
\page tui_quality_controls_page Quality Controls
|
||||
|
||||
\tableofcontents
|
||||
|
||||
\section tui_free_borders Free Borders
|
||||
\tui_script{quality_controls_ex01.py}
|
||||
|
||||
|
@ -2,73 +2,58 @@
|
||||
|
||||
\page tui_transforming_meshes_page Transforming Meshes
|
||||
|
||||
<br><h2>Transforming Meshes</h2>
|
||||
\tableofcontents
|
||||
|
||||
<br>
|
||||
\anchor tui_translation
|
||||
<h3>Translation</h3>
|
||||
\section tui_translation Translation
|
||||
\tui_script{transforming_meshes_ex01.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_rotation
|
||||
<h3>Rotation</h3>
|
||||
\section tui_rotation Rotation
|
||||
\tui_script{transforming_meshes_ex02.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_scale
|
||||
<h3>Scale</h3>
|
||||
\section tui_scale Scale
|
||||
\tui_script{transforming_meshes_ex03.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_symmetry
|
||||
<h3>Symmetry</h3>
|
||||
\section tui_symmetry Symmetry
|
||||
\tui_script{transforming_meshes_ex04.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_merging_nodes
|
||||
<h3>Merging Nodes</h3>
|
||||
\section tui_merging_nodes Merging Nodes
|
||||
\tui_script{transforming_meshes_ex05.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_merging_elements
|
||||
<h3>Merging Elements</h3>
|
||||
\section tui_merging_elements Merging Elements
|
||||
\tui_script{transforming_meshes_ex06.py}
|
||||
|
||||
<br><h2>Sewing Meshes</h2>
|
||||
|
||||
<br>
|
||||
\anchor tui_sew_meshes_border_to_side
|
||||
<h3>Sew Meshes Border to Side</h3>
|
||||
\section tui_sew_meshes_border_to_side Sew Meshes Border to Side
|
||||
\tui_script{transforming_meshes_ex07.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_sew_conform_free_borders
|
||||
<h3>Sew Conform Free Borders</h3>
|
||||
\section tui_sew_conform_free_borders Sew Conform Free Borders
|
||||
\tui_script{transforming_meshes_ex08.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_sew_free_borders
|
||||
<h3>Sew Free Borders</h3>
|
||||
\section tui_sew_free_borders Sew Free Borders
|
||||
\tui_script{transforming_meshes_ex09.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_sew_side_elements
|
||||
<h3>Sew Side Elements</h3>
|
||||
\section tui_sew_side_elements Sew Side Elements
|
||||
\tui_script{transforming_meshes_ex10.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_duplicate_nodes
|
||||
<h3>Duplicate nodes or/and elements</h3>
|
||||
\section tui_duplicate_nodes Duplicate nodes or/and elements
|
||||
\tui_script{transforming_meshes_ex11.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_make_2dmesh_from_3d
|
||||
<h3>Create boundary elements</h3>
|
||||
\section tui_make_2dmesh_from_3d Create boundary elements
|
||||
\tui_script{transforming_meshes_ex12.py}
|
||||
|
||||
<br>
|
||||
\anchor tui_reorient_faces
|
||||
<h3>Reorient faces</h3>
|
||||
\section tui_reorient_faces Reorient faces
|
||||
\tui_script{transforming_meshes_ex13.py}
|
||||
|
||||
*/
|
||||
|
@ -6,7 +6,7 @@ It is sometimes useful to work alternatively in the GUI of SALOME and in the Pyt
|
||||
|
||||
\code
|
||||
myMesh_ref = salome.IDToObject("ID")
|
||||
// were ID is the number that appears in the object browser in the Entry column
|
||||
// were ID is the string looking like "0:1:2:3" that appears in the object browser in the Entry column
|
||||
// ( If hidden show it by right clicking and checking the checkbox Entry)
|
||||
myMesh = smesh.Mesh(myMesh_ref)
|
||||
\endcode
|
||||
|
@ -4,7 +4,7 @@
|
||||
<ul>
|
||||
$navpath
|
||||
<li class="footer">
|
||||
Copyright © 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE<br>
|
||||
Copyright © 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE<br>
|
||||
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS<br>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -4,7 +4,7 @@
|
||||
<ul>
|
||||
$navpath
|
||||
<li class="footer">
|
||||
Copyright © 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE<br>
|
||||
Copyright © 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE<br>
|
||||
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS<br>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
//
|
||||
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
//
|
||||
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
//
|
||||
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
//
|
||||
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
@ -74,7 +74,7 @@ module SMESH
|
||||
boolean Contains( in long elem_id );
|
||||
|
||||
/*!
|
||||
* Returns ID of an element at position <elem_index>
|
||||
* Returns ID of an element at position <elem_index> counted from 1
|
||||
*/
|
||||
long GetID( in long elem_index );
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
//
|
||||
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
//
|
||||
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
//
|
||||
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
//
|
||||
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
//
|
||||
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version='1.0' encoding='us-ascii' ?>
|
||||
<!--
|
||||
Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
|
||||
Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
|
||||
Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
@ -122,6 +122,7 @@
|
||||
<parameter name="Plug-ins/MGCleaner plugin User's Guide" value="%SMESH_ROOT_DIR%/share/doc/salome/gui/SMESH/MGCleaner/index.html"/>
|
||||
<parameter name="Plug-ins/Z-cracks plugin User's Guide" value="%SMESH_ROOT_DIR%/share/doc/salome/gui/SMESH/zcracks/index.html"/>
|
||||
<parameter name="Plug-ins/MacMesh plugin" value="%SMESH_ROOT_DIR%/share/doc/salome/gui/SMESH/MacMesh/index.html"/>
|
||||
<parameter name="Plug-ins/plugin blocFissure" value="%SMESH_ROOT_DIR%/share/doc/salome/gui/SMESH/blocFissure/index.html"/>
|
||||
<parameter name="Developer's Guide" value="%SMESH_ROOT_DIR%/share/doc/salome/tui/SMESH/index.html"/>
|
||||
</section>
|
||||
<section name="resources">
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='us-ascii'?>
|
||||
<!DOCTYPE meshers PUBLIC "" "desktop.dtd">
|
||||
<!--
|
||||
Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
|
||||
Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user