Salome HOME
Merge branch 'master' into V7_5_BR
authorvsr <vsr@opencascade.com>
Mon, 12 Jan 2015 10:24:59 +0000 (13:24 +0300)
committervsr <vsr@opencascade.com>
Mon, 12 Jan 2015 10:24:59 +0000 (13:24 +0300)
23 files changed:
CMakeLists.txt
doc/salome/gui/SMESH/input/1d_meshing_hypo.doc
doc/salome/gui/SMESH/input/constructing_meshes.doc
doc/salome/gui/SMESH/input/constructing_submeshes.doc
doc/salome/gui/SMESH/input/creating_groups.doc
doc/salome/gui/SMESH/input/display_entity.doc
doc/salome/gui/SMESH/input/double_nodes_page.doc
doc/salome/gui/SMESH/input/renumbering_nodes_and_elements.doc [deleted file]
doc/salome/gui/SMESH/input/reorient_faces.doc
src/SMDS/CMakeLists.txt
src/SMDS/SMDS_UnstructuredGrid.cxx
src/SMDS/SMDS_UnstructuredGrid.hxx
src/SMESH/SMESH_Gen.cxx
src/SMESH/SMESH_Gen.hxx
src/SMESH/SMESH_MeshEditor.cxx
src/SMESHGUI/SMESHGUI.cxx
src/SMESHGUI/SMESHGUI_GroupDlg.cxx
src/SMESHGUI/SMESHGUI_GroupUtils.cxx
src/SMESHGUI/SMESHGUI_Utils.cxx
src/SMESHGUI/SMESHGUI_Utils.h
src/SMESHGUI/SMESH_msg_fr.ts
src/SMESHGUI/SMESH_msg_ja.ts
src/StdMeshersGUI/StdMeshers_msg_ja.ts

index a88f8c23a473c4e13cefb8f8d2bbec713a5608b0..5d4bff02609b5b8e99ef9ba01cba607abde16a81 100755 (executable)
@@ -28,11 +28,11 @@ CMAKE_POLICY(SET CMP0003 NEW)
 STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
 
 SET(${PROJECT_NAME_UC}_MAJOR_VERSION 7)
-SET(${PROJECT_NAME_UC}_MINOR_VERSION 4)
+SET(${PROJECT_NAME_UC}_MINOR_VERSION 5)
 SET(${PROJECT_NAME_UC}_PATCH_VERSION 1)
 SET(${PROJECT_NAME_UC}_VERSION
   ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION})
-SET(${PROJECT_NAME_UC}_VERSION_DEV 1)
+SET(${PROJECT_NAME_UC}_VERSION_DEV 0)
 
 # Find KERNEL
 # ===========
index 8c38c8ddfa1e645374989affaa7a24a80e9e1e85..6ba10611e7be1dfa8f24f37d0a3c4ef1be2ae17a 100644 (file)
@@ -168,8 +168,8 @@ The direction of the splitting is defined by the orientation of the
 underlying geometrical edge. <b>"Reverse Edges"</b> list box allows to
 specify the edges for which the splitting should be made in the
 direction opposing to their orientation. This list box is enabled only
-if the geometry object is selected for the meshing. In this case the
-user can select edges to be reversed either by directly picking them
+if the geometry object is selected for the meshing. In this case it is 
+possible to select edges to be reversed either by directly picking them
 in the 3D viewer or by selecting the edges or groups of edges in the
 Object Browser.
 
@@ -212,7 +212,7 @@ integral on the range between two nodes equal for all segments.
 pairs <b>t - F(t)</b>, where \b t ranges from 0 to 1, and the module computes the
 formula, which will rule the change of length of segments and shows
 in the plot the density function curve in red and the node
-distribution as blue crosses. The node distribution is computed the
+distribution as blue crosses. The node distribution is computed in the
 same way as for 
 \ref analyticdensity_anchor "Distribution with Analytic Density". You
 can select the <b>Conversion mode</b> from\b Exponent and <b>Cut
@@ -238,10 +238,10 @@ constructed on them.
 
 The direction of the splitting is defined by the orientation of the
 underlying geometrical edge. <b>"Reverse Edges"</b> list box allows to
