Salome HOME
Merge from PHASE_25_BR 09/12/2010
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_FilterDlg.cxx
index ee88f766262184a064d2372f1dba5adeaad7b08c..de2d8e05d526caf2d710def9599316b34d143e4b 100755 (executable)
@@ -1169,18 +1169,22 @@ void SMESHGUI_FilterTable::SetCriterion (const int                       theRow,
     aTable->item( theRow, 2 )->setText( QString( theCriterion.ThresholdID ) );
   }
   else if (theCriterion.Type != SMESH::FT_RangeOfIds &&
-           theCriterion.Type != SMESH::FT_BelongToGeom &&
-           theCriterion.Type != SMESH::FT_BelongToPlane &&
-           theCriterion.Type != SMESH::FT_BelongToCylinder &&
-           theCriterion.Type != SMESH::FT_BelongToGenSurface &&
-           theCriterion.Type != SMESH::FT_LyingOnGeom &&
-           theCriterion.Type != SMESH::FT_CoplanarFaces &&
-           theCriterion.Type != SMESH::FT_FreeBorders &&
-           theCriterion.Type != SMESH::FT_FreeEdges &&
-           theCriterion.Type != SMESH::FT_FreeNodes &&
-           theCriterion.Type != SMESH::FT_FreeFaces &&
-           theCriterion.Type != SMESH::FT_BadOrientedVolume &&
-           theCriterion.Type != SMESH::FT_LinearOrQuadratic)
+          theCriterion.Type != SMESH::FT_BelongToGeom &&
+          theCriterion.Type != SMESH::FT_BelongToPlane &&
+          theCriterion.Type != SMESH::FT_BelongToCylinder &&
+          theCriterion.Type != SMESH::FT_BelongToGenSurface &&
+          theCriterion.Type != SMESH::FT_LyingOnGeom &&
+          theCriterion.Type != SMESH::FT_CoplanarFaces &&
+          theCriterion.Type != SMESH::FT_FreeBorders &&
+          theCriterion.Type != SMESH::FT_FreeEdges &&
+          theCriterion.Type != SMESH::FT_FreeNodes &&
+          theCriterion.Type != SMESH::FT_FreeFaces &&
+          theCriterion.Type != SMESH::FT_BadOrientedVolume &&
+          theCriterion.Type != SMESH::FT_BareBorderFace &&
+          theCriterion.Type != SMESH::FT_BareBorderVolume &&
+          theCriterion.Type != SMESH::FT_OverConstrainedFace &&
+          theCriterion.Type != SMESH::FT_OverConstrainedVolume &&
+          theCriterion.Type != SMESH::FT_LinearOrQuadratic)
   {
     aTable->item( theRow, 2 )->setText(QString("%1").arg(theCriterion.Threshold, 0, 'g', 15));
   }
@@ -1341,10 +1345,14 @@ void SMESHGUI_FilterTable::updateAdditionalWidget()
                    aCriterion != SMESH::FT_RangeOfIds &&
                    aCriterion != SMESH::FT_FreeEdges &&
                    aCriterion != SMESH::FT_FreeFaces &&
-                   aCriterion != SMESH::FT_BadOrientedVolume)
+                   aCriterion != SMESH::FT_BadOrientedVolume &&
+                   aCriterion != SMESH::FT_BareBorderFace &&
+                   aCriterion != SMESH::FT_BareBorderVolume &&
+                   aCriterion != SMESH::FT_OverConstrainedFace &&
+                   aCriterion != SMESH::FT_OverConstrainedVolume)
                    ||
                    aCriterion == SMESH::FT_CoplanarFaces);
