Isis Developer Reference
IndependentCubeViewport.h
Go to the documentation of this file.
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:
70 void trackingChanged(double sample, double line, double lat, double lon,
71 double dn, IndependentCubeViewport *);
72 void trackingChanged(double samp, double line, double dn,
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.
Definition CubeDataThread.h:59
IO Handler for Isis Cubes.
Definition Cube.h:168
Widget to display Isis cubes for qt apps.
Definition CubeViewport.h:122
Cube * cube() const
Definition CubeViewport.h:338
General purpose Cube display widget.
Definition IndependentCubeViewport.h:46
void paintEvent(QPaintEvent *e)
Repaint the viewport.
Definition IndependentCubeViewport.cpp:133
void trackingChanged(double samp, double line, double dn, IndependentCubeViewport *)
void restretch(ViewportBuffer *)
This is called by internal viewport buffers when a stretch action should be performed.
Definition IndependentCubeViewport.cpp:152
virtual void showEvent(QShowEvent *e)
Definition IndependentCubeViewport.cpp:160
bool eventFilter(QObject *o, QEvent *e)
Event filter to watch for mouse events on viewport.
Definition IndependentCubeViewport.cpp:77
void resetKnownGlobal()
Definition IndependentCubeViewport.cpp:169
IndependentCubeViewport(Cube *cube, CubeDataThread *cdt=0, QWidget *parent=0)
Definition IndependentCubeViewport.cpp:35
void trackingChanged(double sample, double line, double lat, double lon, double dn, IndependentCubeViewport *)
virtual void cubeDataChanged(int cubeId, const Brick *)
Definition IndependentCubeViewport.cpp:181
~IndependentCubeViewport()
Definition IndependentCubeViewport.cpp:55
void synchronize(IndependentCubeViewport *)
void cantTrack(QString, IndependentCubeViewport *)
Reads and stores visible DN values.
Definition ViewportBuffer.h:63
This is free and unencumbered software released into the public domain.
Definition BoxcarCachingAlgorithm.h:13
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16