Salome HOME
IPAL52702: TC7.6.0: Incorrect large name of SMESH group in the Object Browser
authoreap <eap@opencascade.com>
Mon, 27 Apr 2015 13:21:01 +0000 (16:21 +0300)
committereap <eap@opencascade.com>
Mon, 27 Apr 2015 13:21:01 +0000 (16:21 +0300)
    Add class toUtf8

IPAL52708: TC7.6.0: name of copied group is wrong when Scale transform
    Fix gp_Trsf definition in SMESH_MeshEditor_i::scale()

IPAL52704: TC7.6.0: "Modification of orientation" don't work on volumes
    Fix SMESHGUI_MultiEditDlg::isIdValid()

+ Doc update

19 files changed:
doc/salome/gui/SMESH/input/changing_orientation_of_elements.doc
doc/salome/gui/SMESH/input/constructing_meshes.doc
doc/salome/gui/SMESH/input/cutting_quadrangles.doc
doc/salome/gui/SMESH/input/diagonal_inversion_of_elements.doc
doc/salome/gui/SMESH/input/merging_elements.doc
doc/salome/gui/SMESH/input/merging_nodes.doc
doc/salome/gui/SMESH/input/mesh_through_point.doc
doc/salome/gui/SMESH/input/modifying_meshes.doc [changed mode: 0755->0644]
doc/salome/gui/SMESH/input/reorient_faces.doc
doc/salome/gui/SMESH/input/revolution.doc
doc/salome/gui/SMESH/input/selection_filter_library.doc
doc/salome/gui/SMESH/input/sewing_meshes.doc
doc/salome/gui/SMESH/input/symmetry.doc
doc/salome/gui/SMESH/input/uniting_set_of_triangles.doc
doc/salome/gui/SMESH/input/uniting_two_triangles.doc
src/SMESHGUI/SMESHGUI_MultiEditDlg.cxx
src/SMESHGUI/SMESHGUI_Utils.cxx
src/SMESHGUI/SMESHGUI_Utils.h
src/SMESH_I/SMESH_MeshEditor_i.cxx

index e7a37ee..673e43f 100644 (file)
@@ -2,62 +2,45 @@
 
 \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.
 
 */
index a1711c5..6694160 100644 (file)
@@ -400,9 +400,11 @@ failure is provided in \b Errors table.
 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
@@ -420,9 +422,11 @@ the visualization of faces and volumes (if any).
 <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 
index 222ea83..34f26a6 100644 (file)
@@ -6,7 +6,7 @@ This operation allows cutting one or several quadrangle elements into two or fou
 
 <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.
@@ -25,8 +25,9 @@ keyboard button to select several quadrangles):
   - Click \b Add button and the ID of this quadrangle will be added to the list. 
   - To remove a selected element or elements from the list click \b Remove button. 
   - <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.
@@ -36,7 +37,7 @@ keyboard button to select several quadrangles):
     - <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.
 
index 8642ebf..1bc75ef 100644 (file)
@@ -1,6 +1,6 @@
 /*!
 
-\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.
@@ -18,7 +18,7 @@ The following dialog box shall appear:
 \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>
@@ -30,4 +30,4 @@ this edge in the 3D viewer.</li>
 <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
+*/
index bb65232..9cde2b0 100644 (file)
@@ -3,57 +3,62 @@
 \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>
index 3efec05..76692ad 100644 (file)
@@ -6,19 +6,18 @@ This functionality allows user to detect groups of coincident nodes
 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>
@@ -34,20 +33,21 @@ will be merged. The nodes which belong to the groups specified in the
 <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>
@@ -55,18 +55,18 @@ nodes in the 3D viewer.</li>
 <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>
index a86e698..1684404 100644 (file)
@@ -3,8 +3,8 @@
 \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>
@@ -17,19 +17,20 @@ click <em>"Move Node"</em> button in the toolbar.
 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
old mode 100755 (executable)
new mode 100644 (file)
index e857a96..8aa6503
@@ -2,51 +2,57 @@
 
 \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>
index 20346a9..f2581bb 100644 (file)
@@ -1,14 +1,15 @@
 /*!
 
-\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> 
@@ -19,7 +20,7 @@
 
 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.
@@ -37,18 +38,20 @@ The orientation of a face is changed by reverting the order of its nodes.
   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>
@@ -58,7 +61,7 @@ The orientation of a face is changed by reverting the order of its nodes.
 
 </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."
index 69310e3..fdc4f95 100644 (file)
@@ -16,7 +16,7 @@ a \ref extrusion_struct "structured mesh from scratch".
 \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
 
@@ -79,8 +79,8 @@ The following dialog common for line and planar elements will appear:
         </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.
index 6ab408e..94ba013 100644 (file)
@@ -16,28 +16,24 @@ the current study. You can \b Add or \b Delete filters.
 \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>
@@ -64,11 +60,10 @@ created. You have to select the mesh and the button will be enabled.
 
 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>.
@@ -76,7 +71,7 @@ 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>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
@@ -97,14 +92,17 @@ other parts. <b>Threshold Value</b> locating any element of the domain can be ei
 </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>
 
index c3afbf1..88edc1e 100644 (file)
@@ -2,7 +2,7 @@
 
 \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>
@@ -13,7 +13,7 @@ functionality allows you to sew:
 
 \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>
@@ -158,4 +158,4 @@ nodes in 3D viewer or define them by its id.
 <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
+*/
index 924e4ee..9c0b432 100644 (file)
@@ -5,7 +5,7 @@
 \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
@@ -16,67 +16,72 @@ your mesh or some of its elements.
 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>
index 55843b2..6397bd4 100644 (file)
@@ -2,14 +2,15 @@
 
 \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>
@@ -20,20 +21,20 @@ The following dialog box will appear:
 
 <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>
index 95b9fce..39a61bb 100644 (file)
@@ -19,8 +19,9 @@ The following dialog box shall appear:
 \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>
 
@@ -31,4 +32,4 @@ this edge in the 3D viewer.</li>
 <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
+*/
index 018006f..7498047 100755 (executable)
@@ -645,6 +645,9 @@ void SMESHGUI_MultiEditDlg::onFilterAccepted()
 //=======================================================================
 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));
index 1ab0c6a..e49c5e6 100644 (file)
@@ -391,12 +391,12 @@ namespace SMESH
     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
   }
 
index a15fada..51d7634 100644 (file)
@@ -210,7 +210,11 @@ SMESHGUI_EXPORT
 
   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
index 3ca7757..e469b70 100644 (file)
@@ -3784,21 +3784,23 @@ SMESH_MeshEditor_i::scale(SMESH::SMESH_IDSource_ptr  theObject,
     (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);