casa
$Rev:20696$
|
Class to draw a raster image of a slice of an AIPS++ Lattice. More...
#include <LatticePADMRaster.h>
Public Member Functions | |
LatticePADMRaster (const uInt xAxis, const uInt yAxis, const uInt mAxis, const IPosition fixedPos, LatticePADisplayData< T > *arDat) | |
Constructors: >2d and 2d. | |
LatticePADMRaster (const uInt xAxis, const uInt yAxis, LatticePADisplayData< T > *arDat) | |
virtual | ~LatticePADMRaster () |
Destructor. | |
virtual Bool | dataRedrawSelf (WorldCanvas *, Display::RefreshReason) |
Invoke (much more rapid) redraw of previous color-index rendering if applicable (i.e., only during colormap 'fiddling' -- ColorTableChange refresh). | |
virtual uInt | dataDrawSelf (WorldCanvas *wCanvas, const Vector< Double > &blc, const Vector< Double > &trc, const IPosition &start, const IPosition &shape, const IPosition &stride, const Bool usePixelEdges=False) |
Actually draw on the display device. |
Class to draw a raster image of a slice of an AIPS++ Lattice.
Internal
The purpose of this class is to draw "raster" images of data that is "lattice"-based. The "PADM" refers to PrincipalAxesDisplayMethod, meaning that one or more instances of this class are used to actually draw slices of a Lattice along its main axes.
This is a helper class for the LatticeAsRaster class. One or more instances of this class are created by a single LatticeAsRaster object, each being responsible for drawing a different slice of the data.
This class should only be used by the LatticeAsRaster class to setup a number of views of an AIPS++ Image or Array. As such, this example simply outlines how this class is used by LatticeAsRaster, in, for example, a support function for a constructor:
template <class T> void LatticeAsRaster<T>::setupElements(IPosition fixedPos) { if (nPixelAxes > 2) { nImages = dataLattice()->shape()(zAxisNum); DDelement.resize(nImages); for (uInt index = 0; index < nImages; index++) { fixedPos(zAxisNum) = index; DDelement[index] = (LatticePADisplayMethod<T> *)new LatticePADMRaster<T>(dataLattice(), xAxisNum, yAxisNum, zAxisNum, fixedPos, this); } } else { nImages = 1; DDelement.resize(nImages); DDelement[0] = (LatticePADisplayMethod<T> *)new LatticePADMRaster<T>(dataLattice(), xAxisNum, yAxisNum, this); } }
Displaying 2-dimensional slices of a lattice-based data volume is a standard display requirement for astronomical data visualization and presentation.
Definition at line 115 of file LatticePADMRaster.h.
casa::LatticePADMRaster< T >::LatticePADMRaster | ( | const uInt | xAxis, |
const uInt | yAxis, | ||
const uInt | mAxis, | ||
const IPosition | fixedPos, | ||
LatticePADisplayData< T > * | arDat | ||
) |
Constructors: >2d and 2d.
xAxis and yAxis specify which axis in the Lattice (0-based) should be mapped to X and Y on the display device: ie. 2-d slices of the data to be displayed have these as axes. mAxis specifies the "movie" axis, which is the axis along which different slices are taken. fixedPos is an IPosition having the same length as the number of dimensions in the array, and indicates the fixed axis values for axes in the data that are not specified as xAxis or yAxis: indeed, fixedPos(mAxis)
indicates which pixel value along the movie axis that this particular object looks after.
casa::LatticePADMRaster< T >::LatticePADMRaster | ( | const uInt | xAxis, |
const uInt | yAxis, | ||
LatticePADisplayData< T > * | arDat | ||
) |
virtual casa::LatticePADMRaster< T >::~LatticePADMRaster | ( | ) | [virtual] |
Destructor.
virtual uInt casa::LatticePADMRaster< T >::dataDrawSelf | ( | WorldCanvas * | wCanvas, |
const Vector< Double > & | blc, | ||
const Vector< Double > & | trc, | ||
const IPosition & | start, | ||
const IPosition & | shape, | ||
const IPosition & | stride, | ||
const Bool | usePixelEdges = False |
||
) | [virtual] |
Actually draw on the display device.
The WorldCanvasHolder will tell the LatticeAsRaster that it should now draw, which will in turn determine which of its one or more LatticePADMRaster objects should draw by matching the movie value on the WorldCanvas. The raster is drawn from world coordinate blc to trc.
Implements casa::PrincipalAxesDM.
virtual Bool casa::LatticePADMRaster< T >::dataRedrawSelf | ( | WorldCanvas * | , |
Display::RefreshReason | |||
) | [virtual] |
Invoke (much more rapid) redraw of previous color-index rendering if applicable (i.e., only during colormap 'fiddling' -- ColorTableChange refresh).
Return value indicates success.
Reimplemented from casa::PrincipalAxesDM.