Isis 3 Programmer Reference
Isis::ViewportBuffer Class Reference

Reads and stores visible DN values. More...

#include <ViewportBuffer.h>

Inheritance diagram for Isis::ViewportBuffer:
Inheritance graph
Collaboration diagram for Isis::ViewportBuffer:
Collaboration graph

Public Slots

void DataReady (void *requester, int cubeId, const Isis::Brick *brick)
 This method is called when requested bricks become available.
 

Signals

void ReadCube (int cubeId, int startSample, int startLine, int endSample, int endLine, int band, void *caller)
 Ask the cube data thread for data.
 
void DoneWithData (int, const Isis::Brick *)
 Tell cube data thread we're done with a brick.
 

Public Member Functions

 ViewportBuffer (CubeViewport *viewport, CubeDataThread *cubeData, int cubeId)
 ViewportBuffer constructor.
 
virtual ~ViewportBuffer ()
 Updates total buffer size on destruction.
 
const std::vector< double > & getLine (int line)
 Retrieves a line from the buffer.
 
void resizedViewport ()
 Call this when the viewport is resized (not zoomed).
 
void pan (int deltaX, int deltaY)
 Call this when the viewport is panned.
 
void scaleChanged ()
 Call this when zoomed, re-reads visible area.
 
void fillBuffer (QRect rect)
 This method will convert the rect to sample/line positions and read from the cube into the buffer.
 
void fillBuffer (QRect rect, const Brick *data)
 This method will convert the rect to sample/line positions and read from the cube into the buffer.
 
void emptyBuffer (bool force=false)
 This is meant to clear up ram on non-active viewports.
 
QRect bufferXYRect ()
 Returns a rect, in screen pixels, of the area this buffer covers.
 
void setBand (int band)
 Sets the band to read from, the buffer will be re-read if the band changes.
 
int getBand ()
 Return the band associated with this viewport buffer.
 
void enable (bool enabled)
 This turns on or off reading from the cube.
 
void addStretchAction ()
 When all current operations finish the cube viewport will be asked to do a stretch if you call this.
 
double currentProgress ()
 Returns the viewport buffer's loading progress.
 
double totalUnfilledArea ()
 This returns the amount of area in the queue that needs new cube data/will be filled by fill actions.
 
bool enabled ()
 Returns whether the buffer is enabled (reading data) or not.
 
bool working ()
 This tests if queued actions exist in the viewport buffer.
 
bool hasEntireCube ()
 Method to see if the entire cube is in the buffer.
 

Private Types

enum  sampLineRectPosition { rectLeft = 0 , rectTop , rectRight , rectBottom }
 Enumeration for accessing sample/line bounding rectangles. More...
 

Private Member Functions

QRect getXYBoundingRect ()
 Retrieves the current bounding rect in viewport pixels of the visible cube area.
 
QList< double > getSampLineBoundingRect ()
 Retrieves the current bounding rect in sample/line coordinates of the visible cube area.
 
void updateBoundingRects ()
 Sets the old and new bounding rects.
 
void doQueuedActions ()
 This processes the next available action, or starts processing it, if possible.
 
void doTransformAction (ViewportBufferTransform *action)
 Does a transformation on the internal viewport buffer.
 
void doStretchAction (ViewportBufferStretch *action)
 Tells the cube viewport to restretch.
 
void startFillAction (ViewportBufferFill *action)
 Initializes a fill action by requesting the initial cube data.
 
ViewportBufferFillcreateViewportBufferFill (QRect, bool)
 This method creates a fill action based on a rect and using new versus old Y values.
 
void requestCubeLine (ViewportBufferFill *fill)
 This requests the next line in a fill action.
 
void resizeBuffer (unsigned int width, unsigned int height)
 Enlarges or shrinks the buffer and fills with nulls if necessary.
 
void shiftBuffer (int deltaX, int deltaY)
 Shifts the DN values in the buffer by deltaX and deltaY.
 
void reinitialize ()
 This resizes and fills entire buffer.
 
bool actionsPreserveData ()
 This returns true if any data currently in the buffer would be preserved if all of the queued actions are executed.
 
bool reinitializeActionExists ()
 This searches for actions that will reset the entire buffer's contents.
 
void enqueueAction (ViewportBufferAction *)
 This enqueues the given action.
 

Private Attributes

CubeViewportp_viewport
 The CubeViewport which created this buffer.
 
