Salome HOME
rnc: added missing translations
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_FilterDlg.cxx
index 88a03d58a4e27d623a5e587538998e5bb8c9669b..685120057d9796a3246253476d326ba3e397986c 100755 (executable)
@@ -1351,7 +1351,8 @@ void SMESHGUI_FilterTable::SetCriterion (const int                       theRow,
       theCriterion.Type    == SMESH::FT_BelongToGenSurface ||
       theCriterion.Type    == SMESH::FT_BelongToGeom ||
       theCriterion.Type    == SMESH::FT_LyingOnGeom ||
-      theCriterion.Type    == SMESH::FT_CoplanarFaces)
+      theCriterion.Type    == SMESH::FT_CoplanarFaces ||
+      theCriterion.Type    == SMESH::FT_EqualNodes)
   {
     QTableWidgetItem* anItem = aTable->item(theRow, 0);
     if (!myAddWidgets.contains(anItem))
@@ -1534,6 +1535,7 @@ const char* SMESHGUI_FilterTable::getPrecision( const int aType )
   case SMESH::FT_BelongToCylinder:
   case SMESH::FT_BelongToGenSurface:
   case SMESH::FT_LyingOnGeom:
+  case SMESH::FT_EqualNodes:
     retval = "len_tol_precision"; break;
   case SMESH::FT_Length:
   case SMESH::FT_Length2D:
@@ -1620,6 +1622,7 @@ static QList<int> geomTypes( const int theType )
     typeIds.append( SMESH::Geom_PYRAMID );
     typeIds.append( SMESH::Geom_HEXA );
     typeIds.append( SMESH::Geom_PENTA );
+    typeIds.append( SMESH::Geom_HEXAGONAL_PRISM );
     typeIds.append( SMESH::Geom_POLYHEDRA );
   }
   return typeIds;
@@ -1728,15 +1731,19 @@ void SMESHGUI_FilterTable::onCriterionChanged (const int row, const int col, con
     aTable->blockSignals( isSignalsBlocked );
   }
 
-  if ((aType == SMESH::NODE && aCriterionType == SMESH::FT_FreeNodes ) ||
-      (aType == SMESH::EDGE && aCriterionType == SMESH::FT_FreeBorders ) ||
-      (aType == SMESH::FACE && (aCriterionType == SMESH::FT_BareBorderFace ||
-                                aCriterionType == SMESH::FT_OverConstrainedFace ||
-                                aCriterionType == SMESH::FT_FreeEdges ||
-                                aCriterionType == SMESH::FT_FreeFaces)) ||
-      (aType == SMESH::VOLUME && (aCriterionType == SMESH::FT_BadOrientedVolume ||
+  if ((aType == SMESH::NODE && (aCriterionType == SMESH::FT_FreeNodes               ||
+                                aCriterionType == SMESH::FT_EqualNodes ))           ||
+      (aType == SMESH::EDGE && (aCriterionType == SMESH::FT_FreeBorders             ||
+                                aCriterionType == SMESH::FT_EqualEdges ))           ||
+      (aType == SMESH::FACE && (aCriterionType == SMESH::FT_BareBorderFace          ||
+                                aCriterionType == SMESH::FT_OverConstrainedFace     ||
+                                aCriterionType == SMESH::FT_FreeEdges               ||
+                                aCriterionType == SMESH::FT_FreeFaces               ||
+                                aCriterionType == SMESH::FT_EqualFaces))            ||
+      (aType == SMESH::VOLUME && (aCriterionType == SMESH::FT_BadOrientedVolume     ||
                                   aCriterionType == SMESH::FT_OverConstrainedVolume ||
-                                  aCriterionType == SMESH::FT_BareBorderVolume)) ||
+                                  aCriterionType == SMESH::FT_BareBorderVolume      ||
+                                  aCriterionType == SMESH::FT_EqualVolumes ))       ||
       aCriterionType == SMESH::FT_LinearOrQuadratic ||
       aCriterionType == SMESH::FT_GroupColor ||
       aCriterionType == SMESH::FT_ElemGeomType ||
@@ -1979,6 +1986,7 @@ const QMap<int, QString>& SMESHGUI_FilterTable::getCriteria (const int theType)
       aCriteria[ SMESH::FT_LyingOnGeom        ] = tr("LYING_ON_GEOM");
       aCriteria[ SMESH::FT_FreeNodes          ] = tr("FREE_NODES");
       aCriteria[ SMESH::FT_GroupColor         ] = tr("GROUP_COLOR");
+      aCriteria[ SMESH::FT_EqualNodes         ] = tr("EQUAL_NODE");
     }
     return aCriteria;
   }
