Isis 3 Programmer Reference
Isis::CubeViewport Class Referenceabstract

Widget to display Isis cubes for qt apps. More...

#include <CubeViewport.h>

Inheritance diagram for Isis::CubeViewport:
Inheritance graph
Collaboration diagram for Isis::CubeViewport:
Collaboration graph

Classes

class  BandInfo
 

Public Slots

QSize sizeHint () const
 Make viewports show up as 512 by 512. More...
 
void setScale (double scale)
 Change the scale of the cube to the given parameter value. More...
 
void setScale (double scale, double sample, double line)
 Change the scale of the cube after moving samp/line to the center. More...
 
void setScale (double scale, int x, int y)
 Change the scale of the cube after moving x,y to the center. More...
 
void center (int x, int y)
 Bring the cube pixel under viewport x/y to the center. More...
 
void center (double sample, double line)
 Bring the cube sample/line the center. More...
 
virtual void viewRGB (int redBand, int greenBand, int blueBand)
 View cube as color. More...
 
virtual void viewGray (int band)
 View cube as gray. More...
 
void stretchGray (const QString &string)
 Apply stretch pairs to gray band. More...
 
void stretchRed (const QString &string)
 Apply stretch pairs to red bands. More...
 
void stretchGreen (const QString &string)
 Apply stretch pairs to green bands. More...
 
void stretchBlue (const QString &string)
 Apply stretch pairs to blue bands. More...
 
void stretchGray (const Stretch &stretch)
 Sets the stretch for gray mode. More...
 
void stretchRed (const Stretch &stretch)
 Sets the stretch for red in rgb mode. More...
 
void stretchGreen (const Stretch &stretch)
 Sets the stretch for green in rgb mode. More...
 
void stretchBlue (const Stretch &stretch)
 Sets the stretch for blue in rgb mode. More...
 
void stretchKnownGlobal ()
 List<Tool *> p This stretches to the global stretch. More...
 
void cubeChanged (bool changed)
 This method is called when the cube has changed or changes have been finalized. More...
 
void showEvent (QShowEvent *)
 This method is called to initially show the viewport. More...
 
void scrollBy (int dx, int dy)
 Move the scrollbars by dx/dy screen pixels. More...
 
void changeCursor (QCursor cursor)
 Allows users to change the cursor type on the viewport. More...
 
void onProgressTimer ()
 This updates the progress bar visually. More...
 
void enableProgress ()
 This restarts the progress bar. More...
 

Signals

void viewportUpdated ()
 Emitted when viewport updated. More...
 
void viewportClosed (CubeViewport *)
 Emitted when viewport is closed. More...
 
void mouseEnter ()
 Emitted when the mouse enters the viewport. More...
 
void mouseMove (QPoint)
 Emitted when the mouse moves. More...
 
void mouseMove (QPoint, Qt::MouseButton)
 Emitted when the mouse moves. More...
 
void mouseLeave ()
 Emitted when the mouse leaves the viewport. More...
 
void mouseButtonPress (QPoint, Qt::MouseButton)
 Emitted when mouse button pressed. More...
 
void mouseButtonRelease (QPoint, Qt::MouseButton)
 Emitted when mouse button released. More...
 
void mouseDoubleClick (QPoint)
 Emitted when double click happens. More...
 
void windowTitleChanged ()
 Emitted when window title changes. More...
 
void scaleChanged ()
 Emitted when zoom factor changed just before the repaint event. More...
 
void saveChanges (CubeViewport *)
 Emitted when changes should be saved. More...
 
void discardChanges (CubeViewport *)
 Emitted when changes should be discarded. More...
 
void screenPixelsChanged ()
 Emitted when cube pixels that should be on the screen change. More...
 
void progressChanged (int)
 Emitted with current progress (0 to 100) when working. More...
 
void progressComplete ()
 Emitted when the current progress is complete (100) More...
 
void doneWithData (int, const Isis::Brick *)
 Emitted when a brick is no longer needed, should only be sent to cube data thread. More...
 

Public Member Functions

 CubeViewport (Cube *cube, CubeDataThread *cdt=0, QWidget *parent=0)
 Constructor for the CubeViewport. More...
 
virtual ~CubeViewport ()
 Deconstructor for the Cubeviewport. More...
 
void setCube (Cube *cube)
 This method sets the viewports cube. More...
 
int cubeSamples () const
 Return the number of samples in the cube. More...
 
int cubeLines () const
 Return the number of lines in the cube. More...
 
int cubeBands () const
 Return the number of bands in the cube. More...
 
bool isColor () const
 
bool isGray () const
 
int grayBand () const
 
int redBand () const
 
int greenBand () const
 
int blueBand () const
 
double scale () const
 
bool cubeShown () const
 
int comboCount () const
 
int comboIndex () const
 
void cubeContentsChanged (QRect rect)
 Calle dhwen the contents of the cube changes. More...
 
double fitScale () const
 Determine the scale that causes the full cube to fit in the viewport. More...
 
double fitScaleWidth () const
 Determine the scale of cube in the width to fit in the viewport. More...
 
double fitScaleHeight () const
 Determine the scale of cube in heighth to fit in the viewport. More...
 
void viewportToCube (int x, int y, double &sample, double &line) const
 Turns a viewport into a cube. More...
 
void cubeToViewport (double sample, double line, int &x, int &y) const
 Turns a cube into a viewport. More...
 
void contentsToCube (int x, int y, double &sample, double &line) const
 Turns contents to a cube. More...
 
void cubeToContents (double sample, double line, int &x, int &y) const
 Turns a cube into contents. More...
 
double redPixel (int sample, int line)
 Gets the red pixel. More...
 
double greenPixel (int sample, int line)
 Gets the green pixel. More...
 
double bluePixel (int sample, int line)
 Gets the blue pixel. More...
 
double grayPixel (int sample, int line)
 Gets the gray pixel. More...
 
CubeStretch grayStretch () const
 Return the gray band stretch. More...
 
CubeStretch redStretch () const
 Return the red band stretch. More...
 
CubeStretch greenStretch () const
 Return the green band stretch. More...
 
CubeStretch blueStretch () const
 Return the blue band stretch. More...
 
Cubecube () const
 
Projectionprojection () const
 
Cameracamera () const
 
UniversalGroundMapuniversalGroundMap () const
 
CubetrackingCube () const
 
void moveCursor (int x, int y)
 Move the cursor by x,y if possible. More...
 
bool cursorInside () const
 Is cursor inside viewport. More...
 
QPoint cursorPosition () const
 Return the cursor position in the viewport. More...
 
void setCursorPosition (int x, int y)
 Set the cursor position to x/y in the viewport. More...
 
void setCaption ()
 Change the caption on the viewport title bar. More...
 
void setBackground (QColor color)
 Sets the background color. More...
 
void setComboCount (int count)
 Sets the band bin combo box count. More...
 
void setComboIndex (int index)
 Sets the band bin combo box index. More...
 
QPixmap pixmap ()
 Returns the pixmap. More...
 
ViewportBuffergrayBuffer ()
 Returns the gray viewport buffer (Will be NULL if in RGB mode.) More...
 
ViewportBufferredBuffer ()
 Returns the red viewport buffer (Will be NULL if in Gray mode.) More...
 
