Salome HOME
Merge branch 'master' into cgt/devCEA
[modules/shaper.git] / src / PartSet / PartSet_FilterInfinite.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        PartSet_Filters.h
4 // Created:     19 Jun 2015
5 // Author:      Natalia ERMOLAEVA
6
7 #ifndef PartSet_FilterInfinite_H
8 #define PartSet_FilterInfinite_H
9
10 #include <ModuleBase_ViewerFilters.h>
11
12 #include <SelectMgr_Filter.hxx>
13
14 class ModuleBase_IWorkshop;
15
16 /**
17 * \class PartSet_FilterInfinite
18 * \ingroup Modules
19 * A class which filters AIS objects with the true infinite state
20 */
21 DEFINE_STANDARD_HANDLE(PartSet_FilterInfinite, SelectMgr_Filter);
22 class PartSet_FilterInfinite : public SelectMgr_Filter
23 {
24 public:
25   /// Constructor
26   /// \param theWorkshop a pointer to workshop
27   PartSet_FilterInfinite(ModuleBase_IWorkshop* theWorkshop);
28
29   /// Returns True if selected presentation can be selected
30   /// \param theOwner an owner of the persentation
31   Standard_EXPORT virtual Standard_Boolean
32     IsOk(const Handle(SelectMgr_EntityOwner)& theOwner) const;
33
34   DEFINE_STANDARD_RTTIEXT(PartSet_FilterInfinite, SelectMgr_Filter)
35
36 protected:
37   /// Reference to workshop
38   ModuleBase_IWorkshop* myWorkshop;
39 };
40
41 #endif