@@ -1999,6 +2007,7 @@ const QMap<int, QString>& SMESHGUI_FilterTable::getCriteria (const int theType)
       aCriteria[ SMESH::FT_LinearOrQuadratic  ] = tr("LINEAR");
       aCriteria[ SMESH::FT_GroupColor         ] = tr("GROUP_COLOR");
       aCriteria[ SMESH::FT_ElemGeomType       ] = tr("GEOM_TYPE");
+      aCriteria[ SMESH::FT_EqualEdges         ] = tr("EQUAL_EDGE");
     }
     return aCriteria;
   }
@@ -2030,6 +2039,7 @@ const QMap<int, QString>& SMESHGUI_FilterTable::getCriteria (const int theType)
       aCriteria[ SMESH::FT_GroupColor         ] = tr("GROUP_COLOR");
       aCriteria[ SMESH::FT_ElemGeomType       ] = tr("GEOM_TYPE");
       aCriteria[ SMESH::FT_CoplanarFaces      ] = tr("COPLANAR_FACES");
+      aCriteria[ SMESH::FT_EqualFaces         ] = tr("EQUAL_FACE");
     }
     return aCriteria;
   }
@@ -2050,6 +2060,7 @@ const QMap<int, QString>& SMESHGUI_FilterTable::getCriteria (const int theType)
       aCriteria[ SMESH::FT_LinearOrQuadratic    ] = tr("LINEAR");
       aCriteria[ SMESH::FT_GroupColor           ] = tr("GROUP_COLOR");
       aCriteria[ SMESH::FT_ElemGeomType         ] = tr("GEOM_TYPE");
+      aCriteria[ SMESH::FT_EqualVolumes         ] = tr("EQUAL_VOLUME");
     }
     return aCriteria;
   }
@@ -2973,10 +2984,8 @@ void SMESHGUI_FilterDlg::SetMesh (SMESH::SMESH_Mesh_var theMesh)
 {
   if ( !theMesh->_is_nil() ) {
     myMesh = theMesh;
-    if ( !myFilter[ myTable->GetType() ]->_is_nil() && !myFilter[ myTable->GetType() ]->GetPredicate()->_is_nil() ) {
-      SMESH::Predicate_ptr aPred = myFilter[ myTable->GetType() ]->GetPredicate();
-      aPred->SetMesh(myMesh);
-    }
+    if ( !myFilter[ myTable->GetType() ]->_is_nil())
+      myFilter[ myTable->GetType() ]->SetMesh( theMesh );
   }
   const bool isEnable = !(myMesh->_is_nil());
   myButtons[BTN_OK]->setEnabled(isEnable);
@@ -3176,7 +3185,6 @@ void SMESHGUI_FilterDlg::filterSource (const int theType,
 
     // filter ids
     SMESH::Predicate_ptr aPred = myFilter[ theType ]->GetPredicate();
-    aPred->SetMesh(myMesh);
     QList<int>::const_iterator anIter;
     for (anIter = aDialogIds.begin(); anIter != aDialogIds.end(); ++ anIter)
       if (aPred->IsSatisfy(*anIter))
@@ -3249,7 +3257,6 @@ void SMESHGUI_FilterDlg::filterSelectionSource (const int theType,
 
   // Filter entities
   SMESH::Predicate_ptr aPred = myFilter[ theType ]->GetPredicate();
-  aPred->SetMesh(myMesh);
   TColStd_MapIteratorOfMapOfInteger aResIter(aToBeFiltered);
   for ( ; aResIter.More(); aResIter.Next())
     if (aPred->IsSatisfy(aResIter.Key()))