Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef GEOM_SELECTIONFILTER_H
00024 #define GEOM_SELECTIONFILTER_H
00025
00026 #include <SalomeApp_Filter.h>
00027
00028 #include <TopoDS_Shape.hxx>
00029
00030 #include <QList>
00031
00032
00033 #include <SALOMEconfig.h>
00034 #include CORBA_SERVER_HEADER(GEOM_Gen)
00035
00036 class Standard_EXPORT GEOM_SelectionFilter : public SalomeApp_Filter
00037 {
00038 public:
00039 GEOM_SelectionFilter( SalomeApp_Study* study, const bool theAll = false );
00040 ~GEOM_SelectionFilter();
00041
00042 virtual bool isOk( const SUIT_DataOwner* ) const;
00043
00044 protected:
00045 GEOM::GEOM_Object_ptr getObject( const SUIT_DataOwner*, const bool = true ) const;
00046 bool getShape( const GEOM::GEOM_Object_ptr&, TopoDS_Shape& ) const;
00047
00048 bool contains( const int ) const;
00049 void add( const int );
00050 void remove( const int );
00051
00052 void setAll( const bool );
00053 bool isAll() const;
00054
00055 bool isShapeOk( const TopoDS_Shape& ) const;
00056
00057 private:
00058 QList<int> myTypes;
00059 bool myAll;
00060
00061 };
00062
00063 #endif