Isis 3 Programmer Reference
ControlPointEdit.h
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);
162 QString templateFileName() {
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);
171 void measureSaved();
172 void newControlNetwork(ControlNet *);
173 void stretchChipViewport(Stretch *, CubeViewport *);
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.
a control measurement
a control network
Definition ControlNet.h:258
Point Editor Widget.
void setZoomLink(bool)
Turn linking of zoom on or off.
void registerPoint()
Sub-pixel register point in right chipViewport with point in left.
void setGeom()
Turn geom on.
bool setTemplateFile(QString)
Allows user to choose a new template file by opening a window from which to select a filename.
void updateRightGeom()
Slot to update the geomed right ChipViewport for zoom operations.
void findPoint()
Find point from left ChipViewport in the right ChipViewport.
void updateLeftPositionLabel(double zoomFactor)
Update sample/line, lat/lon and zoom factor of left measure.
void setCircle(bool)
Turn circle widgets on/off.
void updateBlink()
Slot to cause the blink to happen coinciding with the timer.
void setRightMeasure(ControlMeasure *rightMeasure, Cube *rightCube, QString pointId)
Set the measure displayed in the right ChipViewport.
void setNoGeom()
Slot to turn off geom.
void saveMeasure()
Save control measure under the crosshair in right ChipViewport.
void allowLeftMouse(bool allowMouse)
Set the option that allows mouse movements in the left ChipViewport.
void blinkStop()
Slot to stop blink function.
void colorizeSaveButton()
Turn "Save Measure" button text to red.
void updateRightPositionLabel(double zoomFactor)
Update sample/line, lat/lon and zoom factor of right measure.
ControlPointEdit(ControlNet *cnet, QWidget *parent=0, bool allowLeftMouse=false, bool useGeometry=true)
Constructs a ControlPointEdit widget.
void createPointEditor(QWidget *parent)
Design the PointEdit widget.
void setLeftMeasure(ControlMeasure *leftMeasure, Cube *leftCube, QString pointId)
Set the measure displayed in the left ChipViewport.
void blinkStart()
Slot to start blink function.
void changeBlinkTime(double interval)
Set blink rate.
void saveChips()
Slot to save registration chips to files and fire off qview.
IO Handler for Isis Cubes.
Definition Cube.h:168
Widget to display Isis cubes for qt apps.
Pixel value mapper.
Definition Stretch.h:58
Universal Ground Map.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16