1 #ifndef AbstractFilter_H
2 #define AbstractFilter_H
16 class ControlCubeGraphNode;
19 class AbstractFilterSelector;
38 enum FilterEffectiveness {
43 Q_DECLARE_FLAGS(FilterEffectivenessFlag, FilterEffectiveness)
47 AbstractFilter(FilterEffectivenessFlag,
int minimumForSuccess = -1);
51 virtual bool canFilterImages()
const;
52 virtual bool canFilterPoints()
const;
53 virtual bool canFilterMeasures()
const;
61 virtual QString getImageDescription()
const;
62 virtual QString getPointDescription()
const;
63 virtual QString getMeasureDescription()
const;
71 bool inclusive()
const;
72 int getMinForSuccess()
const {
73 return m_minForSuccess;
75 AbstractFilter::FilterEffectivenessFlag *getEffectivenessFlags()
const;
76 QBoxLayout *getMainLayout()
const;
77 QBoxLayout *getInclusiveExclusiveLayout()
const;
81 bool evaluatePointFromMeasureFilter(
const ControlPoint *)
const;
96 void updateEffectiveness();
97 void updateMinForSuccess(
int);
101 QCheckBox *createEffectivenessCheckBox(QString);
105 QBoxLayout *m_mainLayout;
106 QBoxLayout *m_inclusiveExclusiveLayout;
107 QButtonGroup *m_inclusiveExclusiveGroup;
108 QButtonGroup *m_effectivenessGroup;
114 FilterEffectivenessFlag *m_effectivenessFlags;
118 Q_DECLARE_OPERATORS_FOR_FLAGS(AbstractFilter::FilterEffectivenessFlag)
Serial Number with added functionality for Control Networks.
Base class for control net filters.