casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes
casa::PlotAxesStack Class Reference

A PlotAxesStack is basically a list of PlotRegions as well as axis information that provides stack functionality such as a current index, and moving up and down the stack. More...

#include <PlotOptions.h>

List of all members.

Public Member Functions

 PlotAxesStack (int lengthLimit=-1)
 Constructor for empty stack.
 ~PlotAxesStack ()
 Destructor.
int lengthLimit () const
 Gets/Sets the length limit on this stack.
void setLengthLimit (int lengthLimit)
void clearLengthLimit ()
bool isValid () const
 Returns whether the stack is valid (has size > 0) or not.
unsigned int stackIndex () const
 Returns the current stack index.
unsigned int size () const
 Returns the stack size.
vector< PlotRegionstack () const
 Returns a copy of the stack.
vector< pair< PlotAxis,
PlotAxis > > 
stackAxes () const
 Returns a copy of the stack axes.
void setBase (const PlotRegion &base, PlotAxis xAxis, PlotAxis yAxis)
 Resets the stack and sets the stack base to the given.
void addRegion (const PlotRegion &region, PlotAxis xAxis, PlotAxis yAxis)
 Adds the given region to the stack.
void clearStack (bool keepBase=false)
 Clears the stack, including the base if keepBase is false.
PlotRegion currentRegion () const
 Returns the current region in the stack.
PlotAxis currentXAxis () const
 Returns the x-axis for the current region in the stack.
PlotAxis currentYAxis () const
 Returns the y-axis for the current region in the stack.
void move (int delta)
 Moves the stack index the given delta.
PlotRegion moveAndReturn (int delta)
 Moves the stack index the given delta (see move()) and returns the current region.

Private Member Functions

void shrinkStacks (unsigned int n)
 Shrinks the region and axes stack to the given size, discarding the oldest UNLESS the stack index is in the elements to be discarded.

Private Attributes

int m_lengthLimit
 Length limit.
vector< PlotRegionm_stack
 Region stack.
vector< pair< PlotAxis,
PlotAxis > > 
m_axes
 Axes stack.
unsigned int m_stackIndex
 Stack index.

Detailed Description

A PlotAxesStack is basically a list of PlotRegions as well as axis information that provides stack functionality such as a current index, and moving up and down the stack.

A valid stack has a "base" followed by zero or more PlotRegions. A stack can optionally have a limit on its length; adding to the stack after it reaches its length will remove the oldest members after the base. The smallest value this limit can be is 2, (base + 1 value).

Definition at line 717 of file PlotOptions.h.


Constructor & Destructor Documentation

casa::PlotAxesStack::PlotAxesStack ( int  lengthLimit = -1)

Constructor for empty stack.

Length limits with values <= 1 mean no limit.

Destructor.


Member Function Documentation

void casa::PlotAxesStack::addRegion ( const PlotRegion region,
PlotAxis  xAxis,
PlotAxis  yAxis 
)

Adds the given region to the stack.

Definition at line 731 of file PlotOptions.h.

void casa::PlotAxesStack::clearStack ( bool  keepBase = false)

Clears the stack, including the base if keepBase is false.

Returns the current region in the stack.

Returns the x-axis for the current region in the stack.

Returns the y-axis for the current region in the stack.

Returns whether the stack is valid (has size > 0) or not.

Gets/Sets the length limit on this stack.

Values <= 1 mean no limit.

void casa::PlotAxesStack::move ( int  delta)

Moves the stack index the given delta.

If delta is negative, the index goes backwards; if delta is positive, the index goes forward. If delta is zero, the index goes to the base.

Moves the stack index the given delta (see move()) and returns the current region.

void casa::PlotAxesStack::setBase ( const PlotRegion base,
PlotAxis  xAxis,
PlotAxis  yAxis 
)

Resets the stack and sets the stack base to the given.

void casa::PlotAxesStack::setLengthLimit ( int  lengthLimit)
void casa::PlotAxesStack::shrinkStacks ( unsigned int  n) [private]

Shrinks the region and axes stack to the given size, discarding the oldest UNLESS the stack index is in the elements to be discarded.

In this case, the element referenced by the index is also kept.

unsigned int casa::PlotAxesStack::size ( ) const

Returns the stack size.

Returns a copy of the stack.

Returns a copy of the stack axes.

The first item is for x, the second for y.

unsigned int casa::PlotAxesStack::stackIndex ( ) const

Returns the current stack index.


Member Data Documentation

vector<pair<PlotAxis, PlotAxis> > casa::PlotAxesStack::m_axes [private]

Axes stack.

Definition at line 785 of file PlotOptions.h.

Length limit.

Definition at line 779 of file PlotOptions.h.

Region stack.

Definition at line 782 of file PlotOptions.h.

unsigned int casa::PlotAxesStack::m_stackIndex [private]

Stack index.

Definition at line 788 of file PlotOptions.h.


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