Salome HOME
Adding the preprocessor option remove_tiny_uv_edges to the user interface.
authorChristophe Bourcier <christophe.bourcier@cea.fr>
Mon, 11 Jul 2016 12:58:12 +0000 (14:58 +0200)
committerChristophe Bourcier <christophe.bourcier@cea.fr>
Mon, 11 Jul 2016 12:58:12 +0000 (14:58 +0200)
We set it to off by default in Salome so that the cleanup is done only if the user explicitly asks to.
Otherwise, this option is on by default when calling CADSurf.

15 files changed:
doc/salome/gui/BLSURFPLUGIN/images/blsurf_parameters_advanced.png
doc/salome/gui/BLSURFPLUGIN/input/blsurf_hypo.doc
idl/BLSURFPlugin_Algorithm.idl
src/BLSURFPlugin/BLSURFPluginBuilder.py
src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx
src/BLSURFPlugin/BLSURFPlugin_Hypothesis.cxx
src/BLSURFPlugin/BLSURFPlugin_Hypothesis.hxx
src/BLSURFPlugin/BLSURFPlugin_Hypothesis_i.cxx
src/BLSURFPlugin/BLSURFPlugin_Hypothesis_i.hxx
src/GUI/BLSURFPluginGUI_AdvWidget_QTD.ui
src/GUI/BLSURFPluginGUI_HypothesisCreator.cxx
src/GUI/BLSURFPluginGUI_HypothesisCreator.h
src/GUI/BLSURFPlugin_msg_en.ts
src/GUI/BLSURFPlugin_msg_fr.ts
tests/CMakeLists.txt

index c7cc0d3896e401412581df40aa97270a16117aba..7f5757c5d9758027ec440919ac71bd4a421d543e 100644 (file)
Binary files a/doc/salome/gui/BLSURFPLUGIN/images/blsurf_parameters_advanced.png and b/doc/salome/gui/BLSURFPLUGIN/images/blsurf_parameters_advanced.png differ
index 07ebef7ffe73d579bc752a7a2c568fd28bf82686..aa88bedb08361861e2316b68b7a909ed1ff3c627 100644 (file)
@@ -72,29 +72,35 @@ The notion of <i>diag</i> used in the descriptions means the diagonal of the bou
 
 \image html blsurf_parameters_advanced.png
 
-- <b>PreCAD options</b> -if checked, the PreCAD module will be used. This module has
-two main goals:
+- <b>CAD preprocessor options</b>. The CAD preprocessor (formerly known as PreCAD) has two main goals:
 
   - Complete missing or inadequate CAD descriptions.
 
   - Perform topology reconstruction and specific geometry
   enhancement for mesh generation.
 
-  \n This module requires a specific licence. The following PreCAD
-  options are the most significant and important ones:
+  \n The following preprocessor options are the most significant and important ones.
+  All options are unchecked by default. No cleanup is made by default so that the mesh matches the shape.
+  If the user has a bad shape (e.g. imported shape), he can activate some options to improve the mesh.
 
-    - <b>Merge Edges</b> - allows PreCAD to optimize the geometry by merging some
-    edges. This option is checked by default.
+    - <b>Merge Edges</b> - optimize the geometry by merging some
+    edges. This option is unchecked by default.
 
-    - <b>Process 3D topology</b> - allows PreCAD to perform the cleanup processing.
-    This option is checked by default.
+    - <b>Remove tiny UV edges</b> - optimize the geometry by removing small
+    tiny edges on the UV face. This option is unchecked by default.
 
-    - <b>Discard input topology</b> - computes the CAD topology from scratch, 
+    - <b>Process 3D topology</b> - perform the cleanup processing.
+    This option is unchecked by default.
+
+    - <b>Discard input topology</b> - compute the CAD topology from scratch,
     without considering the topological information contained in the original CAD
     (useful for iges files). This option is unchecked by default.
 
+    - <b>Remove duplicate CAD faces</b> - optimize the geometry by merging the
+    duplicate CAD faces. This option is unchecked by default.
+
 - <b>Verbosity level</b> - defines the percentage of "verbosity" of
-MeshGems-CADSurf and MeshGems-PreCAD [0-10].
+MeshGems-CADSurf [0-10].
 
 - <b>ExportGMF</b> - saves the computed mesh into a GMF file (.mesh or .meshb).
 
