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