int p_cubeId
 Id associated with the cube in this viewport buffer.
 
CubeDataThreadp_dataThread
 manages cube io
 
int p_band
 The band to read from.
 
bool p_enabled
 True if reading from cube (active)
 
std::vector< std::vector< double > > p_buffer
 The buffer to hold cube dn values.
 
bool p_bufferInitialized
 True if the buffer has been initialized.
 
QRect p_XYBoundingRect
 This rect is in viewport pixels and represents the area that this viewport buffer defines in the viewport.
 
QRect p_oldXYBoundingRect
 The previous bounding rect.
 
QList< double > p_sampLineBoundingRect
 This rect is in cube pixels and represents the area that this viewport buffer defines in the viewport.
 
QList< double > p_oldSampLineBoundingRect
 Previous bounding rect.
 
int p_viewportHeight
 Current viewport height.
 
int p_oldViewportHeight
 Previous viewport height.
 
int p_vertScrollBarPos
 Current vertical scroll bar position.
 
int p_oldVertScrollBarPos
 Previous vertical scroll bar position.
 
bool p_initialStretchDone
 True if a stretch action has occurred.
 
double p_requestedFillArea
 Sum of the requested area to be filled.
 
QQueue< ViewportBufferAction * > * p_actions
 This is the set of actions we wish to perform on the buffer.
 
bool p_bricksOrdered
 

Detailed Description

Reads and stores visible DN values.

This class manages visible pixels in a CubeViewport. This class is responsible for reading from the Cube only what is necessary and gives fast access to visible DNs.

Author
2009-03-26 Steven Lambright and Noah Hilt
History

2009-04-21 Steven Lambright - Fixed problem with only half of the side pixels being loaded in

2010-04-08 Steven Lambright and Eric Hyer - Added support for using CubeDataThread for reads.

2010-05-11 Eric Hyer - Fixed issue with invalid bounding rects in resizedViewport()

2010-05-24 Eric Hyer - Fixed bug in previous bug fix (checks were in wrong order)

2010-07-12 Jeannie Walldren - Added exceptiona to help track errors.

2011-03-30 Sharmila Prasad - Edited to remove black line on the left and on top

2011-04-25 Steven Lambright - Fixed bounding rect calculations and fill action creation

2011-06-20 Steven Lambright - Fixed panning issue where panning beyond a full screen was a problem.

Definition at line 63 of file ViewportBuffer.h.

Member Enumeration Documentation

◆ sampLineRectPosition

Enumeration for accessing sample/line bounding rectangles.

Enumerator
rectLeft 

QRect.left()

rectTop 

QRect.top()

rectRight 

QRect.right()

rectBottom 

QRect.bottom()

Definition at line 188 of file ViewportBuffer.h.

Constructor & Destructor Documentation

◆ ViewportBuffer()

Isis::ViewportBuffer::ViewportBuffer ( CubeViewport * viewport,
CubeDataThread * cubeData,
int cubeId )

ViewportBuffer constructor.

Viewport and Cube can not be null. Band is not initialized

Parameters
viewportviewport that will use the buffer
cubeDatacube to read from
cubeIdThe identifier for the cube in the data thread

Definition at line 42 of file ViewportBuffer.cpp.

References DataReady(), DoneWithData(), p_actions, p_band, p_bufferInitialized, p_cubeId, p_dataThread, p_enabled, p_initialStretchDone, p_oldVertScrollBarPos, p_oldViewportHeight, p_requestedFillArea, p_vertScrollBarPos, p_viewport, p_viewportHeight, and ReadCube().

◆ ~ViewportBuffer()

Isis::ViewportBuffer::~ViewportBuffer ( )
virtual

Updates total buffer size on destruction.

Definition at line 78 of file ViewportBuffer.cpp.

References DataReady(), DoneWithData(), emptyBuffer(), p_actions, p_dataThread, and ReadCube().

Member Function Documentation

◆ actionsPreserveData()

bool Isis::ViewportBuffer::actionsPreserveData ( )
private

◆ addStretchAction()

void Isis::ViewportBuffer::addStretchAction ( )

When all current operations finish the cube viewport will be asked to do a stretch if you call this.

Existing requests will be removed.

Definition at line 1217 of file ViewportBuffer.cpp.

References doQueuedActions(), enqueueAction(), p_actions, and Isis::ViewportBufferAction::stretch.

