Isis Developer Reference
ControlPointEdit.h
Go to the documentation of this file.
1#ifndef ControlPointEdit_h
2#define ControlPointEdit_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12// This is the only include allowed in this file!
13#include <QWidget>
14
15
16class QCheckBox;
17class QDial;
18class QDoubleSpinBox;
19class QHBoxLayout;
20class QLabel;
21class QLCDNumber;
22class QPalette;
23class QPushButton;
24class QRadioButton;
25class QScrollBar;
26class QString;
27class QTimer;
28class QToolButton;
29class QVBoxLayout;
30
31namespace Isis {
32 class AutoReg;
33 class Chip;
34 class ChipViewport;
35 class ControlMeasure;
36 class ControlNet;
37 class Cube;
38 class CubeViewport;
39 class Stretch;
40 class Tool;
41 class UniversalGroundMap;
42
155 class ControlPointEdit : public QWidget {
156 Q_OBJECT
157
158 public:
159 ControlPointEdit(ControlNet * cnet, QWidget *parent = 0,
160 bool allowLeftMouse = false, bool useGeometry = true);
163 return p_templateFileName;
164 };
165 bool setTemplateFile(QString);
166 void allowLeftMouse(bool allowMouse);
167
168 signals:
169 void updateLeftView(double sample, double line);
170 void updateRightView(double sample, double line);
174
175 public slots:
176 void setLeftMeasure(ControlMeasure *leftMeasure,
177 Cube *leftCube, QString pointId);
178 void setRightMeasure(ControlMeasure *rightMeasure,
179 Cube *rightCube, QString pointId);
180 void colorizeSaveButton();
181 void refreshChips();
182 void saveChips();
183
184 protected slots:
185
186 private slots:
187
188 void setNoGeom();
189 void setGeom();
190 void setRotate();
191 void setCircle(bool);
192 void setZoomLink(bool);
193
194 void findPoint();
195 void registerPoint();
196 void saveMeasure();
197 void updateLeftPositionLabel(double zoomFactor);
198 void updateRightGeom();
199 void updateRightPositionLabel(double zoomFactor);
200
201 void blinkStart();
202 void blinkStop();
203 void changeBlinkTime(double interval);
204 void updateBlink();
205
206 private:
207 void createPointEditor(QWidget *parent);
208
209 bool p_allowLeftMouse;
210 bool p_useGeometry;
211
212 QString p_templateFileName;
213 QLabel *p_leftZoomFactor;
214 QLabel *p_rightZoomFactor;
215 QLabel *p_leftSampLinePosition;
216 QLabel *p_rightSampLinePosition;
217 QLabel *p_leftLatLonPosition;
218 QLabel *p_rightLatLonPosition;
219 QRadioButton *p_nogeom;
220 QRadioButton *p_geom;
221 QToolButton *p_rightZoomIn;
222 QToolButton *p_rightZoomOut;
223 QToolButton *p_rightZoom1;
224
225
226 bool p_timerOn;
227 QTimer *p_timer;
228 std::vector<ChipViewport *> p_blinkList;
229 unsigned char p_blinkIndex;
230
231 QDial *p_dial;
232 QLCDNumber *p_dialNumber;
233 QDoubleSpinBox *p_blinkTimeBox;
234
235 bool p_circle;
236 QScrollBar *p_slider;
237
238 QPushButton *p_autoReg;
239 QWidget *p_autoRegExtension;
240 QLabel *p_oldPosition;
241 QLabel *p_goodFit;
242 bool p_autoRegShown;
243 bool p_autoRegAttempted;
244
245 QPushButton *p_saveMeasure;
246 QPalette p_saveDefaultPalette;
247
248 ChipViewport *p_leftView;
249 ChipViewport *p_rightView;
250
251 Cube *p_leftCube;
252 Cube *p_rightCube;
253 ControlMeasure *p_leftMeasure;
254 ControlMeasure *p_rightMeasure;
255 Chip *p_leftChip;
256 Chip *p_rightChip;
257 UniversalGroundMap *p_leftGroundMap;
258 UniversalGroundMap *p_rightGroundMap;
259
260 AutoReg *p_autoRegFact;
261 QString p_pointId;
262
263 int p_rotation;
264 bool p_geomIt;
265 bool p_linkZoom;
266 };
267};
268
269#endif
Auto Registration class.
Definition AutoReg.h:167
A small chip of data used for pattern matching.
Definition Chip.h:86
Viewport for Isis Chips.
Definition ChipViewport.h:71
a control measurement
Definition ControlMeasure.h:175
a control network
Definition ControlNet.h:258
Point Editor Widget.
Definition ControlPointEdit.h:155
void updateRightView(double sample, double line)
void refreshChips()
Definition ControlPointEdit.cpp:1576
void newControlNetwork(ControlNet *)
bool setTemplateFile(QString)
Allows user to choose a new template file by opening a window from which to select a filename.
Definition ControlPointEdit.cpp:1506
~ControlPointEdit()
Definition ControlPointEdit.cpp:86
void stretchChipViewport(Stretch *, CubeViewport *)
void setRightMeasure(ControlMeasure *rightMeasure, Cube *rightCube, QString pointId)
Set the measure displayed in the right ChipViewport.
Definition ControlPointEdit.cpp:724
void updateLeftView(double sample, double line)
void allowLeftMouse(bool allowMouse)
Set the option that allows mouse movements in the left ChipViewport.
Definition ControlPointEdit.cpp:1554
void colorizeSaveButton()
Turn "Save Measure" button text to red.
Definition ControlPointEdit.cpp:867
ControlPointEdit(ControlNet *cnet, QWidget *parent=0, bool allowLeftMouse=false, bool useGeometry=true)
Constructs a ControlPointEdit widget.
Definition ControlPointEdit.cpp:64
void setLeftMeasure(ControlMeasure *leftMeasure, Cube *leftCube, QString pointId)
Set the measure displayed in the left ChipViewport.
Definition ControlPointEdit.cpp:663
void saveChips()
Slot to save registration chips to files and fire off qview.
Definition ControlPointEdit.cpp:1590
QString templateFileName()
Definition ControlPointEdit.h:162
IO Handler for Isis Cubes.
Definition Cube.h:168
Widget to display Isis cubes for qt apps.
Definition CubeViewport.h:122
Pixel value mapper.
Definition Stretch.h:58
Universal Ground Map.
Definition UniversalGroundMap.h:69
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16