@@ -155,10 +161,6 @@ edges (defined by the option tiny edge optimisation length) from the generated m
 the local mesh quality, without taking into account the tags (attributes) specifications.
 By default this option is 0.
 
-- \b remove_duplicate_cad_faces (bool) - Defines the behavior of MeshGems-PreCAD regarding the duplicate
-CAD faces. By default, MG-PreCAD merges the duplicate CAD faces. This behavior can be deactivated by using this option.
-By default this option is 1.
-
 - \b tiny_edge_avoid_surface_intersections (bool) - This option defines the priority between the tiny feature
 suppression and the surface intersection prevention. By default, MeshGems-CADSurf gives the priority
 to the surface intersection prevention rather than to tiny edge or bad surface element removal. These
index aaeb540e50f7d173e50e793114d508fa9f525f06..e865c2fd5cd0b58b0ec4b5f1aeb9ef09d0b77028 100644 (file)
@@ -277,6 +277,12 @@ module BLSURFPlugin
     void SetPreCADMergeEdges(in boolean toMergeEdges);
     boolean GetPreCADMergeEdges();
 
+    /*!
+     * To remove tiny UV edges edges.
+     */
+    void SetPreCADRemoveTinyUVEdges(in boolean toRemoveTinyUVEdges);
+    boolean GetPreCADRemoveTinyUVEdges();
+
     /*!
      * To remove duplicate CAD faces.
      */
index 44a8a242918a6a6f56eef41e0702030934150e5d..3b443a95783717ff7e7cb72cab50b61b1c98b181 100644 (file)
@@ -194,24 +194,24 @@ class BLSURF_Algorithm(Mesh_Algorithm):
   ## To optimize merges edges.
   #  @param toMergeEdges "merge edges" flag value
   def SetPreCADMergeEdges(self, toMergeEdges=False):
-    if self.Parameters().GetTopology() != PreCAD:
-      self.SetTopology(PreCAD)
     self.Parameters().SetPreCADMergeEdges(toMergeEdges)
     pass
 
+  ## To remove tiny UV edges.
+  #  @param toRemoveTinyUVEdges "remove_tiny_uv_edges" flag value
+  def SetPreCADRemoveTinyUVEdges(self, toRemoveTinyUVEdges=False):
+    self.Parameters().SetPreCADRemoveTinyUVEdges(toRemoveTinyUVEdges)
+    pass
+
   ## To remove duplicate CAD Faces
-  #  @param toRemoveDuplicateCADFaces "merge edges" flag value
+  #  @param toRemoveDuplicateCADFaces "remove_duplicate_cad_faces" flag value
   def SetPreCADRemoveDuplicateCADFaces(self, toRemoveDuplicateCADFaces=False):
-    if self.Parameters().GetTopology() != PreCAD:
-      self.SetTopology(PreCAD)
     self.Parameters().SetPreCADRemoveDuplicateCADFaces(toRemoveDuplicateCADFaces)
     pass
 
   ## To process 3D topology.
   #  @param toProcess "PreCAD process 3D" flag value
   def SetPreCADProcess3DTopology(self, toProcess=False):
-    if self.Parameters().GetTopology() != PreCAD:
-      self.SetTopology(PreCAD)
     self.Parameters().SetPreCADProcess3DTopology(toProcess)
     pass
 
@@ -227,8 +227,6 @@ class BLSURF_Algorithm(Mesh_Algorithm):
   ## To compute topology from scratch
   #  @param toDiscardInput "discard input" flag value
   def SetPreCADDiscardInput(self, toDiscardInput=False):
-    if self.Parameters().GetTopology() != PreCAD:
-      self.SetTopology(PreCAD)
     self.Parameters().SetPreCADDiscardInput(toDiscardInput)
     pass
 
@@ -250,8 +248,6 @@ class BLSURF_Algorithm(Mesh_Algorithm):
   #  @param optionName name of the option
   #  @param optionValue value of the option
   def SetPreCADOptionValue(self, optionName, optionValue):
-    if self.Parameters().GetTopology() != PreCAD:
-      self.SetTopology(PreCAD)
     self.Parameters().SetPreCADOptionValue(optionName,optionValue)
     pass
   