ViewportBuffergreenBuffer ()
 Returns the green viewport buffer (Will be NULL if in Gray mode.) More...
 
ViewportBufferblueBuffer ()
 Returns the blue viewport buffer (Will be NULL if in Gray mode.) More...
 
void bufferUpdated (QRect rect)
 This method is called by ViewportBuffer upon successful completion of all operations and gives the appropriate rect to be repainted. More...
 
virtual void restretch (ViewportBuffer *buffer)=0
 This is called by internal viewport buffers when a stretch action should be performed. More...
 
void paintPixmap ()
 Paint the whole pixmap. More...
 
void forgetStretches ()
 Resets all remembered stretches. More...
 
void setAllBandStretches (Stretch stretch)
 Sets a stretch for all bands. More...
 
CubeDataThreadcubeDataThread ()
 
int cubeID ()
 
void getAllWhatsThisInfo (Pvl &pWhatsThisPvl)
 Get All WhatsThis info - viewport, cube, area in PVL format. More...
 
void getBandFilterName (PvlKeyword &pFilterNameKey)
 Get Band Filter name from the Isis cube label. More...
 
void getCubeArea (double &pdStartSample, double &pdEndSample, double &pdStartLine, double &pdEndLine)
 Get Cube area corresponding to the viewport's dimension. More...
 
bool confirmClose ()
 This method should be called during a close event that would cause this viewport to close. More...
 
void setTrackingCube ()
 Finds the Tracking group from p_cube and stores the tracking cube name so that we can grab it in AdvancedTrackTool and get mosaic information. More...
 

Protected Slots

virtual void cubeDataChanged (int cubeId, const Isis::Brick *)
 This method updates the internal viewport buffer based on changes in cube DN values. More...
 

Protected Member Functions

void scrollContentsBy (int dx, int dy)
 Scroll the viewport contents by dx/dy screen pixels. More...
 
virtual void resizeEvent (QResizeEvent *e)
 The viewport is being resized. More...
 
virtual bool eventFilter (QObject *o, QEvent *e)
 Event filter to watch for mouse events on viewport. More...
 
virtual void keyPressEvent (QKeyEvent *e)
 Process arrow keystrokes on cube. More...
 
virtual void paintEvent (QPaintEvent *e)
 Repaint the viewport. More...
 

Protected Attributes

QPixmap p_pixmap
 The qpixmap. More...
 
QVector< Stretch * > * p_knownStretches
 Stretches for each previously stretched band. More...
 
QVector< Stretch * > * p_globalStretches
 Global stretches for each stretched band. More...
 

Private Member Functions

void paintPixmap (QRect rect)
 Paint a region of the pixmap. More...
 
void shiftPixmap (int dx, int dy)
 Shifts the pixels on the pixmap without reading new data. More...
 
void updateScrollBars (int x, int y)
 Update the scroll bar. More...
 
void paintPixmapRects ()
 Goes through the list of requested paints, from the viewport buffer, and paints them. More...
 
void updateWhatsThis ()
 Update the What's This text. More...
 

Private Attributes

ViewportBufferp_grayBuffer
 Viewport Buffer to manage gray band. More...
 
ViewportBufferp_redBuffer
 Viewport Buffer to manage red band. More...
 
ViewportBufferp_greenBuffer
 Viewport Buffer to manage green band. More...
 
ViewportBufferp_blueBuffer
 Viewport Buffer to manage blue band. More...
 
QColor p_bgColor
 The color to paint the background of the viewport. More...
 
Cubep_cube
 The cube associated with the viewport. More...
 
Camerap_camera
 The camera from the cube. More...
 
Projectionp_projection
 The projection from the cube. More...
 
UniversalGroundMapp_groundMap
 The universal ground map from the cube. More...
 
Cubep_trackingCube
 
QTimer * p_progressTimer
 Activated to update progress bar. More...
 
double p_scale
 The scale number. More...
 
bool p_color
 Is the viewport in color? More...
 
BandInfo p_gray
 Gray band info. More...
 
BandInfo p_red
 Red band info. More...
 
BandInfo p_green
 Green band info. More...
 
BandInfo p_blue
 Blue band info. More...
 
int p_comboCount
 Number of elements in band bin combo box. More...
 
int p_comboIndex
 Current element chosen from combo box. More...
 
Brickp_redBrick
 Bricks for every color. More...
 
Brickp_grnBrick
 Bricks for every color. More...
 
Brickp_bluBrick
 Bricks for every color. More...
 
Brickp_gryBrick
 Bricks for every color. More...
 
Brickp_pntBrick
 Bricks for every color. More...
 
bool p_saveEnabled
 Has the cube changed? More...
 
bool p_cubeShown
 Is the cube visible? More...
 
QImage * p_image
 The qimage. More...
 
bool p_paintPixmap
 Paint the pixmap? More...
 
bool p_updatingBuffers
 Changing RGB and need to not repaint pixmap? More...
 
QString p_whatsThisText
 The text for What's this. More...
 
QString p_cubeWhatsThisText
 The text for the cube's What's this. More...
 
QString p_viewportWhatsThisText
 The text for the viewport's what's this. More...
 
QList< QRect * > * p_pixmapPaintRects
 A list of rects that the viewport buffers have requested painted. More...
 
CubeDataThreadp_cubeData
 Does all the cube I/O. More...
 
int p_cubeId
 Cube ID given from cube data thread for I/O. More...
 
bool p_thisOwnsCubeData
 if true then this owns the CubeDataThread, and should thus delete it More...
 

Detailed Description

Widget to display Isis cubes for qt apps.

