Isis 3 Programmer Reference
MeasureTypeFilter.cpp
1
7/* SPDX-License-Identifier: CC0-1.0 */
8
9#include "MeasureTypeFilter.h"
10
11#include <QPair>
12#include <QString>
13#include <QStringList>
14
15#include "ControlMeasure.h"
16#include "ControlNet.h"
17#include "ControlPoint.h"
18#include "IString.h"
19
20
21namespace Isis {
22 MeasureTypeFilter::MeasureTypeFilter(
23 AbstractFilter::FilterEffectivenessFlag flag, int minimumForSuccess) :
24 AbstractMultipleChoiceFilter(flag, minimumForSuccess) {
25 QStringList options;
26 options << "Candidate" << "Manual" << "RegisteredPixel" <<
27 "RegisteredSubPixel";
28 createWidget(options);
29 }
30
31
32 MeasureTypeFilter::MeasureTypeFilter(const MeasureTypeFilter &other)
33 : AbstractMultipleChoiceFilter(other) {
34 }
35
36
37 MeasureTypeFilter::~MeasureTypeFilter() {
38 }
39
40
41 bool MeasureTypeFilter::evaluate(const QPair<QString, ControlNet *> *imageAndNet) const {
42 return evaluateImageFromMeasureFilter(imageAndNet);
43 }
44
45
46 bool MeasureTypeFilter::evaluate(const ControlPoint *point) const {
47 return evaluatePointFromMeasureFilter(point);
48 }
49
50
51 bool MeasureTypeFilter::evaluate(const ControlMeasure *measure) const {
52 return ((QString) measure->GetMeasureTypeString() == getCurrentChoice()) ^
53 !inclusive();
54 }
55
56
57 AbstractFilter *MeasureTypeFilter::clone() const {
58 return new MeasureTypeFilter(*this);
59 }
60
61
62 QString MeasureTypeFilter::getImageDescription() const {
63 QString description = AbstractFilter::getImageDescription() + "measure";
64
65 if (getMinForSuccess() != 1) {
66 description += "s ";
67 }
68 else {
69 description += " ";
70 }
71
72 description += "that ";
73
74 if (getMinForSuccess() == 1) {
75 description += "is ";
76 }
77 else {
78 description += "are ";
79 }
80
81 if (!inclusive()) {
82 description += "not ";
83 }
84
85 description += " of type " + getCurrentChoice();
86
87 return description;
88 }
89
90
91 QString MeasureTypeFilter::getMeasureDescription() const {
92 QString description = "are ";
93
94 if (!inclusive()) {
95 description += "not ";
96 }
97
98 description += "of type " + getCurrentChoice();
99
100 return description;
101 }
102
103
104 QString MeasureTypeFilter::getPointDescription() const {
105 return getImageDescription();
106 }
107}
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16