Referenced by Isis::CubeViewport::showEvent(), Isis::CubeViewport::viewGray(), and Isis::CubeViewport::viewRGB().

◆ bufferXYRect()

QRect Isis::ViewportBuffer::bufferXYRect ( )

◆ createViewportBufferFill()

ViewportBufferFill * Isis::ViewportBuffer::createViewportBufferFill ( QRect someRect,
bool useOldY )
private

This method creates a fill action based on a rect and using new versus old Y values.

The use of old Y values is so we can think of X and Y independently in complicated transforms - do X first (with old Y values), then do Y. This does not enqueue the created action.

Parameters
someRect
useOldY
Returns
ViewportBufferFill*

Definition at line 493 of file ViewportBuffer.cpp.

References p_oldVertScrollBarPos, p_oldViewportHeight, p_oldXYBoundingRect, p_vertScrollBarPos, p_viewport, p_viewportHeight, p_XYBoundingRect, Isis::IException::Programmer, and Isis::CubeViewport::scale().

Referenced by fillBuffer(), fillBuffer(), pan(), reinitialize(), and resizedViewport().

◆ currentProgress()

double Isis::ViewportBuffer::currentProgress ( )

Returns the viewport buffer's loading progress.

Returns
0 to 1 where 1 is 100%

Definition at line 630 of file ViewportBuffer.cpp.

References p_requestedFillArea, totalUnfilledArea(), and working().

Referenced by Isis::CubeViewport::onProgressTimer().

◆ DataReady

◆ DoneWithData

void Isis::ViewportBuffer::DoneWithData ( int ,
const Isis::Brick *  )
signal

Tell cube data thread we're done with a brick.

Referenced by DataReady(), ViewportBuffer(), and ~ViewportBuffer().

◆ doQueuedActions()

void Isis::ViewportBuffer::doQueuedActions ( )
private

This processes the next available action, or starts processing it, if possible.

This method keeps the buffer alive until the actions queue is empty.

Any time the actions queue is modified this method should be called, it doesn't hurt to call this too much. A side effect of not calling this is qview never completing a read/displaying new pixels.

Definition at line 576 of file ViewportBuffer.cpp.

References actionsPreserveData(), Isis::CubeViewport::bufferUpdated(), bufferXYRect(), doStretchAction(), doTransformAction(), Isis::ViewportBufferAction::fill, p_actions, p_initialStretchDone, p_requestedFillArea, p_viewport, reinitialize(), reinitializeActionExists(), startFillAction(), Isis::ViewportBufferAction::transform, and working().

Referenced by addStretchAction(), DataReady(), fillBuffer(), pan(), reinitialize(), and resizedViewport().

◆ doStretchAction()

void Isis::ViewportBuffer::doStretchAction ( ViewportBufferStretch * action)
private

Tells the cube viewport to restretch.

Parameters
action

Definition at line 811 of file ViewportBuffer.cpp.

References p_actions, p_viewport, and Isis::CubeViewport::restretch().

Referenced by doQueuedActions().

◆ doTransformAction()

void Isis::ViewportBuffer::doTransformAction ( ViewportBufferTransform * action)
private

Does a transformation on the internal viewport buffer.

Parameters
action

Definition at line 766 of file ViewportBuffer.cpp.

References p_actions, resizeBuffer(), and shiftBuffer().

Referenced by doQueuedActions().

◆ emptyBuffer()

void Isis::ViewportBuffer::emptyBuffer ( bool force = false)

This is meant to clear up ram on non-active viewports.

cubeViewport is supposed to call this method on viewports buffers that are not related to the active viewport.

Parameters
forceIf true, memory will be freed regardless of current total buffer size (b/w -> rgb for example).

Definition at line 1238 of file ViewportBuffer.cpp.

References p_buffer, and p_bufferInitialized.

Referenced by ~ViewportBuffer().

◆ enable()

void Isis::ViewportBuffer::enable ( bool enabled)

This turns on or off reading from the cube.

If enabled is true the buffer will be re-read.

Parameters
enabled

Definition at line 1299 of file ViewportBuffer.cpp.

References enabled(), p_enabled, reinitialize(), and updateBoundingRects().

Referenced by Isis::CubeViewport::CubeViewport(), Isis::CubeViewport::setScale(), and Isis::CubeViewport::showEvent().

◆ enabled()

bool Isis::ViewportBuffer::enabled ( )
inline

