#include "ModuleBase_Filter.h"
+#include <StdSelect_TypeOfEdge.hxx>
+
/**
-* A filter which provides filtering of selection in 3d viewer.
-* Installing of this filter lets to select only object of requested type
+* \ingroup GUI
+* A class of a viewer filter by linear edges
*/
-DEFINE_STANDARD_HANDLE(ModuleBase_FilterLinearEdge, ModuleBase_Filter);
class ModuleBase_FilterLinearEdge: public ModuleBase_Filter
{
public:
- Standard_EXPORT ModuleBase_FilterLinearEdge():
- ModuleBase_Filter() {}
+ /// Convert string to StdSelect_TypeOfFace value
+ /// \param theType a string value
+ static MODULEBASE_EXPORT StdSelect_TypeOfEdge edgeType(const std::string& theType);
- Standard_EXPORT virtual Standard_Boolean IsOk(const Handle(SelectMgr_EntityOwner)& theOwner) const;
+ /// Constructor
+ MODULEBASE_EXPORT ModuleBase_FilterLinearEdge():
+ ModuleBase_Filter() {}
- DEFINE_STANDARD_RTTI(ModuleBase_FilterLinearEdge)
+ /**
+ * Sets the arguments to the filter.
+ * \param theArguments a list of arguments
+ */
+ MODULEBASE_EXPORT virtual void setArguments(const std::list<std::string>& theArguments);
+
+protected:
+ /**
+ * It creates an OCC edge filter
+ */
+ virtual void createFilter();
};