Isis 3 Programmer Reference
CubeViewport.h
1 #ifndef CubeViewport_h
2 #define CubeViewport_h
3 
10 /* SPDX-License-Identifier: CC0-1.0 */
11 
12 
13 // parent of this class
14 #include <QAbstractScrollArea>
15 
16 class QPaintEvent;
17 
18 namespace Isis {
19  class Brick;
20  class Camera;
21  class Cube;
22  class CubeDataThread;
23  class Projection;
24  class Pvl;
25  class PvlKeyword;
26  class CubeStretch;
27  class Stretch;
28  class Tool;
29  class UniversalGroundMap;
30 
31  class ViewportBuffer;
32 
123  Q_OBJECT
124 
125  public:
134  CubeViewport(Cube *cube, CubeDataThread * cdt = 0, QWidget *parent = 0);
135 
139  virtual ~CubeViewport();
140 
141 
147  class BandInfo {
148  public:
149  BandInfo();
151  BandInfo(const BandInfo &other);
153  ~BandInfo();
154 
161  const BandInfo &operator=(BandInfo other);
162 
164  CubeStretch getStretch() const;
166  void setStretch(const Stretch &newStretch);
168  int band;
169  private:
172  };
173 
175  void setCube(Cube *cube);
177  int cubeSamples() const;
179  int cubeLines() const;
181  int cubeBands() const;
182 
184  bool isColor() const {
185  return p_color;
186  };
187 
189  bool isGray() const {
190  return !p_color;
191  };
192 
194  int grayBand() const {
195  return p_gray.band;
196  };
197 
199  int redBand() const {
200  return p_red.band;
201  };
202 
204  int greenBand() const {
205  return p_green.band;
206  };
207 
209  int blueBand() const {
210  return p_blue.band;
211  };
212 
214  double scale() const {
215  return p_scale;
216  };
217 
219  bool cubeShown() const {
220  return p_cubeShown;
221  };
222 
224  int comboCount() const {
225  return p_comboCount;
226  };
227 
229  int comboIndex() const {
230  return p_comboIndex;
231  }
232 
238  void cubeContentsChanged(QRect rect);
239 
241  double fitScale() const;
243  double fitScaleWidth() const;
245  double fitScaleHeight() const;
246 
255  void viewportToCube(int x, int y,
256  double &sample, double &line) const;
257 
266  void cubeToViewport(double sample, double line,
267  int &x, int &y) const;
276  void contentsToCube(int x, int y,
277  double &sample, double &line) const;
286  void cubeToContents(double sample, double line,
287  int &x, int &y) const;
288 
297  double redPixel(int sample, int line);
298 
307  double greenPixel(int sample, int line);
308 
317  double bluePixel(int sample, int line);
318 
327  double grayPixel(int sample, int line);
329  CubeStretch grayStretch() const;
331  CubeStretch redStretch() const;
333  CubeStretch greenStretch() const;
335  CubeStretch blueStretch() const;
336 
338  Cube *cube() const {
339  return p_cube;
340  };
341 
344  return p_projection;
345  };
346 
348  Camera *camera() const {
349  return p_camera;
350  };
351 
354  return p_groundMap;
355  };
356 
358  Cube *trackingCube() const {
359  return p_trackingCube;
360  };
361 
362  void moveCursor(int x, int y);
363  bool cursorInside() const;
364  QPoint cursorPosition() const;
365  void setCursorPosition(int x, int y);
366  void setCaption();
367 
373  void setBackground(QColor color) {
374  p_bgColor = color;
375  }
376 
382  void setComboCount(int count) {
383  p_comboCount = count;
384  }
385 
391  void setComboIndex(int index) {
392  p_comboIndex = index;
393  }
394 
401  QPixmap pixmap() {
402  return p_pixmap;
403  }
404 
412  return p_grayBuffer;
413  }
414 
422  return p_redBuffer;
423  }
424 
432  return p_greenBuffer;
433  }
434 
442  return p_blueBuffer;
443  }
444 
445  void bufferUpdated(QRect rect);
446 
454  virtual void restretch(ViewportBuffer *buffer) = 0;
455  void paintPixmap();
456 
460  void forgetStretches();
461 
467  void setAllBandStretches(Stretch stretch);
468 
469 
474  return p_cubeData;
475  }
476 
480  int cubeID() {
481  return p_cubeId;
482  }
483 
484 
490  void getAllWhatsThisInfo(Pvl & pWhatsThisPvl);
491 
498  void getBandFilterName(PvlKeyword & pFilterNameKey);
499 
508  void getCubeArea(double & pdStartSample, double & pdEndSample,
509  double & pdStartLine, double & pdEndLine);
510 
511  bool confirmClose();
512 
513  void setTrackingCube();
514 
515  signals:
518  void mouseEnter();
519  void mouseMove(QPoint);
520  void mouseMove(QPoint, Qt::MouseButton);
521  void mouseLeave();
522  void mouseButtonPress(QPoint, Qt::MouseButton);
523  void mouseButtonRelease(QPoint, Qt::MouseButton);
524  void mouseDoubleClick(QPoint);
526  void scaleChanged();
530 
534  void progressChanged(int);
539 
544  void doneWithData(int, const Isis::Brick *);
545 
546 
547  public slots:
548  QSize sizeHint() const;
549  void setScale(double scale);
550  void setScale(double scale, double sample, double line);
551  void setScale(double scale, int x, int y);
552  void center(int x, int y);
553  void center(double sample, double line);
554 
555  virtual void viewRGB(int redBand, int greenBand, int blueBand);
556  virtual void viewGray(int band);
557 
558  void stretchGray(const QString &string);
559  void stretchRed(const QString &string);
560  void stretchGreen(const QString &string);
561  void stretchBlue(const QString &string);
562 
563  void stretchGray(const Stretch &stretch);
564  void stretchRed(const Stretch &stretch);
565  void stretchGreen(const Stretch &stretch);
566  void stretchBlue(const Stretch &stretch);
567 
568  void stretchKnownGlobal();
569 
570  void cubeChanged(bool changed);
571  void showEvent(QShowEvent *);
572 
573  void scrollBy(int dx, int dy);
574 
575  void changeCursor(QCursor cursor);
576 
577  void onProgressTimer();
578  void enableProgress();
579 
580 
581  protected:
582  void scrollContentsBy(int dx, int dy);
583  virtual void resizeEvent(QResizeEvent *e);
584  virtual bool eventFilter(QObject *o, QEvent *e);
585  virtual void keyPressEvent(QKeyEvent *e);
586  virtual void paintEvent(QPaintEvent *e);
587 
588 
589 
590  protected slots:
591  virtual void cubeDataChanged(int cubeId, const Isis::Brick *);
592 
593 
594  private:
595 
596  void paintPixmap(QRect rect);
597  void shiftPixmap(int dx, int dy);
598 
599  void updateScrollBars(int x, int y);
600  void paintPixmapRects();
601 
602  //void computeStretch(Brick *brick, int band,
603  // int ssamp, int esamp,
604  // int sline, int eline, int linerate,
605  // Stretch &stretch);
606 
607 
608 
609  protected: // data
610  QPixmap p_pixmap;
611 
614 
617 
618 
619  private: // data
624 
625  QColor p_bgColor;
626 
631  Cube *p_trackingCube; //<! The tracking cube associated with p_cube
632 
635 
636  double p_scale;
637 
638  bool p_color;
643 
646 
654  QImage *p_image;
657 
661  void updateWhatsThis();
662 
665 
667  int p_cubeId;
668 
674  };
675 }
676 
677 #endif
Isis::CubeViewport::p_green
BandInfo p_green
Green band info.
Definition: CubeViewport.h:641
Isis::CubeViewport::cubeLines
int cubeLines() const
Return the number of lines in the cube.
Definition: CubeViewport.cpp:439
Isis::CubeViewport::setCaption
void setCaption()
Change the caption on the viewport title bar.
Definition: CubeViewport.cpp:985
Isis::CubeViewport::scaleChanged
void scaleChanged()
Emitted when zoom factor changed just before the repaint event.
QAbstractScrollArea
Isis::CubeViewport::keyPressEvent
virtual void keyPressEvent(QKeyEvent *e)
Process arrow keystrokes on cube.
Definition: CubeViewport.cpp:1759
Isis::CubeViewport::p_gryBrick
Brick * p_gryBrick
Bricks for every color.
Definition: CubeViewport.h:650
Isis::CubeViewport::scrollContentsBy
void scrollContentsBy(int dx, int dy)
Scroll the viewport contents by dx/dy screen pixels.
Definition: CubeViewport.cpp:909
Isis::CubeViewport::p_pntBrick
Brick * p_pntBrick
Bricks for every color.
Definition: CubeViewport.h:651
Isis::CubeViewport::p_image
QImage * p_image
The qimage.
Definition: CubeViewport.h:654
Isis::ViewportBuffer
Reads and stores visible DN values.
Definition: ViewportBuffer.h:63
QWidget
Isis::CubeViewport::p_progressTimer
QTimer * p_progressTimer
Activated to update progress bar.
Definition: CubeViewport.h:634
Isis::CubeViewport::p_camera
Camera * p_camera
The camera from the cube.
Definition: CubeViewport.h:628
Isis::CubeViewport::redBuffer
ViewportBuffer * redBuffer()
Returns the red viewport buffer (Will be NULL if in Gray mode.)
Definition: CubeViewport.h:421
Isis::CubeViewport::setAllBandStretches
void setAllBandStretches(Stretch stretch)
Sets a stretch for all bands.
Definition: CubeViewport.cpp:1983
Isis::CubeViewport::p_updatingBuffers
bool p_updatingBuffers
Changing RGB and need to not repaint pixmap?
Definition: CubeViewport.h:656
Isis::CubeViewport::BandInfo::band
int band
The band.
Definition: CubeViewport.h:168
Isis::UniversalGroundMap
Universal Ground Map.
Definition: UniversalGroundMap.h:69
Isis::CubeViewport::viewportUpdated
void viewportUpdated()
Emitted when viewport updated.
Isis::CubeViewport::p_pixmapPaintRects
QList< QRect * > * p_pixmapPaintRects
A list of rects that the viewport buffers have requested painted.
Definition: CubeViewport.h:664
Isis::PvlKeyword
A single keyword-value pair.
Definition: PvlKeyword.h:82
Isis::CubeViewport::cubeContentsChanged
void cubeContentsChanged(QRect rect)
Calle dhwen the contents of the cube changes.
Definition: CubeViewport.cpp:2312
QList< QRect * >
Isis::CubeViewport::eventFilter
virtual bool eventFilter(QObject *o, QEvent *e)
Event filter to watch for mouse events on viewport.
Definition: CubeViewport.cpp:1694
Isis::CubeViewport::p_saveEnabled
bool p_saveEnabled
Has the cube changed?
Definition: CubeViewport.h:652
Isis::CubeViewport::p_greenBuffer
ViewportBuffer * p_greenBuffer
Viewport Buffer to manage green band.
Definition: CubeViewport.h:622
Isis::CubeViewport::fitScale
double fitScale() const
Determine the scale that causes the full cube to fit in the viewport.
Definition: CubeViewport.cpp:2270
Isis::CubeViewport::saveChanges
void saveChanges(CubeViewport *)
Emitted when changes should be saved.
Isis::CubeViewport::getAllWhatsThisInfo
void getAllWhatsThisInfo(Pvl &pWhatsThisPvl)
Get All WhatsThis info - viewport, cube, area in PVL format.
Definition: CubeViewport.cpp:1372
Isis::CubeViewport::paintPixmapRects
void paintPixmapRects()
Goes through the list of requested paints, from the viewport buffer, and paints them.
Definition: CubeViewport.cpp:779
Isis::CubeViewport::p_knownStretches
QVector< Stretch * > * p_knownStretches
Stretches for each previously stretched band.
Definition: CubeViewport.h:613
Isis::CubeViewport::setComboCount
void setComboCount(int count)
Sets the band bin combo box count.
Definition: CubeViewport.h:382
Isis::CubeViewport::isGray
bool isGray() const
Definition: CubeViewport.h:189
Isis::CubeViewport::center
void center(int x, int y)
Bring the cube pixel under viewport x/y to the center.
Definition: CubeViewport.cpp:730
Isis::Stretch
Pixel value mapper.
Definition: Stretch.h:58
Isis::CubeViewport::setScale
void setScale(double scale)
Change the scale of the cube to the given parameter value.
Definition: CubeViewport.cpp:588
Isis::CubeViewport::BandInfo::~BandInfo
~BandInfo()
Deconstructor.
Definition: CubeViewport.cpp:2416
Isis::CubeViewport::isColor
bool isColor() const
Definition: CubeViewport.h:184
Isis::CubeViewport::p_pixmap
QPixmap p_pixmap
The qpixmap.
Definition: CubeViewport.h:610
Isis::CubeViewport::p_blue
BandInfo p_blue
Blue band info.
Definition: CubeViewport.h:642
Isis::CubeViewport::setCursorPosition
void setCursorPosition(int x, int y)
Set the cursor position to x/y in the viewport.
Definition: CubeViewport.cpp:1874
Isis::CubeViewport::pixmap
QPixmap pixmap()
Returns the pixmap.
Definition: CubeViewport.h:401
Isis::CubeViewport::BandInfo::getStretch
CubeStretch getStretch() const
Definition: CubeViewport.cpp:2424
Isis::CubeViewport::p_grayBuffer
ViewportBuffer * p_grayBuffer
Viewport Buffer to manage gray band.
Definition: CubeViewport.h:620
Isis::CubeViewport::p_redBrick
Brick * p_redBrick
Bricks for every color.
Definition: CubeViewport.h:647
Isis::CubeViewport::mouseLeave
void mouseLeave()
Emitted when the mouse leaves the viewport.
Isis::CubeViewport::grayPixel
double grayPixel(int sample, int line)
Gets the gray pixel.
Definition: CubeViewport.cpp:1654
Isis::CubeViewport::p_red
BandInfo p_red
Red band info.
Definition: CubeViewport.h:640
Isis::Pvl
Container for cube-like labels.
Definition: Pvl.h:119
Isis::CubeViewport::forgetStretches
void forgetStretches()
Resets all remembered stretches.
Definition: CubeViewport.cpp:1973
Isis::CubeViewport::p_blueBuffer
ViewportBuffer * p_blueBuffer
Viewport Buffer to manage blue band.
Definition: CubeViewport.h:623
Isis::CubeStretch
Stores stretch information for a cube.
Definition: CubeStretch.h:27
Isis::CubeViewport::p_bluBrick
Brick * p_bluBrick
Bricks for every color.
Definition: CubeViewport.h:649
Isis::CubeViewport::contentsToCube
void contentsToCube(int x, int y, double &sample, double &line) const
Turns contents to a cube.
Definition: CubeViewport.cpp:798
Isis::CubeViewport::greenStretch
CubeStretch greenStretch() const
Return the green band stretch.
Definition: CubeViewport.cpp:1674
Isis::CubeViewport::moveCursor
void moveCursor(int x, int y)
Move the cursor by x,y if possible.
Definition: CubeViewport.cpp:1847
Isis::CubeViewport::discardChanges
void discardChanges(CubeViewport *)
Emitted when changes should be discarded.
Isis::Camera
Definition: Camera.h:236
Isis::CubeViewport::viewRGB
virtual void viewRGB(int redBand, int greenBand, int blueBand)
View cube as color.
Definition: CubeViewport.cpp:2002
Isis::CubeViewport::cubeToContents
void cubeToContents(double sample, double line, int &x, int &y) const
Turns a cube into contents.
Definition: CubeViewport.cpp:835
Isis::Brick
Buffer for containing a three dimensional section of an image.
Definition: Brick.h:45
Isis::CubeViewport::p_whatsThisText
QString p_whatsThisText
The text for What's this.
Definition: CubeViewport.h:658
Isis::CubeViewport::universalGroundMap
UniversalGroundMap * universalGroundMap() const
Definition: CubeViewport.h:353
Isis::CubeViewport::getBandFilterName
void getBandFilterName(PvlKeyword &pFilterNameKey)
Get Band Filter name from the Isis cube label.
Definition: CubeViewport.cpp:1474
Isis::CubeViewport::updateScrollBars
void updateScrollBars(int x, int y)
Update the scroll bar.
Definition: CubeViewport.cpp:1888
Isis::CubeDataThread
Encapsulation of Cube I/O with Change Notifications.
Definition: CubeDataThread.h:59
Isis::CubeViewport::camera
Camera * camera() const
Definition: CubeViewport.h:348
Isis::CubeViewport::blueBand
int blueBand() const
Definition: CubeViewport.h:209
Isis::CubeViewport::redStretch
CubeStretch redStretch() const
Return the red band stretch.
Definition: CubeViewport.cpp:1668
Isis::CubeViewport::comboCount
int comboCount() const
Definition: CubeViewport.h:224
Isis::CubeViewport::fitScaleWidth
double fitScaleWidth() const
Determine the scale of cube in the width to fit in the viewport.
Definition: CubeViewport.cpp:2285
Isis::CubeViewport::p_thisOwnsCubeData
bool p_thisOwnsCubeData
if true then this owns the CubeDataThread, and should thus delete it
Definition: CubeViewport.h:673
Isis::CubeViewport::stretchKnownGlobal
void stretchKnownGlobal()
List<Tool *> p This stretches to the global stretch.
Definition: CubeViewport.cpp:2153
Isis::CubeViewport::mouseEnter
void mouseEnter()
Emitted when the mouse enters the viewport.
Isis::CubeViewport::paintPixmap
void paintPixmap()
Paint the whole pixmap.
Definition: CubeViewport.cpp:1129
Isis::CubeViewport::p_paintPixmap
bool p_paintPixmap
Paint the pixmap?
Definition: CubeViewport.h:655
Isis::CubeViewport::mouseDoubleClick
void mouseDoubleClick(QPoint)
Emitted when double click happens.
Isis::CubeViewport::blueStretch
CubeStretch blueStretch() const
Return the blue band stretch.
Definition: CubeViewport.cpp:1680
Isis::CubeViewport::cubeToViewport
void cubeToViewport(double sample, double line, int &x, int &y) const
Turns a cube into a viewport.
Definition: CubeViewport.cpp:852
Isis::CubeViewport::mouseButtonPress
void mouseButtonPress(QPoint, Qt::MouseButton)
Emitted when mouse button pressed.
Isis::CubeViewport::BandInfo
Definition: CubeViewport.h:147
Isis::CubeViewport::BandInfo::setStretch
void setStretch(const Stretch &newStretch)
Definition: CubeViewport.cpp:2431
Isis::CubeViewport::BandInfo::operator=
const BandInfo & operator=(BandInfo other)
The BandInfo for the Cube.
Definition: CubeViewport.cpp:2436
Isis::CubeViewport::grayBand
int grayBand() const
Definition: CubeViewport.h:194
Isis::CubeViewport::resizeEvent
virtual void resizeEvent(QResizeEvent *e)
The viewport is being resized.
Definition: CubeViewport.cpp:1023
Isis::CubeViewport::enableProgress
void enableProgress()
This restarts the progress bar.
Definition: CubeViewport.cpp:972
Isis::CubeViewport::screenPixelsChanged
void screenPixelsChanged()
Emitted when cube pixels that should be on the screen change.
Isis::CubeViewport::grayStretch
CubeStretch grayStretch() const
Return the gray band stretch.
Definition: CubeViewport.cpp:1662
Isis::CubeViewport::p_color
bool p_color
Is the viewport in color?
Definition: CubeViewport.h:638
Isis::CubeViewport::redPixel
double redPixel(int sample, int line)
Gets the red pixel.
Definition: CubeViewport.cpp:1606
Isis::CubeViewport::greenPixel
double greenPixel(int sample, int line)
Gets the green pixel.
Definition: CubeViewport.cpp:1622
Isis::CubeViewport::confirmClose
bool confirmClose()
This method should be called during a close event that would cause this viewport to close.
Definition: CubeViewport.cpp:525
Isis::CubeViewport::p_projection
Projection * p_projection
The projection from the cube.
Definition: CubeViewport.h:629
Isis::CubeViewport::setComboIndex
void setComboIndex(int index)
Sets the band bin combo box index.
Definition: CubeViewport.h:391
Isis::CubeViewport::p_comboCount
int p_comboCount
Number of elements in band bin combo box.
Definition: CubeViewport.h:644
Isis::CubeViewport::windowTitleChanged
void windowTitleChanged()
Emitted when window title changes.
Isis::CubeViewport::trackingCube
Cube * trackingCube() const
Definition: CubeViewport.h:358
Isis::CubeViewport::mouseMove
void mouseMove(QPoint)
Emitted when the mouse moves.
Isis::CubeViewport::restretch
virtual void restretch(ViewportBuffer *buffer)=0
This is called by internal viewport buffers when a stretch action should be performed.
Isis::CubeViewport::getCubeArea
void getCubeArea(double &pdStartSample, double &pdEndSample, double &pdStartLine, double &pdEndLine)
Get Cube area corresponding to the viewport's dimension.
Definition: CubeViewport.cpp:1495
Isis::CubeViewport::sizeHint
QSize sizeHint() const
Make viewports show up as 512 by 512.
Definition: CubeViewport.cpp:571
Isis::CubeViewport::bufferUpdated
void bufferUpdated(QRect rect)
This method is called by ViewportBuffer upon successful completion of all operations and gives the ap...
Definition: CubeViewport.cpp:1104
Isis::Cube
IO Handler for Isis Cubes.
Definition: Cube.h:167
Isis::CubeViewport::cubeDataThread
CubeDataThread * cubeDataThread()
Definition: CubeViewport.h:473
Isis::CubeViewport::doneWithData
void doneWithData(int, const Isis::Brick *)
Emitted when a brick is no longer needed, should only be sent to cube data thread.
Isis::CubeViewport
Widget to display Isis cubes for qt apps.
Definition: CubeViewport.h:122
Isis::CubeViewport::cubeSamples
int cubeSamples() const
Return the number of samples in the cube.
Definition: CubeViewport.cpp:433
Isis::CubeViewport::p_cubeData
CubeDataThread * p_cubeData
Does all the cube I/O.
Definition: CubeViewport.h:666
Isis::CubeViewport::cursorPosition
QPoint cursorPosition() const
Return the cursor position in the viewport.
Definition: CubeViewport.cpp:1834
Isis::CubeViewport::p_cubeId
int p_cubeId
Cube ID given from cube data thread for I/O.
Definition: CubeViewport.h:667
Isis::CubeViewport::BandInfo::stretch
CubeStretch * stretch
The Stretch.
Definition: CubeViewport.h:171
Isis::CubeViewport::scrollBy
void scrollBy(int dx, int dy)
Move the scrollbars by dx/dy screen pixels.
Definition: CubeViewport.cpp:869
Isis::CubeViewport::p_gray
BandInfo p_gray
Gray band info.
Definition: CubeViewport.h:639
Isis::CubeViewport::bluePixel
double bluePixel(int sample, int line)
Gets the blue pixel.
Definition: CubeViewport.cpp:1638
Isis::CubeViewport::cubeID
int cubeID()
Definition: CubeViewport.h:480
Isis::CubeViewport::changeCursor
void changeCursor(QCursor cursor)
Allows users to change the cursor type on the viewport.
Definition: CubeViewport.cpp:2392
Isis::CubeViewport::stretchGreen
void stretchGreen(const QString &string)
Apply stretch pairs to green bands.
Definition: CubeViewport.cpp:2131
Isis::CubeViewport::mouseMove
void mouseMove(QPoint, Qt::MouseButton)
Emitted when the mouse moves.
Isis::CubeViewport::blueBuffer
ViewportBuffer * blueBuffer()
Returns the blue viewport buffer (Will be NULL if in Gray mode.)
Definition: CubeViewport.h:441
Isis::CubeViewport::p_redBuffer
ViewportBuffer * p_redBuffer
Viewport Buffer to manage red band.
Definition: CubeViewport.h:621
Isis::CubeViewport::viewportClosed
void viewportClosed(CubeViewport *)
Emitted when viewport is closed.
Isis::CubeViewport::p_globalStretches
QVector< Stretch * > * p_globalStretches
Global stretches for each stretched band.
Definition: CubeViewport.h:616
Isis::CubeViewport::setTrackingCube
void setTrackingCube()
Finds the Tracking group from p_cube and stores the tracking cube name so that we can grab it in Adva...
Definition: CubeViewport.cpp:2375
Isis::CubeViewport::~CubeViewport
virtual ~CubeViewport()
Deconstructor for the Cubeviewport.
Definition: CubeViewport.cpp:307
Isis::CubeViewport::cubeChanged
void cubeChanged(bool changed)
This method is called when the cube has changed or changes have been finalized.
Definition: CubeViewport.cpp:561
Isis::CubeViewport::p_comboIndex
int p_comboIndex
Current element chosen from combo box.
Definition: CubeViewport.h:645
Isis::CubeViewport::p_viewportWhatsThisText
QString p_viewportWhatsThisText
The text for the viewport's what's this.
Definition: CubeViewport.h:660
Isis::CubeViewport::setCube
void setCube(Cube *cube)
This method sets the viewports cube.
Definition: CubeViewport.cpp:426
Isis::CubeViewport::mouseButtonRelease
void mouseButtonRelease(QPoint, Qt::MouseButton)
Emitted when mouse button released.
Isis::CubeViewport::viewGray
virtual void viewGray(int band)
View cube as gray.
Definition: CubeViewport.cpp:1918
Isis::CubeViewport::comboIndex
int comboIndex() const
Definition: CubeViewport.h:229
Isis::CubeViewport::fitScaleHeight
double fitScaleHeight() const
Determine the scale of cube in heighth to fit in the viewport.
Definition: CubeViewport.cpp:2298
Isis::CubeViewport::scale
double scale() const
Definition: CubeViewport.h:214
Isis::CubeViewport::p_grnBrick
Brick * p_grnBrick
Bricks for every color.
Definition: CubeViewport.h:648
Isis::CubeViewport::onProgressTimer
void onProgressTimer()
This updates the progress bar visually.
Definition: CubeViewport.cpp:263
Isis::CubeViewport::viewportToCube
void viewportToCube(int x, int y, double &sample, double &line) const
Turns a viewport into a cube.
Definition: CubeViewport.cpp:815
Isis::CubeViewport::paintEvent
virtual void paintEvent(QPaintEvent *e)
Repaint the viewport.
Definition: CubeViewport.cpp:1089
Isis::CubeViewport::CubeViewport
CubeViewport(Cube *cube, CubeDataThread *cdt=0, QWidget *parent=0)
Constructor for the CubeViewport.
Definition: CubeViewport.cpp:60
QObject
QVector
This is free and unencumbered software released into the public domain.
Definition: Calculator.h:18
Isis::CubeViewport::shiftPixmap
void shiftPixmap(int dx, int dy)
Shifts the pixels on the pixmap without reading new data.
Definition: CubeViewport.cpp:1292
Isis::CubeViewport::grayBuffer
ViewportBuffer * grayBuffer()
Returns the gray viewport buffer (Will be NULL if in RGB mode.)
Definition: CubeViewport.h:411
Isis::CubeViewport::progressChanged
void progressChanged(int)
Emitted with current progress (0 to 100) when working.
Isis::CubeViewport::p_cube
Cube * p_cube
The cube associated with the viewport.
Definition: CubeViewport.h:627
Isis::Projection
Base class for Map Projections.
Definition: Projection.h:155
Isis::CubeViewport::showEvent
void showEvent(QShowEvent *)
This method is called to initially show the viewport.
Definition: CubeViewport.cpp:233
Isis::CubeViewport::cube
Cube * cube() const
Definition: CubeViewport.h:338
Isis::CubeViewport::p_groundMap
UniversalGroundMap * p_groundMap
The universal ground map from the cube.
Definition: CubeViewport.h:630
Isis::CubeViewport::redBand
int redBand() const
Definition: CubeViewport.h:199
Isis::CubeViewport::cursorInside
bool cursorInside() const
Is cursor inside viewport.
Definition: CubeViewport.cpp:1809
Isis::CubeViewport::p_cubeShown
bool p_cubeShown
Is the cube visible?
Definition: CubeViewport.h:653
Isis::CubeViewport::cubeDataChanged
virtual void cubeDataChanged(int cubeId, const Isis::Brick *)
This method updates the internal viewport buffer based on changes in cube DN values.
Definition: CubeViewport.cpp:457
Isis::CubeViewport::cubeShown
bool cubeShown() const
Definition: CubeViewport.h:219
Isis::CubeViewport::cubeBands
int cubeBands() const
Return the number of bands in the cube.
Definition: CubeViewport.cpp:445
Isis::CubeViewport::stretchGray
void stretchGray(const QString &string)
Apply stretch pairs to gray band.
Definition: CubeViewport.cpp:2107
Isis::CubeViewport::stretchBlue
void stretchBlue(const QString &string)
Apply stretch pairs to blue bands.
Definition: CubeViewport.cpp:2143
Isis::CubeViewport::greenBuffer
ViewportBuffer * greenBuffer()
Returns the green viewport buffer (Will be NULL if in Gray mode.)
Definition: CubeViewport.h:431
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::CubeViewport::greenBand
int greenBand() const
Definition: CubeViewport.h:204
Isis::CubeViewport::setBackground
void setBackground(QColor color)
Sets the background color.
Definition: CubeViewport.h:373
Isis::CubeViewport::p_bgColor
QColor p_bgColor
The color to paint the background of the viewport.
Definition: CubeViewport.h:625
Isis::CubeViewport::projection
Projection * projection() const
Definition: CubeViewport.h:343
Isis::CubeViewport::progressComplete
void progressComplete()
Emitted when the current progress is complete (100)
Isis::CubeViewport::p_cubeWhatsThisText
QString p_cubeWhatsThisText
The text for the cube's What's this.
Definition: CubeViewport.h:659
Isis::CubeViewport::p_scale
double p_scale
The scale number.
Definition: CubeViewport.h:636
Isis::CubeViewport::updateWhatsThis
void updateWhatsThis()
Update the What's This text.
Definition: CubeViewport.cpp:1520
Isis::CubeViewport::stretchRed
void stretchRed(const QString &string)
Apply stretch pairs to red bands.
Definition: CubeViewport.cpp:2119