LELLattCoordBase.h

Classes

LELLattCoordBase -- The base letter class for lattice coordinates in LEL. (full description)

class LELLattCoordBase

Interface

Public Members
LELLattCoordBase()
virtual ~LELLattCoordBase()
virtual Bool hasCoordinates() const = 0
virtual String classname() const = 0
virtual uInt getSpectralInfo (Vector<Double>& worldCoordinates, const IPosition& shape) const = 0
virtual Int compare (const LELLattCoordBase& other) const = 0
virtual Int doCompare (const LELImageCoord& other) const = 0

Description

Review Status

Reviewed By:
Bob Garwood
Date Reviewed:
2000/01/25
Programs:
Tests:

Prerequisite

Synopsis

This abstract base class is the basic letter for the envelope class LELCoordinates. It does not do anything, but makes it possible that derived classes (like LELLattCoord and LELImageCoord) implement their own behaviour.

Motivation

It must be possible to handle image coordinates in a lattice expression.

Member Description

LELLattCoordBase()

virtual ~LELLattCoordBase()

A virtual destructor is needed so that it will use the actual destructor in the derived class.

virtual Bool hasCoordinates() const = 0

Does the class have true coordinates?

virtual String classname() const = 0

The name of the class.

virtual uInt getSpectralInfo (Vector<Double>& worldCoordinates, const IPosition& shape) const = 0

Get the coordinates of the spectral axis for the given shape. It returns the pixel axis number of the spectral coordinates. -1 indicates that there is no pixel spectral axis. An exception is thrown if there are no world spectral coordinates.

virtual Int compare (const LELLattCoordBase& other) const = 0

Check how the coordinates of this and that compare.

virtual Int doCompare (const LELImageCoord& other) const = 0

Check how the coordinates of this and that image compare. This function is used by conform to make a double virtual dispatch possible.