ActiveCaching2dDD.h

Classes

ActiveCaching2dDD -- Class providing active behaviour for 2d CachingDisplayDatas. (full description)

class ActiveCaching2dDD : public CachingDisplayData

Interface

Public Members
ActiveCaching2dDD(const CoordinateSystem &coordsys, const Vector<Double> &pixblc, const Vector<Double> &pixtrc)
virtual ~ActiveCaching2dDD()
virtual Bool linToWorld(Vector<Double> &world, const Vector<Double> &lin)
virtual Bool worldToLin(Vector<Double> &lin, const Vector<Double> &world)
virtual String showPosition(const Vector<Double> &world, const Bool &displayAxesOnly = False)
virtual Vector<String> worldAxisNames()
virtual Vector<String> worldAxisUnits()
virtual const uInt nelements(const WorldCanvasHolder &wcHolder) const
virtual const uInt nelements() const
virtual void setDefaultOptions()
virtual Bool setOptions(Record &rec, Record &recOut)
virtual Record getOptions()
virtual Bool sizeControl(WorldCanvasHolder &wcHolder, AttributeBuffer &holderBuf)
virtual Bool conformsToCS(const WorldCanvasHolder& wch)
virtual void cleanup()
Protected Members
virtual AttributeBuffer optionsAsAttributes()
ActiveCaching2dDD()
ActiveCaching2dDD(const ActiveCaching2dDD &other)
void operator=(const ActiveCaching2dDD &other)
void setCoordinateSystem(const CoordinateSystem &coordsys, const Vector<Double> &pixblc, const Vector<Double> &pixtrc)
void identifyWorldAxis(Coordinate::Type &type, Int &coordinate, Int &axisincoord, const uInt worldaxisnum)
String codeWorldAxis(const uInt worldaxisnum)
Vector<Double> worldAxisIncrements() const
virtual Bool worldCoordTracking() const
Private Members
void setSpectralFormatting (CoordinateSystem& cSys, const String& velTypeString, const String& unitString)

Description

Synopsis

An "active" DisplayData is one which is able to negotiate coordinates on a WorldCanvas, and subsequently provide coordinate conversion facilities. This particular implementation is of a two-dimensional (2d) active DisplayData.

Member Description

ActiveCaching2dDD(const CoordinateSystem &coordsys, const Vector<Double> &pixblc, const Vector<Double> &pixtrc)

Constructor. Caller must provide a CoordinateSystem, and the pixel range (via pixelblc and pixeltrc) over which the DisplayData is expected to function. The primary use of pixelblc and pixeltrc is to provide limits for the unzoomed WorldCanvas. coordsys must have only two world and pixel axes, otherwise an exception is thrown, and likewise, pixblc and pixtrc must both be of length two.

virtual ~ActiveCaching2dDD()

Destructor.

virtual Bool linToWorld(Vector<Double> &world, const Vector<Double> &lin)
virtual Bool worldToLin(Vector<Double> &lin, const Vector<Double> &world)

Coordinate transformation handlers, called by WorldCanvasHolder.

virtual String showPosition(const Vector<Double> &world, const Bool &displayAxesOnly = False)

Format a string containing coordinate information at the given world coordinate.

virtual Vector<String> worldAxisNames()
virtual Vector<String> worldAxisUnits()

World axis information suppliers.

virtual const uInt nelements(const WorldCanvasHolder &wcHolder) const
virtual const uInt nelements() const

Return the number of display elements (ie. drawable images) in this DisplayData. Both return 1 because this is defined to be a two-dimensional DisplayData, and can only have one view. That is, there is no third axis to iterate over for multiple views.

virtual void setDefaultOptions()

Install the default options for this DisplayData.

virtual Bool setOptions(Record &rec, Record &recOut)

Apply options stored in rec to the DisplayData. A return value of True means a refresh is needed. recOut contains any fields which were implicitly changed as a result of the call to this function.

virtual Record getOptions()

Retrieve the current and default options and parameter types.

virtual Bool sizeControl(WorldCanvasHolder &wcHolder, AttributeBuffer &holderBuf)

Negotiatiate WorldCanvas linear coordinate system when asked to do so by the WorldCanvasHolder.

virtual Bool conformsToCS(const WorldCanvasHolder& wch)

Determine whether DD can draw on the current coordinate system of the given WC[H].

virtual void cleanup()

Tidy up the elements of this DisplayData.

virtual AttributeBuffer optionsAsAttributes()

Return the current options of this DisplayData as an AttributeBuffer. The caller must delete the returned buffer.

ActiveCaching2dDD()

(Required) default constructor.

ActiveCaching2dDD(const ActiveCaching2dDD &other)

(Required) copy constructor.

void operator=(const ActiveCaching2dDD &other)

(Required) copy assignment.

void setCoordinateSystem(const CoordinateSystem &coordsys, const Vector<Double> &pixblc, const Vector<Double> &pixtrc)

Install a CoordinateSystem and limits.

void identifyWorldAxis(Coordinate::Type &type, Int &coordinate, Int &axisincoord, const uInt worldaxisnum)

Identify a specified world axis by its Coordinate type, number, and axis in that coordinate.

String codeWorldAxis(const uInt worldaxisnum)

Generate a String code for the specified world axis, describing the coordinate type, number and axis in that coordinate.

Vector<Double> worldAxisIncrements() const

Return the world axis increments.

virtual Bool worldCoordTracking() const

Return whether tracking is currently world (T) or pixel (F) coordinates.

void setSpectralFormatting (CoordinateSystem& cSys, const String& velTypeString, const String& unitString)

Set Spectral formatting