Isis 3 Programmer Reference
IndependentCubeViewport.h
1#ifndef IndependentCubeViewport_h
2#define IndependentCubeViewport_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12// parent class
13#include "CubeViewport.h"
14
15
16class QEvent;
17class QObject;
18class QPaintEvent;
19class QPoint;
20class QRect;
21class QWidget;
22
23
24template < class T > class QList;
25
26namespace Isis
27{
28 class Brick;
29 class Cube;
30 class CubeDataThread;
31 class ViewportBuffer;
32
46 {
47 Q_OBJECT
48
49 public:
51 QWidget * parent = 0);
53
54 bool eventFilter(QObject * o, QEvent * e);
55 void paintEvent(QPaintEvent * e);
57 virtual void showEvent(QShowEvent * e);
58
59
60 public slots:
61 void resetKnownGlobal();
62
63
64 protected slots:
65 virtual void cubeDataChanged(int cubeId, const Brick *);
66
67
68 signals:
69 void synchronize(IndependentCubeViewport *);
70 void trackingChanged(double sample, double line, double lat, double lon,
71 double dn, IndependentCubeViewport *);
72 void trackingChanged(double samp, double line, double dn,
74 void cantTrack(QString, IndependentCubeViewport *);
75
76
77
78 private slots:
79 void handleMouseMove(QPoint);
80 void handleMousePress(QPoint, Qt::MouseButton b);
81 void handleMouseRelease(QPoint);
82 void handleSynchronization(IndependentCubeViewport *);
83
84
85 private: // methods
86 QRect bandingRect();
87 void stretch();
88 void track(const QPoint &);
89 void zoom();
90 bool trackBuffer(ViewportBuffer *, const QPoint &, double &);
91
92
93 private:
94 bool banding;
95 bool panning;
96 bool stretching;
97 bool zooming;
98 bool leftClick;
99 QPoint * bandingPoint1;
100 QPoint * bandingPoint2;
101 QPoint * panningPrevPoint;
102 };
103}
104
105#endif
Buffer for containing a three dimensional section of an image.
Definition Brick.h:45
Encapsulation of Cube I/O with Change Notifications.
IO Handler for Isis Cubes.
Definition Cube.h:168
Widget to display Isis cubes for qt apps.
Cube * cube() const
General purpose Cube display widget.
void paintEvent(QPaintEvent *e)
Repaint the viewport.
void restretch(ViewportBuffer *)
This is called by internal viewport buffers when a stretch action should be performed.
bool eventFilter(QObject *o, QEvent *e)
Event filter to watch for mouse events on viewport.
Reads and stores visible DN values.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16