-specify the edges for which the splitting should be made in the
+specify the edges, for which the splitting should be made in the
 direction opposing to their orientation. This list box is enabled only
-if the geometry object is selected for the meshing. In this case the
-user can select edges to be reversed either by directly picking them
+if the geometry object is selected for the meshing. In this case it is 
+possible to select edges to be reversed either by directly picking them
 in the 3D viewer or by selecting the edges or groups of edges in the
 Object Browser.
 
index 5d26cae6c0f05ce1aa1e6dcd4e2f9dc631137c0a..2a1a0c3aab8bfc97a6f5eb63e17565d687988838 100644 (file)
@@ -35,7 +35,7 @@
       Hexahedral, Tetrahedral, Triangular </b> and \b Quadrilateral (there
     can be less items for the geometry of lower dimensions).
 
-    Selection of a mesh type hides all meshing algorithms that can not
+    Selection of a mesh type hides all meshing algorithms that cannot
     generate elements of this type.</li>
 
   <li>Apply \subpage basic_meshing_algos_page "meshing algorithms" and
       List of sets of hypotheses. Tag <em>[custom]</em> is
       automatically added to the sets defined by the user.
       
-      \note \a Automatic in the names of pre-defined sets of
-      hypotheses means only that initially \ref
-      automatic_length_anchor "Automatic Length" hypothesis was
-      included in these sets, and not that these sets are suitable for
+      \note \a "Automatic" in the names of predefined sets of
+      hypotheses came from previous versions of SALOME where
+      \ref automatic_length_anchor "Automatic Length" hypothesis 
+      was included in these sets, and not that these sets are suitable for
       meshing any geometry.
   </li>
 </ol>
index 782b5662ee539d38821e49c8c690df822326a585..d88161c44bc9aa554aa636b12e869185ec44643d 100644 (file)
@@ -8,7 +8,7 @@ hypotheses assigned to the parent mesh on the parent geometrical
 object, that allows getting a local mesh refinement.
 
 A sub-shape to create a sub-mesh on should be retrieved from the shape
-of the parent mesh one of the following ways: <ul>
+of the parent mesh in one of the following ways: <ul>
 <li> In Geometry module, via <em>New Entity > Explode</em> menu.</li>
 <li> In Geometry module, by creation of a group (<em>New Entity >
     Group > Create Group</em> menu).</li> 
@@ -94,7 +94,7 @@ In this dialog, <b> Element Type </b> defines a kind of element to pick in the
 Viewer.
 Instead of picking an element in the Viewer, you can type its
 ID in <b> Element ID</b> field. 
-<b> Geometry name </b> field allows defining a name of the sub-shape
+<b> Geometry name </b> field allows defining a name of the sub-shape
 with which the sub-shape will appear in the Object Browser (if not yet
 there).
 
index 5dda220d1e343f2bbbe8492bfe96d8eb8db0c256..34643a7b2c3eaa34f2c2ce20267672de696607cc 100644 (file)
@@ -56,7 +56,7 @@ the following ways:
 </ul>
 In the <b>manual edition</b> mode you can
 <ul>
-<li>click the \b Remove button to remove the selected list items from
+<li>click the \b Remove button to remove the selected items from
   the list.</li>
 <li>click the <b>Sort List</b> button to sort the list of IDs of 
   mesh elements.</li>
index ccd0043efbfd24267119c90e04552337b64f8239..23efe86cc2294463c19b46593868c51cca49445c 100644 (file)
@@ -13,9 +13,9 @@ If the mesh contains a lot of elements, select <b>Choose...</b> item,
 
 \image html display_entity_choose_item.png Item to call 'Display Entity' dialog box
 
-and <b>Display Entity</b> dialog box will provide a way to display only some entities at first display instead of displaying all entities long time.
+and <b>Display Entity</b> dialog box will provide a way to display only some entities at the first display instead of displaying all entities, which can take a long time.
 
 \image html display_entity_dlg.png 'Display Entity' dialog allows to select entities before displaying
 
-\note This menu item is available from popup menu in both Object browser and 3D viewer.
+\note This menu item is available from the context menu in both Object browser and 3D viewer.
 */
