File failed to load: https://isis.astrogeology.usgs.gov/6.0.0/Object/assets/jax/output/NativeMML/config.js
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 
16 class QEvent;
17 class QObject;
18 class QPaintEvent;
19 class QPoint;
20 class QRect;
21 class QWidget;
22 
23 
24 template < class T > class QList;
25 
26 namespace 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);
56  void restretch(ViewportBuffer *);
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
Isis::ViewportBuffer
Reads and stores visible DN values.
Definition: ViewportBuffer.h:63
QWidget
QList
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
Isis::IndependentCubeViewport::paintEvent
void paintEvent(QPaintEvent *e)
Repaint the viewport.
Definition: IndependentCubeViewport.cpp:133
Isis::IndependentCubeViewport::restretch
void restretch(ViewportBuffer *)
This is called by internal viewport buffers when a stretch action should be performed.
Definition: IndependentCubeViewport.cpp:152
Isis::Brick
Buffer for containing a three dimensional section of an image.
Definition: Brick.h:45
Isis::CubeDataThread
Encapsulation of Cube I/O with Change Notifications.
Definition: CubeDataThread.h:59
Isis::IndependentCubeViewport::eventFilter
bool eventFilter(QObject *o, QEvent *e)
Event filter to watch for mouse events on viewport.
Definition: IndependentCubeViewport.cpp:77
Isis::IndependentCubeViewport
General purpose Cube display widget.
Definition: IndependentCubeViewport.h:46
Isis::Cube
IO Handler for Isis Cubes.
Definition: Cube.h:167
Isis::CubeViewport
Widget to display Isis cubes for qt apps.
Definition: CubeViewport.h:122
QObject
Isis::CubeViewport::cube
Cube * cube() const
Definition: CubeViewport.h:338
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16

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 USGS Astrogeology Discussion Board
To report a bug, or suggest a feature go to: ISIS Github
File Modified: 07/13/2023 15:16:40