Isis 3 Programmer Reference
PointMeasureFilterSelector.cpp
1
7/* SPDX-License-Identifier: CC0-1.0 */
8
9#include "PointMeasureFilterSelector.h"
10
11#include <algorithm>
12#include <iostream>
13
14#include <QComboBox>
15#include <QHBoxLayout>
16
17#include "AbstractFilter.h"
18#include "AdjustedLatitudeFilter.h"
19#include "AdjustedLatitudeSigmaFilter.h"
20#include "AdjustedLongitudeFilter.h"
21#include "AdjustedLongitudeSigmaFilter.h"
22#include "AdjustedRadiusFilter.h"
23#include "AdjustedRadiusSigmaFilter.h"
24#include "APrioriLatitudeFilter.h"
25#include "APrioriLatitudeSigmaFilter.h"
26#include "APrioriLongitudeFilter.h"
27#include "APrioriLongitudeSigmaFilter.h"
28#include "APrioriRadiusFilter.h"
29#include "APrioriRadiusSigmaFilter.h"
30#include "ChooserNameFilter.h"
31#include "GoodnessOfFitFilter.h"
32#include "ImageIdFilter.h"
33#include "LineFilter.h"
34#include "LineResidualFilter.h"
35#include "LineShiftFilter.h"
36#include "MeasureCountFilter.h"
37#include "MeasureIgnoredFilter.h"
38#include "MeasureJigsawRejectedFilter.h"
39#include "MeasureTypeFilter.h"
40#include "PointEditLockedFilter.h"
41#include "PointIdFilter.h"
42#include "PointIgnoredFilter.h"
43#include "PointJigsawRejectedFilter.h"
44#include "PointTypeFilter.h"
45#include "ResidualMagnitudeFilter.h"
46#include "SampleFilter.h"
47#include "SampleResidualFilter.h"
48#include "SampleShiftFilter.h"
49
50
51using std::swap;
52
53
54namespace Isis {
55 PointMeasureFilterSelector::PointMeasureFilterSelector() {
56 createSelector();
57 }
58
59
60 PointMeasureFilterSelector::PointMeasureFilterSelector(
61 const PointMeasureFilterSelector &other) {
62 createSelector();
63 getSelector()->setCurrentIndex(other.getSelector()->currentIndex());
64 if (other.getFilter())
65 setFilter(other.getFilter()->clone());
66 }
67
68
69 PointMeasureFilterSelector::~PointMeasureFilterSelector() {
70 }
71
72
73 PointMeasureFilterSelector &PointMeasureFilterSelector::operator=(
74 const PointMeasureFilterSelector &other) {
75 *((AbstractFilterSelector *) this) = other;
76 return *this;
77 }
78
79
80 void PointMeasureFilterSelector::createSelector() {
81 AbstractFilterSelector::createSelector();
82
83 getSelector()->addItem("Adjusted SP Latitude");
84 getSelector()->addItem("Adjusted SP Latitude Sigma");
85 getSelector()->addItem("Adjusted SP Longitude");
86 getSelector()->addItem("Adjusted SP Longitude Sigma");
87 getSelector()->addItem("Adjusted SP Radius");
88 getSelector()->addItem("Adjusted SP Radius Sigma");
89 getSelector()->addItem("A Priori SP Latitude");
90 getSelector()->addItem("A Priori SP Latitude Sigma");
91 getSelector()->addItem("A Priori SP Longitude");
92 getSelector()->addItem("A Priori SP Longitude Sigma");
93 getSelector()->addItem("A Priori SP Radius");
94 getSelector()->addItem("A Priori SP Radius Sigma");
95 getSelector()->addItem("Chooser Name");
96 getSelector()->addItem("Edit Locked Points");
97 getSelector()->addItem("Ignored Points");
98 getSelector()->addItem("Jigsaw Rejected Points");
99 getSelector()->addItem("Measure Count");
100 getSelector()->addItem("Point ID");
101 getSelector()->addItem("Point Type");
102 getSelector()->insertSeparator(getSelector()->count());
103 getSelector()->addItem("Goodness Of Fit");
104 getSelector()->addItem("Ignored Measures");
105 getSelector()->addItem("Image ID");
106 getSelector()->addItem("Jigsaw Rejected Measures");
107 getSelector()->addItem("Line");
108 getSelector()->addItem("Line Residual");
109 getSelector()->addItem("Line Shift");
110 getSelector()->addItem("Measure Type");
111 getSelector()->addItem("Residual Magnitude");
112 getSelector()->addItem("Sample");
113 getSelector()->addItem("Sample Residual");
114 getSelector()->addItem("Sample Shift");
115 }
116
117
118 void PointMeasureFilterSelector::changeFilter(int index) {
119 deleteFilter();
120
121 if (index != 0) {
122 switch (index) {
123 case 2:
124 setFilter(new AdjustedLatitudeFilter(AbstractFilter::Points));
125 break;
126 case 3:
127 setFilter(new AdjustedLatitudeSigmaFilter(AbstractFilter::Points));
128 break;
129 case 4:
130 setFilter(new AdjustedLongitudeFilter(AbstractFilter::Points));
131 break;
132 case 5:
133 setFilter(new AdjustedLongitudeSigmaFilter(AbstractFilter::Points));
134 break;
135 case 6:
136 setFilter(new AdjustedRadiusFilter(AbstractFilter::Points));
137 break;
138 case 7:
139 setFilter(new AdjustedRadiusSigmaFilter(AbstractFilter::Points));
140 break;
141 case 8:
142 setFilter(new APrioriLatitudeFilter(AbstractFilter::Points));
143 break;
144 case 9:
145 setFilter(new APrioriLatitudeSigmaFilter(AbstractFilter::Points));
146 break;
147 case 10:
148 setFilter(new APrioriLongitudeFilter(AbstractFilter::Points));
149 break;
150 case 11:
151 setFilter(new APrioriLongitudeSigmaFilter(AbstractFilter::Points));
152 break;
153 case 12:
154 setFilter(new APrioriRadiusFilter(AbstractFilter::Points));
155 break;
156 case 13:
157 setFilter(new APrioriRadiusSigmaFilter(AbstractFilter::Points));
158 break;
159 case 14:
160 setFilter(new ChooserNameFilter(AbstractFilter::Points));
161 break;
162 case 15:
163 setFilter(new PointEditLockedFilter(AbstractFilter::Points));
164 break;
165 case 16:
166 setFilter(new PointIgnoredFilter(AbstractFilter::Points));
167 break;
168 case 17:
169 setFilter(new PointJigsawRejectedFilter(AbstractFilter::Points));
170 break;
171 case 18:
172 setFilter(new MeasureCountFilter(AbstractFilter::Points));
173 break;
174 case 19:
175 setFilter(new PointIdFilter(AbstractFilter::Points));
176 break;
177 case 20:
178 setFilter(new PointTypeFilter(AbstractFilter::Points));
179 break;
180 case 22:
181 setFilter(new GoodnessOfFitFilter(AbstractFilter::Points |
182 AbstractFilter::Measures, 1));
183 break;
184 case 23:
185 setFilter(new MeasureIgnoredFilter(AbstractFilter::Points |
186 AbstractFilter::Measures, 1));
187 break;
188 case 24:
189 setFilter(new ImageIdFilter(AbstractFilter::Points |
190 AbstractFilter::Measures, 1));
191 break;
192 case 25:
193 setFilter(new MeasureJigsawRejectedFilter(AbstractFilter::Points |
194 AbstractFilter::Measures, 1));
195 break;
196 case 26:
197 setFilter(new LineFilter(AbstractFilter::Points |
198 AbstractFilter::Measures, 1));
199 break;
200 case 27:
201 setFilter(new LineResidualFilter(AbstractFilter::Points |
202 AbstractFilter::Measures, 1));
203 break;
204 case 28:
205 setFilter(new LineShiftFilter(AbstractFilter::Points |
206 AbstractFilter::Measures, 1));
207 break;
208 case 29:
209 setFilter(new MeasureTypeFilter(AbstractFilter::Points |
210 AbstractFilter::Measures, 1));
211 break;
212 case 30:
213 setFilter(new ResidualMagnitudeFilter(AbstractFilter::Points |
214 AbstractFilter::Measures, 1));
215 break;
216 case 31:
217 setFilter(new SampleFilter(AbstractFilter::Points |
218 AbstractFilter::Measures, 1));
219 break;
220 case 32:
221 setFilter(new SampleResidualFilter(AbstractFilter::Points |
222 AbstractFilter::Measures, 1));
223 break;
224 case 33:
225 setFilter(new SampleShiftFilter(AbstractFilter::Points |
226 AbstractFilter::Measures, 1));
227 break;
228 }
229 }
230
231 emit sizeChanged();
232 emit filterChanged();
233 }
234}
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16