USGS

Isis 3.0 Object Programmers' Reference

Home

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