Returns whether the buffer is enabled (reading data) or not.

Returns
bool

Definition at line 105 of file ViewportBuffer.h.

References p_enabled.

Referenced by enable(), Isis::CubeViewport::paintPixmap(), Isis::CubeViewport::setScale(), and Isis::CubeViewport::showEvent().

◆ enqueueAction()

void Isis::ViewportBuffer::enqueueAction ( ViewportBufferAction * action)
private

This enqueues the given action.

Please use this and don't put actions directly into p_actions. Calling this method can be thought of as equivalent to calling "p_actions->push_back(action)"

Parameters
action

Definition at line 317 of file ViewportBuffer.cpp.

References Isis::CubeViewport::enableProgress(), Isis::ViewportBufferAction::fill, p_actions, p_requestedFillArea, and p_viewport.

Referenced by addStretchAction(), fillBuffer(), pan(), reinitialize(), and resizedViewport().

◆ fillBuffer() [1/2]

void Isis::ViewportBuffer::fillBuffer ( QRect rect)

This method will convert the rect to sample/line positions and read from the cube into the buffer.

The rect is in viewport pixels.

Parameters
rect

Definition at line 112 of file ViewportBuffer.cpp.

References bufferXYRect(), createViewportBufferFill(), doQueuedActions(), enqueueAction(), p_band, and Isis::IException::Programmer.

Referenced by Isis::CubeViewport::cubeContentsChanged(), and Isis::CubeViewport::cubeDataChanged().

◆ fillBuffer() [2/2]

◆ getBand()

int Isis::ViewportBuffer::getBand ( )
inline

Return the band associated with this viewport buffer.

Definition at line 88 of file ViewportBuffer.h.

References p_band.

Referenced by Isis::CubeViewport::getAllWhatsThisInfo(), Isis::CubeViewport::updateWhatsThis(), Isis::CubeViewport::viewGray(), and Isis::CubeViewport::viewRGB().

◆ getLine()

const vector< double > & Isis::ViewportBuffer::getLine ( int line)

Retrieves a line from the buffer.

Line is relative to the top of the visible area of the cube in the viewport.

Parameters
line
Returns
const vector<double> &

Definition at line 339 of file ViewportBuffer.cpp.

References p_buffer, p_bufferInitialized, p_enabled, and Isis::IException::Programmer.

Referenced by Isis::StretchTool::histFromBuffer(), Isis::ScatterPlotWindow::paint(), Isis::CubeViewport::paintPixmap(), and Isis::StretchTool::statsFromBuffer().

◆ getSampLineBoundingRect()

QList< double > Isis::ViewportBuffer::getSampLineBoundingRect ( )
private

Retrieves the current bounding rect in sample/line coordinates of the visible cube area.

Returns
QList<double>

Definition at line 444 of file ViewportBuffer.cpp.

References getXYBoundingRect(), p_viewport, rectBottom, rectLeft, rectRight, rectTop, and Isis::CubeViewport::viewportToCube().

Referenced by updateBoundingRects().

◆ getXYBoundingRect()

QRect Isis::ViewportBuffer::getXYBoundingRect ( )
private

Retrieves the current bounding rect in viewport pixels of the visible cube area.

Returns
QRect

Definition at line 361 of file ViewportBuffer.cpp.

References Isis::CubeViewport::cubeLines(), Isis::CubeViewport::cubeSamples(), Isis::CubeViewport::cubeToViewport(), p_viewport, and Isis::CubeViewport::viewportToCube().

Referenced by getSampLineBoundingRect(), and updateBoundingRects().

◆ hasEntireCube()

bool Isis::ViewportBuffer::hasEntireCube ( )

Method to see if the entire cube is in the buffer.

Returns
bool

Definition at line 420 of file ViewportBuffer.cpp.

References Isis::CubeViewport::cubeLines(), Isis::CubeViewport::cubeSamples(), p_sampLineBoundingRect, p_viewport, rectBottom, rectLeft, rectRight, rectTop, and working().

◆ pan()

◆ ReadCube

void Isis::ViewportBuffer::ReadCube ( int cubeId,
int startSample,
int startLine,
int endSample,
int endLine,
int band,
void * caller )
signal

Ask the cube data thread for data.

Parameters
cubeId
startSample
startLine
endSample
endLine
band
caller

Referenced by requestCubeLine(), ViewportBuffer(), and ~ViewportBuffer().

◆ reinitialize()

