Salome HOME
Fixed filtering in create mesh dialog box
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_MeshOp.h
index 8ca98864e66f2aec446b911d5fef3e9552ec5f33..206f4504e97784ff74d3f3a85b681b7d1b72172d 100644 (file)
@@ -89,13 +89,21 @@ protected slots:
 
 private:
   typedef QList<HypothesisData*> THypDataList; // typedef: list of hypothesis data
+  typedef QMap<QString, bool>    THypLabelIsAppMap; // typedef: map of hypothesis is applicable
 
   bool                           isValid( QString& ) const;
+  bool                           isCompatibleToGeometry( HypothesisData* ,
+                                                         QString,
+                                                         GEOM::GEOM_Object_var);
+  bool                           isCompatibleToMeshType( HypothesisData* ,
+                                                         QString);
   void                           availableHyps( const int, 
                                                 const int,
                                                 QStringList&,
                                                 THypDataList&,
-                                                HypothesisData* = 0 ) const;
+                                                HypothesisData* = 0,
+                                                HypothesisData* = 0,
+                                                const QString& = "");
   void                           existingHyps( const int, 
                                                const int, 
                                                _PTR(SObject),
@@ -137,6 +145,7 @@ private:
   void                           createMeshTypeList( QStringList& );
   void                           setAvailableMeshType( const QStringList& );
   void                           setFilteredAlgoData( const int, const int );
+  QString                        currentMeshTypeName( const int ) const;
 
 private:
 
@@ -152,7 +161,8 @@ private:
                                                  //   edited mesh/sub-mesh
   // hypdata corresponding to hypotheses present in myDlg
   THypDataList                   myAvailableHypData[4][NbHypTypes];
-  THypDataList                   myFilteredAlgoData[4];
+  QString                        myLastGeomToSelect;
+  THypLabelIsAppMap              myHypMapIsApplicable;
   bool                           myIgnoreAlgoSelection;
   HypothesesSet* myHypoSet;
   int myDim, myType, myMaxShapeDim;