face = geompy.SubShapeAllSorted(box, geompy.ShapeType["FACE"])[0]
# generate a prismatic 3D mesh
-mesh = smesh.Mesh(box)
+mesh = smesh.Mesh(box, "box")
localAlgo = mesh.Triangle(face)
-mesh.AutomaticHexahedralization()
+mesh.Segment().NumberOfSegments( 3 )
+mesh.Quadrangle()
+mesh.Prism()
+mesh.Compute()
# objects to copy
fGroup = mesh.GroupOnGeom( face, "2D on face")
# 6. copy a sub-mesh
newMesh = smesh.CopyMesh( subMesh, "sub-mesh copy" )
+
+
+# make a new mesh with same hypotheses on a modified geometry
+
+smallBox = geompy.MakeScaleAlongAxes( box, None, 1, 0.5, 0.5 )
+cutBox = geompy.MakeCut( box, smallBox, theName="box - smallBox" )
+
+ok, newMesh, groups, submehses, hyps, invIDs = smesh.CopyMeshWithGeom( mesh, cutBox, "cutBox" )
+newMesh.Compute()
#. Create an instance of :class:`smeshBuilder.smeshBuilder`:
.. code-block:: python
- :linenos:
from salome.smesh import smeshBuilder
smesh = smeshBuilder.New()
#. Create a :class:`smeshBuilder.Mesh` object:
.. code-block:: python
- :linenos:
mesh = smesh.Mesh( geometry )
#. Create and assign :ref:`algorithms <basic_meshing_algos_page>` by calling corresponding methods of the mesh. If a sub-shape is provided as an argument, a :ref:`sub-mesh <constructing_submeshes_page>` is implicitly created on this sub-shape:
.. code-block:: python
- :linenos:
regular1D = mesh.Segment()
mefisto = mesh.Triangle( smeshBuilder.MEFISTO )
#. Create and assign :ref:`hypotheses <about_hypo_page>` by calling corresponding methods of algorithms:
.. code-block:: python
- :linenos:
segLen10 = regular1D.LocalLength( 10. )
maxArea = mefisto.LocalLength( 100. )
#. :ref:`compute_anchor` the mesh (generate mesh nodes and elements):
.. code-block:: python
- :linenos:
mesh.Compute()
##############################
.. literalinclude:: ../../../examples/3dmesh.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/3dmesh.py>`
======================
.. literalinclude:: ../../../examples/creating_meshes_ex01.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/creating_meshes_ex01.py>`
==========================
.. literalinclude:: ../../../examples/creating_meshes_ex02.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/creating_meshes_ex02.py>`
=====================================
.. literalinclude:: ../../../examples/creating_meshes_ex03.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/creating_meshes_ex03.py>`
==================================
.. literalinclude:: ../../../examples/a3DmeshOnModified2Dmesh.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/a3DmeshOnModified2Dmesh.py>`
=========================================
.. literalinclude:: ../../../examples/creating_meshes_ex04.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/creating_meshes_ex04.py>`
================
.. literalinclude:: ../../../examples/creating_meshes_ex05.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/creating_meshes_ex05.py>`
demonstrates the resulting mesh.
.. literalinclude:: ../../../examples/creating_meshes_ex06.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/creating_meshes_ex06.py>`
=============================
.. literalinclude:: ../../../examples/creating_meshes_ex07.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/creating_meshes_ex07.py>`
============
.. literalinclude:: ../../../examples/creating_meshes_ex08.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/creating_meshes_ex08.py>`
================================================
.. literalinclude:: ../../../examples/defining_hypotheses_ex01.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex01.py>`
========
.. literalinclude:: ../../../examples/defining_hypotheses_adaptive1d.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_adaptive1d.py>`
=================================
.. literalinclude:: ../../../examples/defining_hypotheses_ex02.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex02.py>`
====================
.. literalinclude:: ../../../examples/defining_hypotheses_ex03.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex03.py>`
============
.. literalinclude:: ../../../examples/defining_hypotheses_ex04.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex04.py>`
====================
.. literalinclude:: ../../../examples/defining_hypotheses_ex05.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex05.py>`
======================
.. literalinclude:: ../../../examples/defining_hypotheses_ex06.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex06.py>`
=================
.. literalinclude:: ../../../examples/defining_hypotheses_ex07.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex07.py>`
===========
.. literalinclude:: ../../../examples/defining_hypotheses_ex08.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex08.py>`
###########################
.. literalinclude:: ../../../examples/defining_hypotheses_ex09.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex09.py>`
=====================
.. literalinclude:: ../../../examples/defining_hypotheses_ex10.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex10.py>`
===============
.. literalinclude:: ../../../examples/defining_hypotheses_ex11.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex11.py>`
#################################
.. literalinclude:: ../../../examples/defining_hypotheses_ex12.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex12.py>`
###############################
.. literalinclude:: ../../../examples/defining_hypotheses_ex13.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex13.py>`
##############################################################
.. literalinclude:: ../../../examples/defining_hypotheses_ex14.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex14.py>`
#######################################################
.. literalinclude:: ../../../examples/defining_hypotheses_ex15.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex15.py>`
#################################################
.. literalinclude:: ../../../examples/defining_hypotheses_ex16.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex16.py>`
###########################
.. literalinclude:: ../../../examples/defining_hypotheses_ex17.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_ex17.py>`
####################
.. literalinclude:: ../../../examples/radial_prism_3d_algo.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/radial_prism_3d_algo.py>`
###############################
.. literalinclude:: ../../../examples/cartesian_algo.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/cartesian_algo.py>`
implemented in Python.
.. literalinclude:: ../../../examples/use_existing_faces.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/use_existing_faces.py>`
########################################
.. literalinclude:: ../../../examples/prism_3d_algo.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/prism_3d_algo.py>`
#########################################
.. literalinclude:: ../../../examples/quad_medial_axis_algo.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quad_medial_axis_algo.py>`
#########################################
.. literalinclude:: ../../../examples/defining_hypotheses_len_near_vertex.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/defining_hypotheses_len_near_vertex.py>`
* threshold is floating point value (aspect ratio)
.. literalinclude:: ../../../examples/filters_ex01.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex01.py>`
* threshold is floating point value (aspect ratio)
.. literalinclude:: ../../../examples/filters_ex02.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex02.py>`
* threshold is floating point value (warping angle)
.. literalinclude:: ../../../examples/filters_ex03.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex03.py>`
* threshold is floating point value (minimum angle)
.. literalinclude:: ../../../examples/filters_ex04.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex04.py>`
* threshold is floating point value (taper)
.. literalinclude:: ../../../examples/filters_ex05.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex05.py>`
* threshold is floating point value (skew)
.. literalinclude:: ../../../examples/filters_ex06.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex06.py>`
* threshold is floating point value (area)
.. literalinclude:: ../../../examples/filters_ex07.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex07.py>`
* threshold is floating point value (volume)
.. literalinclude:: ../../../examples/filters_ex08.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex08.py>`
* threshold value is not required
.. literalinclude:: ../../../examples/filters_ex09.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex09.py>`
* threshold value is not required
.. literalinclude:: ../../../examples/filters_ex10.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex10.py>`
* threshold value is not required
.. literalinclude:: ../../../examples/filters_ex11.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex11.py>`
* threshold value is not required
.. literalinclude:: ../../../examples/filters_ex12.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex12.py>`
* threshold value is not required
.. literalinclude:: ../../../examples/filters_ex13.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex13.py>`
* tolerance is in degrees
.. literalinclude:: ../../../examples/filters_ex14.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex14.py>`
* threshold value is not required
.. literalinclude:: ../../../examples/filters_ex15.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex15.py>`
* threshold value is not required
.. literalinclude:: ../../../examples/filters_ex16.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex16.py>`
* default tolerance is 1.0e-7
.. literalinclude:: ../../../examples/filters_ex17.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex17.py>`
* threshold is an integer value (number of elements)
.. literalinclude:: ../../../examples/filters_node_nb_conn.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_node_nb_conn.py>`
* threshold is integer value (number of connections)
.. literalinclude:: ../../../examples/filters_ex18.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex18.py>`
* threshold is integer value (number of connections)
.. literalinclude:: ../../../examples/filters_ex19.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex19.py>`
* threshold is floating point value (length)
.. literalinclude:: ../../../examples/filters_ex20.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex20.py>`
* threshold is floating point value (edge length)
.. literalinclude:: ../../../examples/filters_ex21.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex21.py>`
* threshold is floating point value (length)
.. literalinclude:: ../../../examples/filters_ex22.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex22.py>`
* threshold is floating point value (edge/diagonal length)
.. literalinclude:: ../../../examples/filters_ex23.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex23.py>`
* threshold value is not required
.. literalinclude:: ../../../examples/filters_ex24.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex24.py>`
* threshold value is not required
.. literalinclude:: ../../../examples/filters_ex25.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex25.py>`
* threshold is mesh group object
.. literalinclude:: ../../../examples/filters_belong2group.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_belong2group.py>`
* tolerance is a distance between a node and the geometrical object; it is used if an node is not associated to any geometry.
.. literalinclude:: ../../../examples/filters_ex26.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex26.py>`
it is used if an node is not associated to any geometry.
.. literalinclude:: ../../../examples/filters_ex27.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex27.py>`
* default tolerance is 1.0e-7
.. literalinclude:: ../../../examples/filters_ex28.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex28.py>`
* default tolerance is 1.0e-7
.. literalinclude:: ../../../examples/filters_ex29.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex29.py>`
* default tolerance is 1.0e-7
.. literalinclude:: ../../../examples/filters_ex30.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex30.py>`
* threshold is string listing required IDs and/or ranges of IDs, e.g."1,2,3,50-60,63,67,70-78"
.. literalinclude:: ../../../examples/filters_ex31.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex31.py>`
* threshold is not required
.. literalinclude:: ../../../examples/filters_ex32.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex32.py>`
* if unary operator is set to SMESH.FT_LogicalNOT, the quadratic elements are selected, otherwise (by default) linear elements are selected
.. literalinclude:: ../../../examples/filters_ex33.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex33.py>`
* threshold should be of SALOMEDS.Color type
.. literalinclude:: ../../../examples/filters_ex34.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex34.py>`
* threshold is either of smesh.GeometryType values. Type *SMESH.GeometryType._items* in the Python Console to see all geometric types.
.. literalinclude:: ../../../examples/filters_ex35.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex35.py>`
* threshold is either of SMESH.EntityType values. Type *SMESH.EntityType._items* in the Python Console to see all entity types.
.. literalinclude:: ../../../examples/filters_ex37.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex37.py>`
* threshold is floating point value (ball diameter)
.. literalinclude:: ../../../examples/filters_ex38.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex38.py>`
* threshold is either (1) node ID or (2) geometrical vertex or (3) 3 coordinates of a point.
.. literalinclude:: ../../../examples/filters_ex39.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex39.py>`
Several criteria can be combined into a filter.
.. literalinclude:: ../../../examples/filters_ex36.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/filters_ex36.py>`
=========================
.. literalinclude:: ../../../examples/grouping_elements_ex01.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/grouping_elements_ex01.py>`
==========================
.. literalinclude:: ../../../examples/grouping_elements_ex02.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/grouping_elements_ex02.py>`
========================
.. literalinclude:: ../../../examples/grouping_elements_ex03.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/grouping_elements_ex03.py>`
============
.. literalinclude:: ../../../examples/grouping_elements_ex04.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/grouping_elements_ex04.py>`
===============
.. literalinclude:: ../../../examples/grouping_elements_ex05.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/grouping_elements_ex05.py>`
======================
.. literalinclude:: ../../../examples/grouping_elements_ex06.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/grouping_elements_ex06.py>`
=============
.. literalinclude:: ../../../examples/grouping_elements_ex07.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/grouping_elements_ex07.py>`
===========================================================
.. literalinclude:: ../../../examples/grouping_elements_ex08.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/grouping_elements_ex08.py>`
================
.. literalinclude:: ../../../examples/measurements_ex01.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/measurements_ex01.py>`
============
.. literalinclude:: ../../../examples/measurements_ex02.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/measurements_ex02.py>`
================
.. literalinclude:: ../../../examples/measurements_ex03.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/measurements_ex03.py>`
********
.. literalinclude:: ../../../examples/modifying_meshes_ex01.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex01.py>`
**************
.. literalinclude:: ../../../examples/modifying_meshes_ex02.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex02.py>`
*******************************
.. literalinclude:: ../../../examples/modifying_meshes_ex03.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex03.py>`
********
.. literalinclude:: ../../../examples/modifying_meshes_ex04.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex04.py>`
************
.. literalinclude:: ../../../examples/modifying_meshes_ex05.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex05.py>`
**************
.. literalinclude:: ../../../examples/modifying_meshes_ex06.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex06.py>`
***************
.. literalinclude:: ../../../examples/modifying_meshes_ex07.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex07.py>`
**************
.. literalinclude:: ../../../examples/modifying_meshes_ex08.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex08.py>`
***********
.. literalinclude:: ../../../examples/modifying_meshes_ex09.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex09.py>`
**************
.. literalinclude:: ../../../examples/modifying_meshes_ex10.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex10.py>`
**************
.. literalinclude:: ../../../examples/modifying_meshes_ex11.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex11.py>`
*****************
.. literalinclude:: ../../../examples/modifying_meshes_ex12.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex12.py>`
*********************
.. literalinclude:: ../../../examples/modifying_meshes_ex13.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex13.py>`
============
.. literalinclude:: ../../../examples/modifying_meshes_ex15.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex15.py>`
==================
.. literalinclude:: ../../../examples/modifying_meshes_ex16.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex16.py>`
=====================
.. literalinclude:: ../../../examples/modifying_meshes_ex17.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex17.py>`
==========================
.. literalinclude:: ../../../examples/modifying_meshes_ex18.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex18.py>`
===========
.. literalinclude:: ../../../examples/modifying_meshes_ex19.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex19.py>`
===================
.. literalinclude:: ../../../examples/modifying_meshes_ex20.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex20.py>`
=============================
.. literalinclude:: ../../../examples/modifying_meshes_split_vol.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_split_vol.py>`
=========
.. literalinclude:: ../../../examples/modifying_meshes_ex21.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex21.py>`
=========
.. literalinclude:: ../../../examples/modifying_meshes_ex22.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex22.py>`
======================
.. literalinclude:: ../../../examples/modifying_meshes_ex23.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex23.py>`
==========
.. literalinclude:: ../../../examples/modifying_meshes_ex24.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex24.py>`
===============
.. literalinclude:: ../../../examples/modifying_meshes_ex25.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex25.py>`
==============================
.. literalinclude:: ../../../examples/modifying_meshes_ex26.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/modifying_meshes_ex26.py>`
==============================
.. literalinclude:: ../../../examples/split_biquad.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/split_biquad.py>`
The big cylinder is defined by two geometric volumes.
.. literalinclude:: ../../../examples/generate_flat_elements.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/generate_flat_elements.py>`
==============
.. literalinclude:: ../../../examples/notebook_smesh.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/notebook_smesh.py>`
============
.. literalinclude:: ../../../examples/quality_controls_ex01.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex01.py>`
==========================
.. literalinclude:: ../../../examples/quality_controls_ex02.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex02.py>`
=========
.. literalinclude:: ../../../examples/quality_controls_ex03.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex03.py>`
==========
.. literalinclude:: ../../../examples/quality_controls_ex04.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex04.py>`
==========
.. literalinclude:: ../../../examples/quality_controls_ex05.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex05.py>`
==========
.. literalinclude:: ../../../examples/quality_controls_ex06.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex06.py>`
=================
.. literalinclude:: ../../../examples/quality_controls_ex07.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex07.py>`
===================
.. literalinclude:: ../../../examples/quality_controls_ex08.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex08.py>`
======================
.. literalinclude:: ../../../examples/quality_controls_ex09.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex09.py>`
========================
.. literalinclude:: ../../../examples/quality_controls_ex10.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex10.py>`
=========
.. literalinclude:: ../../../examples/quality_controls_ex11.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex11.py>`
=============================
.. literalinclude:: ../../../examples/quality_controls_ex12.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex12.py>`
====
.. literalinclude:: ../../../examples/quality_controls_ex13.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex13.py>`
=====
.. literalinclude:: ../../../examples/quality_controls_ex14.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex14.py>`
============
.. literalinclude:: ../../../examples/quality_controls_ex15.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex15.py>`
=============
.. literalinclude:: ../../../examples/quality_controls_ex16.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex16.py>`
=======
.. literalinclude:: ../../../examples/quality_controls_ex17.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex17.py>`
====
.. literalinclude:: ../../../examples/quality_controls_ex18.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex18.py>`
===================
.. literalinclude:: ../../../examples/quality_controls_ex19.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex19.py>`
===============
.. literalinclude:: ../../../examples/quality_controls_ex20.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex20.py>`
======
.. literalinclude:: ../../../examples/quality_controls_ex21.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex21.py>`
===================
.. literalinclude:: ../../../examples/quality_controls_ex22.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/quality_controls_ex22.py>`
===========
.. literalinclude:: ../../../examples/transforming_meshes_ex01.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/transforming_meshes_ex01.py>`
========
.. literalinclude:: ../../../examples/transforming_meshes_ex02.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/transforming_meshes_ex02.py>`
=====
.. literalinclude:: ../../../examples/transforming_meshes_ex03.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/transforming_meshes_ex03.py>`
========
.. literalinclude:: ../../../examples/transforming_meshes_ex04.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/transforming_meshes_ex04.py>`
=============
.. literalinclude:: ../../../examples/transforming_meshes_ex05.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/transforming_meshes_ex05.py>`
================
.. literalinclude:: ../../../examples/transforming_meshes_ex06.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/transforming_meshes_ex06.py>`
=========================
.. literalinclude:: ../../../examples/transforming_meshes_ex07.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/transforming_meshes_ex07.py>`
========================
.. literalinclude:: ../../../examples/transforming_meshes_ex08.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/transforming_meshes_ex08.py>`
================
.. literalinclude:: ../../../examples/transforming_meshes_ex09.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/transforming_meshes_ex09.py>`
=================
.. literalinclude:: ../../../examples/transforming_meshes_ex10.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/transforming_meshes_ex10.py>`
===============================
.. literalinclude:: ../../../examples/transforming_meshes_ex11.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/transforming_meshes_ex11.py>`
========================
.. literalinclude:: ../../../examples/transforming_meshes_ex12.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/transforming_meshes_ex12.py>`
==============
.. literalinclude:: ../../../examples/transforming_meshes_ex13.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/transforming_meshes_ex13.py>`
##################
.. literalinclude:: ../../../examples/viewing_meshes_ex01.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/viewing_meshes_ex01.py>`
#####################
.. literalinclude:: ../../../examples/viewing_meshes_ex02.py
- :linenos:
:language: python
:download:`Download this script <../../../examples/viewing_meshes_ex02.py>`
#include <pthread.h>
#endif
-using namespace std;
-
// maximum stored group name length in MED file
#define MAX_MED_GROUP_NAME_LENGTH 80
sm->ComputeStateEngine( SMESH_subMesh::MESH_ENTITY_REMOVED );
// delete groups
- map < int, SMESH_Group * >::iterator itg;
+ std::map < int, SMESH_Group * >::iterator itg;
for (itg = _mapGroup.begin(); itg != _mapGroup.end(); itg++) {
SMESH_Group *aGroup = (*itg).second;
delete aGroup;
// - sub-meshes
_subMeshHolder->DeleteAll();
// - groups on geometry
- map <int, SMESH_Group *>::iterator i_gr = _mapGroup.begin();
+ std::map <int, SMESH_Group *>::iterator i_gr = _mapGroup.begin();
while ( i_gr != _mapGroup.end() ) {
if ( dynamic_cast<SMESHDS_GroupOnGeom*>( i_gr->second->GetGroupDS() )) {
_myMeshDS->RemoveGroup( i_gr->second->GetGroupDS() );
Driver_Mesh::Status status = myReader.Perform();
#ifdef _DEBUG_
SMESH_ComputeErrorPtr er = myReader.GetError();
- if ( er && !er->IsOK() ) cout << er->myComment << endl;
+ if ( er && !er->IsOK() ) std::cout << er->myComment << std::endl;
#endif
// Reading groups (sub-meshes are out of scope of MED import functionality)
- list<TNameAndType> aGroupNames = myReader.GetGroupNamesAndTypes();
+ std::list<TNameAndType> aGroupNames = myReader.GetGroupNamesAndTypes();
int anId;
- list<TNameAndType>::iterator name_type = aGroupNames.begin();
+ std::list<TNameAndType>::iterator name_type = aGroupNames.begin();
for ( ; name_type != aGroupNames.end(); name_type++ )
{
SMESH_Group* aGroup = AddGroup( name_type->second, name_type->first.c_str(), anId );
// NOTE: this is not a correct way to check a name of hypothesis,
// there should be an attribute of hypothesis saying that it can/can't
// be global/local
- string hypName = anHyp->GetName();
+ std::string hypName = anHyp->GetName();
if ( hypName == "NotConformAllowed" )
{
if(MYDEBUG) MESSAGE( "Hypothesis <NotConformAllowed> can be only global" );
*/
//=============================================================================
-const list<const SMESHDS_Hypothesis*>&
+const std::list<const SMESHDS_Hypothesis*>&
SMESH_Mesh::GetHypothesisList(const TopoDS_Shape & aSubShape) const
throw(SALOME_Exception)
{
{
const TopoDS_Shape & aSubShape = aSubMesh->GetSubShape();
- const list<const SMESHDS_Hypothesis*>& hypList = _myMeshDS->GetHypothesis(aSubShape);
- list<const SMESHDS_Hypothesis*>::const_iterator hyp = hypList.begin();
+ const std::list<const SMESHDS_Hypothesis*>& hypList = _myMeshDS->GetHypothesis(aSubShape);
+ std::list<const SMESHDS_Hypothesis*>::const_iterator hyp = hypList.begin();
for ( ; hyp != hypList.end(); hyp++ ) {
const SMESH_Hypothesis * h = cSMESH_Hyp( *hyp );
if ( aFilter.IsOk( h, aSubShape)) {
const_cast< std::vector< SMESH_subMesh * > & > ( aSubMesh->GetAncestors() );
SortByMeshOrder( ancestors );
- vector<SMESH_subMesh*>::const_iterator smIt = ancestors.begin();
+ std::vector<SMESH_subMesh*>::const_iterator smIt = ancestors.begin();
for ( ; smIt != ancestors.end(); smIt++ )
{
const TopoDS_Shape& curSh = (*smIt)->GetSubShape();
- const list<const SMESHDS_Hypothesis*>& hypList = _myMeshDS->GetHypothesis(curSh);
- list<const SMESHDS_Hypothesis*>::const_iterator hyp = hypList.begin();
+ const std::list<const SMESHDS_Hypothesis*>& hypList = _myMeshDS->GetHypothesis(curSh);
+ std::list<const SMESHDS_Hypothesis*>::const_iterator hyp = hypList.begin();
for ( ; hyp != hypList.end(); hyp++ ) {
const SMESH_Hypothesis * h = cSMESH_Hyp( *hyp );
if (aFilter.IsOk( h, curSh )) {
*/
//================================================================================
-int SMESH_Mesh::GetHypotheses(const TopoDS_Shape & aSubShape,
- const SMESH_HypoFilter& aFilter,
- list <const SMESHDS_Hypothesis * >& aHypList,
- const bool andAncestors,
- list< TopoDS_Shape > * assignedTo/*=0*/) const
+int SMESH_Mesh::GetHypotheses(const TopoDS_Shape & aSubShape,
+ const SMESH_HypoFilter& aFilter,
+ std::list <const SMESHDS_Hypothesis * >& aHypList,
+ const bool andAncestors,
+ std::list< TopoDS_Shape > * assignedTo/*=0*/) const
{
return GetHypotheses( const_cast< SMESH_Mesh* >(this)->GetSubMesh( aSubShape ),
aFilter, aHypList, andAncestors, assignedTo );
*/
//================================================================================
-int SMESH_Mesh::GetHypotheses(const SMESH_subMesh * aSubMesh,
- const SMESH_HypoFilter& aFilter,
- list <const SMESHDS_Hypothesis * >& aHypList,
- const bool andAncestors,
- list< TopoDS_Shape > * assignedTo/*=0*/) const
+int SMESH_Mesh::GetHypotheses(const SMESH_subMesh * aSubMesh,
+ const SMESH_HypoFilter& aFilter,
+ std::list <const SMESHDS_Hypothesis * >& aHypList,
+ const bool andAncestors,
+ std::list< TopoDS_Shape > * assignedTo/*=0*/) const
{
if ( !aSubMesh ) return 0;
- set<string> hypTypes; // to exclude same type hypos from the result list
+ std::set< std::string > hypTypes; // to exclude same type hypos from the result list
int nbHyps = 0;
// only one main hypothesis is allowed
bool mainHypFound = false;
// fill in hypTypes
- list<const SMESHDS_Hypothesis*>::const_iterator hyp;
+ std::list<const SMESHDS_Hypothesis*>::const_iterator hyp;
for ( hyp = aHypList.begin(); hyp != aHypList.end(); hyp++ ) {
if ( hypTypes.insert( (*hyp)->GetName() ).second )
nbHyps++;
// get hypos from aSubShape
{
const TopoDS_Shape & aSubShape = aSubMesh->GetSubShape();
- const list<const SMESHDS_Hypothesis*>& hypList = _myMeshDS->GetHypothesis(aSubShape);
+ const std::list<const SMESHDS_Hypothesis*>& hypList = _myMeshDS->GetHypothesis(aSubShape);
for ( hyp = hypList.begin(); hyp != hypList.end(); hyp++ )
{
const SMESH_Hypothesis* h = cSMESH_Hyp( *hyp );
const_cast< std::vector< SMESH_subMesh * > & > ( aSubMesh->GetAncestors() );
SortByMeshOrder( ancestors );
- vector<SMESH_subMesh*>::const_iterator smIt = ancestors.begin();
+ std::vector<SMESH_subMesh*>::const_iterator smIt = ancestors.begin();
for ( ; smIt != ancestors.end(); smIt++ )
{
const TopoDS_Shape& curSh = (*smIt)->GetSubShape();
- const list<const SMESHDS_Hypothesis*>& hypList = _myMeshDS->GetHypothesis(curSh);
+ const std::list<const SMESHDS_Hypothesis*>& hypList = _myMeshDS->GetHypothesis(curSh);
for ( hyp = hypList.begin(); hyp != hypList.end(); hyp++ )
{
const SMESH_Hypothesis* h = cSMESH_Hyp( *hyp );
*/
//=============================================================================
-const list<SMESHDS_Command*> & SMESH_Mesh::GetLog() throw(SALOME_Exception)
+const std::list<SMESHDS_Command*> & SMESH_Mesh::GetLog() throw(SALOME_Exception)
{
Unexpect aCatch(SalomeException);
return _myMeshDS->GetScript()->GetCommands();
*/
//================================================================================
-list<SMESH_subMesh*>
+std::list<SMESH_subMesh*>
SMESH_Mesh::GetGroupSubMeshesContaining(const TopoDS_Shape & aSubShape) const
throw(SALOME_Exception)
{
- list<SMESH_subMesh*> found;
+ std::list<SMESH_subMesh*> found;
SMESH_subMesh * subMesh = GetSubMeshContaining(aSubShape);
if ( !subMesh )
// look trough hypotheses used by algo
const SMESH_HypoFilter* hypoKind;
if (( hypoKind = algo->GetCompatibleHypoFilter( !hyp->IsAuxiliary() ))) {
- list <const SMESHDS_Hypothesis * > usedHyps;
+ std::list <const SMESHDS_Hypothesis * > usedHyps;
if ( GetHypotheses( aSubMesh, *hypoKind, usedHyps, true ))
return ( find( usedHyps.begin(), usedHyps.end(), anHyp ) != usedHyps.end() );
}
SMESH_Algo *algo;
const SMESH_HypoFilter* compatibleHypoKind;
- list <const SMESHDS_Hypothesis * > usedHyps;
- vector< SMESH_subMesh* > smToNotify;
+ std::list <const SMESHDS_Hypothesis * > usedHyps;
+ std::vector< SMESH_subMesh* > smToNotify;
bool allMeshedEdgesNotified = true;
SMESH_subMeshIteratorPtr smIt( _subMeshHolder->GetIterator() );
bool SMESH_Mesh::HasDuplicatedGroupNamesMED()
{
// Corrected for Mantis issue 0020028
- map< SMDSAbs_ElementType, set<string> > aGroupNames;
- for ( map<int, SMESH_Group*>::iterator it = _mapGroup.begin(); it != _mapGroup.end(); it++ )
+ std::map< SMDSAbs_ElementType, std::set< std::string > > aGroupNames;
+ for ( std::map<int, SMESH_Group*>::iterator it = _mapGroup.begin(); it != _mapGroup.end(); it++ )
{
SMESH_Group* aGroup = it->second;
SMDSAbs_ElementType aType = aGroup->GetGroupDS()->GetType();
- string aGroupName = aGroup->GetName();
+ std::string aGroupName = aGroup->GetName();
aGroupName.resize( MAX_MED_GROUP_NAME_LENGTH );
if ( !aGroupNames[aType].insert(aGroupName).second )
return true;
//set<string> aGroupNames; // Corrected for Mantis issue 0020028
if ( !meshPart )
{
- map< SMDSAbs_ElementType, set<string> > aGroupNames;
+ std::map< SMDSAbs_ElementType, std::set<std::string> > aGroupNames;
char aString [256];
int maxNbIter = 10000; // to guarantee cycle finish
- for ( map<int, SMESH_Group*>::iterator it = _mapGroup.begin(); it != _mapGroup.end(); it++ ) {
+ for ( std::map<int, SMESH_Group*>::iterator it = _mapGroup.begin();
+ it != _mapGroup.end();
+ it++ ) {
SMESH_Group* aGroup = it->second;
SMESHDS_GroupBase* aGroupDS = aGroup->GetGroupDS();
if ( aGroupDS ) {
SMDSAbs_ElementType aType = aGroupDS->GetType();
- string aGroupName0 = aGroup->GetName();
+ std::string aGroupName0 = aGroup->GetName();
aGroupName0.resize(MAX_MED_GROUP_NAME_LENGTH);
- string aGroupName = aGroupName0;
+ std::string aGroupName = aGroupName0;
for (int i = 1; !aGroupNames[aType].insert(aGroupName).second && i < maxNbIter; i++) {
sprintf(&aString[0], "GR_%d_%s", i, aGroupName0.c_str());
aGroupName = aString;
// pass group names to SMESHDS
if ( !meshPart )
{
- for ( map<int, SMESH_Group*>::iterator it = _mapGroup.begin(); it != _mapGroup.end(); it++ ) {
+ std::map<int, SMESH_Group*>::iterator it = _mapGroup.begin();
+ for ( ; it != _mapGroup.end(); it++ ) {
SMESH_Group* aGroup = it->second;
SMESHDS_GroupBase* aGroupDS = aGroup->GetGroupDS();
if ( aGroupDS ) {
- string aGroupName = aGroup->GetName();
+ std::string aGroupName = aGroup->GetName();
aGroupDS->SetStoreName( aGroupName.c_str() );
myWriter.AddGroup( aGroupDS );
}
int res = Driver_Mesh::DRS_FAIL;
// pass group names to SMESHDS
- for ( map<int, SMESH_Group*>::iterator it = _mapGroup.begin(); it != _mapGroup.end(); it++ ) {
+ std::map<int, SMESH_Group*>::iterator it = _mapGroup.begin();
+ for ( ; it != _mapGroup.end(); it++ ) {
SMESH_Group* group = it->second;
SMESHDS_GroupBase* groupDS = group->GetGroupDS();
if ( groupDS ) {
- string groupName = group->GetName();
+ std::string groupName = group->GetName();
groupDS->SetStoreName( groupName.c_str() );
}
}
}
catch (...) {
#ifdef _DEBUG_
- cerr << "Exception in " << algo->GetName() << "::GetProgress()" << endl;
+ std::cerr << "Exception in " << algo->GetName() << "::GetProgress()" << std::endl;
#endif
}
if ( 0. < rate && rate < 1.001 )
if ( !groupDS )
throw SALOME_Exception(LOCALIZED ("SMESH_Mesh::AddGroup(): NULL SMESHDS_GroupBase"));
- map <int, SMESH_Group*>::iterator i_g = _mapGroup.find( groupDS->GetID() );
+ std::map <int, SMESH_Group*>::iterator i_g = _mapGroup.find( groupDS->GetID() );
if ( i_g != _mapGroup.end() && i_g->second )
{
if ( i_g->second->GetGroupDS() == groupDS )
bool SMESH_Mesh::SynchronizeGroups()
{
- const size_t nbGroups = _mapGroup.size();
- const set<SMESHDS_GroupBase*>& groups = _myMeshDS->GetGroups();
- set<SMESHDS_GroupBase*>::const_iterator gIt = groups.begin();
+ const size_t nbGroups = _mapGroup.size();
+ const std::set<SMESHDS_GroupBase*>& groups = _myMeshDS->GetGroups();
+ std::set<SMESHDS_GroupBase*>::const_iterator gIt = groups.begin();
for ( ; gIt != groups.end(); ++gIt )
{
SMESHDS_GroupBase* groupDS = (SMESHDS_GroupBase*) *gIt;
SMESH_Mesh::GroupIteratorPtr SMESH_Mesh::GetGroups() const
{
- typedef map <int, SMESH_Group *> TMap;
+ typedef std::map <int, SMESH_Group *> TMap;
return GroupIteratorPtr( new SMDS_mapIterator<TMap>( _mapGroup ));
}
*/
//=============================================================================
-list<int> SMESH_Mesh::GetGroupIds() const
+std::list<int> SMESH_Mesh::GetGroupIds() const
{
- list<int> anIds;
- for ( map<int, SMESH_Group*>::const_iterator it = _mapGroup.begin(); it != _mapGroup.end(); it++ )
+ std::list<int> anIds;
+ std::map<int, SMESH_Group*>::const_iterator it = _mapGroup.begin();
+ for ( ; it != _mapGroup.end(); it++ )
anIds.push_back( it->first );
return anIds;
save << ++clause << ") Total number of polyhedrons:\t" << NbPolyhedrons() << endl << endl;
for ( int isQuadratic = 0; isQuadratic < 2; ++isQuadratic )
{
- string orderStr = isQuadratic ? "quadratic" : "linear";
+ std::string orderStr = isQuadratic ? "quadratic" : "linear";
SMDSAbs_ElementOrder order = isQuadratic ? ORDER_QUADRATIC : ORDER_LINEAR;
save << ++clause << ") Total number of " << orderStr << " edges:\t" << NbEdges(order) << endl;
save << clause << ".1) Number of " << orderStr << " triangles: \t" << nb3 << endl;
save << clause << ".2) Number of " << orderStr << " quadrangles:\t" << nb4 << endl;
if ( nb3 + nb4 != NbFaces(order) ) {
- map<int,int> myFaceMap;
+ std::map<int,int> myFaceMap;
SMDS_FaceIteratorPtr itFaces=_myMeshDS->facesIterator();
while( itFaces->more( ) ) {
int nbNodes = itFaces->next()->NbNodes();
myFaceMap[ nbNodes ] = myFaceMap[ nbNodes ] + 1;
}
save << clause << ".3) Faces in detail: " << endl;
- map <int,int>::iterator itF;
+ std::map <int,int>::iterator itF;
for (itF = myFaceMap.begin(); itF != myFaceMap.end(); itF++)
save << "--> nb nodes: " << itF->first << " - nb elements:\t" << itF->second << endl;
}
save << clause << ".3) Number of " << orderStr << " prisms: \t" << nb6 << endl;
save << clause << ".4) Number of " << orderStr << " pyramids: \t" << nb5 << endl;
if ( nb8 + nb4 + nb5 + nb6 != NbVolumes(order) ) {
- map<int,int> myVolumesMap;
+ std::map<int,int> myVolumesMap;
SMDS_VolumeIteratorPtr itVolumes=_myMeshDS->volumesIterator();
while( itVolumes->more( ) ) {
int nbNodes = itVolumes->next()->NbNodes();
myVolumesMap[ nbNodes ] = myVolumesMap[ nbNodes ] + 1;
}
save << clause << ".5) Volumes in detail: " << endl;
- map <int,int>::iterator itV;
+ std::map <int,int>::iterator itV;
for (itV = myVolumesMap.begin(); itV != myVolumesMap.end(); itV++)
save << "--> nb nodes: " << itV->first << " - nb elements:\t" << itV->second << endl;
}
SMESH_Group* SMESH_Mesh::ConvertToStandalone ( int theGroupID )
{
SMESH_Group* aGroup = 0;
- map < int, SMESH_Group * >::iterator itg = _mapGroup.find( theGroupID );
+ std::map < int, SMESH_Group * >::iterator itg = _mapGroup.find( theGroupID );
if ( itg == _mapGroup.end() )
return aGroup;
return true;
bool res = false;
- vector<SMESH_subMesh*> onlyOrderedList, smVec;
+ std::vector<SMESH_subMesh*> onlyOrderedList, smVec;
// collect all ordered submeshes in one list as pointers
// and get their positions within theListToSort
- typedef vector<SMESH_subMesh*>::iterator TPosInList;
- map< int, TPosInList > sortedPos;
+ typedef std::vector<SMESH_subMesh*>::iterator TPosInList;
+ std::map< int, TPosInList > sortedPos;
TPosInList smBeg = theListToSort.begin(), smEnd = theListToSort.end();
TListOfListOfInt::const_iterator listIdsIt = _mySubMeshOrder.begin();
for( ; listIdsIt != _mySubMeshOrder.end(); listIdsIt++)
{
TPosInList smPos = find( smBeg, smEnd, smVec[i] );
if ( smPos != smEnd ) {
- sortedPos[ distance( smBeg, smPos )] = smPos;
+ sortedPos[ std::distance( smBeg, smPos )] = smPos;
if ( sortedPos.size() > onlyOrderedList.size() )
onlyOrderedList.push_back( smVec[i] );
}
return res;
res = true;
- vector<SMESH_subMesh*>::iterator onlyBIt = onlyOrderedList.begin();
- vector<SMESH_subMesh*>::iterator onlyEIt = onlyOrderedList.end();
+ std::vector<SMESH_subMesh*>::iterator onlyBIt = onlyOrderedList.begin();
+ std::vector<SMESH_subMesh*>::iterator onlyEIt = onlyOrderedList.end();
// iterate on ordered sub-meshes and insert them in detected positions
- map< int, TPosInList >::iterator i_pos = sortedPos.begin();
+ std::map< int, TPosInList >::iterator i_pos = sortedPos.begin();
for ( ; onlyBIt != onlyEIt; ++onlyBIt, ++i_pos )
*(i_pos->second) = *onlyBIt;
_PTR(GenericAttribute) anAttr;
_PTR(AttributeIOR) anIOR;
+ const int objectCountLimit = 30; // PAL23599
int objectCount = 0;
QString aNameList;
QString aParentComponent = QString::null;
Handle(SALOME_InteractiveObject) anIO = anIt.Value();
if ( anIO.IsNull() ) continue;
- QString father = "unknown";
+ QString father = "unknown", name;
_PTR(SObject) aSO = aStudy->FindObjectID( anIO->getEntry() );
if (aSO) {
father = QString::fromStdString( aSO->GetFatherComponent()->ComponentDataType() );
// check if object is reference
_PTR(SObject) aRefSObj;
- aNameList.append("\n - ");
if ( aSO->ReferencedObject( aRefSObj ) ) {
- QString aRefName = QString::fromStdString ( aRefSObj->GetName() );
- aNameList.append( aRefName );
+ name = QString::fromStdString ( aRefSObj->GetName() );
father = QString::fromStdString ( aRefSObj->GetFatherComponent()->ComponentDataType() );
}
else
- aNameList.append(anIO->getName());
+ name = anIO->getName();
objectCount++;
}
+ if ( objectCount < objectCountLimit ) { // avoid occupying the whole screen
+ aNameList.append("\n - ");
+ aNameList.append( name );
+ }
if( aParentComponent.isNull() )
aParentComponent = father;
else if( !aParentComponent.isEmpty() && aParentComponent!=father )
aParentComponent = "";
}
+ if ( objectCount >= objectCountLimit )
+ aNameList.append("\n - ...");
if ( objectCount == 0 )
return; // No Valid Objects Selected
name=="selection_precision_node" ||
name=="selection_precision_element" ||
name=="selection_precision_object" ||
- name=="selection_increment")
+ name=="selection_increment")
{
SMESH::UpdateSelectionProp( this );
}
} // loop on groups
// set mesh name
- SALOMEDS::SObject_wrap soNew = ObjectToSObject( theNewMesh );
- SALOMEDS::SObject_wrap soOld = ObjectToSObject( theSourceMesh );
- CORBA::String_var oldName = soOld->GetName();
- SetName( soNew, oldName.in(), "Mesh" );
-
+ if ( !theMeshName || !theMeshName[0] )
+ {
+ SALOMEDS::SObject_wrap soNew = ObjectToSObject( theNewMesh );
+ SALOMEDS::SObject_wrap soOld = ObjectToSObject( theSourceMesh );
+ CORBA::String_var oldName = soOld->GetName();
+ SetName( soNew, oldName.in(), "Mesh" );
+ }
// mark invalid objects
shapeMapper.GetInvalid( theInvalidEntries, invalidSObjects );
nodes must be the same. Use :meth:`FindFreeBorders` to get nodes of holes.
groupName (string): name of a group to add new faces
Returns:
- a :class:`group <SMESH.SMESH_GroupBase>` containing the new faces; or :code:`None` if :option:`groupName` == ""
+ a :class:`group <SMESH.SMESH_GroupBase>` containing the new faces; or :code:`None` if `groupName` == ""
"""