\page changing_orientation_of_elements_page Changing orientation of elements
-\n Orientation of an element is switched by changing the order of its nodes.
+\n Orientation of an element is changed by changing the order of its nodes.
<em>To change orientation of elements:</em>
<ol>
-<li>Select a mesh.</li>
-<li>Display a mesh, a group or a sub-mesh if you plan to select
- elements to reorient in the 3D viewer.</li>
-<li>In the \b Modification menu select the \b Orientation item or click
-<em>Orientation</em> button in the toolbar.
+ <li>Select a mesh (and display it in the 3D Viewer if you are going to pick elements by mouse).</li>
+ <li>In the \b Modification menu select the \b Orientation item or click
+ <em>Orientation</em> button in the toolbar.
-<center>
+ <center>
\image html image79.png
<em>"Orientation" button</em>
-</center>
+ </center>
-The following dialog box will appear:
+ The following dialog box will appear:
-<center>
+ <center>
\image html orientaation1.png
-</center>
-<br>
-<ul>
-<li>Select <b>Element Type</b> to reorient: either \b Face or \b
- Volume </li>
-<li><b>The main list</b> shall contain the elements which will be
- reoriented. You can click on an element in the 3D viewer and it will
- be highlighted. After that click the \b Add button and the ID of this
- element will be added to the list. To remove a selected element or
- elements from the list click the \b Remove button. The \b Sort button
- allows to sort the list of elements IDs. <br>
- The <b>Set filter</b> button allows to apply a definite filter to
- selection of elements of your group. Depending on \a Source of
- elements to filter selected in \ref filtering_elements "Filter"
- dialog, the filter will be applied to different sets of elements.<ul>
- <li> To all elements of the mesh - for \a Mesh source. All
- elements satisfying the filter criteria will be highlighted in the
- Viewer. You can adjust the selection and add the selected elements
- to the <b>main list</b>.</li>
- <li> To the elements selected in the Viewer - for <em>Initial
- Selection</em> source. As a result, elements rejected by the
- filter will be deselected.</li>
- <li> To the elemets present in the <b>main list</b> -
- for <em>Current Dialog</em> source. As a result, elements rejected
- by the filter will be remove from the list.</li> </ul>
-</li>
-<li><b>Apply to all</b> radio button allows to modify the orientation
-of all elements of the mesh.</li>
-<li><b>Select from</b> set of fields allows to choose a sub-mesh or a
-group whose elements can be added to the list.</li>
-</ul>
-
-</li>
-<li>Click the \b Apply or <b>Apply and Close</b> button to confirm the operation.</li>
+ </center>
+ <ul>
+ <li>Select type of elements to reorient: \b Face or \b Volume.</li>
+ <li><b>The main list</b> shall contain the elements which will be
+ reoriented. You can click on an element in the 3D viewer and it will
+ be highlighted. After that click the \b Add button and the ID of this
+ element will be added to the list. To remove a selected element or
+ elements from the list click the \b Remove button. The \b Sort button
+ allows to sort the list of elements IDs. The <b>Set filter</b> button
+ allows to apply a definite \ref filtering_elements "filter" to
+ selection of elements.</li>
+ <li><b>Apply to all</b> radio button allows to modify the orientation
+ of all elements of the selected mesh.</li>
+ <li><b>Select from</b> set of fields allows to choose a sub-mesh or an
+ existing group whose elements then can be added to the list.</li>
+ </ul>
+
+ </li>
+ <li>Click the \b Apply or <b>Apply and Close</b> button to confirm the operation.</li>
</ol>
-<br><b>See Also</b> a sample TUI Script of a
-\ref tui_orientation "Change Orientation" operation.
+<br><b>See Also</b> a sample TUI Script of a
+\ref tui_orientation "Change Orientation" operation.
*/
After you select an error, <b>Show Sub-shape</b> button allows
visualizing in magenta the geometrical entity that causes the error.
+<center>
\image html failed_computation.png
<em>3D algorithm failed to compute mesh on a box shown using <b>Show
Sub-shape</b> button</em>
+</center>
<b>Publish Sub-shape</b> button publishes the sub-shape, whose meshing
has failed, in the Geometry component as a child of the main shape, which
<b>Bad Mesh to Group</b> button creates groups of bad mesh entities
to facilitate their analysis.
+<center>
\image html show_bad_mesh.png
<em>Edges bounding a hole in the surface are shown in magenta using <b>Show
bad Mesh</b> button</em>
+</center>
\note Mesh Computation Information box does not appear if you set
"Mesh computation/Show a computation result notification" preference
<em>To cut quadrangles:</em>
-1) Display a mesh, a 2D sub-mesh or a group of faces in the 3D viewer.
+1) Select a mesh (and display it in the 3D Viewer if you are going to pick elements by mouse).
2) In the \b Modification menu select the <b>Cutting of quadrangles</b> item or
click <em>"Cutting of quadrangles"</em> button in the toolbar.
- Click \b Add button and the ID of this quadrangle will be added to the list.
- To remove a selected element or elements from the list click \b Remove button.
- <b>Sort list</b> button allows sorting the list of IDs.
- - \b Filter button allows applying a definite filter to the selection of quadrangles.
-- <b>Apply to all</b> check box allows cutting all quadrangles of the selected mesh, sub-mesh or group.
+ - \b Filter button allows applying a definite \ref filtering_elements "filter"
+ to the selection of quadrangles.
+- <b>Apply to all</b> check box allows cutting all quadrangles of the selected mesh.
- \b Preview provides a preview of cutting in the viewer. It is disabled for <b>Cut into 4 triangles</b> as this cutting way implies no ambiguity.
- \b Criterion defines the way of cutting:
- <b>Cut into 4 triangles</b> allows cutting a quadrangle into four triangles by inserting a new node at the center of the quadrangle. The other options allow cutting a quadrangle into two triangles by connecting the nodes of a diagonal.
- <b>Aspect Ratio</b> cuts by the diagonal splitting the quadrangle into triangles with \ref aspect_ratio_page "Aspect Ratio" closer to 1
- <b>Minimum Angle</b> cuts by the diagonal splitting the quadrangle into triangles with \ref minimum_angle_page "Minimum Angle" closer to 60 degrees.
- <b>Skew</b> cuts by the diagonal splitting the quadrangle into triangles with \ref skew_page "Skew" closer to 0.0 degrees.
-- <b>Select from</b> allows choosing a sub-mesh or an existing group, whose quadrangle elements will be automatically added to the main list.
+- <b>Select from</b> allows choosing a sub-mesh or an existing group, whose quadrangle elements then can be added to the main list.
3) Click the \b Apply or <b>Apply and Close</b> button to confirm the operation.
/*!
-\page diagonal_inversion_of_elements_page Diagonal inversion of elements
+\page diagonal_inversion_of_elements_page Diagonal inversion of two triangles
\n In MESH you can inverse the diagonal (edge) of a pseudo-quadrangle
formed by two neighboring triangles with one common edge.
\image html diagonalinversion.png
</li>
-<li>Enter the ID of the required edge in the \b Edge field or select
+<li>Enter IDs of nodes forming the required edge in the \b Edge field (the node IDs must be separated by a dash) or select
this edge in the 3D viewer.</li>
<li>Click the \b Apply or <b>Apply and Close</b> button.</li>
</ol>
<br><b>See Also</b> a sample TUI Script of a
\ref tui_diagonal_inversion "Diagonal Inversion of Elements" operation.
-*/
\ No newline at end of file
+*/
\page merging_elements_page Merging Elements
\n This functionality allows to merge coincident elements of a mesh
-selectable in the dialog box.
+object selectable in the dialog box. Two elements are considered coincident if they are based on the same set of nodes.
-\image html mergeelems_ico.png "Merge elements button"
+\image html mergeelems_ico.png "Merge elements menu button"
<ol>
-<li>Choose in the main menu \b Modification -> \b Transformation -> <b>Merge elements</b> item. The following dialog box
-shall appear:</li>
+<li>Choose in the main menu \b Modification -> \b Transformation
+ -> <b>Merge elements</b> item. The following dialog box shall
+ appear:</li>
\image html mergeelems_auto.png
<br>
<ul>
-<li>\b Name is the name of the mesh whose elements will be merged.</li>
+<li>\b Name is the name of the mesh object whose elements will be
+ merged.</li>
<li>\b Automatic or \b Manual Mode allows choosing how the elements
-are processed.
+ are processed.
</ul>
<li><b>Automatic mode:</b>
<ul>
-<li>In the \b Automatic Mode the elements created on the same nodes will be merged.</li>
+<li>In the \b Automatic Mode the elements created on the same nodes
+ will be merged.</li>
</ul>
</li>
<li>If the \b Manual Mode is selected, additional controls are
-available:
+ available:
\image html mergeelems.png
<br>
<ul>
-<li>\b Detect button generates the list of coincident elements for the given \b Tolerance.</li>
+<li>\b Detect button generates the list of coincident elements found
+ in the selected object.</li>
<li><b>Coincident elements</b> is a list of groups of elements for
-merging. All elements of each group will form one after the operation.
+ merging. As result of the operation all elements of each group will
+ be replaced by the firts element of the group.
<ul>
<li>\b Remove button deletes the selected group from the list.</li>
<li>\b Add button adds to the list a group of elements selected in the
-viewer with pressed "Shift" key.</li>
+ viewer with pressed "Shift" key.</li>
<li><b>Select all</b> checkbox selects all groups.</li>
<li><b>Show double elements IDs</b> checkbox shows/hides identifiers of
-elements in the 3D viewer.</li>
+ elements of selected groups in the 3D viewer.</li>
</ul></li>
<li><b>Edit selected group</b> list allows editing the selected group:
<br><br>
\image html add.png
-<center>adds to the group the element selected in the viewer.</center>
+<center>adds to the group the elements selected in the viewer.</center>
<br>
\image html remove.png
-<center>removes from the group the selected element.</center>
+<center>removes from the group the selected elements.</center>
<br>
\image html sort.png
<center>moves the selected element to the first position in the
-group. This means that all other elements will be merged into this
-one.</center>
+ group. This means that all other elements of the group will be
+ replaced by this one.</center>
<br>
</li>
<li>To confirm your choice click \b Apply or <b>Apply and Close</b> button.</li>
with specified tolerance; each group of the coincident nodes can be
then converted to the single node.
-\image html mergenodes_ico.png "Merge nodes button"
+\image html mergenodes_ico.png "Merge nodes menu button"
<em>To merge nodes of your mesh:</em>
<ol>
-<li>From the \b Modification choose \b Transformation and from its
-sub-menu select the <b>Merge nodes</b> item. The following dialog box
-shall appear:</li>
+<li>Choose \b Modification -> \b Transformation -> <b>Merge nodes</b>
+ menu item. The following dialog box shall appear:</li>
<br>
\image html mergenodes_auto.png
<br>
<ul>
<li>\b Name is the name of the mesh whose nodes will be merged.</li>
-<li>\b Automatic or \b Manual Mode allows choosing how the nodes are
+<li>\b Automatic or \b Manual mode allows choosing how the nodes are
processed.
<li>\b Tolerance is a maximum distance between nodes sufficient for
merging.</li>
<b>Exclude Groups</b> will be not taken into account.</li>
</ul>
</li><br>
-<li>If the \b Manual Mode is selected, additional controls are available:
+<li> The \b Manual mode gives you full control of what the operation will do.
+In this mode additional controls are available:
<ul>
<li>\b Detect button generates the list of coincident nodes for the given
\b Tolerance.</li>
<li><b>Coincident nodes</b> is a list of groups of nodes for
-merging. All nodes of each group will form one after the
-operation.
+ merging. As result of the operation all nodes of each group will be
+ replaces by the firts node of the group.
<ul>
<li>\b Remove button deletes the selected group from the list.</li>
<li>\b Add button adds to the list a group of nodes selected in the
viewer with pressed "Shift" key.</li>
<li><b>Select all</b> checkbox selects all groups.</li>
<li><b>Show double nodes IDs</b> checkbox shows/hides identifiers of
-nodes in the 3D viewer.</li>
+nodes of selected groups in the 3D viewer.</li>
</ul>
<br>
<br>
</li>
<li><b>Edit selected group</b> list allows editing the selected
-group:
-<br><br>
-\image html add.png
-<center>adds to the group the node selected in the viewer.</center>
-<br>
-\image html remove.png
-<center>removes from the group the selected node.</center>
-<br>
-\image html sort.png
-<center>moves the selected node to the first position in the
-group. This means that all other nodes will be merged into this
-one.</center><br>
+ group:
+ <br><br>
+ \image html add.png
+ <center>adds to the group the nodes selected in the viewer.</center>
+ <br>
+ \image html remove.png
+ <center>removes from the group the selected nodes.</center>
+ <br>
+ \image html sort.png
+ <center>moves the selected node to the first position in the
+ group. This means that all other nodes of the group will be
+ replaced by this one.</center><br>
</li>
</ul>
</li>
\page mesh_through_point_page Moving nodes
\n In mesh you can define a node at a certain point either
-by movement of the node closest to the point or by
-movement of any node to the point.
+- by movement of the node closest to the point or
+- by movement of a selected node to the point.
<em>To displace a node:</em>
<ol>
The following dialog will appear:
\image html meshtopass1.png "Manual node selection"
+<br>
\image html meshtopass2.png "Automatic node selection"
+<br>
</li>
<li>Specify the way of node selection: manually (the first radio
button) or automatically (the second radio button).</li>
-<li>If the manual method is selected, select the necessary node (X, Y,
- Z fields show the original coordinates of the node to move) or type
+<li>If the manual method is selected, select a node to move (X, Y,
+ Z fields show the original coordinates of the node) or type
the node ID.</li>
-<li>Enter the coordinates of the destination point.</li>
-<li>Click <b>Update Destination</b> button to set the coordinates
- of the destination point equal to the coordinates of the node to
- move.</li>
+<li>Enter the coordinates of the destination point. You can
+ click <b>Update Destination</b> button to set the coordinates of the
+ destination point equal to the coordinates of the node to move.</li>
<li>Activate \b Preview check-box to show the result of move in the
viewer.</li>
<li>Click the \b Apply or <b>Apply and Close</b> button to confirm the
\page modifying_meshes_page Modifying meshes
-Salome provides an extremely vast specter of mesh modification and
+Salome provides a vast specter of mesh modification and
transformation operations, giving the possibility to:
<ul>
<li>\subpage adding_nodes_and_elements_page "Add" mesh elements from
-nodes to polyhedrons at an arbitrary place in the mesh.</li>
+ nodes to polyhedrons at an arbitrary place in the mesh.</li>
<li>\subpage adding_quadratic_elements_page "Add quadratic" mesh
-elements (used in quadratic meshes) from quadratic nodes to quadratic polyhedrons at an arbitrary place in the mesh.</li>
+ elements from quadratic segments to quadratic hexahedrons at an
+ arbitrary place in the mesh.</li>
<li>\subpage removing_nodes_and_elements_page "Remove" any existing
-mesh elements.</li>
-<li>\subpage translation_page "Translate" in the indicated direction the mesh or some of
-its elements.</li>
+ mesh elements and nodes.</li>
+<li>\subpage translation_page "Translate" in the indicated direction
+ the mesh or some of its elements.</li>
<li>\subpage rotation_page "Rotate" by the indicated axis and angle
-the mesh or some of its elements.</li>
-<li>\subpage scale_page "Scale" the mesh or some of its
-elements.</li>
-<li>\subpage symmetry_page "Mirror" the mesh
-through a point or a vector of symmetry.</li>
-<li>\subpage double_nodes_page "Duplicate nodes or/and Elements". Duplication of nodes can be useful to emulate a crack in the model.</li>
+ the mesh or some of its elements.</li>
+<li>\subpage scale_page "Scale" the mesh or some of its elements.</li>
+<li>\subpage symmetry_page "Mirror" the mesh through a point, a vector
+ or a plane of symmetry.</li>
+<li>\subpage double_nodes_page "Duplicate nodes or/and Elements".
+ Duplication of nodes can be useful to emulate a crack in the
+ model.</li>
<li>Unite meshes by \subpage sewing_meshes_page "sewing" free borders,
-conform free borders, border to side or side elements.</li>
-<li>\subpage merging_nodes_page "Merge Nodes", considered coincident
-within the indicated tolerance.</li>
-<li>\subpage merging_elements_page "Merge Elements", considered coincident
-within the indicated tolerance.</li>
-<li>\subpage mesh_through_point_page "Move Nodes" to an arbitrary location
-with consequent transformation of all adjacent elements and edges.</li>
-<li>\subpage diagonal_inversion_of_elements_page "Invert an edge" between neighboring triangles.</li>
+ border to side or side elements.</li>
+<li>\subpage merging_nodes_page "Merge Nodes", coincident within the
+ indicated tolerance.</li>
+<li>\subpage merging_elements_page "Merge Elements" based on the same
+ nodes.</li>
+<li>\subpage mesh_through_point_page "Move Nodes" to an arbitrary
+ location with consequent transformation of all adjacent
+ elements.</li>
+<li>\subpage diagonal_inversion_of_elements_page "Invert an edge"
+ between neighboring triangles.</li>
<li>\subpage uniting_two_triangles_page "Unite two triangles".</li>
<li>\subpage uniting_set_of_triangles_page "Unite several adjacent triangles".</li>
<li>\subpage changing_orientation_of_elements_page "Change orientation"
- of the selected elements.</li>
-<li>\subpage reorient_faces_page "Reorient faces".</li>
-<li>\subpage cutting_quadrangles_page "Cut a quadrangle" into two triangles.</li>
-<li>\subpage split_to_tetra_page "Split" volumic elements into tetrahedra or prisms.</li>
+ of the selected elements.</li>
+<li>\subpage reorient_faces_page "Orient faces" by several means.</li>
+<li>\subpage cutting_quadrangles_page "Cut a quadrangle" into two
+ triangles.</li>
+<li>\subpage split_to_tetra_page "Split" volumic elements into
+ tetrahedra or prisms.</li>
<li>\subpage smoothing_page "Smooth" elements, reducung distortions in
-them by adjusting the locations of element corners.</li>
+ them by adjusting the locations of nodes.</li>
<li>Create an \subpage extrusion_page "extrusion" along a vector or by
-normal to a discretized surface.</li>
+ normal to a discretized surface.</li>
<li>Create an \subpage extrusion_along_path_page "extrusion along a path".</li>
-<li>Create an edge or a surface by \subpage revolution_page "revolution"
-of the selected node or edge.</li>
+<li>Create elements by \subpage revolution_page "revolution" of the
+ selected nodes and elements.</li>
<li>Apply \subpage pattern_mapping_page "pattern mapping".</li>
-<li>\subpage convert_to_from_quadratic_mesh_page "Convert regular mesh to quadratic",
-or vice versa.</li>
+<li>\subpage convert_to_from_quadratic_mesh_page "Convert linear mesh to quadratic",
+ or vice versa.</li>
<li>\subpage make_2dmesh_from_3d_page "Generate boundary elements".</li>
<li>\subpage generate_flat_elements_page "Generate flat elements on group boundaries or on faces".</li>
<li>\subpage cut_mesh_by_plane_page "Cut a tetrahedron mesh by a plane".</li>
/*!
-\page reorient_faces_page Reorient faces
+\page reorient_faces_page Orient faces
-\n This operation allows changing the orientation of a set faces in the following ways:
+\n This operation allows fixing the orientation of a set of faces in
+the following ways:
<ul>
-<li>The new orientation of a set of neighboring faces can be defined
- by a vector. <br> Since the direction of face normals in
- the set can be even opposite, it is necessary to specify a control
- face, the normal to which will be compared with the vector. This face can be
- either:
+<li>The desired orientation of a set of neighboring faces can be defined
+ by a vector giving a desired direction of a normal of a certain face. <br>
+ Since the direction of face normals in the set can be even opposite,
+ it is necessary to specify a \a control face, the normal to which
+ will be compared with the vector. This face can be either:
<ul>
<li>found by proximity to a given point, or</li>
<li>specified explicitly.</li>
The orientation of a face is changed by reverting the order of its nodes.
-<em>To change orientation of faces:</em>
+<em>To set orientation of faces:</em>
<ol>
<li>In the \b Modification menu select <b>Reorient faces</b>
item or click <em>Reorient faces</em> button in the toolbar.
containing faces to reorient, in the Object Browser or in the 3D
Viewer.</li>
-<li>To reorient according to vector:
+<li>To reorient by direction of the face normal:
<ul>
<li>Specify the coordinates of the \b Point by which the control face
- will be found. You can easy specify the \b
- Point by either picking a node in the 3D Viewer or selecting a vertex
- in the Object Browser. It is possible to pick the \b Face by mouse in
- the 3D Viewer or enter its ID.</li>
+ will be found. You can specify the \b Point by either picking a
+ node in the 3D Viewer or selecting a vertex in the Object
+ Browser.</li>
<li>Set up the \b Direction vector to be compared with the normal of the
- control face. If you pick a node in the 3D Viewer then the \b Direction
- vector will go from the coordinate system origin to the selected node.
- If you pick two nodes (holding Shift button) then the \b Direction vector
- will go from the first to the second node.</li>
+ control face. There are following options: <ul>
+ <li>adjust vector components directly;</li>
+ <li>select a vertex in the Object Browser or a node in the 3D
+ Viewer; their coordinates will define vector components;</li>
+ <li> pick two nodes (holding Shift button), the \b Direction vector
+ will go from the first to the second node.</li>
+ </ul>
</ul>
<br>
</li>
-<li>In the second mode it is possible to directly input the \b Face ID in the corresponding field.
+<li>In the second mode it is possible to either pick the \b Face by mouse in the 3D Viewer or directly input the \b Face ID in the corresponding field.
<center>
\image html reorient_2d_face.png "The orientation of adjacent faces is chosen according to a vector. The control face is explicitly given."
\image html image92.png
<center><em>"Revolution" button</em></center>
-The following dialog common for line and planar elements will appear:
+The following dialog will appear:
\image html revolution1.png
</li>
</ul>
</li>
- <li>Specify the \b Tolerance for the operation, which is used to
- detect nodes lying on the axis of revolution.
+ <li>Specify the \b Tolerance, which is used to detect nodes lying
+ on the axis of revolution.
</li>
<li>Activate <b>Preview</b> check-box to see the result mesh in
the viewer.
\n In <b>Filter name</b> box you can specify the name for your
filter. By default it is prefixed with the corresponding entity type.
-When we use filters during a group creation or another operation (by
-clicking <b>Set Filters</b> button in the corresponding dialog), the
-menu for setting filters looks a bit differently (see the image below).
-
\anchor filtering_elements
-Each filter can be applicable to \b Nodes, \b Edges, \b Faces or \b
-Volumes. You can combine many criteria in one filter, but they all
-must be of the same <b>Entity type</b>. <br>
+When we use filters during a group creation or another operation (by
+clicking <b>Set Filter</b> button in the corresponding dialog), the
+menu for setting filters looks as shown below.
+
The \b Add button creates a new criterion at the end of the list of
criteria. The \b Insert button creates a new criterion before the
selected criterion. The \b Remove button deletes the selected
criterion. The \b Clear button deletes all criteria.
\n Each <b>Entity type</b> has its specific list of criteria, however all
filters have common syntax. For each criterion you should specify the
-<b>Threshold Value</b> and whether we search for the elements that should be
-\b More, \b Less or \b Equal to this \b Value. You can also reverse the
-sense of a criterion using \b Unary operator Not and you should
-specify logical relations between criteria using \b Binary operators
-Or and And.
-\n Some criteria should have the additional parameter of \b Tolerance.
-<br>
+<b>Threshold Value</b> and for numerical criteria whether we search
+for the elements that should be \b More, \b Less or \b Equal to this
+\b Value. You can also reverse the sense of a criterion using \b Unary
+operator \a Not and you should specify logical relations between
+criteria using \b Binary operators \a Or and \a And.
+\n Some criteria have the additional parameter of \b Tolerance.<br>
Switching on <b>Insert filter in viewer</b> checkbox limits
selection of elements in the Viewer to the current filter.
<br>
Some criteria are applicable to all <b>Entity types</b>:
<ul><li>
-<b>Belong to Geom</b> selects entities whose all nodes
-lie on the shape defined by <b>Threshold Value</b>.
-If the threshold shape is a sub-shape of the main shape of the mesh
-the algorithm works faster, if this is any other
-shape the algorithm works slower.
+<b>Belong to Geom</b> selects entities whose all nodes lie on the
+shape defined by <b>Threshold Value</b>. If the threshold shape is a
+sub-shape of the main shape of the mesh the algorithm works faster, if
+this is any other shape the algorithm works slower.
</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>.
algorithm works faster, if this is any other
shape, the algorithm works slower.
</li><li>
-<b>Belong to Mesh Group</b> selects entities included into a mesh group
+<b>Belong to Mesh Group</b> selects entities included into the mesh group
defined by <b>Threshold Value</b>.
</li><li>
<b>Range of IDs</b> allows selection of entities with the specified
</li>
</ul>
-Some criteria are applicable to all <b>Entity types</b>, except for
-<b>Nodes</b>
+Some criteria are applicable to all <b>Entity types</b> of dimension
+more than zero, i.e. to \b Edges, \b Faces and \b Volumes:
<ul><li>
<b>Linear</b> allows selection of Linear or Quadratic elements (if Unary is set to "Not")
</li><li>
<b>Geometry type</b> allows selection of elements by their geometric type
defined by the <b>Threshold Value</b>. The list of available geometric
-types depends on the element entity type defined by the <b>Threshold Value</b>.
+types depends on the current entity type.
+</li><li>
+<b>Entity type</b> allows selection of elements by their type defined
+as combination of geometry type + number of nodes.
</li>
</ul>
\page sewing_meshes_page Sewing meshes
-\n In SMESH you can sew elements of different meshes. The current
+\n In SMESH you can sew elements of a mesh. The current
functionality allows you to sew:
<ul>
<li>\ref free_borders_anchor "Free borders"</li>
\image html sewing.png "Sewing button"
-<em>To sew elements of different meshes:</em>
+<em>To sew elements of a mesh:</em>
<ol>
<li>From the \b Modification menu choose the \b Transformation item
and from its sub-menu select the \b Sewing item.</li>
<b>See Also</b> a sample TUI Script of a
\ref tui_sew_side_elements "Sew Side Elements" operation.
-*/
\ No newline at end of file
+*/
\n This geometrical operation allows to perform a symmetrical copy of
your mesh or some of its elements.
-<em>To create a symmetrical copy of the mesh:</em>
+<em>To create a symmetrical copy:</em>
<ol>
<li>From the \b Modification menu choose \b Transformation -> \b Symmetry item or click
One of the following dialogs will appear:
It is possible to mirror a mesh or some of its elements through:
-\image html symmetry1.png "a point (defined by a point and a vector)"
-\image html symmetry2.png "an axis"
+\image html symmetry1.png "a point" <br>
+\image html symmetry2.png "an axis" <br>
\image html symmetry3.png "a plane (defined by a point and a normal to the plane)"
</li>
<li>In the dialog:
<ul>
-<li>specify the IDs of the elements for the symmetry operation:
+<li>specify the elements for the symmetry operation:
<ul>
<li><b>Select the whole mesh, submesh or group</b> activating this
checkbox; or</li>
<li>choose mesh elements with the mouse in the 3D Viewer. It is
possible to select a whole area with a mouse frame; or</li>
-<li>input the element IDs directly in <b>ID Elements</b> field. The selected elements will be highlighted in the
-viewer; or</li>
-<li>apply Filters. <b>Set filter</b> button allows to apply a filter to the selection of elements. See more
-about filters in the \ref selection_filter_library_page "Selection filter library" page.</li>
+<li>input the element IDs directly in <b>ID Elements</b> field. The
+ selected elements will be highlighted in the viewer; or</li>
+<li>apply Filters. <b>Set Filter</b> button allows to apply a
+ \ref filtering_elements "filter" to the selection of elements.</li>
</ul>
</li>
<li>depending on the nature of the mirror object:
<ul>
<li>if the mesh is mirrored through a point, specify the coordinates
-of the point</li>
+ of the point, either directly or by picking a mesh node;</li>
<li>if the mesh is mirrored through an axis:
<ul>
-<li>specify the cooordinates of the start \b Point of the axis vector;</li>
-<li>specify the axis \b Vector through the coordinates of its
-end point with respect to the coordinates of the start point;</li>
+<li>specify the coordinates of the start \b Point of the axis, either
+ directly or by picking a mesh node;</li>
+<li>specify the components of axis \b Vector, either directly or by
+ picking a mesh node, in which case \b Vector is defined as a shift
+ between the \b Point and the node;</li>
</ul>
</li>
<li>if the mesh is mirrored through a plane:
<ul>
-<li>specify the cooordinates of the \b Point lying on the plane;</li>
-<li>specify the axis \b Vector through the coordinates of its
-end point with respect to the coordinates of the start point.</li>
+<li>specify the cooordinates of the \b Point lying on the plane,
+ either directly or by picking a mesh node;</li>
+<li>specify the components of plane \b Normal, either directly or by
+ picking a mesh node, in which case \b Normal is defined as a shift
+ between the \b Point and the node.</li>
</ul>
</li>
<li>specify the conditions of symmetry operation:
<ul>
-<li>activate <b>Move elements</b> radio button to create the source
-mesh (or elements) at the new location and erase it from the previous location;</li>
-<li>activate <b>Copy elements</b> radio button to create the source
-mesh (or elements) at the new location, but leave it at the previous
-location, the source mesh will be considered one and single mesh with the result of the rotation;</li>
-<li>activate <b>Create as new mesh</b> radio button to leave the
-source mesh (or elements) at its previous location and create a new
-mesh at the new location, the new mesh appears in the Object Browser
-with the default name MeshName_rotated (it is possible to change this
-name in the adjacent box);</li>
-<li>activate <b> Copy groups </b> checkbox to copy the groups of elements of the source mesh to the newly created mesh.</li>
+<li>activate <b>Move elements</b> radio button to change location of
+ the selected elements within the current mesh;</li>
+<li>activate <b>Copy elements</b> radio button to duplicate the
+ selected elements at the new location within the current mesh;</li>
+<li>activate <b>Create as new mesh</b> radio button to create new
+ element in a new mesh; the new mesh appears in the Object Browser
+ with the default name MeshName_mirrored (it is possible to change
+ this name in the adjacent box);</li>
+<li>activate <b> Copy groups </b> checkbox to put new mesh enities
+ into new groups if source entities belongs to some groups. New
+ groups are named by pattern "<old group name>_mirrored".</li>
</ul>
</li>
</ul>
-<li>activate <b>Preview</b> checkbox to show the result of transformation in the viewer </li>
+<li>activate <b>Preview</b> checkbox to show the result of
+ transformation in the viewer;</li>
<li>click \b Apply or <b> Apply and Close</b> button to confirm the
-operation.</li>
+ operation.</li>
</ul>
</ol>
\page uniting_set_of_triangles_page Uniting a set of triangles
-\n In contrast to the previous operation this one allows to unite at
-once many triangles if they have adjacent edges.
+\n In MESH you can union many neighboring triangles (cells) into
+quadrangles by deletion of the common edge.
<em>To union several triangles:</em>
<ol>
-<li>Display a mesh or a sub-mesh in the 3D viewer.</li>
+<li>Select a mesh (and display it in the 3D Viewer if you are going to
+ pick elements by mouse).</li>
<li>In the \b Modification menu select the <b>Union of triangles</b>
-item or click <em>"Union of triangles"</em> button in the toolbar.
+ item or click <em>"Union of triangles"</em> button in the toolbar.
\image html image80.png
<center><em>"Union of triangles" button</em></center>
<ul>
<li><b>The main list</b> shall contain the triangles which will be
-united. You can click on an triangle in the 3D viewer and it will be
-highlighted. After that click the \b Add button and the ID of this
-triangle will be added to the list. To remove a selected element or
-elements from the list click the \b Remove button. The \b Sort button allows
-to sort the list of IDs. The <b>Set filter</b> button allows to apply a
-definite filter to selection of triangles.</li>
-<li><b>Apply to all</b> radio button allows to modify connectivity and
-type of all triangles of the currently displayed mesh or sub-mesh.</li>
+ united. You can click on a triangle in the 3D viewer and it will be
+ highlighted. After that click the \b Add button and the ID of this
+ triangle will be added to the list. To remove a selected element or
+ elements from the list click the \b Remove button. The \b Sort button allows
+ to sort the list of IDs. The <b>Filter</b> button allows to apply a
+ definite \ref filtering_elements "filter" to selection of triangles.</li>
+<li><b>Apply to all</b> radio button allows to apply the operation to
+ all triangles of the selected mesh.</li>
<li><b>Preview</b> provides a preview in the viewer.</li>
<li>\b Criterion menu allows to choose a quality criterion,
- which will be optimized to select triangles to unite.</li>
+ which will be optimized to select triangles to unite.</li>
<li><b>Select from</b> set of fields allows to choose a sub-mesh or an
-existing group whose triangle elements will be automatically added to
-the list.</li>
+ existing group whose triangle elements then can be added to the
+ list.</li>
</ul>
</li>
\image html unionoftwotriangles.png
</li>
-<li>Enter the ID of the required edge in the \b Edge field or select
-this edge in the 3D viewer.</li>
+<li>Enter IDs of nodes forming the required edge in the \b Edge field
+ (the node IDs must be separated by a dash) or select this edge in
+ the 3D viewer.</li>
<li>Click the \b Apply or <b>Apply and Close</b> button.</li>
</ol>
<br><b>See Also</b> a sample TUI Script of a
\ref tui_uniting_two_triangles "Uniting Two Triangles" operation.
-*/
\ No newline at end of file
+*/
//=======================================================================
bool SMESHGUI_MultiEditDlg::isIdValid (const int theId) const
{
+ if ( !myActor )
+ return true; // filter can't work w/o actor
+
SVTK_Selector* aSelector = SMESH::GetSelector();
Handle(SMESHGUI_Filter) aFilter =
Handle(SMESHGUI_Filter)::DownCast(aSelector->GetFilter(myFilterType));
return fromUtf8( txt.c_str() );
}
- const char* toUtf8( const QString& txt )
+ toUtf8::toUtf8( const QString& txt )
{
#ifdef PAL22528_UNICODE
- return txt.toUtf8().constData();
+ assign( txt.toUtf8().constData() );
#else
- return txt.toLatin1().constData();
+ assign( txt.toLatin1().constData() );
#endif
}
QString fromUtf8( const char* txt );
QString fromUtf8( const std::string& txt );
- const char* toUtf8( const QString& txt );
+ struct toUtf8: public std::string
+ {
+ toUtf8( const QString& txt );
+ operator const char*() const { return c_str(); }
+ };
}
#endif // SMESHGUI_UTILS_H
(theScaleFact.length() == 1) ? theScaleFact[0] : theScaleFact[1],
(theScaleFact.length() == 1) ? theScaleFact[0] : theScaleFact[2],
};
- double tol = std::numeric_limits<double>::max();
gp_Trsf aTrsf;
#if OCC_VERSION_LARGE > 0x06070100
- // fight against ortagonalization
+ // fight against orthogonalization
// aTrsf.SetValues( S[0], 0, 0, thePoint.x * (1-S[0]),
// 0, S[1], 0, thePoint.y * (1-S[1]),
// 0, 0, S[2], thePoint.z * (1-S[2]) );
- aTrsf.SetTranslation( gp_Vec( thePoint.x * (1-S[0]),
- thePoint.y * (1-S[1]),
- thePoint.z * (1-S[2])));
- gp_Mat & M = ( gp_Mat& ) aTrsf.HVectorialPart();
+ aTrsf.SetScale( gp::Origin(), 1.0 ); // set form which is used to make group names
+ gp_XYZ & loc = ( gp_XYZ& ) aTrsf.TranslationPart();
+ gp_Mat & M = ( gp_Mat& ) aTrsf.HVectorialPart();
+ loc.SetCoord( thePoint.x * (1-S[0]),
+ thePoint.y * (1-S[1]),
+ thePoint.z * (1-S[2]));
M.SetDiagonal( S[0], S[1], S[2] );
#else
+ double tol = std::numeric_limits<double>::max();
aTrsf.SetValues( S[0], 0, 0, thePoint.x * (1-S[0]),
0, S[1], 0, thePoint.y * (1-S[1]),
0, 0, S[2], thePoint.z * (1-S[2]), tol, tol);