Author
????-??-?? Jeff Anderson
History:
2007-01-30 Tracie Sucharski, Add information message if spice not found.
History:
2007-02-07 Tracie Sucharski, Remove error message, decided it was more of a hassle to click ok when displaying many images without spice.
History:
2007-03-20 Tracie Sucharski, Add fitScaleMinDimension, fitScaleWidth and fitScaleHeight methods. Change cursor to wait cursor in paintPixmap.
History:
2007-04-13 Tracie Sucharski, Remove fitScaleMinDimension, turns out it was not needed.
History:
2007-09-11 Steven Lambright, Added double click signal
History:
2007-12-11 Steven Lambright, Added 1x1xn cube auto stretch support
History:
2008-06-19 Noah Hilt, Added a close event for saving and discarding changes and a method to set the cube.
History:
2008-12-04 Jeannie Walldren, Fixed a bug in computeStretch() method for comparing precision difference on 32 bit Linux system. Added try/catch in showCube() to set p_cubeShown = false if this fails.
History:
2009-03-09 Steven Lambright - Changed the way we do floating point math in autoStretch to work better in order to allow more cubes to open.
History:
2009-03-27 Noah Hilt/Steven Lambright - Removed old rubber band methods and variables. Added new ViewportBuffer to read and store visible dn values in the viewport.
History:
2009-10-23 Steven Lambright - Camera::SetBand is now called when switching the band being shown.
History:
2010-04-08 Steven Lambright and Eric Hyer - Now supports ViewportBuffer using threaded cube I/O
History:
2010-04-30 Steven Lambright - Bug fixes and better support for threaded cube I/O
History:
2010-05-20 Steven Lambright - Added memory of global stretches
History:
2010-05-24 Eric Hyer - Fixed bug where QPainter construction was being attempted with a potentially null pixmap
History:
2010-06-26 Eric Hyer - Moved MDI specific code to new child class called MdiCubeViewport. Fixed many include mistakes.
History:
2010-07-12 Jeannie Walldren - Changed setScale() method's maximum value from hard-coded 16 to the max of the viewport width and height. Added setScale() minimum value of 1/min(samps,lines). Added exceptions to ViewportBuffer to help track errors.
History:
2010-11-08 Eric Hyer - Added better mouseMove signal
History:
2010-12-01 Steven Lambright - The initial scale now uses fitScale so that it is consistent with the zoom tool.
History:
2011-03-30 Sharmila Prasad - Set the frame shadow and style to remove border around the image
History:
2011-03-31 Sharmila Prasad - Added band info to "whatsthis" API to store the whatsthis info in a PVL format
History:
2011-04-25 Steven Lambright - Fixed "center" and added more safety checks.
History:
2012-03-22 Steven Lambright and Jai Rideout - Fixed bug where screenPixelsChanged was not correctly emitted on resize.
History:
2012-05-29 Steven Lambright - Changed destructor to clean up the cube when necessary.
History:
2012-06-28 Steven Lambright - Stretching gray no longer removes stretch special pixel values from the RGB stretches. References #684.
History:
2012-07-27 Tracie Sucharski - Added viewportClosed signal so that tools can respond to the user closing a viewport rather than when the application exits.
History:
2013-11-04 Janet Barrett - Added the p_comboCount and p_comboIndex variables to store the current state of the band bin combo box. Also added comboCount(), comboIndex(), setComboCount(), and setComboIndex() accessors and setters to allow the BandTool class to retain the settings for each cube viewport. Fixes #1612.
History:
2017-05-10 Ian Humphrey - Modified showEvent() so that when the cube viewport is initially shown, the image is centered properly in the viewport. Modified center(double, double) to no longer increment the cubeToContents x,y by 1. This was causing some images to be off-centered by 1 pixel (the bottom and right side of viewport would be a thin strip of non-pixel space). Fixes #4756.
History:
2017-08-11 Adam Goins - Added the ability to ctrl + c to copy the filename of the current cube into the system's clipboard. Fixes #5098.
History:
2018-07-31 Kaitlyn Lee - Added setTrackingCube() and trackingCube() so that a tracking cube is stored when needed and we do not have to open it in AdvancedTrackTool every time the cursor is moved.
History:
2020-06-09 Kristin Berry - Updated paintPixmap() to move getStretch out of inner for loops. This provides a significant speed increase for qisis applications with cube viewports.

Definition at line 122 of file CubeViewport.h.

Constructor & Destructor Documentation

◆ CubeViewport()

◆ ~CubeViewport()

Member Function Documentation

◆ blueBand()

◆ blueBuffer()

ViewportBuffer* Isis::CubeViewport::blueBuffer ( )
inline

◆ bluePixel()

double Isis::CubeViewport::bluePixel ( int  sample,
int  line 
)

Gets the blue pixel.

Return the blue pixel value at a sample/line.

Parameters
sampleThe sample
lineThe line
Returns
The bluePixel value
Parameters
sample
line
Returns
double

Definition at line 1638 of file CubeViewport.cpp.

References Isis::CubeViewport::BandInfo::band, p_blue, p_cube, p_pntBrick, Isis::Cube::read(), and Isis::Brick::SetBasePosition().

◆ blueStretch()

◆ bufferUpdated()

void Isis::CubeViewport::bufferUpdated ( QRect  rect)

This method is called by ViewportBuffer upon successful completion of all operations and gives the appropriate rect to be repainted.

This is intended to update the screen once all data is done and ready to be displayed.

Parameters
rectArea to update screen

Definition at line 1104 of file CubeViewport.cpp.

References p_blueBuffer, p_grayBuffer, p_greenBuffer, p_redBuffer, paintPixmap(), and Isis::ViewportBuffer::working().

◆ camera()

Camera* Isis::CubeViewport::camera ( ) const
inline

◆ center [1/2]

void Isis::CubeViewport::center ( double  sample,
double  line 
)
slot

Bring the cube sample/line the center.

Parameters
sampleValue of the sample to center on.
lineValue of the line to center on.

Definition at line 743 of file CubeViewport.cpp.

References cubeToContents(), p_blueBuffer, p_grayBuffer, p_greenBuffer, p_redBuffer, p_updatingBuffers, paintPixmapRects(), Isis::ViewportBuffer::pan(), screenPixelsChanged(), shiftPixmap(), and updateScrollBars().

◆ center [2/2]

void Isis::CubeViewport::center ( int  x,
int  y 
)
slot

Bring the cube pixel under viewport x/y to the center.

Parameters
x
y

Definition at line 730 of file CubeViewport.cpp.

References viewportToCube().

Referenced by setScale().

◆ changeCursor

void Isis::CubeViewport::changeCursor ( QCursor  cursor)
slot

Allows users to change the cursor type on the viewport.

Parameters
cursor

Definition at line 2392 of file CubeViewport.cpp.

◆ comboCount()

int Isis::CubeViewport::comboCount ( ) const
inline
Returns
the BandBin combo box count

Definition at line 224 of file CubeViewport.h.

References p_comboCount.

Referenced by Isis::BandTool::setBandBin().

◆ comboIndex()

int Isis::CubeViewport::comboIndex ( ) const
inline
Returns
the BandBin combo box index

Definition at line 229 of file CubeViewport.h.

References p_comboIndex.

Referenced by Isis::BandTool::setBandBin().

◆ confirmClose()

bool Isis::CubeViewport::confirmClose ( )

This method should be called during a close event that would cause this viewport to close.

If changes have been made to this viewport it opens an information dialog that asks the user if they want to save, discard changes, or cancel.

Returns
True if closing is OK, false if it needs to be cancelled.

Definition at line 525 of file CubeViewport.cpp.

References cube(), discardChanges(), p_saveEnabled, and saveChanges().

◆ contentsToCube()

void Isis::CubeViewport::contentsToCube ( int  x,
int  y,
double &  sample,
double &  line 
) const

Turns contents to a cube.

Convert a contents x/y to a cube sample/line (may be outside the cube)

Parameters
x
y
sample
line

Definition at line 798 of file CubeViewport.cpp.

References p_scale.

Referenced by setScale(), and viewportToCube().

◆ cube()

Cube* Isis::CubeViewport::cube ( ) const
inline
Returns
The cube associated with viewport

Definition at line 338 of file CubeViewport.h.

References p_cube.