\ No newline at end of file
index dcdc6f491833d20c7816db4c08607ab095d53770..955d0cffeb6f6e2298dd16cb1d515d9de0c3a21c 100644 (file)
@@ -143,8 +143,8 @@ Parameters to be defined in this mode:
     The created flat volumes (or faces) are stored in groups. These groups are named
     according to the position of the group in the list of groups: group
     "j_n_p" is a group of flat elements that are built between the group \#n
-    and the group \#p in the group list. All the flat elements are gathered
-    into the group named "joints3D" (correspondingly "joints2D"). The flat element of the multiple
+    and the group \#p in the group list. All flat elements are gathered
+    into the group named "joints3D" (correspondingly "joints2D"). The flat elements of multiple
     junctions between the simple junction are stored in a group named
     "jointsMultiples".</li>
   <li> If <b>On all boundaries</b> option is activated, the volumes (or faces),
diff --git a/doc/salome/gui/SMESH/input/renumbering_nodes_and_elements.doc b/doc/salome/gui/SMESH/input/renumbering_nodes_and_elements.doc
deleted file mode 100644 (file)
index 0c0f34d..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*!
-
-\page renumbering_nodes_and_elements_page Renumbering nodes and elements
-
-\n In MESH you can renumber the nodes and elements of your mesh.
-
-<ul>
-<li>\ref renumbering_nodes_anchor "Nodes"</li>
-<li>\ref renumbering_elements_anchor "Elements"</li>
-</ul>
-
-<br>
-\anchor renumbering_nodes_anchor
-<h2>Renumbering nodes</h2>
-
-<em>To renumber the nodes of your mesh:</em>
-<ol>
-<li>In the \b Modification menu select \b Renumbering submenu and
-choose the \b Nodes item or click <em>"Renumbering nodes"</em> button
-in the toolbar.
-
-\image html image63.png
-<center><em>"Renumbering nodes" button</em></center>
-
-The following dialog box will appear:
-
-\image html renumbernodes.png
-</li>
-
-<li>Fill the \b Mesh field by selecting your mesh in the Object
-Browser or in the 3D viewer.</li>
-<li>Click the \b Apply or <b>Apply and Close</b> button to perform the operation.</li>
-</ol>
-
-<br>
-\anchor renumbering_elements_anchor
-<h2>Renumbering elements</h2>
-
-<em>To renumber the elements of your mesh:</em>
-<ol>
-<li>In the \b Modification menu select \b Renumbering submenu and
-choose the \b Elements item or click <em>"Renumbering elements"</em>
-button in the toolbar.
-
-\image html image64.png
-<center><em>"Renumbering elements" button</em></center>
-
-The following dialog box will appear:
-
-\image html renumberelements.png
-</li>
-
-<li>Fill the \b Mesh field by selecting your mesh in the Object
-Browser or in the 3D viewer.</li>
-<li>Click the \b Apply or <b>Apply and Close</b> button to perform the operation.</li>
-</ol>
-
-<br><b>See Also</b> a sample TUI Script of a 
-\ref tui_renumbering_nodes_and_elements "Renumbering Nodes and Elements" operation.  
-
-*/
\ No newline at end of file
index 519da7ef11e5a7160fd1effb8cb59f26bf2cfc0a..20346a9dc54510ae63e1972d6557928c5c2d8d5b 100644 (file)
@@ -2,20 +2,22 @@
 
 \page reorient_faces_page Reorient faces
 
-\n This operation allows changing orientation of faces two ways.
-<ol>
-<li> To reorient a set of neighboring faces by defining the desired
-  orientation by a vector. <br> Since the direction of face normals in
+\n This operation allows changing the orientation of a set 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 whose normal 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> 
-</ul> </li>
-<li> To reorient faces with relation to adjacent volumes. </li>
-</ol>
+  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> 
+  </ul>
+</li>
+<li>Alternatively, the faces can be oriented relatively to the adjacent volumes.</li>
+</ul>
 
-Orientation of a face is changed by reverting the order of its nodes.
+The orientation of a face is changed by reverting the order of its nodes.
 
 <em>To change orientation of faces:</em>
 <ol>
