1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: ModuleBase_Filter.h
4 // Created: 10 Dec 2014
5 // Author: Natalia ERMOLAEVA
7 #ifndef ModuleBase_Filter_H
8 #define ModuleBase_Filter_H
10 #include "ModuleBase.h"
12 #include <SelectMgr_Filter.hxx>
17 * This object is assigned by the name
18 * in the XML file to the specific attribute or to the whole feature.
19 * If isOK method of the filter returns "false", it is signalized in user interface
20 * that the processed entity should not be selected.
21 * Filterss must be registered in the filters factory to be
22 * correctly identified by the XML string-ID.
24 class ModuleBase_Filter
28 MODULEBASE_EXPORT ModuleBase_Filter() {}
31 * Returns an OCC selection filter. It can be appended into the context of a viewer
32 * It creates a filter if it has not be created yet.
33 * \return the selection filter
35 MODULEBASE_EXPORT Handle(SelectMgr_Filter) getFilter();
38 * Sets the arguments to the filter.
39 * \param theArguments a list of arguments
41 MODULEBASE_EXPORT virtual void setArguments(const std::list<std::string>& theArguments) = 0;
44 * It creates an internal instance of the OCC filter
46 virtual void createFilter() = 0;
49 /// current instance of the OCC selection filter
50 Handle(SelectMgr_Filter) myFilter;
53 #endif //ModuleBase_Filter