Referenced by confirmClose(), Isis::MatchTool::createPoint(), cubeContentsChanged(), cubeDataChanged(), Isis::Workspace::cubeToMdiWidget(), CubeViewport(), Isis::StretchTool::deleteFromCube(), Isis::ControlNetTool::drawAllMeasurements(), Isis::QnetTool::drawAllMeasurments(), Isis::SpectralPlotWindow::drawBandMarkers(), Isis::FileTool::exportToList(), Isis::FeatureNomenclatureTool::featuresForViewportFound(), Isis::FeatureNomenclatureTool::findMissingNomenclature(), Isis::SpatialPlotTool::getSpatialStatistics(), Isis::SpectralPlotTool::getSpectralStatistics(), Isis::StatisticsTool::getStatistics(), Isis::ScatterPlotWindow::isXCube(), Isis::ScatterPlotWindow::isYCube(), Isis::StretchTool::loadStretchFromCube(), Isis::SunShadowTool::mouseButtonPress(), Isis::EditTool::mouseButtonRelease(), Isis::ControlNetTool::mouseButtonRelease(), Isis::MatchTool::mouseButtonRelease(), Isis::QnetTool::mouseButtonRelease(), Isis::CubeDnView::onCubeViewportActivated(), Isis::CubeDnView::onCubeViewportDeleted(), Isis::QnetTool::openGround(), Isis::CubePlotCurve::paint(), Isis::StereoTool::paintViewport(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::EditTool::redoEdit(), Isis::HistogramTool::refreshPlot(), Isis::ScatterPlotConfigDialog::refreshWidgetStates(), Isis::AbstractPlotTool::repaintViewports(), Isis::EditTool::rubberBandComplete(), Isis::FileTool::save(), Isis::FileTool::saveAsReducedCube(), Isis::StretchTool::saveStretchToCube(), Isis::ScatterPlotConfigDialog::ScatterPlotConfigDialog(), Isis::MatchTool::serialNumberList(), setCube(), Isis::StretchTool::stretchBand(), Isis::ChipViewport::stretchFromCubeViewport(), Isis::AdvancedTrackTool::TrackMosaicOrigin(), Isis::EditTool::undoAll(), Isis::EditTool::undoEdit(), Isis::MeasureTool::updateDist(), Isis::AdvancedTrackTool::updateRow(), Isis::BandTool::updateTool(), Isis::SpectralPlotTool::updateTool(), Isis::SunShadowTool::updateTool(), Isis::CubeDnView::workspaceActiveCube(), Isis::EditTool::writeToCube(), Isis::ScatterPlotConfigDialog::xAxisCubeViewport(), and Isis::ScatterPlotConfigDialog::yAxisCubeViewport().

◆ cubeBands()

int Isis::CubeViewport::cubeBands ( ) const

Return the number of bands in the cube.

Returns
The number of bands in the cube

Definition at line 445 of file CubeViewport.cpp.

References Isis::Cube::bandCount(), and p_cube.

Referenced by Isis::BandTool::copyAllViewports(), and Isis::BandTool::copyLinkedViewports().

◆ cubeChanged

void Isis::CubeViewport::cubeChanged ( bool  changed)
slot

This method is called when the cube has changed or changes have been finalized.

Parameters
changed

Definition at line 561 of file CubeViewport.cpp.

References p_saveEnabled.

Referenced by Isis::EditTool::redoEdit(), Isis::EditTool::save(), Isis::EditTool::undoEdit(), and Isis::EditTool::writeToCube().

◆ cubeContentsChanged()

void Isis::CubeViewport::cubeContentsChanged ( QRect  rect)

Calle dhwen the contents of the cube changes.

Cube changed, repaint given area.

Parameters
rectThe QRect
rectRectangle containing portion of cube (sample/line) that changed.

Definition at line 2312 of file CubeViewport.cpp.

References cube(), cubeToViewport(), Isis::ViewportBuffer::fillBuffer(), Isis::Cube::lineCount(), p_blueBuffer, p_grayBuffer, p_greenBuffer, p_redBuffer, p_updatingBuffers, paintPixmapRects(), and Isis::Cube::sampleCount().

Referenced by Isis::EditTool::redoEdit(), Isis::EditTool::undoEdit(), and Isis::EditTool::writeToCube().

◆ cubeDataChanged

void Isis::CubeViewport::cubeDataChanged ( int  cubeId,
const Isis::Brick data 
)
protectedvirtualslot

This method updates the internal viewport buffer based on changes in cube DN values.

Parameters
cubeIdCube that the changed brick belongs to
*data New data

Definition at line 457 of file CubeViewport.cpp.

References cube(), cubeToViewport(), doneWithData(), Isis::ViewportBuffer::fillBuffer(), Isis::Buffer::Line(), Isis::Cube::lineCount(), Isis::Buffer::LineDimension(), p_blueBuffer, p_cubeId, p_grayBuffer, p_greenBuffer, p_redBuffer, p_updatingBuffers, paintPixmapRects(), Isis::Buffer::Sample(), Isis::Cube::sampleCount(), and Isis::Buffer::SampleDimension().

Referenced by CubeViewport().

◆ cubeDataThread()

CubeDataThread* Isis::CubeViewport::cubeDataThread ( )
inline
Returns
this CubeViewport's CubeDataThread

Definition at line 473 of file CubeViewport.h.

References p_cubeData.

◆ cubeID()

int Isis::CubeViewport::cubeID ( )
inline
Returns
the CubeViewport's cube id

Definition at line 480 of file CubeViewport.h.

References p_cubeId.

◆ cubeLines()

◆ cubeSamples()

◆ cubeShown()

bool Isis::CubeViewport::cubeShown ( ) const
inline
Returns
if the cube is visible

Definition at line 219 of file CubeViewport.h.

References p_cubeShown.

◆ cubeToContents()

void Isis::CubeViewport::cubeToContents ( double  sample,
double  line,
int &  x,
int &  y 
) const

Turns a cube into contents.

Convert a cube sample/line to a contents x/y (should not be outside)

Parameters
x
y
sample
line
sample
line
x
y

Definition at line 835 of file CubeViewport.cpp.

References p_scale.

Referenced by center(), cubeToViewport(), and setScale().

◆ cubeToViewport()

void Isis::CubeViewport::cubeToViewport ( double  sample,
double  line,
int &  x,
int &  y 
) const

◆ cursorInside()

bool Isis::CubeViewport::cursorInside ( ) const

Is cursor inside viewport.

Returns
bool

Definition at line 1809 of file CubeViewport.cpp.

◆ cursorPosition()

QPoint Isis::CubeViewport::cursorPosition ( ) const

Return the cursor position in the viewport.

Returns
QPoint

Definition at line 1834 of file CubeViewport.cpp.

◆ discardChanges

void Isis::CubeViewport::discardChanges ( CubeViewport )
signal

Emitted when changes should be discarded.

Referenced by confirmClose().

◆ doneWithData

void Isis::CubeViewport::doneWithData ( int  ,
const Isis::Brick  
)
signal

Emitted when a brick is no longer needed, should only be sent to cube data thread.

Referenced by cubeDataChanged(), and CubeViewport().

◆ enableProgress

void Isis::CubeViewport::enableProgress ( )
slot

This restarts the progress bar.

Does nothing if already loading.

Definition at line 972 of file CubeViewport.cpp.

References p_progressTimer, and progressChanged().

◆ eventFilter()

bool Isis::CubeViewport::eventFilter ( QObject o,
QEvent *  e 
)
protectedvirtual

Event filter to watch for mouse events on viewport.

Parameters
o
e
Returns
bool

Reimplemented in Isis::IndependentCubeViewport.

Definition at line 1694 of file CubeViewport.cpp.

References mouseButtonPress(), mouseButtonRelease(), mouseDoubleClick(), mouseEnter(), mouseLeave(), and mouseMove().

◆ fitScale()

double Isis::CubeViewport::fitScale ( ) const

Determine the scale that causes the full cube to fit in the viewport.

Returns
The fitScale of the Viewport
The scale

Definition at line 2270 of file CubeViewport.cpp.

References cubeLines(), cubeSamples(), and scale().

Referenced by showEvent(), and Isis::ZoomTool::zoomFit().

◆ fitScaleHeight()

double Isis::CubeViewport::fitScaleHeight ( ) const

Determine the scale of cube in heighth to fit in the viewport.

Returns
The height of the Viewport/
The scale for height

Definition at line 2298 of file CubeViewport.cpp.

References cubeLines(), and scale().

Referenced by Isis::ZoomTool::zoomFitHeight().

◆ fitScaleWidth()

double Isis::CubeViewport::fitScaleWidth ( ) const

Determine the scale of cube in the width to fit in the viewport.

Returns
The width of the Viewport
The scale for width

Definition at line 2285 of file CubeViewport.cpp.

References cubeSamples(), and scale().

Referenced by Isis::ZoomTool::zoomFitWidth().

◆ forgetStretches()

void Isis::CubeViewport::forgetStretches ( )

Resets all remembered stretches.

Definition at line 1973 of file CubeViewport.cpp.

References p_knownStretches.

Referenced by Isis::StretchTool::stretchGlobalAllBands().

◆ getAllWhatsThisInfo()

void Isis::CubeViewport::getAllWhatsThisInfo ( Pvl pWhatsThisPvl)

Get All WhatsThis info - viewport, cube, area in PVL format.

Parameters
pWhatsThisPvl- Pvl for all whatsthis info
Author
Sharmila Prasad (4/5/2011)
Parameters
pWhatsThisPvl- Pvl for all whatsthis info

Definition at line 1372 of file CubeViewport.cpp.

References Isis::Cube::bandCount(), Isis::Cube::fileName(), Isis::ViewportBuffer::getBand(), getBandFilterName(), getCubeArea(), Isis::Cube::lineCount(), p_blueBuffer, p_color, p_cube, p_grayBuffer, p_greenBuffer, p_redBuffer, Isis::Cube::physicalBand(), Isis::Cube::sampleCount(), Isis::PvlKeyword::size(), and Isis::toString().

Referenced by Isis::FileTool::saveInfo().

◆ getBandFilterName()

void Isis::CubeViewport::getBandFilterName ( PvlKeyword pFilterNameKey)

Get Band Filter name from the Isis cube label.

Parameters
pFilterNameKey- FilterName keyword containing the corresponding keyword from the Isis Cube label
Author
Sharmila Prasad (4/5/2011)
Parameters
pFilterNameKey- FilterName keyword containing the corresponding keyword from the Isis Cube label

Definition at line 1474 of file CubeViewport.cpp.

References Isis::PvlObject::findGroup(), Isis::PvlContainer::findKeyword(), Isis::PvlObject::findObject(), Isis::PvlObject::hasGroup(), Isis::PvlContainer::hasKeyword(), Isis::Cube::label(), and p_cube.

Referenced by getAllWhatsThisInfo(), and updateWhatsThis().

◆ getCubeArea()

void Isis::CubeViewport::getCubeArea ( double &  pdStartSample,
double &  pdEndSample,
double &  pdStartLine,
double &  pdEndLine 
)

Get Cube area corresponding to the viewport's dimension.

Parameters
pdStartSample- Cube Start Sample
pdEndSample- Cube End Sample
pdStartLine- Cube Start Line
pdEndLine- Cube End Line

Definition at line 1495 of file CubeViewport.cpp.

References cubeLines(), cubeSamples(), and viewportToCube().

Referenced by getAllWhatsThisInfo(), and updateWhatsThis().

◆ grayBand()

◆ grayBuffer()

ViewportBuffer* Isis::CubeViewport::grayBuffer ( )
inline

◆ grayPixel()

double Isis::CubeViewport::grayPixel ( int  sample,
int  line 
)

Gets the gray pixel.

Return the gray pixel value at a sample/line.

Parameters
sampleThe sample
lineThe line
Returns
The grayPixel value
Parameters
sample
line
Returns
double

Definition at line 1654 of file CubeViewport.cpp.

References Isis::CubeViewport::BandInfo::band, p_cube, p_gray, p_pntBrick, Isis::Cube::read(), and Isis::Brick::SetBasePosition().

Referenced by Isis::AdvancedTrackTool::updateRow().

◆ grayStretch()

◆ greenBand()

◆ greenBuffer()

ViewportBuffer* Isis::CubeViewport::greenBuffer ( )
inline

◆ greenPixel()

double Isis::CubeViewport::greenPixel ( int  sample,
int  line 
)

Gets the green pixel.

Return the green pixel value at a sample/line.

Parameters
sampleThe sample
lineThe line
Returns
The greenPixel value
Parameters
sample
line
Returns
double

Definition at line 1622 of file CubeViewport.cpp.

References Isis::CubeViewport::BandInfo::band, p_cube, p_green, p_pntBrick, Isis::Cube::read(), and Isis::Brick::SetBasePosition().

◆ greenStretch()

◆ isColor()

bool Isis::CubeViewport::isColor ( ) const
inline

◆ isGray()

◆ keyPressEvent()

void Isis::CubeViewport::keyPressEvent ( QKeyEvent *  e)
protectedvirtual

Process arrow keystrokes on cube.

Parameters
e
History:
2017-08-11 Adam Goins - Added the ability to ctrl + c to copy the filename of the current cube into the system's clipboard. Fixes #5098.

Definition at line 1759 of file CubeViewport.cpp.

References Isis::Cube::fileName(), moveCursor(), p_cube, p_scale, scale(), and setScale().

◆ mouseButtonPress

void Isis::CubeViewport::mouseButtonPress ( QPoint  ,
Qt::MouseButton   
)
signal

Emitted when mouse button pressed.

Referenced by eventFilter().

◆ mouseButtonRelease

void Isis::CubeViewport::mouseButtonRelease ( QPoint  ,
Qt::MouseButton   
)
signal

Emitted when mouse button released.

Referenced by eventFilter().

◆ mouseDoubleClick

void Isis::CubeViewport::mouseDoubleClick ( QPoint  )
signal

Emitted when double click happens.

Referenced by eventFilter().

◆ mouseEnter

void Isis::CubeViewport::mouseEnter ( )
signal

Emitted when the mouse enters the viewport.

Referenced by eventFilter().

◆ mouseLeave

void Isis::CubeViewport::mouseLeave ( )
signal

Emitted when the mouse leaves the viewport.

Referenced by eventFilter().

◆ mouseMove [1/2]

void Isis::CubeViewport::mouseMove ( QPoint  )
signal

Emitted when the mouse moves.

Referenced by eventFilter().

◆ mouseMove [2/2]

void Isis::CubeViewport::mouseMove ( QPoint  ,
Qt::MouseButton   
)
signal

Emitted when the mouse moves.

◆ moveCursor()

void Isis::CubeViewport::moveCursor ( int  x,
int  y 
)

Move the cursor by x,y if possible.

Parameters
x
y

Definition at line 1847 of file CubeViewport.cpp.

Referenced by keyPressEvent().

◆ onProgressTimer

void Isis::CubeViewport::onProgressTimer ( )
slot

This updates the progress bar visually.

Conceptually it emits the progressChanged signal with the current progress.

Definition at line 263 of file CubeViewport.cpp.

References Isis::ViewportBuffer::currentProgress(), p_blueBuffer, p_grayBuffer, p_greenBuffer, p_progressTimer, p_redBuffer, progressChanged(), progressComplete(), screenPixelsChanged(), and Isis::ViewportBuffer::working().

Referenced by CubeViewport().

◆ paintEvent()

void Isis::CubeViewport::paintEvent ( QPaintEvent *  e)
protectedvirtual

Repaint the viewport.

Parameters
e[in] (QPaintEvent *) event
History:
2007-04-30 Tracie Sucharski - Add the QPainter to the call to Tool::paintViewport.

Reimplemented in Isis::MdiCubeViewport, and Isis::IndependentCubeViewport.

Definition at line 1089 of file CubeViewport.cpp.

References p_cubeShown.

Referenced by Isis::IndependentCubeViewport::paintEvent(), and Isis::MdiCubeViewport::paintEvent().

◆ paintPixmap() [1/2]

void Isis::CubeViewport::paintPixmap ( )

◆ paintPixmap() [2/2]

◆ paintPixmapRects()

void Isis::CubeViewport::paintPixmapRects ( )
private

Goes through the list of requested paints, from the viewport buffer, and paints them.

Definition at line 779 of file CubeViewport.cpp.

References p_pixmapPaintRects, and paintPixmap().

Referenced by center(), cubeContentsChanged(), cubeDataChanged(), resizeEvent(), and setScale().

◆ pixmap()

QPixmap Isis::CubeViewport::pixmap ( )
inline

Returns the pixmap.

Returns
QPixmap

Definition at line 401 of file CubeViewport.h.

References p_pixmap.

Referenced by Isis::BlinkTool::eventFilter().

◆ progressChanged

void Isis::CubeViewport::progressChanged ( int  )
signal

Emitted with current progress (0 to 100) when working.

Referenced by enableProgress(), and onProgressTimer().

◆ progressComplete

void Isis::CubeViewport::progressComplete ( )
signal

Emitted when the current progress is complete (100)

Referenced by onProgressTimer().

◆ projection()

Projection* Isis::CubeViewport::projection ( ) const
inline

◆ redBand()

◆ redBuffer()

ViewportBuffer* Isis::CubeViewport::redBuffer ( )
inline

◆ redPixel()

double Isis::CubeViewport::redPixel ( int  sample,
int  line 
)

Gets the red pixel.

Return the red pixel value at a sample/line.

Parameters
sampleThe sample
lineThe line
Returns
The redPixel value
Parameters
sample
line
Returns
double

Definition at line 1606 of file CubeViewport.cpp.

References Isis::CubeViewport::BandInfo::band, p_cube, p_pntBrick, p_red, Isis::Cube::read(), and Isis::Brick::SetBasePosition().

Referenced by Isis::AdvancedTrackTool::updateRow().

◆ redStretch()

◆ resizeEvent()

void Isis::CubeViewport::resizeEvent ( QResizeEvent *  e)
protectedvirtual

◆ restretch()

virtual void Isis::CubeViewport::restretch ( ViewportBuffer buffer)
pure virtual

This is called by internal viewport buffers when a stretch action should be performed.

The buffer passes itself as the argument.

Parameters
buffer

Implemented in Isis::MdiCubeViewport, and Isis::IndependentCubeViewport.

◆ saveChanges

void Isis::CubeViewport::saveChanges ( CubeViewport )
signal

Emitted when changes should be saved.

Referenced by confirmClose().

◆ scale()

◆ scaleChanged

void Isis::CubeViewport::scaleChanged ( )
signal

Emitted when zoom factor changed just before the repaint event.

Referenced by setScale(), and updateScrollBars().

◆ screenPixelsChanged

void Isis::CubeViewport::screenPixelsChanged ( )
signal

Emitted when cube pixels that should be on the screen change.

Referenced by center(), onProgressTimer(), resizeEvent(), scrollContentsBy(), and setScale().

◆ scrollBy

void Isis::CubeViewport::scrollBy ( int  dx,
int  dy 
)
slot

Move the scrollbars by dx/dy screen pixels.

Parameters
dx
dy

Definition at line 869 of file CubeViewport.cpp.

References scrollContentsBy(), and updateScrollBars().

◆ scrollContentsBy()

void Isis::CubeViewport::scrollContentsBy ( int  dx,
int  dy 
)
protected

◆ setAllBandStretches()

void Isis::CubeViewport::setAllBandStretches ( Stretch  stretch)

Sets a stretch for all bands.

Parameters
stretch

Definition at line 1983 of file CubeViewport.cpp.

References p_knownStretches.

Referenced by Isis::StretchTool::setStretchAcrossBands().

◆ setBackground()

void Isis::CubeViewport::setBackground ( QColor  color)
inline

Sets the background color.

Parameters
color

Definition at line 373 of file CubeViewport.h.

References p_bgColor.

Referenced by Isis::SpecialPixelTool::apply().

◆ setCaption()

◆ setComboCount()

void Isis::CubeViewport::setComboCount ( int  count)
inline

Sets the band bin combo box count.

Parameters
count

Definition at line 382 of file CubeViewport.h.

References p_comboCount.

Referenced by Isis::BandTool::setBandBin(), and Isis::BandTool::setList().

◆ setComboIndex()

void Isis::CubeViewport::setComboIndex ( int  index)
inline

Sets the band bin combo box index.

Parameters
index

Definition at line 391 of file CubeViewport.h.

References p_comboIndex.

Referenced by Isis::BandTool::setBandBin(), and Isis::BandTool::setList().

◆ setCube()

void Isis::CubeViewport::setCube ( Cube cube)

This method sets the viewports cube.

Parameters
cubeThe cube to set the CubeViewport window to
cube

Definition at line 426 of file CubeViewport.cpp.

References cube(), p_cube, and setCaption().

◆ setCursorPosition()

void Isis::CubeViewport::setCursorPosition ( int  x,
int  y 
)

Set the cursor position to x/y in the viewport.

Parameters
x
y

Definition at line 1874 of file CubeViewport.cpp.

◆ setScale [1/3]

void Isis::CubeViewport::setScale ( double  scale)
slot

Change the scale of the cube to the given parameter value.

This method will reset the scale value if the value passed in is too large or too small.

Parameters
scaleValue by which to scale the image.
History:
2010-07-12 Jeannie Walldren - Changed scale maximum value from hard-coded 16 to the max of the viewport width and height. Added scale minimum value of 1/min(samps,lines).

Definition at line 588 of file CubeViewport.cpp.

References contentsToCube(), cubeLines(), cubeSamples(), cubeToContents(), p_blueBuffer, p_grayBuffer, p_greenBuffer, p_redBuffer, p_scale, p_updatingBuffers, paintPixmap(), paintPixmapRects(), scale(), scaleChanged(), Isis::ViewportBuffer::scaleChanged(), screenPixelsChanged(), setCaption(), and updateScrollBars().

Referenced by Isis::FindTool::centerLinkedViewports(), keyPressEvent(), setScale(), Isis::ZoomTool::setScale(), and showEvent().

◆ setScale [2/3]

void Isis::CubeViewport::setScale ( double  scale,
double  sample,
double  line 
)
slot

Change the scale of the cube after moving samp/line to the center.

Parameters
scale
sample
line

Definition at line 671 of file CubeViewport.cpp.

References center(), Isis::ViewportBuffer::enable(), Isis::ViewportBuffer::enabled(), p_blueBuffer, p_grayBuffer, p_greenBuffer, p_paintPixmap, p_redBuffer, paintPixmap(), scale(), screenPixelsChanged(), and setScale().

◆ setScale [3/3]

void Isis::CubeViewport::setScale ( double  scale,
int  x,
int  y 
)
slot

Change the scale of the cube after moving x,y to the center.

Parameters
scale
x
y

Definition at line 655 of file CubeViewport.cpp.

References scale(), setScale(), and viewportToCube().

◆ setTrackingCube()

void Isis::CubeViewport::setTrackingCube ( )

Finds the Tracking group from p_cube and stores the tracking cube name so that we can grab it in AdvancedTrackTool and get mosaic information.

This way, we are not opening the tracking cube every time the cursor is moved.

Definition at line 2375 of file CubeViewport.cpp.

References Isis::Cube::fileName(), Isis::PvlContainer::findKeyword(), Isis::Cube::group(), p_cube, Isis::FileName::path(), and trackingCube().

Referenced by CubeViewport().

◆ shiftPixmap()

void Isis::CubeViewport::shiftPixmap ( int  dx,
int  dy 
)
private

Shifts the pixels on the pixmap without reading new data.

Parameters
dx
dy

Definition at line 1292 of file CubeViewport.cpp.

References p_bgColor, p_paintPixmap, p_pixmap, and paintPixmap().

Referenced by center(), and scrollContentsBy().

◆ showEvent

void Isis::CubeViewport::showEvent ( QShowEvent *  event)
slot

This method is called to initially show the viewport.

It will set the scale to show the entire cube and enable the gray buffer.

Parameters
eventShow event being received.
See also
http://doc.qt.io/qt-5/qwidget.html#showEvent

Definition at line 233 of file CubeViewport.cpp.

References Isis::ViewportBuffer::addStretchAction(), cubeLines(), cubeSamples(), Isis::ViewportBuffer::enable(), Isis::ViewportBuffer::enabled(), fitScale(), p_grayBuffer, p_paintPixmap, p_scale, paintPixmap(), and setScale().

◆ sizeHint

QSize Isis::CubeViewport::sizeHint ( ) const
slot

Make viewports show up as 512 by 512.

Returns
QSize

Definition at line 571 of file CubeViewport.cpp.

◆ stretchBlue [1/2]

◆ stretchBlue [2/2]

void Isis::CubeViewport::stretchBlue ( const Stretch stretch)
slot

Sets the stretch for blue in rgb mode.

Parameters
stretch

Definition at line 2250 of file CubeViewport.cpp.

References blueBand(), Isis::CubeViewport::BandInfo::getStretch(), p_blue, p_globalStretches, paintPixmap(), Isis::Stretch::Pairs(), and Isis::CubeViewport::BandInfo::setStretch().

◆ stretchGray [1/2]

◆ stretchGray [2/2]

void Isis::CubeViewport::stretchGray ( const Stretch stretch)
slot

◆ stretchGreen [1/2]

◆ stretchGreen [2/2]

void Isis::CubeViewport::stretchGreen ( const Stretch stretch)
slot

Sets the stretch for green in rgb mode.

Parameters
stretch

Definition at line 2232 of file CubeViewport.cpp.

References Isis::CubeViewport::BandInfo::getStretch(), greenBand(), p_globalStretches, p_green, paintPixmap(), Isis::Stretch::Pairs(), and Isis::CubeViewport::BandInfo::setStretch().

◆ stretchKnownGlobal

void Isis::CubeViewport::stretchKnownGlobal ( )
slot

List<Tool *> p This stretches to the global stretch.

Definition at line 2153 of file CubeViewport.cpp.

References blueBand(), grayBand(), greenBand(), isGray(), p_globalStretches, redBand(), stretchBlue(), stretchGray(), stretchGreen(), and stretchRed().

Referenced by Isis::StretchTool::stretchChanged(), and Isis::StretchTool::stretchGlobal().

◆ stretchRed [1/2]

◆ stretchRed [2/2]

void Isis::CubeViewport::stretchRed ( const Stretch stretch)
slot

Sets the stretch for red in rgb mode.

Parameters
stretch

Definition at line 2214 of file CubeViewport.cpp.

References Isis::CubeViewport::BandInfo::getStretch(), p_globalStretches, p_red, paintPixmap(), Isis::Stretch::Pairs(), redBand(), and Isis::CubeViewport::BandInfo::setStretch().

◆ trackingCube()

Cube* Isis::CubeViewport::trackingCube ( ) const
inline
Returns
The tracking cube associated with p_cube (if it has one)

Definition at line 358 of file CubeViewport.h.

Referenced by setTrackingCube(), and Isis::AdvancedTrackTool::TrackMosaicOrigin().

◆ universalGroundMap()

◆ updateScrollBars()

void Isis::CubeViewport::updateScrollBars ( int  x,
int  y 
)
private

Update the scroll bar.

Parameters
x
y

Definition at line 1888 of file CubeViewport.cpp.

References cubeLines(), cubeSamples(), p_scale, and scaleChanged().

Referenced by center(), resizeEvent(), scrollBy(), and setScale().

◆ updateWhatsThis()

◆ viewGray

◆ viewportClosed

void Isis::CubeViewport::viewportClosed ( CubeViewport )
signal

Emitted when viewport is closed.

◆ viewportToCube()

◆ viewportUpdated

void Isis::CubeViewport::viewportUpdated ( )
signal

Emitted when viewport updated.

Referenced by Isis::MdiCubeViewport::paintEvent().

◆ viewRGB

◆ windowTitleChanged

void Isis::CubeViewport::windowTitleChanged ( )
signal

Emitted when window title changes.

Referenced by setCaption().

Member Data Documentation

◆ p_bgColor

QColor Isis::CubeViewport::p_bgColor
private

The color to paint the background of the viewport.

Definition at line 625 of file CubeViewport.h.

Referenced by CubeViewport(), paintPixmap(), setBackground(), and shiftPixmap().

◆ p_bluBrick

Brick* Isis::CubeViewport::p_bluBrick
private

Bricks for every color.

Definition at line 649 of file CubeViewport.h.

Referenced by CubeViewport(), and ~CubeViewport().

◆ p_blue

BandInfo Isis::CubeViewport::p_blue
private

Blue band info.

Definition at line 642 of file CubeViewport.h.

Referenced by blueBand(), bluePixel(), blueStretch(), paintPixmap(), setCaption(), stretchBlue(), stretchGray(), and viewRGB().

◆ p_blueBuffer

◆ p_camera

Camera* Isis::CubeViewport::p_camera
private

The camera from the cube.

Definition at line 628 of file CubeViewport.h.

Referenced by camera(), CubeViewport(), viewGray(), and viewRGB().

◆ p_color

bool Isis::CubeViewport::p_color
private

Is the viewport in color?

Definition at line 638 of file CubeViewport.h.

Referenced by CubeViewport(), getAllWhatsThisInfo(), isColor(), isGray(), setCaption(), updateWhatsThis(), viewGray(), and viewRGB().

◆ p_comboCount

int Isis::CubeViewport::p_comboCount
private

Number of elements in band bin combo box.

Definition at line 644 of file CubeViewport.h.

Referenced by comboCount(), CubeViewport(), and setComboCount().

◆ p_comboIndex

int Isis::CubeViewport::p_comboIndex
private

Current element chosen from combo box.

Definition at line 645 of file CubeViewport.h.

Referenced by comboIndex(), CubeViewport(), and setComboIndex().

◆ p_cube

◆ p_cubeData

CubeDataThread* Isis::CubeViewport::p_cubeData
private

Does all the cube I/O.

Definition at line 666 of file CubeViewport.h.

Referenced by cubeDataThread(), CubeViewport(), viewGray(), viewRGB(), and ~CubeViewport().

◆ p_cubeId

int Isis::CubeViewport::p_cubeId
private

Cube ID given from cube data thread for I/O.

Definition at line 667 of file CubeViewport.h.

Referenced by cubeDataChanged(), cubeID(), CubeViewport(), viewGray(), and viewRGB().

◆ p_cubeShown

bool Isis::CubeViewport::p_cubeShown
private

Is the cube visible?

Definition at line 653 of file CubeViewport.h.

Referenced by cubeShown(), CubeViewport(), and paintEvent().

◆ p_cubeWhatsThisText

QString Isis::CubeViewport::p_cubeWhatsThisText
private

The text for the cube's What's this.

Definition at line 659 of file CubeViewport.h.

Referenced by CubeViewport(), and updateWhatsThis().

◆ p_globalStretches

QVector< Stretch * >* Isis::CubeViewport::p_globalStretches
protected

Global stretches for each stretched band.

Definition at line 616 of file CubeViewport.h.

Referenced by CubeViewport(), stretchBlue(), stretchGray(), stretchGreen(), stretchKnownGlobal(), stretchRed(), and ~CubeViewport().

◆ p_gray

BandInfo Isis::CubeViewport::p_gray
private

Gray band info.

Definition at line 639 of file CubeViewport.h.

Referenced by grayBand(), grayPixel(), grayStretch(), setCaption(), stretchGray(), and viewGray().

◆ p_grayBuffer

◆ p_green

BandInfo Isis::CubeViewport::p_green
private

Green band info.

Definition at line 641 of file CubeViewport.h.

Referenced by greenBand(), greenPixel(), greenStretch(), paintPixmap(), setCaption(), stretchGray(), stretchGreen(), and viewRGB().

◆ p_greenBuffer

◆ p_grnBrick

Brick* Isis::CubeViewport::p_grnBrick
private

Bricks for every color.

Definition at line 648 of file CubeViewport.h.

Referenced by CubeViewport(), and ~CubeViewport().

◆ p_groundMap

UniversalGroundMap* Isis::CubeViewport::p_groundMap
private

The universal ground map from the cube.

Definition at line 630 of file CubeViewport.h.

Referenced by CubeViewport(), universalGroundMap(), and ~CubeViewport().

◆ p_gryBrick

Brick* Isis::CubeViewport::p_gryBrick
private

Bricks for every color.

Definition at line 650 of file CubeViewport.h.

Referenced by CubeViewport(), and ~CubeViewport().

◆ p_image

QImage* Isis::CubeViewport::p_image
private

The qimage.

Definition at line 654 of file CubeViewport.h.

Referenced by CubeViewport(), paintPixmap(), resizeEvent(), and ~CubeViewport().

◆ p_knownStretches

QVector< Stretch * >* Isis::CubeViewport::p_knownStretches
protected

Stretches for each previously stretched band.

Definition at line 613 of file CubeViewport.h.

Referenced by CubeViewport(), forgetStretches(), setAllBandStretches(), viewGray(), viewRGB(), and ~CubeViewport().

◆ p_paintPixmap

bool Isis::CubeViewport::p_paintPixmap
private

Paint the pixmap?

Definition at line 655 of file CubeViewport.h.

Referenced by CubeViewport(), paintPixmap(), resizeEvent(), setScale(), shiftPixmap(), and showEvent().

◆ p_pixmap

QPixmap Isis::CubeViewport::p_pixmap
protected

The qpixmap.

Definition at line 610 of file CubeViewport.h.

Referenced by Isis::MdiCubeViewport::paintEvent(), paintPixmap(), pixmap(), resizeEvent(), and shiftPixmap().

◆ p_pixmapPaintRects

QList< QRect * >* Isis::CubeViewport::p_pixmapPaintRects
private

A list of rects that the viewport buffers have requested painted.

Definition at line 664 of file CubeViewport.h.

Referenced by CubeViewport(), paintPixmap(), paintPixmapRects(), scrollContentsBy(), and ~CubeViewport().

◆ p_pntBrick

Brick* Isis::CubeViewport::p_pntBrick
private

Bricks for every color.

Definition at line 651 of file CubeViewport.h.

Referenced by bluePixel(), CubeViewport(), grayPixel(), greenPixel(), redPixel(), and ~CubeViewport().

◆ p_progressTimer

QTimer* Isis::CubeViewport::p_progressTimer
private

Activated to update progress bar.

Definition at line 634 of file CubeViewport.h.

Referenced by CubeViewport(), enableProgress(), onProgressTimer(), and ~CubeViewport().

◆ p_projection

Projection* Isis::CubeViewport::p_projection
private

The projection from the cube.

Definition at line 629 of file CubeViewport.h.

Referenced by CubeViewport(), and projection().

◆ p_red

BandInfo Isis::CubeViewport::p_red
private

Red band info.

Definition at line 640 of file CubeViewport.h.

Referenced by paintPixmap(), redBand(), redPixel(), redStretch(), setCaption(), stretchGray(), stretchRed(), and viewRGB().

◆ p_redBrick

Brick* Isis::CubeViewport::p_redBrick
private

Bricks for every color.

Definition at line 647 of file CubeViewport.h.

Referenced by CubeViewport(), and ~CubeViewport().

◆ p_redBuffer

◆ p_saveEnabled

bool Isis::CubeViewport::p_saveEnabled
private

Has the cube changed?

Definition at line 652 of file CubeViewport.h.

Referenced by confirmClose(), cubeChanged(), CubeViewport(), and setCaption().

◆ p_scale

double Isis::CubeViewport::p_scale
private

◆ p_thisOwnsCubeData

bool Isis::CubeViewport::p_thisOwnsCubeData
private

if true then this owns the CubeDataThread, and should thus delete it

Definition at line 673 of file CubeViewport.h.

Referenced by CubeViewport(), and ~CubeViewport().

◆ p_updatingBuffers

bool Isis::CubeViewport::p_updatingBuffers
private

Changing RGB and need to not repaint pixmap?

Definition at line 656 of file CubeViewport.h.

Referenced by center(), cubeContentsChanged(), cubeDataChanged(), CubeViewport(), paintPixmap(), resizeEvent(), scrollContentsBy(), and setScale().

◆ p_viewportWhatsThisText

QString Isis::CubeViewport::p_viewportWhatsThisText
private

The text for the viewport's what's this.

Definition at line 660 of file CubeViewport.h.

Referenced by resizeEvent(), and updateWhatsThis().

◆ p_whatsThisText

QString Isis::CubeViewport::p_whatsThisText
private

The text for What's this.

Definition at line 658 of file CubeViewport.h.

Referenced by CubeViewport(), and updateWhatsThis().


The documentation for this class was generated from the following files: