Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Isis Developer Reference
AbstractFilter.h
Go to the documentation of this file.
1#ifndef AbstractFilter_H
2#define AbstractFilter_H
3
9
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include <QWidget>
13
14class QBoxLayout;
15class QButtonGroup;
16class QCheckBox;
17class QString;
18template< typename T > class QFlags;
19
20
21namespace Isis {
22 class AbstractFilterSelector;
23 class ControlPoint;
24 class ControlMeasure;
25 class ControlNet;
26
45 class AbstractFilter : public QWidget {
46 Q_OBJECT
47
48 public:
54 Q_DECLARE_FLAGS(FilterEffectivenessFlag, FilterEffectiveness)
55
56
57 public:
58 AbstractFilter(FilterEffectivenessFlag, int minimumForSuccess = -1);
59 AbstractFilter(const AbstractFilter &other);
60 virtual ~AbstractFilter();
61
62 virtual bool canFilterImages() const;
63 virtual bool canFilterPoints() const;
64 virtual bool canFilterMeasures() const;
65
66 virtual bool evaluate(const QPair<QString, ControlNet *> *) const = 0;
67 virtual bool evaluate(const ControlPoint *) const = 0;
68 virtual bool evaluate(const ControlMeasure *) const = 0;
69
70 virtual AbstractFilter *clone() const = 0;
71
72 virtual QString getImageDescription() const;
73 virtual QString getPointDescription() const;
74 virtual QString getMeasureDescription() const;
75
76
77 signals:
79
80
81 protected:
82 bool inclusive() const;
83 int getMinForSuccess() const {
84 return m_minForSuccess;
85 }
86 AbstractFilter::FilterEffectivenessFlag *getEffectivenessFlags() const;
87 QBoxLayout *getMainLayout() const;
88 QBoxLayout *getInclusiveExclusiveLayout() const;
89
90 bool evaluateImageFromPointFilter(const QPair<QString, ControlNet *> *) const;
91 bool evaluateImageFromMeasureFilter(const QPair<QString, ControlNet *> *) const;
93
94 virtual bool evaluate(const ControlPoint *,
95 bool (ControlPoint:: *)() const) const;
96 virtual bool evaluate(const ControlMeasure *,
97 bool (ControlMeasure:: *)() const) const;
98
99
100 private:
101 void createWidget();
102 bool evaluateFromCount(QList< ControlMeasure * >, bool) const;
103 void nullify();
104
105
106 private slots:
107 void updateEffectiveness();
108 void updateMinForSuccess(int);
109
110
111 private:
112 QCheckBox *createEffectivenessCheckBox(QString);
113
114
115 private:
116 QBoxLayout *m_mainLayout;
117 QBoxLayout *m_inclusiveExclusiveLayout;
118 QButtonGroup *m_inclusiveExclusiveGroup;
119 QButtonGroup *m_effectivenessGroup;
120 QWidget *m_minWidget;
121
122
123 private:
124 int m_minForSuccess;
125 FilterEffectivenessFlag *m_effectivenessFlags;
126 QFont *m_smallFont;
127 };
128
129 Q_DECLARE_OPERATORS_FOR_FLAGS(AbstractFilter::FilterEffectivenessFlag)
130}
131
132#endif
Base class for control net filters.
Definition AbstractFilter.h:45
virtual QString getImageDescription() const
Definition AbstractFilter.cpp:96
virtual bool evaluate(const ControlMeasure *) const =0
QBoxLayout * getInclusiveExclusiveLayout() const
Definition AbstractFilter.cpp:262
virtual ~AbstractFilter()
Definition AbstractFilter.cpp:69
FilterEffectiveness
Definition AbstractFilter.h:49
@ Images
Definition AbstractFilter.h:50
@ Points
Definition AbstractFilter.h:51
@ Measures
Definition AbstractFilter.h:52
virtual AbstractFilter * clone() const =0
virtual bool evaluate(const QPair< QString, ControlNet * > *) const =0
bool evaluatePointFromMeasureFilter(const ControlPoint *) const
Definition AbstractFilter.cpp:316
QBoxLayout * getMainLayout() const
Definition AbstractFilter.cpp:256
virtual bool canFilterMeasures() const
Definition AbstractFilter.cpp:91
virtual QString getMeasureDescription() const
Definition AbstractFilter.cpp:106
AbstractFilter(FilterEffectivenessFlag, int minimumForSuccess=-1)
Definition AbstractFilter.cpp:39
virtual bool canFilterImages() const
Definition AbstractFilter.cpp:81
bool evaluateImageFromPointFilter(const QPair< QString, ControlNet * > *) const
Definition AbstractFilter.cpp:290
virtual bool canFilterPoints() const
Definition AbstractFilter.cpp:86
bool evaluateImageFromMeasureFilter(const QPair< QString, ControlNet * > *) const
Definition AbstractFilter.cpp:303
AbstractFilter::FilterEffectivenessFlag * getEffectivenessFlags() const
Definition AbstractFilter.cpp:251
int getMinForSuccess() const
Definition AbstractFilter.h:83
bool inclusive() const
Definition AbstractFilter.cpp:245
virtual QString getPointDescription() const
Definition AbstractFilter.cpp:101
virtual bool evaluate(const ControlPoint *) const =0
a control measurement
Definition ControlMeasure.h:175
A single control point.
Definition ControlPoint.h:354
Definition AbstractFilter.h:18
This is free and unencumbered software released into the public domain.
Definition BoxcarCachingAlgorithm.h:13
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16