Salome HOME
0021339: EDF 1928 SMESH: Create group of 0D elements
authoreap <eap@opencascade.com>
Thu, 18 Oct 2012 11:42:50 +0000 (11:42 +0000)
committereap <eap@opencascade.com>
Thu, 18 Oct 2012 11:42:50 +0000 (11:42 +0000)
  Enable filtering 0D elements

src/SMESHGUI/SMESHGUI_FilterDlg.cxx

index d29ae2c82a064b9d19c6b322ac2adb369bfc9851..34947420da9c4169666e2be48e8295c4cdeef8d3 100755 (executable)
@@ -1743,6 +1743,7 @@ void SMESHGUI_FilterTable::onCriterionChanged (const int row, const int col, con
     aTable->blockSignals( isSignalsBlocked );
   }
 
     aTable->blockSignals( isSignalsBlocked );
   }
 
+  // set Compare and enable/desable Threshold
   if ((aType == SMESH::NODE && (aCriterionType == SMESH::FT_FreeNodes               ||
                                 aCriterionType == SMESH::FT_EqualNodes ))           ||
       (aType == SMESH::EDGE && (aCriterionType == SMESH::FT_FreeBorders             ||
   if ((aType == SMESH::NODE && (aCriterionType == SMESH::FT_FreeNodes               ||
                                 aCriterionType == SMESH::FT_EqualNodes ))           ||
       (aType == SMESH::EDGE && (aCriterionType == SMESH::FT_FreeBorders             ||
@@ -1970,6 +1971,7 @@ const QMap<int, QString>& SMESHGUI_FilterTable::getSupportedTypes() const
   if (aTypes.isEmpty())
   {
     aTypes[ SMESH::NODE   ] = tr("NODES");
   if (aTypes.isEmpty())
   {
     aTypes[ SMESH::NODE   ] = tr("NODES");
+    aTypes[ SMESH::ELEM0D ] = tr("ELEM0D");
     aTypes[ SMESH::BALL   ] = tr("BALLS");
     aTypes[ SMESH::EDGE   ] = tr("EDGES");
     aTypes[ SMESH::FACE   ] = tr("FACES");
     aTypes[ SMESH::BALL   ] = tr("BALLS");
     aTypes[ SMESH::EDGE   ] = tr("EDGES");
     aTypes[ SMESH::FACE   ] = tr("FACES");
@@ -2106,6 +2108,20 @@ const QMap<int, QString>& SMESHGUI_FilterTable::getCriteria (const int theType)
     }
     return aCriteria;
   }
     }
     return aCriteria;
   }
+  else if (theType == SMESH::ELEM0D)
+  {
+    static QMap<int, QString> aCriteria;
+    if (aCriteria.isEmpty())
+    {
+      aCriteria[ SMESH::FT_RangeOfIds         ] = tr("RANGE_OF_IDS");
+      aCriteria[ SMESH::FT_BelongToGeom       ] = tr("BELONG_TO_GEOM");
+      aCriteria[ SMESH::FT_BelongToPlane      ] = tr("BELONG_TO_PLANE");
+      aCriteria[ SMESH::FT_BelongToCylinder   ] = tr("BELONG_TO_CYLINDER");
+      aCriteria[ SMESH::FT_BelongToGenSurface ] = tr("BELONG_TO_GENSURFACE");
+      aCriteria[ SMESH::FT_GroupColor         ] = tr("GROUP_COLOR");
+    }
+    return aCriteria;
+  }
   else // SMESH::ALL
   {
     static QMap<int, QString> aCriteria;
   else // SMESH::ALL
   {
     static QMap<int, QString> aCriteria;
@@ -2673,6 +2689,8 @@ void SMESHGUI_FilterDlg::Init (const QList<int>& theTypes, const bool setInViewe
   {
     int aType = theTypes.first();
     if      (aType == SMESH::NODE  ) setWindowTitle(tr("NODES_TLT"));
   {
     int aType = theTypes.first();
     if      (aType == SMESH::NODE  ) setWindowTitle(tr("NODES_TLT"));
+    else if (aType == SMESH::ELEM0D) setWindowTitle(tr("ELEM0D_TLT"));
+    else if (aType == SMESH::BALL  ) setWindowTitle(tr("BALL_TLT"));
     else if (aType == SMESH::EDGE  ) setWindowTitle(tr("EDGES_TLT"));
     else if (aType == SMESH::FACE  ) setWindowTitle(tr("FACES_TLT"));
     else if (aType == SMESH::VOLUME) setWindowTitle(tr("VOLUMES_TLT"));
     else if (aType == SMESH::EDGE  ) setWindowTitle(tr("EDGES_TLT"));
     else if (aType == SMESH::FACE  ) setWindowTitle(tr("FACES_TLT"));
     else if (aType == SMESH::VOLUME) setWindowTitle(tr("VOLUMES_TLT"));
@@ -2879,6 +2897,8 @@ Selection_Mode SMESHGUI_FilterDlg::getSelMode (const int theType) const
   switch (theType)
   {
     case SMESH::NODE   : return NodeSelection;
   switch (theType)
   {
     case SMESH::NODE   : return NodeSelection;
+    case SMESH::ELEM0D : return Elem0DSelection;
+    case SMESH::BALL   : return BallSelection;
     case SMESH::EDGE   : return EdgeSelection;
     case SMESH::FACE   : return FaceSelection;
     case SMESH::VOLUME : return VolumeSelection;
     case SMESH::EDGE   : return EdgeSelection;
     case SMESH::FACE   : return FaceSelection;
     case SMESH::VOLUME : return VolumeSelection;