@@ -266,8 +262,6 @@ class BLSURF_Algorithm(Mesh_Algorithm):
   #  @param optionName custom name of the option
   #  @param optionValue value of the option
   def AddPreCADOption(self, optionName, optionValue):
-    if self.Parameters().GetTopology() != PreCAD:
-      self.SetTopology(PreCAD)
     self.Parameters().AddPreCADOption(optionName,optionValue)
     pass
 
index 521f1278a4d699b53d0f0cbfd066e8b0650bb659..bc6ba82297bd39c5c76b1b3e1ac1fc03774d75a3 100644 (file)
@@ -857,6 +857,7 @@ void BLSURFPlugin_BLSURF::SetParameters(const BLSURFPlugin_Hypothesis* hyp,
 
   // PreCAD
   int _precadMergeEdges         = BLSURFPlugin_Hypothesis::GetDefaultPreCADMergeEdges();
+  int _precadRemoveTinyUVEdges  = BLSURFPlugin_Hypothesis::GetDefaultPreCADRemoveTinyUVEdges();
   int _precadRemoveDuplicateCADFaces = BLSURFPlugin_Hypothesis::GetDefaultPreCADRemoveDuplicateCADFaces();
   int _precadProcess3DTopology  = BLSURFPlugin_Hypothesis::GetDefaultPreCADProcess3DTopology();
   int _precadDiscardInput       = BLSURFPlugin_Hypothesis::GetDefaultPreCADDiscardInput();
@@ -903,6 +904,7 @@ void BLSURFPlugin_BLSURF::SetParameters(const BLSURFPlugin_Hypothesis* hyp,
     _topology      = (int) hyp->GetTopology();
     // PreCAD
     _precadMergeEdges        = hyp->GetPreCADMergeEdges();
+    _precadRemoveTinyUVEdges = hyp->GetPreCADRemoveTinyUVEdges();
     _precadRemoveDuplicateCADFaces = hyp->GetPreCADRemoveDuplicateCADFaces();
     _precadProcess3DTopology = hyp->GetPreCADProcess3DTopology();
     _precadDiscardInput      = hyp->GetPreCADDiscardInput();
@@ -950,6 +952,7 @@ void BLSURFPlugin_BLSURF::SetParameters(const BLSURFPlugin_Hypothesis* hyp,
 
   // PreProcessor (formerly PreCAD)
   set_param(css, "merge_edges",            _precadMergeEdges ? "yes" : "no");
+  set_param(css, "remove_tiny_uv_edges",   _precadRemoveTinyUVEdges ? "yes" : "no");
   set_param(css, "remove_duplicate_cad_faces", _precadRemoveDuplicateCADFaces ? "yes" : "no");
   set_param(css, "process_3d_topology",    _precadProcess3DTopology ? "1" : "0");
   set_param(css, "discard_input_topology", _precadDiscardInput ? "1" : "0");
index aad7b60e90a3d15e3a65c2229882f54412c2a8a8..1d59f6979a67f70c806479249fb8fcb18bc732e4 100644 (file)
@@ -65,6 +65,7 @@ BLSURFPlugin_Hypothesis::BLSURFPlugin_Hypothesis(int hypId, int studyId, SMESH_G
   _verb(GetDefaultVerbosity()),
   _topology(GetDefaultTopology()),
   _preCADMergeEdges(GetDefaultPreCADMergeEdges()),
+  _preCADRemoveTinyUVEdges(GetDefaultPreCADRemoveTinyUVEdges()),
   _preCADRemoveDuplicateCADFaces(GetDefaultPreCADRemoveDuplicateCADFaces()),
   _preCADProcess3DTopology(GetDefaultPreCADProcess3DTopology()),
   _preCADDiscardInput(GetDefaultPreCADDiscardInput()),
@@ -98,7 +99,6 @@ BLSURFPlugin_Hypothesis::BLSURFPlugin_Hypothesis(int hypId, int studyId, SMESH_G
                                             "rectify_jacobian",                         // default = 1
                                             "respect_geometry",                         // default = 1
                                             "optimise_tiny_edges",                      // default = 0
-                                            "remove_duplicate_cad_faces",               // default = 1
                                             "tiny_edge_avoid_surface_intersections",    // default = 1
                                             "tiny_edge_respect_geometry",               // default = 0
                                             "" // mark of end
@@ -392,6 +392,15 @@ void BLSURFPlugin_Hypothesis::SetPreCADMergeEdges(bool theVal) {
   }
 }
 
+//=============================================================================
+void BLSURFPlugin_Hypothesis::SetPreCADRemoveTinyUVEdges(bool theVal) {
+  if (theVal != _preCADRemoveTinyUVEdges) {
+//     SetTopology(PreCAD);
+    _preCADRemoveTinyUVEdges = theVal;
+    NotifySubMeshesHypothesisModification();
+  }
+}
+
 //=============================================================================
 void BLSURFPlugin_Hypothesis::SetPreCADRemoveDuplicateCADFaces(bool theVal) {
   if (theVal != _preCADRemoveDuplicateCADFaces) {
@@ -1407,7 +1416,7 @@ std::ostream & BLSURFPlugin_Hypothesis::SaveTo(std::ostream & save) {
   save << " " << (int) _phySizeRel << " " << (int) _minSizeRel << " " << (int) _maxSizeRel << " " << _chordalError ;
   save << " " << (int) _anisotropic << " " << _anisotropicRatio << " " << (int) _removeTinyEdges << " " << _tinyEdgeLength ;
   save << " " << (int) _badElementRemoval << " " << _badElementAspectRatio << " " << (int) _optimizeMesh << " " << (int) _quadraticMesh ;
-  save << " " << (int) _preCADProcess3DTopology << " " << (int) _preCADRemoveDuplicateCADFaces;
+  save << " " << (int) _preCADProcess3DTopology << " " << (int) _preCADRemoveDuplicateCADFaces << " " << (int) _preCADRemoveTinyUVEdges;
 
   op_val = _option2value.begin();
   if (op_val != _option2value.end()) {
@@ -1951,6 +1960,12 @@ std::istream & BLSURFPlugin_Hypothesis::LoadFrom(std::istream & load) {
     else
       load.clear(std::ios::badbit | load.rdstate());
 
+    isOK = static_cast<bool>(load >> i);
+    if (isOK)
+      _preCADRemoveTinyUVEdges = (bool) i;
+    else
+      load.clear(std::ios::badbit | load.rdstate());
+
   }
   
 
index 0988a6e3008b8f93197e822df6278b2f9552546d..bee70c63dfb77f85c908a3f29708b81569c79277 100644 (file)
@@ -134,6 +134,9 @@ public:
   void SetPreCADMergeEdges(bool theVal);
   bool GetPreCADMergeEdges() const { return _preCADMergeEdges; }
 
+  void SetPreCADRemoveTinyUVEdges(bool theVal);
+  bool GetPreCADRemoveTinyUVEdges() const { return _preCADRemoveTinyUVEdges; }
+
   void SetPreCADRemoveDuplicateCADFaces(bool theVal);
   bool GetPreCADRemoveDuplicateCADFaces() const { return _preCADRemoveDuplicateCADFaces; }
 
@@ -369,6 +372,7 @@ public:
   static Topology        GetDefaultTopology() { return FromCAD; }
   // PreCAD
   static bool            GetDefaultPreCADMergeEdges() { return false; }
+  static bool            GetDefaultPreCADRemoveTinyUVEdges() { return false; }
   static bool            GetDefaultPreCADRemoveDuplicateCADFaces() { return false; }
   static bool            GetDefaultPreCADProcess3DTopology() { return false; }
   static bool            GetDefaultPreCADDiscardInput() { return false; }
@@ -496,6 +500,7 @@ private:
   Topology        _topology;
   
   bool            _preCADMergeEdges;
+  bool            _preCADRemoveTinyUVEdges;
   bool            _preCADRemoveDuplicateCADFaces;
   bool            _preCADProcess3DTopology;
   bool            _preCADDiscardInput;
index a8f3cd064a9bce8bfdf9a840e6b2f3b043e49141..f335309eecb12b5e359c8cc90f4d4f6fba19d772 100644 (file)
@@ -644,6 +644,34 @@ CORBA::Boolean BLSURFPlugin_Hypothesis_i::GetPreCADMergeEdges() {
   return this->GetImpl()->GetPreCADMergeEdges();
 }
 
+//=============================================================================
+/*!
+ *  BLSURFPlugin_Hypothesis_i::SetPreCADRemoveTinyUVEdges
+ *
+ *  Set true or false
+ */
+//=============================================================================
+void BLSURFPlugin_Hypothesis_i::SetPreCADRemoveTinyUVEdges(CORBA::Boolean theValue) {
+  // MESSAGE("BLSURFPlugin_Hypothesis_i::SetPreCADRemoveTinyUVEdges");
+  ASSERT(myBaseImpl);
+  this->GetImpl()->SetPreCADRemoveTinyUVEdges(theValue);
+  std::string theValueStr = theValue ? "True" : "False";
+  SMESH::TPythonDump() << _this() << ".SetPreCADRemoveTinyUVEdges( " << theValueStr.c_str() << " )";
+}
+
+//=============================================================================
+/*!
+ *  BLSURFPlugin_Hypothesis_i::GetPreCADRemoveTinyUVEdges
+ *
+ *  Get true or false
+ */
+//=============================================================================
+CORBA::Boolean BLSURFPlugin_Hypothesis_i::GetPreCADRemoveTinyUVEdges() {
+  // MESSAGE("BLSURFPlugin_Hypothesis_i::GetPreCADRemoveTinyUVEdges");
+  ASSERT(myBaseImpl);
+  return this->GetImpl()->GetPreCADRemoveTinyUVEdges();
+}
+
 //=============================================================================
 /*!
  *  BLSURFPlugin_Hypothesis_i::SetPreCADRemoveDuplicateCADFaces
index 2d7de6c32cfd00be560b824e63c2f17ec189b8f2..1994391013ec6d2688e66402796e729a09205914 100644 (file)
@@ -111,6 +111,9 @@ public:
   void SetPreCADMergeEdges(CORBA::Boolean theValue);
   CORBA::Boolean GetPreCADMergeEdges();
 
+  void SetPreCADRemoveTinyUVEdges(CORBA::Boolean theValue);
+  CORBA::Boolean GetPreCADRemoveTinyUVEdges();
+
   void SetPreCADRemoveDuplicateCADFaces(CORBA::Boolean theValue);
   CORBA::Boolean GetPreCADRemoveDuplicateCADFaces();
 
index 76d39354ca683925a37854013254de8e9b22b440..c83d77d19b40a4474aa901a0abc0feb267313b90 100644 (file)
             </property>
            </widget>
           </item>
-          <item row="1" column="0">
+          <item row="1" column="0" colspan="2">
+           <widget class="QCheckBox" name="myPreCADRemoveTinyUVEdges">
+            <property name="text">
+             <string>BLSURF_PRECAD_REMOVE_TINY_UV_EDGES</string>
+            </property>
+            <property name="checked">
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
            <widget class="QCheckBox" name="myPreCADProcess3DTopology">
             <property name="text">
              <string>BLSURF_PRECAD_PROCESS_3D_TOPOLOGY</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="0" colspan="2">
+          <item row="3" column="0" colspan="2">
            <widget class="QCheckBox" name="myPreCADDiscardInput">
             <property name="text">
              <string>BLSURF_PRECAD_DISCARD_INPUT</string>
             </property>
            </widget>
           </item>
-          <item row="3" column="0" colspan="2">
+          <item row="4" column="0" colspan="2">
            <widget class="QCheckBox" name="myPreCADRemoveDuplicateCADFaces">
             <property name="text">
              <string>BLSURF_PRECAD_REMOVE_DUPLICATE_CAD_FACES</string>
   <tabstop>rmBtn</tabstop>
   <tabstop>myPreCADGroupBox</tabstop>
   <tabstop>myPreCADMergeEdges</tabstop>
+  <tabstop>myPreCADRemoveTinyUVEdges</tabstop>
   <tabstop>myPreCADRemoveDuplicateCADFaces</tabstop>
   <tabstop>myPreCADProcess3DTopology</tabstop>
   <tabstop>myPreCADDiscardInput</tabstop>
index 18eec6460952cc342379d0bc6aed1b63d2eaebef..549ab621f5a8ce12df53832f26c68b2d6a25095b 100644 (file)
@@ -1835,6 +1835,7 @@ void BLSURFPluginGUI_HypothesisCreator::retrieveParams() const
   myAdvWidget->myVerbosity->setValue( data.myVerbosity );
   myAdvWidget->myPreCADGroupBox->setChecked(data.myTopology == PreCAD);
   myAdvWidget->myPreCADMergeEdges->setChecked( data.myPreCADMergeEdges );
+  myAdvWidget->myPreCADRemoveTinyUVEdges->setChecked( data.myPreCADRemoveTinyUVEdges );
   myAdvWidget->myPreCADRemoveDuplicateCADFaces->setChecked( data.myPreCADRemoveDuplicateCADFaces );
   myAdvWidget->myPreCADProcess3DTopology->setChecked( data.myPreCADProcess3DTopology );
   myAdvWidget->myPreCADDiscardInput->setChecked( data.myPreCADDiscardInput );
@@ -2066,6 +2067,7 @@ bool BLSURFPluginGUI_HypothesisCreator::readParamsFromHypo( BlsurfHypothesisData
   h_data.myVerbosity              = h->GetVerbosity();
   h_data.myTopology               = (int) h->GetTopology();
   h_data.myPreCADMergeEdges       = h->GetPreCADMergeEdges();
+  h_data.myPreCADRemoveTinyUVEdges       = h->GetPreCADRemoveTinyUVEdges();
   h_data.myPreCADRemoveDuplicateCADFaces = h->GetPreCADRemoveDuplicateCADFaces();
   h_data.myPreCADProcess3DTopology  = h->GetPreCADProcess3DTopology();
   h_data.myPreCADDiscardInput     = h->GetPreCADDiscardInput();
@@ -2334,6 +2336,8 @@ bool BLSURFPluginGUI_HypothesisCreator::storeParamsToHypo( const BlsurfHypothesi
       h->SetTopology( (int) h_data.myTopology );
     if ( h->GetPreCADMergeEdges() != h_data.myPreCADMergeEdges )
       h->SetPreCADMergeEdges( h_data.myPreCADMergeEdges );
+    if ( h->GetPreCADRemoveTinyUVEdges() != h_data.myPreCADRemoveTinyUVEdges )
+      h->SetPreCADRemoveTinyUVEdges( h_data.myPreCADRemoveTinyUVEdges );
     if ( h->GetPreCADRemoveDuplicateCADFaces() != h_data.myPreCADRemoveDuplicateCADFaces )
       h->SetPreCADRemoveDuplicateCADFaces( h_data.myPreCADRemoveDuplicateCADFaces );
     if ( h->GetPreCADProcess3DTopology() != h_data.myPreCADProcess3DTopology )
@@ -2532,6 +2536,7 @@ QString BLSURFPluginGUI_HypothesisCreator::readParamsFromWidgets( BlsurfHypothes
   h_data.myVerbosity             = myAdvWidget->myVerbosity->value();
   h_data.myTopology              = myAdvWidget->myPreCADGroupBox->isChecked() ? PreCAD : FromCAD;
   h_data.myPreCADMergeEdges      = myAdvWidget->myPreCADMergeEdges->isChecked();
+  h_data.myPreCADRemoveTinyUVEdges = myAdvWidget->myPreCADRemoveTinyUVEdges->isChecked();
   h_data.myPreCADRemoveDuplicateCADFaces = myAdvWidget->myPreCADRemoveDuplicateCADFaces->isChecked();
   h_data.myPreCADProcess3DTopology = myAdvWidget->myPreCADProcess3DTopology->isChecked();
   h_data.myPreCADDiscardInput    = myAdvWidget->myPreCADDiscardInput->isChecked();
@@ -2563,6 +2568,7 @@ QString BLSURFPluginGUI_HypothesisCreator::readParamsFromWidgets( BlsurfHypothes
   
   guiHyp += tr("BLSURF_TOPOLOGY") + " = " + QString::number( h_data.myTopology ) + "; ";
   guiHyp += tr("BLSURF_PRECAD_MERGE_EDGES") + " = " + QString(h_data.myPreCADMergeEdges ? "yes" : "no") + "; ";
+  guiHyp += tr("BLSURF_PRECAD_REMOVE_TINY_UV_EDGES") + " = " + QString(h_data.myPreCADRemoveTinyUVEdges ? "yes" : "no") + "; ";
   guiHyp += tr("BLSURF_PRECAD_REMOVE_DUPLICATE_CAD_FACES") + " = " + QString(h_data.myPreCADRemoveDuplicateCADFaces ? "yes" : "no") + "; ";
   guiHyp += tr("BLSURF_PRECAD_REMOVE_NANO_EDGES") + " = " + QString(h_data.myPreCADProcess3DTopology ? "yes" : "no") + "; ";
   guiHyp += tr("BLSURF_PRECAD_DISCARD_INPUT") + " = " + QString(h_data.myPreCADDiscardInput ? "yes" : "no") + "; ";
index f2dc0ed48b1181a43574e7b44e98544e3945190f..b120ac9b69958506d52ab733b331654a3fa97a87 100644 (file)
@@ -169,7 +169,7 @@ typedef struct
   double  myAnisotropicRatio, myTinyEdgeLength, myBadElementAspectRatio;
   bool    myOptimizeMesh, myQuadraticMesh;
   bool    myAllowQuadrangles, mySmpsurface,mySmpedge,mySmppoint,myEnforcedVertex,myInternalEnforcedVerticesAllFaces;
-  bool    myPreCADMergeEdges, myPreCADRemoveDuplicateCADFaces, myPreCADProcess3DTopology, myPreCADDiscardInput;
+  bool    myPreCADMergeEdges, myPreCADRemoveTinyUVEdges, myPreCADRemoveDuplicateCADFaces, myPreCADProcess3DTopology, myPreCADDiscardInput;
 //   bool    myGMFFileMode;
   std::string myGMFFileName, myInternalEnforcedVerticesAllFacesGroup;
   TEnfVertexList enfVertexList;
index 4c51af917264b97eec8570473432bd779178fb78..ebfa0fc520cca7a086197b2eed86d2183409fca8 100644 (file)
@@ -244,12 +244,16 @@ The smaller this distance is, the closer the mesh is to the exact surface (only
     </message>
     <message>
         <source>BLSURF_PRECAD_GROUP</source>
-        <translation>PreCAD options</translation>
+        <translation>CAD preprocessor options</translation>
     </message>
     <message>
         <source>BLSURF_PRECAD_MERGE_EDGES</source>
         <translation>Merge edges</translation>
     </message>
+    <message>
+        <source>BLSURF_PRECAD_REMOVE_TINY_UV_EDGES</source>
+        <translation>Remove tiny UV edges</translation>
+    </message>
     <message>
         <source>BLSURF_PRECAD_REMOVE_DUPLICATE_CAD_FACES</source>
         <translation>Remove duplicate CAD Faces</translation>
index e8e71d5a440a49a31bf6eed79f16c778ba26c451..c7a535d5ec9b4877d10ccbb202d5423b0e989215 100755 (executable)
@@ -248,12 +248,16 @@ Plus la distance est petite, plus le maillage sera proche de la surface (disponi
     </message>
     <message>
         <source>BLSURF_PRECAD_GROUP</source>
-        <translation>Options PreCAD</translation>
+        <translation>Options du préprocesseur CAO</translation>
     </message>
     <message>
         <source>BLSURF_PRECAD_MERGE_EDGES</source>
         <translation>Fusionner des arêtes</translation>
     </message>
+    <message>
+        <source>BLSURF_PRECAD_REMOVE_TINY_UV_EDGES</source>
+        <translation>Supprime les petites arêtes UV</translation>
+    </message>
     <message>
         <source>BLSURF_PRECAD_REMOVE_DUPLICATE_CAD_FACES</source>
         <translation>Supprime les faces CAO en double</translation>
index df9d5000041dbd4c0bbfded59933cf92a6fa83ef..b2849cd316e2858609727e68875f1dec64fa3847 100755 (executable)
@@ -21,13 +21,9 @@ SET(BLSURFPLUGIN_TEST_FILES
   test_enforced_internal_vertex.py
   test_enforced_vertex.py
   test_periodicity_2D_precad.py
-  test_periodicity_2D.py
   test_periodicity_precad.py
-  test_periodicity.py
   test_periodicity_reflexion_2D_precad.py
-  test_periodicity_reflexion_2D.py
   test_periodicity_reflexion_precad.py
-  test_periodicity_reflexion.py
   test_periodicity_with_points_2D_precad.py
   test_precad_intersections.py
   test_sphere.py