USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::ViewportBufferFill Class Reference

#include <ViewportBufferFill.h>

Inheritance diagram for Isis::ViewportBufferFill:
Collaboration diagram for Isis::ViewportBufferFill:

List of all members.

Public Types

enum  ActionType { none, transform, fill, stretch }
 This uniquely identifies which child is instantiated. More...

Public Member Functions

 ViewportBufferFill (const QRect &rect, const int &xCoef, const double &xScale, const int &yCoef, const double &yScale, const QPoint &topLeftPixel)
 Constructor.
 ~ViewportBufferFill ()
 Destructor.
virtual
ViewportBufferAction::ActionType 
getActionType ()
 Returns the type of this class.
double viewportToSample (int x)
 Converts screen x position to cube sample position.
double viewportToLine (int y)
 Converts screen y position to cube line position.
int getRequestPosition () const
 Returns the current request position (>= read position)
int getReadPosition () const
 Returns the current read position.
void incReadPosition ()
 Increment read position.
void incRequestPosition ()
 Increment request position.
QRect * getRect ()
 Returns the rect that this action is filling in screen pixels.
int getTopmostPixelPosition ()
 Returns the top of the X/Y bounding rect for this fill.
int getLeftmostPixelPosition ()
 Returns the left of the X/Y bounding rect for this fill.
bool doneReading ()
 Returns true if read position is past the end of the fill.
bool shouldRequestMore ()
 Returns true if request position is past the end of the fill.
bool shouldPaint (int &linesToPaint)
 Returns true if it is recommended to paint the fill area so far.
void stop ()
 Cancels the current operation.
bool started ()
 Returns true if this is an action that takes time and has begun.
void started (bool started)
 Sets started.

Private Attributes

unsigned int p_readPosition
 Position of the cube reads.
unsigned int p_requestPosition
 Position of the cube requests.
QRect * p_rect
 Rect this fill represents.
QPoint * p_topLeftPixel
 Top left of the viewport for this fill.
int p_xCoef
 viewport to sample/line x coef
double p_xScale
 viewport to sample/line x scalar
int p_yCoef
 viewport to sample/line y coef
double p_yScale
 viewport to sample/line y scalar

Static Private Attributes

static const int STEPSIZE = 20
 how many cube lines per paint if painting inbetween gets re-enabled

Detailed Description

Author:
????-??-?? Unknown
History:
2011-04-25 Steven Lambright Fixed a problem where 1 too few lines were being read

Definition at line 17 of file ViewportBufferFill.h.


Member Enumeration Documentation

This uniquely identifies which child is instantiated.

Enumerator:
none 

Parent was instantiated.

transform 

ViewportBufferTransform.

fill 

ViewportBufferFill.

stretch 

ViewportBufferStretch.

Definition at line 19 of file ViewportBufferAction.h.


Constructor & Destructor Documentation

Isis::ViewportBufferFill::ViewportBufferFill ( const QRect &  rect,
const int &  xCoef,
const double &  xScale,
const int &  yCoef,
const double &  yScale,
const QPoint &  topLeftPixel 
)

Constructor.

Parameters:
rect
xCoef
xScale
yCoef
yScale
topLeftPixel

Definition at line 23 of file ViewportBufferFill.cpp.

References p_readPosition, p_rect, p_requestPosition, p_topLeftPixel, p_xCoef, p_xScale, p_yCoef, and p_yScale.

Isis::ViewportBufferFill::~ViewportBufferFill ( )

Destructor.

Definition at line 43 of file ViewportBufferFill.cpp.

References p_rect, and p_topLeftPixel.


Member Function Documentation

bool Isis::ViewportBufferFill::doneReading ( )

Returns true if read position is past the end of the fill.

Returns:
bool

Definition at line 80 of file ViewportBufferFill.cpp.

References p_readPosition, and p_rect.

Referenced by Isis::ViewportBuffer::DataReady(), and shouldPaint().

virtual ViewportBufferAction::ActionType Isis::ViewportBufferFill::getActionType ( ) [inline, virtual]

Returns the type of this class.

Returns:
ViewportBufferAction::ActionType

Reimplemented from Isis::ViewportBufferAction.

Definition at line 30 of file ViewportBufferFill.h.

References Isis::ViewportBufferAction::fill.

int Isis::ViewportBufferFill::getLeftmostPixelPosition ( )

Returns the left of the X/Y bounding rect for this fill.

Returns:
int

Definition at line 70 of file ViewportBufferFill.cpp.

References p_topLeftPixel.

Referenced by Isis::ViewportBuffer::DataReady(), and Isis::ViewportBuffer::fillBuffer().

int Isis::ViewportBufferFill::getReadPosition ( ) const [inline]

Returns the current read position.

Returns:
int

Definition at line 70 of file ViewportBufferFill.h.

References p_readPosition.

Referenced by Isis::ViewportBuffer::DataReady(), and Isis::ViewportBuffer::totalUnfilledArea().

QRect* Isis::ViewportBufferFill::getRect ( ) [inline]

Returns the rect that this action is filling in screen pixels.

Returns:
QRect*

Definition at line 89 of file ViewportBufferFill.h.

References p_rect.

Referenced by Isis::ViewportBuffer::DataReady(), Isis::ViewportBuffer::reinitialize(), Isis::ViewportBuffer::requestCubeLine(), and Isis::ViewportBuffer::totalUnfilledArea().