void Isis::ViewportBuffer::reinitialize ( )
private

◆ reinitializeActionExists()

bool Isis::ViewportBuffer::reinitializeActionExists ( )
private

This searches for actions that will reset the entire buffer's contents.

Returns
bool True if a transform to size 0,0 exists

Definition at line 727 of file ViewportBuffer.cpp.

References bufferXYRect(), Isis::ViewportBufferTransform::getBufferHeight(), Isis::ViewportBufferTransform::getBufferWidth(), p_actions, and Isis::ViewportBufferAction::transform.

Referenced by doQueuedActions().

◆ requestCubeLine()

◆ resizeBuffer()

void Isis::ViewportBuffer::resizeBuffer ( unsigned int width,
unsigned int height )
private

Enlarges or shrinks the buffer and fills with nulls if necessary.

Parameters
width
height

Definition at line 826 of file ViewportBuffer.cpp.

References Isis::Null, and p_buffer.

Referenced by doTransformAction().

◆ resizedViewport()

◆ scaleChanged()

void Isis::ViewportBuffer::scaleChanged ( )

Call this when zoomed, re-reads visible area.

Exceptions
iException- "Unable to change scale"
History
2010-07-12 Jeannie Walldren - Added exception to help track errors.

Definition at line 1278 of file ViewportBuffer.cpp.

References p_enabled, Isis::IException::Programmer, reinitialize(), and updateBoundingRects().

Referenced by Isis::CubeViewport::setScale().

◆ setBand()

void Isis::ViewportBuffer::setBand ( int band)

Sets the band to read from, the buffer will be re-read if the band changes.

Parameters
band

Definition at line 1316 of file ViewportBuffer.cpp.

References p_band, p_enabled, reinitialize(), and updateBoundingRects().

Referenced by Isis::CubeViewport::CubeViewport(), Isis::CubeViewport::viewGray(), and Isis::CubeViewport::viewRGB().

◆ shiftBuffer()

void Isis::ViewportBuffer::shiftBuffer ( int deltaX,
int deltaY )
private

Shifts the DN values in the buffer by deltaX and deltaY.

Does not fill from outside the buffer.

Parameters
deltaX
deltaY

Definition at line 842 of file ViewportBuffer.cpp.

References Isis::Null, and p_buffer.

Referenced by doTransformAction().

◆ startFillAction()

void Isis::ViewportBuffer::startFillAction ( ViewportBufferFill * action)
private

Initializes a fill action by requesting the initial cube data.

Parameters
action

Definition at line 792 of file ViewportBuffer.cpp.

References requestCubeLine().

Referenced by doQueuedActions().

◆ totalUnfilledArea()

double Isis::ViewportBuffer::totalUnfilledArea ( )

This returns the amount of area in the queue that needs new cube data/will be filled by fill actions.

Returns
double

Definition at line 646 of file ViewportBuffer.cpp.

References Isis::ViewportBufferAction::fill, Isis::ViewportBufferFill::getReadPosition(), Isis::ViewportBufferFill::getRect(), and p_actions.

Referenced by currentProgress().

◆ updateBoundingRects()

void Isis::ViewportBuffer::updateBoundingRects ( )
private

◆ working()

Member Data Documentation

◆ p_actions

QQueue< ViewportBufferAction * >* Isis::ViewportBuffer::p_actions
private

This is the set of actions we wish to perform on the buffer.

This is queued because we need to wait for other threads to give us cube data before we progress through the queue.

Definition at line 200 of file ViewportBuffer.h.

Referenced by actionsPreserveData(), addStretchAction(), DataReady(), doQueuedActions(), doStretchAction(), doTransformAction(), enqueueAction(), reinitialize(), reinitializeActionExists(), totalUnfilledArea(), ViewportBuffer(), working(), and ~ViewportBuffer().

◆ p_band

int Isis::ViewportBuffer::p_band
private

The band to read from.

Definition at line 157 of file ViewportBuffer.h.

Referenced by fillBuffer(), fillBuffer(), getBand(), requestCubeLine(), setBand(), and ViewportBuffer().

◆ p_bricksOrdered

bool Isis::ViewportBuffer::p_bricksOrdered
private

Definition at line 202 of file ViewportBuffer.h.

◆ p_buffer

std::vector< std::vector<double> > Isis::ViewportBuffer::p_buffer
private

The buffer to hold cube dn values.

