49 enum FilterEffectiveness {
54 Q_DECLARE_FLAGS(FilterEffectivenessFlag, FilterEffectiveness)
58 AbstractFilter(FilterEffectivenessFlag,
int minimumForSuccess = -1);
59 AbstractFilter(
const AbstractFilter &other);
60 virtual ~AbstractFilter();
62 virtual bool canFilterImages()
const;
63 virtual bool canFilterPoints()
const;
64 virtual bool canFilterMeasures()
const;
66 virtual bool evaluate(
const QPair<QString, ControlNet *> *)
const = 0;
70 virtual AbstractFilter *clone()
const = 0;
72 virtual QString getImageDescription()
const;
73 virtual QString getPointDescription()
const;
74 virtual QString getMeasureDescription()
const;
82 bool inclusive()
const;
83 int getMinForSuccess()
const {
84 return m_minForSuccess;
86 AbstractFilter::FilterEffectivenessFlag *getEffectivenessFlags()
const;
87 QBoxLayout *getMainLayout()
const;
88 QBoxLayout *getInclusiveExclusiveLayout()
const;
90 bool evaluateImageFromPointFilter(
const QPair<QString, ControlNet *> *)
const;
91 bool evaluateImageFromMeasureFilter(
const QPair<QString, ControlNet *> *)
const;
92 bool evaluatePointFromMeasureFilter(
const ControlPoint *)
const;
107 void updateEffectiveness();
108 void updateMinForSuccess(
int);
112 QCheckBox *createEffectivenessCheckBox(QString);
116 QBoxLayout *m_mainLayout;
117 QBoxLayout *m_inclusiveExclusiveLayout;
118 QButtonGroup *m_inclusiveExclusiveGroup;
119 QButtonGroup *m_effectivenessGroup;
125 FilterEffectivenessFlag *m_effectivenessFlags;