Isis 3.0 Programmer Reference
Back | Home
ControlPointEdit.h
1 #ifndef ControlPointEdit_h
2 #define ControlPointEdit_h
3 
4 // This is the only include allowed in this file!
5 #include <QWidget>
6 
7 
8 class QCheckBox;
9 class QDial;
10 class QDoubleSpinBox;
11 class QHBoxLayout;
12 class QLabel;
13 class QLCDNumber;
14 class QPalette;
15 class QPushButton;
16 class QRadioButton;
17 class QScrollBar;
18 class QString;
19 class QTimer;
20 class QToolButton;
21 class QVBoxLayout;
22 
23 namespace Isis {
24  class AutoReg;
25  class Chip;
26  class ChipViewport;
27  class ControlMeasure;
28  class ControlNet;
29  class Cube;
30  class CubeViewport;
31  class Stretch;
32  class Tool;
33  class UniversalGroundMap;
34 
144  class ControlPointEdit : public QWidget {
145  Q_OBJECT
146 
147  public:
148  ControlPointEdit(ControlNet * cnet, QWidget *parent = 0,
149  bool allowLeftMouse = false, bool useGeometry = true);
150  ~ControlPointEdit();
151  QString templateFileName() {
152  return p_templateFileName;
153  };
154  bool setTemplateFile(QString);
155  void allowLeftMouse(bool allowMouse);
156 
157  signals:
158  void updateLeftView(double sample, double line);
159  void updateRightView(double sample, double line);
160  void measureSaved();
161  void newControlNetwork(ControlNet *);
162  void stretchChipViewport(Stretch *, CubeViewport *);
163 
164  public slots:
165  void setLeftMeasure(ControlMeasure *leftMeasure,
166  Cube *leftCube, QString pointId);
167  void setRightMeasure(ControlMeasure *rightMeasure,
168  Cube *rightCube, QString pointId);
169  void colorizeSaveButton();
170  void refreshChips();
171  void saveChips();
172 
173  protected slots:
174 
175  private slots:
176 
177  void setNoGeom();
178  void setGeom();
179  void setRotate();
180  void setCircle(bool);
181  void setZoomLink(bool);
182 
183  void findPoint();
184  void registerPoint();
185  void saveMeasure();
186  void updateLeftPositionLabel(double zoomFactor);
187  void updateRightGeom();
188  void updateRightPositionLabel(double zoomFactor);
189 
190  void blinkStart();
191  void blinkStop();
192  void changeBlinkTime(double interval);
193  void updateBlink();
194 
195  private:
196  void createPointEditor(QWidget *parent);
197 
198  bool p_allowLeftMouse;
199  bool p_useGeometry;
200 
201  QString p_templateFileName;
202  QLabel *p_leftZoomFactor;
203  QLabel *p_rightZoomFactor;
204  QLabel *p_leftSampLinePosition;
205  QLabel *p_rightSampLinePosition;
206  QLabel *p_leftLatLonPosition;
207  QLabel *p_rightLatLonPosition;
208  QRadioButton *p_nogeom;
209  QRadioButton *p_geom;
210  QToolButton *p_rightZoomIn;
211  QToolButton *p_rightZoomOut;
212  QToolButton *p_rightZoom1;
213 
214 
215  bool p_timerOn;
216  QTimer *p_timer;
217  std::vector<ChipViewport *> p_blinkList;
218  unsigned char p_blinkIndex;
219 
220  QDial *p_dial;
221  QLCDNumber *p_dialNumber;
222  QDoubleSpinBox *p_blinkTimeBox;
223 
224  bool p_circle;
225  QScrollBar *p_slider;
226 
227  QPushButton *p_autoReg;
228  QWidget *p_autoRegExtension;
229  QLabel *p_oldPosition;
230  QLabel *p_goodFit;
231  bool p_autoRegShown;
232  bool p_autoRegAttempted;
233 
234  QPushButton *p_saveMeasure;
235  QPalette p_saveDefaultPalette;
236 
237  ChipViewport *p_leftView;
238  ChipViewport *p_rightView;
239 
240  Cube *p_leftCube;
241  Cube *p_rightCube;
242  ControlMeasure *p_leftMeasure;
243  ControlMeasure *p_rightMeasure;
244  Chip *p_leftChip;
245  Chip *p_rightChip;
246  UniversalGroundMap *p_leftGroundMap;
247  UniversalGroundMap *p_rightGroundMap;
248 
249  AutoReg *p_autoRegFact;
250  QString p_pointId;
251 
252  int p_rotation;
253  bool p_geomIt;
254  bool p_linkZoom;
255  };
256 };
257 
258 #endif
void allowLeftMouse(bool allowMouse)
Set the option that allows mouse movements in the left ChipViewport.
void findPoint()
Find point from left ChipViewport in the right ChipViewport.
Universal Ground Map.
A small chip of data used for pattern matching.
Definition: Chip.h:101
void setNoGeom()
Slot to turn off geom.
void updateRightPositionLabel(double zoomFactor)
Update sample/line, lat/lon and zoom factor of right measure.
void registerPoint()
Sub-pixel register point in right chipViewport with point in left.
void updateLeftPositionLabel(double zoomFactor)
Update sample/line, lat/lon and zoom factor of left measure.
void saveChips()
Slot to save registration chips to files and fire off qview.
Widget to display Isis cubes for qt apps.
Definition: CubeViewport.h:121
void colorizeSaveButton()
Turn &quot;Save Measure&quot; button text to red.
void setRightMeasure(ControlMeasure *rightMeasure, Cube *rightCube, QString pointId)
Set the measure displayed in the right ChipViewport.
ControlPointEdit(ControlNet *cnet, QWidget *parent=0, bool allowLeftMouse=false, bool useGeometry=true)
Constructs a ControlPointEdit widget.
a control network
Definition: ControlNet.h:207
bool setTemplateFile(QString)
Allows user to choose a new template file by opening a window from which to select a filename...
Pixel value mapper.
Definition: Stretch.h:72
void setGeom()
Turn geom on.
void changeBlinkTime(double interval)
Set blink rate.
void blinkStart()
Slot to start blink function.
void saveMeasure()
Save control measure under the crosshair in right ChipViewport.
void updateBlink()
Slot to cause the blink to happen coinciding with the timer.
void updateRightGeom()
Slot to update the geomed right ChipViewport for zoom operations.
Auto Registration class.
Definition: AutoReg.h:177
void blinkStop()
Slot to stop blink function.
void createPointEditor(QWidget *parent)
Design the PointEdit widget.
Viewport for Isis Chips.
Definition: ChipViewport.h:85
void setRotate()
Slot to update the right ChipViewport for zoom operations.
a control measurement
Point Editor Widget.
void setZoomLink(bool)
Turn linking of zoom on or off.
void setCircle(bool)
Turn circle widgets on/off.
void setLeftMeasure(ControlMeasure *leftMeasure, Cube *leftCube, QString pointId)
Set the measure displayed in the left ChipViewport.
IO Handler for Isis Cubes.
Definition: Cube.h:158

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the ISIS Support Center
File Modified: 07/12/2023 23:16:41