-
+  
   if (!myAddWidgets.contains(anItem))
   {
     myAddWidgets[ anItem ] = new AdditionalWidget(myWgStack);
@@ -1520,9 +1528,13 @@ void SMESHGUI_FilterTable::onCriterionChanged (const int row, const int col, con
 
   if ((aType == SMESH::NODE && aCriterionType == SMESH::FT_FreeNodes ) ||
       (aType == SMESH::EDGE && aCriterionType == SMESH::FT_FreeBorders ) ||
-      (aType == SMESH::FACE && (aCriterionType == SMESH::FT_FreeEdges ||
+      (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) ||
+      (aType == SMESH::VOLUME && (aCriterionType == SMESH::FT_BadOrientedVolume ||
+                                 aCriterionType == SMESH::FT_OverConstrainedVolume ||
+                                 aCriterionType == SMESH::FT_BareBorderVolume)) ||
       aCriterionType == SMESH::FT_LinearOrQuadratic ||
       aCriterionType == SMESH::FT_GroupColor ||
       aCriterionType == SMESH::FT_ElemGeomType ||
@@ -1808,6 +1820,8 @@ const QMap<int, QString>& SMESHGUI_FilterTable::getCriteria (const int theType)
       aCriteria[ SMESH::FT_Length2D           ] = tr("LENGTH2D");
       aCriteria[ SMESH::FT_MultiConnection2D  ] = tr("MULTI2D_BORDERS");
       aCriteria[ SMESH::FT_FreeFaces          ] = tr("FREE_FACES");
+      aCriteria[ SMESH::FT_BareBorderFace     ] = tr("BARE_BORDER_FACE");
+      aCriteria[ SMESH::FT_OverConstrainedFace] = tr("OVER_CONSTRAINED_FACE");
       aCriteria[ SMESH::FT_LinearOrQuadratic  ] = tr("LINEAR");
       aCriteria[ SMESH::FT_GroupColor         ] = tr("GROUP_COLOR");
       aCriteria[ SMESH::FT_ElemGeomType       ] = tr("GEOM_TYPE");
@@ -1820,16 +1834,18 @@ const QMap<int, QString>& SMESHGUI_FilterTable::getCriteria (const int theType)
     static QMap<int, QString> aCriteria;
     if (aCriteria.isEmpty())
     {
-      aCriteria[ SMESH::FT_AspectRatio3D      ] = tr("ASPECT_RATIO_3D");
-      aCriteria[ SMESH::FT_RangeOfIds         ] = tr("RANGE_OF_IDS");
-      aCriteria[ SMESH::FT_BelongToGeom       ] = tr("BELONG_TO_GEOM");
-      aCriteria[ SMESH::FT_LyingOnGeom        ] = tr("LYING_ON_GEOM");
-      aCriteria[ SMESH::FT_BadOrientedVolume  ] = tr("BAD_ORIENTED_VOLUME");
-      aCriteria[ SMESH::FT_Volume3D           ] = tr("VOLUME_3D");
-      aCriteria[ SMESH::FT_MaxElementLength3D ] = tr("MAX_ELEMENT_LENGTH_3D");
-      aCriteria[ SMESH::FT_LinearOrQuadratic  ] = tr("LINEAR");
-      aCriteria[ SMESH::FT_GroupColor         ] = tr("GROUP_COLOR");
-      aCriteria[ SMESH::FT_ElemGeomType       ] = tr("GEOM_TYPE");
+      aCriteria[ SMESH::FT_AspectRatio3D        ] = tr("ASPECT_RATIO_3D");
+      aCriteria[ SMESH::FT_RangeOfIds           ] = tr("RANGE_OF_IDS");
+      aCriteria[ SMESH::FT_BelongToGeom         ] = tr("BELONG_TO_GEOM");
+      aCriteria[ SMESH::FT_LyingOnGeom          ] = tr("LYING_ON_GEOM");
+      aCriteria[ SMESH::FT_BadOrientedVolume    ] = tr("BAD_ORIENTED_VOLUME");
+      aCriteria[ SMESH::FT_BareBorderVolume     ] = tr("BARE_BORDER_VOLUME");
+      aCriteria[ SMESH::FT_OverConstrainedVolume] = tr("OVER_CONSTRAINED_VOLUME");
+      aCriteria[ SMESH::FT_Volume3D             ] = tr("VOLUME_3D");
+      aCriteria[ SMESH::FT_MaxElementLength3D   ] = tr("MAX_ELEMENT_LENGTH_3D");
+      aCriteria[ SMESH::FT_LinearOrQuadratic    ] = tr("LINEAR");
+      aCriteria[ SMESH::FT_GroupColor           ] = tr("GROUP_COLOR");
+      aCriteria[ SMESH::FT_ElemGeomType         ] = tr("GEOM_TYPE");
     }
     return aCriteria;
   }