casa::PlotAxesStack Class Reference

#include <PlotOptions.h>

List of all members.


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 699 of file PlotOptions.h.

Public Member Functions

 PlotAxesStack (int lengthLimit=-1)
 Constructor for empty stack.
 ~PlotAxesStack ()
 Destructor.
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.
int lengthLimit () const
 Gets/Sets the length limit on this stack.
void setLengthLimit (int lengthLimit)
void clearLengthLimit ()

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.


Constructor & Destructor Documentation

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

Constructor for empty stack.

Length limits with values <= 1 mean no limit.

casa::PlotAxesStack::~PlotAxesStack (  ) 

Destructor.


Member Function Documentation

int casa::PlotAxesStack::lengthLimit (  )  const

Gets/Sets the length limit on this stack.

Values <= 1 mean no limit.

void casa::PlotAxesStack::setLengthLimit ( int  lengthLimit  ) 

Referenced by clearLengthLimit().

void casa::PlotAxesStack::clearLengthLimit (  )  [inline]

Definition at line 713 of file PlotOptions.h.

References setLengthLimit().

bool casa::PlotAxesStack::isValid (  )  const

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

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

Returns the current stack index.

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

Returns the stack size.

vector<PlotRegion> casa::PlotAxesStack::stack (  )  const

Returns a copy of the stack.

vector<pair<PlotAxis, PlotAxis> > casa::PlotAxesStack::stackAxes (  )  const

Returns a copy of the stack axes.

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

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::addRegion ( const PlotRegion region,
PlotAxis  xAxis,
PlotAxis  yAxis 
)

Adds the given region to the stack.

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

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

PlotRegion casa::PlotAxesStack::currentRegion (  )  const

Returns the current region in the stack.

PlotAxis casa::PlotAxesStack::currentXAxis (  )  const

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

PlotAxis casa::PlotAxesStack::currentYAxis (  )  const

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

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.

PlotRegion casa::PlotAxesStack::moveAndReturn ( int  delta  ) 

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

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.


Member Data Documentation

int casa::PlotAxesStack::m_lengthLimit [private]

Length limit.

Definition at line 761 of file PlotOptions.h.

vector<PlotRegion> casa::PlotAxesStack::m_stack [private]

Region stack.

Definition at line 764 of file PlotOptions.h.

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

Axes stack.

Definition at line 767 of file PlotOptions.h.

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

Stack index.

Definition at line 770 of file PlotOptions.h.


The documentation for this class was generated from the following file:
Generated on Thu Aug 27 21:28:36 2009 for NRAOCASA by  doxygen 1.5.1