int Isis::ViewportBufferFill::getRequestPosition ( ) const [inline]

Returns the current request position (>= read position)

Returns:
int

Definition at line 61 of file ViewportBufferFill.h.

References p_requestPosition.

Referenced by Isis::ViewportBuffer::fillBuffer(), and Isis::ViewportBuffer::requestCubeLine().

int Isis::ViewportBufferFill::getTopmostPixelPosition ( )

Returns the top of the X/Y bounding rect for this fill.

Returns:
int

Definition at line 60 of file ViewportBufferFill.cpp.

References p_topLeftPixel.

Referenced by Isis::ViewportBuffer::DataReady(), and Isis::ViewportBuffer::fillBuffer().

void Isis::ViewportBufferFill::incReadPosition ( ) [inline]

Increment read position.

Definition at line 75 of file ViewportBufferFill.h.

References p_readPosition.

Referenced by Isis::ViewportBuffer::DataReady(), and Isis::ViewportBuffer::fillBuffer().

void Isis::ViewportBufferFill::incRequestPosition ( ) [inline]

Increment request position.

Definition at line 80 of file ViewportBufferFill.h.

References p_requestPosition.

Referenced by Isis::ViewportBuffer::fillBuffer(), and Isis::ViewportBuffer::requestCubeLine().

bool Isis::ViewportBufferFill::shouldPaint ( int &  linesToPaint)

Returns true if it is recommended to paint the fill area so far.

Parameters:
linesToPaint
Returns:
bool

Definition at line 111 of file ViewportBufferFill.cpp.

References doneReading(), p_readPosition, p_rect, and STEPSIZE.

bool Isis::ViewportBufferFill::shouldRequestMore ( )

Returns true if request position is past the end of the fill.

Returns:
bool

Definition at line 90 of file ViewportBufferFill.cpp.

References p_rect, and p_requestPosition.

Referenced by Isis::ViewportBuffer::DataReady(), Isis::ViewportBuffer::fillBuffer(), and Isis::ViewportBuffer::startFillAction().

bool Isis::ViewportBufferAction::started ( ) [inline, inherited]
void Isis::ViewportBufferAction::started ( bool  started) [inline, inherited]

Sets started.

Parameters:
startedTrue if starting

Definition at line 41 of file ViewportBufferAction.h.

References Isis::ViewportBufferAction::p_started, and Isis::ViewportBufferAction::started().

void Isis::ViewportBufferFill::stop ( ) [virtual]

Cancels the current operation.

Stops filling ASAP.

Reimplemented from Isis::ViewportBufferAction.

Definition at line 98 of file ViewportBufferFill.cpp.

References p_rect, and p_requestPosition.

Referenced by Isis::ViewportBuffer::reinitialize().

double Isis::ViewportBufferFill::viewportToLine ( int  y) [inline]

Converts screen y position to cube line position.

Parameters:
y
Returns:
double

Definition at line 52 of file ViewportBufferFill.h.

References p_yCoef, and p_yScale.

Referenced by Isis::ViewportBuffer::DataReady(), Isis::ViewportBuffer::fillBuffer(), and Isis::ViewportBuffer::requestCubeLine().

double Isis::ViewportBufferFill::viewportToSample ( int  x) [inline]

Converts screen x position to cube sample position.

Parameters:
x
Returns:
double

Definition at line 41 of file ViewportBufferFill.h.

References p_xCoef, and p_xScale.

Referenced by Isis::ViewportBuffer::DataReady(), Isis::ViewportBuffer::fillBuffer(), and Isis::ViewportBuffer::requestCubeLine().


Member Data Documentation

Position of the cube reads.

Definition at line 105 of file ViewportBufferFill.h.

Referenced by doneReading(), getReadPosition(), incReadPosition(), shouldPaint(), and ViewportBufferFill().

Rect this fill represents.

Definition at line 109 of file ViewportBufferFill.h.

Referenced by doneReading(), getRect(), shouldPaint(), shouldRequestMore(), stop(), ViewportBufferFill(), and ~ViewportBufferFill().

Position of the cube requests.

Definition at line 107 of file ViewportBufferFill.h.

Referenced by getRequestPosition(), incRequestPosition(), shouldRequestMore(), stop(), and ViewportBufferFill().

Top left of the viewport for this fill.

Definition at line 111 of file ViewportBufferFill.h.

Referenced by getLeftmostPixelPosition(), getTopmostPixelPosition(), ViewportBufferFill(), and ~ViewportBufferFill().

viewport to sample/line x coef

Definition at line 113 of file ViewportBufferFill.h.

Referenced by ViewportBufferFill(), and viewportToSample().

viewport to sample/line x scalar

Definition at line 115 of file ViewportBufferFill.h.

Referenced by ViewportBufferFill(), and viewportToSample().

viewport to sample/line y coef

Definition at line 117 of file ViewportBufferFill.h.

Referenced by ViewportBufferFill(), and viewportToLine().

viewport to sample/line y scalar

Definition at line 119 of file ViewportBufferFill.h.

Referenced by ViewportBufferFill(), and viewportToLine().

const int Isis::ViewportBufferFill::STEPSIZE = 20 [static, private]

how many cube lines per paint if painting inbetween gets re-enabled

Definition at line 122 of file ViewportBufferFill.h.

Referenced by shouldPaint().


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