@@ -26,26 +28,19 @@ Orientation of a face is changed by reverting the order of its nodes.
 \image html reorient_faces_face.png
 <em>"Reorient faces" button</em>
 </center>
+</li>
 
-The following dialog box will appear:
-
-<center>
-\image html reorient_2d_point.png "First mode: to reorient adjacent faces according to a vector. The control face is found by point."
-<br>
-\image html reorient_2d_face.png "Second mode: to reorient adjacent faces according to a vector. The control face is explicitly given."
-<br>
-\image html reorient_2d_volume.png "Third mode: to reorient faces with relation to adjacent volumes."
-</center>
+<li>In the "Reorient faces" dialog box
 
-<li>In this dialog
 <ul>
-<li>Specify either of the tree operation modes.</li>
 <li>Select the \b Object (mesh, sub-mesh or group)
   containing faces to reorient, in the Object Browser or in the 3D
   Viewer.</li>
-<li>To reorient according to vector: <ul>
+
+<li>To reorient according to vector:
+    <ul>
     <li>Specify the coordinates of the \b Point by which the control face
-      will be found or the control \b Face itself. You can easy specify the \b
+      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>
@@ -53,16 +48,41 @@ The following dialog box will appear:
       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> </ul> </li>
-<li>To reorient according to volumes: <ul>
+      will go from the first to the second node.</li>
+    </ul>
+
+<br>
+<center>
+\image html reorient_2d_point.png "The orientation of adjacent faces is chosen according to a vector. The control face is found by point."
+</center>
+
+</li>
+
+<li>In the second mode it is possible to 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."
+</center>
+
+</li>
+
+<li>In the third mode, the faces can be reoriented according to volumes:
+    <ul>
     <li>Select an object (mesh, sub-mesh or group) containing
       reference \b Volumes, in the Object Browser or in the 3D
       Viewer.</li>
     <li>Specify whether face normals should point outside or inside
       the reference volumes using <b>Face normal outside volume</b>
-      check-box.</li></ul> </li>
-</ul>
+      check-box.</li>
+    </ul>
+
+<br>
+<center>
+\image html reorient_2d_volume.png "The orientation of faces is chosen with relation to adjacent volumes."
+</center>
+
 </li>
+</ul>
 
 <li>Click the \b Apply or <b>Apply and Close</b> button to confirm the operation.</li>
 </ol>