Definition at line 160 of file ViewportBuffer.h.

Referenced by bufferXYRect(), DataReady(), emptyBuffer(), fillBuffer(), getLine(), resizeBuffer(), and shiftBuffer().

◆ p_bufferInitialized

bool Isis::ViewportBuffer::p_bufferInitialized
private

True if the buffer has been initialized.

Definition at line 161 of file ViewportBuffer.h.

Referenced by emptyBuffer(), getLine(), pan(), reinitialize(), resizedViewport(), ViewportBuffer(), and working().

◆ p_cubeId

int Isis::ViewportBuffer::p_cubeId
private

Id associated with the cube in this viewport buffer.

Definition at line 154 of file ViewportBuffer.h.

Referenced by requestCubeLine(), and ViewportBuffer().

◆ p_dataThread

CubeDataThread* Isis::ViewportBuffer::p_dataThread
private

manages cube io

Definition at line 155 of file ViewportBuffer.h.

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

◆ p_enabled

bool Isis::ViewportBuffer::p_enabled
private

True if reading from cube (active)

Definition at line 159 of file ViewportBuffer.h.

Referenced by enable(), enabled(), getLine(), pan(), resizedViewport(), scaleChanged(), setBand(), ViewportBuffer(), and working().

◆ p_initialStretchDone

bool Isis::ViewportBuffer::p_initialStretchDone
private

True if a stretch action has occurred.

Definition at line 182 of file ViewportBuffer.h.

Referenced by doQueuedActions(), reinitialize(), and ViewportBuffer().

◆ p_oldSampLineBoundingRect

QList< double > Isis::ViewportBuffer::p_oldSampLineBoundingRect
private

Previous bounding rect.

Definition at line 177 of file ViewportBuffer.h.

Referenced by pan(), resizedViewport(), and updateBoundingRects().

◆ p_oldVertScrollBarPos

int Isis::ViewportBuffer::p_oldVertScrollBarPos
private

Previous vertical scroll bar position.

Definition at line 181 of file ViewportBuffer.h.

Referenced by createViewportBufferFill(), updateBoundingRects(), and ViewportBuffer().

◆ p_oldViewportHeight

int Isis::ViewportBuffer::p_oldViewportHeight
private

Previous viewport height.

Definition at line 179 of file ViewportBuffer.h.

Referenced by createViewportBufferFill(), updateBoundingRects(), and ViewportBuffer().

◆ p_oldXYBoundingRect

QRect Isis::ViewportBuffer::p_oldXYBoundingRect
private

The previous bounding rect.

Definition at line 168 of file ViewportBuffer.h.

Referenced by createViewportBufferFill(), pan(), resizedViewport(), and updateBoundingRects().

◆ p_requestedFillArea

double Isis::ViewportBuffer::p_requestedFillArea
private

Sum of the requested area to be filled.

Definition at line 183 of file ViewportBuffer.h.

Referenced by currentProgress(), doQueuedActions(), enqueueAction(), reinitialize(), and ViewportBuffer().

◆ p_sampLineBoundingRect

QList< double > Isis::ViewportBuffer::p_sampLineBoundingRect
private

This rect is in cube pixels and represents the area that this viewport buffer defines in the viewport.

To get a particular corner use the sampLineRectPosition enumeration as indices for a particular corner.

Definition at line 176 of file ViewportBuffer.h.

Referenced by hasEntireCube(), pan(), resizedViewport(), and updateBoundingRects().

◆ p_vertScrollBarPos

int Isis::ViewportBuffer::p_vertScrollBarPos
private

Current vertical scroll bar position.

Definition at line 180 of file ViewportBuffer.h.

Referenced by createViewportBufferFill(), updateBoundingRects(), and ViewportBuffer().

◆ p_viewport

◆ p_viewportHeight

int Isis::ViewportBuffer::p_viewportHeight
private

Current viewport height.

Definition at line 178 of file ViewportBuffer.h.

Referenced by createViewportBufferFill(), updateBoundingRects(), and ViewportBuffer().

◆ p_XYBoundingRect

QRect Isis::ViewportBuffer::p_XYBoundingRect
private

This rect is in viewport pixels and represents the area that this viewport buffer defines in the viewport.

Definition at line 167 of file ViewportBuffer.h.

Referenced by bufferXYRect(), createViewportBufferFill(), pan(), reinitialize(), resizedViewport(), and updateBoundingRects().


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