index 2187eeea9931bc858dd7febb6216d1b54dba4d01..d770fe39d998f6882d9dc9809698ccafe5f5f170 100644 (file)
@@ -41,7 +41,6 @@ SET(_link_LIBRARIES
 
 # header files / no moc processing
 SET(SMDS_HEADERS
-  chrono.hxx
   ObjectPool.hxx
   SMDS_TypeOfPosition.hxx
   SMDSAbs_ElementType.hxx
index 6012a4f38595e5d3befeb7539b86b784a7796395..b1ff14967177d8a164a0d373fa994e254944d45a 100644 (file)
@@ -24,6 +24,7 @@
 #include "SMDS_MeshVolume.hxx"
 
 #include "utilities.h"
+#include "chrono.hxx"
 
 #include <vtkCellArray.h>
 #include <vtkCellData.h>
index 5063adc21762b29c35f778e92a2fbfe6b3351880..67a8edc738a77b351fee9a2908c610dd1ceacbb8 100644 (file)
@@ -28,7 +28,6 @@
 
 #include <vtkUnstructuredGrid.h>
 #include <vtkCellLinks.h>
-#include "chrono.hxx"
 
 #include <vector>
 #include <set>
index 864f50c21449346cb49b5ccccdfd2e718d5b4af9..d009d077ad899f51582fc3b465f87d0c4d80c659 100644 (file)
@@ -70,7 +70,6 @@ SMESH_Gen::SMESH_Gen()
   _segmentation = _nbSegments = 10;
   SMDS_Mesh::_meshList.clear();
   MESSAGE(SMDS_Mesh::_meshList.size());
-  //_counters = new counters(100);
   _compute_canceled = false;
   _sm_current = NULL;
   //vtkDebugLeaks::SetExitError(0);
index 4dac76d43965d1ddab2d68b995d92cba5d233094..064d7685331d37192e8d1d617d8f84520f6f058f 100644 (file)
@@ -37,8 +37,6 @@
 #include "SMESH_Algo.hxx"
 #include "SMESH_Mesh.hxx"
 
-#include "chrono.hxx"
-
 #include <TopoDS_Shape.hxx>
 
 #include <map>
@@ -175,8 +173,6 @@ private:
   // default number of segments
   int _nbSegments;
 
-  counters *_counters;
-
   volatile bool  _compute_canceled;
   SMESH_subMesh* _sm_current;
 };
index d334c7d5c40e60433ecc64879680d7621372b3a3..7083261a9226c5625629d12ffd14c0b1a06e74b5 100644 (file)
@@ -50,6 +50,7 @@
 #include <Basics_OCCTVersion.hxx>
 
 #include "utilities.h"
+#include "chrono.hxx"
 
 #include <BRepAdaptor_Surface.hxx>
 #include <BRepBuilderAPI_MakeEdge.hxx>
index 7908b4f49b94a457c3ef0b7829f41db3f0a9460e..11af75dd9490264ee2101f4318604e0afbbf0289 100644 (file)
@@ -4829,7 +4829,7 @@ void SMESHGUI::contextMenuPopup( const QString& client, QMenu* menu, QString& ti
     _PTR(Study) study = appStudy->studyDS();
     _PTR(SObject) obj = study->FindObjectID( io->getEntry() );
     if ( obj ) {
-      QString aName = QString( QString::fromUtf8(obj->GetName().c_str()) );
+      QString aName = QString( SMESH::fromUtf8(obj->GetName()) );
       while ( aName.at( aName.length() - 1 ) == ' ' ) // Remove extraspaces in Name of Popup
           aName.remove( (aName.length() - 1), 1 );
       title = aName;
@@ -6809,7 +6809,7 @@ void SMESHGUI::message( const QString& msg )
       _PTR(SObject) obj = study->FindObjectID( entry.toLatin1().constData() );
       QString name;
       if ( obj )
-        name = QString::fromUtf8(obj->GetName().c_str());
+        name = SMESH::fromUtf8(obj->GetName());
       if ( name.isEmpty() )
         return;
       
index 7cad3307110b7808401bd9b28896cb2b1f68aa45..30d77de3b69dbcccedafc511c53c96a6d4a1bd69 100644 (file)
@@ -519,7 +519,7 @@ QString SMESHGUI_GroupDlg::GetDefaultName(const QString& theOperation)
   bool isUnique = false;
   while (!isUnique) {
     aName = theOperation + "_" + QString::number(++aNumber);
-    isUnique = (aSet.count(aName.toUtf8().data()) == 0);
+    isUnique = (aSet.count(std::string(SMESH::toUtf8(aName))) == 0);
   }
 
   return aName;
@@ -535,7 +535,7 @@ void  SMESHGUI_GroupDlg::setDefaultName() const
   do
   {
     aResName = aPrefix + QString::number( i++ );
-    anObj = aStudy->FindObject( aResName.toUtf8().data() );
+    anObj = aStudy->FindObject( SMESH::toUtf8(aResName) );
   }
   while ( anObj );
   myName->setText(aResName); 
@@ -594,14 +594,14 @@ void SMESHGUI_GroupDlg::init (SMESH::SMESH_GroupBase_ptr theGroup,
 
   myNameChanged = true;
   myName->blockSignals(true);
-  myName->setText(QString::fromUtf8(theGroup->GetName()));
+  myName->setText(SMESH::fromUtf8(theGroup->GetName()));
   myName->blockSignals(false);
   myName->home(false);
 
   SALOMEDS::Color aColor = theGroup->GetColor();
   setGroupColor( aColor );
 
-  myMeshGroupLine->setText(QString::fromUtf8(theGroup->GetName()));
+  myMeshGroupLine->setText(SMESH::fromUtf8(theGroup->GetName()));
 
   int aType = 0;
   switch(theGroup->GetType()) {
@@ -686,7 +686,7 @@ void SMESHGUI_GroupDlg::init (SMESH::SMESH_GroupBase_ptr theGroup,
   {
     myNameChanged = true;
     myName->blockSignals(true);
-    myName->setText(QString::fromUtf8(theGroup->GetName()));
+    myName->setText(SMESH::fromUtf8(theGroup->GetName()));
     myName->blockSignals(false);
   }
 
@@ -1041,7 +1041,7 @@ bool SMESHGUI_GroupDlg::onApply()
 
       if (myGeomObjects->length() == 1) {
         myGroupOnGeom = myMesh->CreateGroupFromGEOM(aType,
-                                                    myName->text().toUtf8().data(),
+                                                    SMESH::toUtf8(myName->text()),
                                                     myGeomObjects[0]);
       }
       else {
@@ -1083,11 +1083,11 @@ bool SMESHGUI_GroupDlg::onApply()
           aNewGeomGroupName += myName->text();
           SALOMEDS::SObject_var aNewGroupSO =
             geomGen->AddInStudy(aSMESHGen->GetCurrentStudy(), aGroupVar,
-                                aNewGeomGroupName.toUtf8().data(), aMeshShape);
+                                SMESH::toUtf8(aNewGeomGroupName), aMeshShape);
         }
 
         myGroupOnGeom = myMesh->CreateGroupFromGEOM(aType,
-                                                    myName->text().toUtf8().data(),
+                                                    SMESH::toUtf8(myName->text()),
                                                     aGroupVar);
       }
       resultGroup = SMESH::SMESH_GroupBase::_narrow( myGroupOnGeom );
@@ -1110,7 +1110,7 @@ bool SMESHGUI_GroupDlg::onApply()
         return false;
 
       myGroupOnFilter = myMesh->CreateGroupFromFilter(aType,
-                                                      myName->text().toUtf8().data(),
+                                                      SMESH::toUtf8(myName->text()),
                                                       myFilter);
 
       resultGroup = SMESH::SMESH_GroupBase::_narrow( myGroupOnFilter );
@@ -1151,7 +1151,7 @@ bool SMESHGUI_GroupDlg::onApply()
     }
     else
     {
-      resultGroup->SetName(myName->text().toUtf8().data());
+      resultGroup->SetName(SMESH::toUtf8(myName->text()));
 
       if ( aMeshGroupSO )
       {
@@ -1166,7 +1166,7 @@ bool SMESHGUI_GroupDlg::onApply()
             if ( !anActor ) return false;
             myActorsList.append( anActor );
           }
-          anActor->setName(myName->text().toUtf8().data());
+          anActor->setName(SMESH::toUtf8(myName->text()));
           QColor c;
           int delta;
           switch ( myTypeId ) {
index ec8fa4ad8d02be3b981d23080475307079650a89..4f48483570b75ee09122d012a63abc429379df20 100644 (file)
@@ -42,7 +42,7 @@ namespace SMESH
     SMESH::SMESH_Group_var aGroup;
     try {
       if ( !theMesh->_is_nil() )
-        aGroup = theMesh->CreateGroup( theType, theGroupName.toUtf8().data() );
+        aGroup = theMesh->CreateGroup( theType, SMESH::toUtf8(theGroupName) );
     }
     catch( const SALOME::SALOME_Exception& S_ex ) {
       SalomeApp_Tools::QtCatchCorbaException( S_ex );
index d539ac8a076aa8ef61c8ad14c94e343fb03f25e3..e3bf44671ea48214b72f8581825119bc5b269268 100644 (file)
 
 #include CORBA_SERVER_HEADER(SMESH_Group)
 
+//VSR: uncomment below macro to support unicode text properly in SALOME
+//     current commented out due to regressions
+//#define PAL22528_UNICODE
+
 namespace SMESH
 {
   SUIT_Desktop*
@@ -391,4 +395,27 @@ namespace SMESH
     return n;
   }
   
+  QString fromUtf8( const char* txt )
+  {
+#ifdef PAL22528_UNICODE
+    return QString::fromUtf8( txt );
+#else
+    return QString( txt );
+#endif
+  }
+
+  QString fromUtf8( const std::string& txt )
+  {
+    return fromUtf8( txt.c_str() );
+  }
+
+  const char* toUtf8( const QString& txt )
+  {
+#ifdef PAL22528_UNICODE
+    return txt.toUtf8().constData();
+#else
+    return txt.toLatin1().constData();
+#endif
+  }
+
 } // end of namespace SMESH
index 5ac9ee97cfbd402878949c76a0e44dede4930078..380be90be8bfa3cf9e031fc3089fa85f74db1062 100644 (file)
@@ -208,6 +208,9 @@ SMESHGUI_EXPORT
     toStdStr( char* s ): toStrT< std::string >(s) {}
   };
 
+  QString fromUtf8( const char* txt );
+  QString fromUtf8( const std::string& txt );
+  const char* toUtf8( const QString& txt );
 }
 
 #endif // SMESHGUI_UTILS_H
index 91596f776723c9a9926310d58804c945bdba7e46..da6ba66a92f2db4015abb6374c19234d48478593 100755 (executable)
     </message>
     <message>
         <source>MEN_CHOOSE</source>
-        <translation type="unfinished">Choose...</translation>
+        <translation>Choisir...</translation>
     </message>
     <message>
         <source>MEN_EDIT</source>
@@ -7761,7 +7761,7 @@ en raison de leurs types incompatibles:
     <name>SMESHGUI_DisplayEntitiesDlg</name>
     <message>
         <source>WRN_AT_LEAST_ONE</source>
-        <translation type="unfinished">At least one entity type should be chosen!</translation>
+        <translation>Au moins une entité devrait être choisie!</translation>
     </message>
 </context>
 </TS>
index 0332875cf11e700125f20139a3edf7302555e2e2..ae78bc09b99d5bc5b498d3fbbba5ef1f896d65f3 100644 (file)
       <translation>エッジ</translation>
     </message>
     <message>
-        <source>MEN_CHOOSE</source>
-        <translation type="unfinished">Choose...</translation>
+      <source>MEN_CHOOSE</source>
+      <translation type="unfinished">Choose...</translation>
     </message>
     <message>
       <source>MEN_EDIT</source>
     </message>
     <message>
       <source>ID</source>
-      <translation>ID</translation>
+      <translation type="unfinished">ID</translation>
     </message>
     <message>
       <source>INSERT</source>
       <source>ORIENTATION</source>
       <translation>方向</translation>
     </message>
+    <message>
+      <source>VOLUMES</source>
+      <translation type="unfinished">Volumes</translation>
+    </message>
+    <message>
+      <source>OUTSIDE_VOLUME_NORMAL</source>
+      <translation type="unfinished">Face normal outside volume</translation>
+    </message>
   </context>
   <context>
     <name>SMESHGUI_ReorientFacesOp</name>
       <source>NO_OBJECT_SELECTED</source>
       <translation>選択したオブジェクトがありません。</translation>
     </message>
+    <message>
+      <source>NO_VOLUME_OBJECT_SELECTED</source>
+      <translation type="unfinished">No volume object selected</translation>
+    </message>
     <message>
       <source>NO_FACES</source>
       <translation>オブジェクトに顔が含まれていません。</translation>
     </message>
+    <message>
+      <source>NO_VOLUMES</source>
+      <translation type="unfinished">Volume object includes no volumes</translation>
+    </message>
     <message>
       <source>ZERO_SIZE_VECTOR</source>
       <translation>サイズがゼロのベクター</translation>
index 8a90c5e1f61268b7b0f6cedac65e72de2716db34..5be2b77f5d7330c1020b76a764ed4bab284f1ad2 100644 (file)
       <source>TO_IGNORE_FACES</source>
       <translation>レイヤ(入出口)を伴わない面</translation>
     </message>
+    <message>
+      <source>BAD_FACES_WARNING</source>
+      <translation type="unfinished">
+Specified faces are not sub-shapes of the shape of 
+mesh/sub-mesh.
+Consider creating another hypothesis instead of using
+this one for this mesh/sub-mesh.</translation>
+    </message>
+    <message>
+      <source>BAD_EDGES_WARNING</source>
+      <translation type="unfinished">
+Specified edges are not sub-shapes of the shape of 
+mesh/sub-mesh.
+Consider creating another hypothesis instead of using
+this one for this mesh/sub-mesh.</translation>
+    </message>
   </context>
   <context>
     <name>@default</name>