See below for an overview of the classes in this module.
Part of API
The module provides various classes that are responsible for "displaying" "data"
The basic drawing devices in the Display Library are the PixelCanvas and the WorldCanvas . These devices know nothing about what data look like, what kind of object will draw on the devices, and in what circumstances these devices will be used. The only thing they define is the interface of how to draw on them and the way that they communicate with other objects, for example the event handlers.
Thus classes are needed to transform data into objects that are understood by the canvases. These are the DisplayDatas, which generate drawing commands based on data and some algorithm which translates that data into a visual representation: eg. a contouring algorithm. Exactly how the data is represented is entirely defined by the DisplayDatas, and as long as it can be done using the primitives of the WorldCanvas, there are no restrictions. To display data in a new way, all that must be written is a new DisplayData which generates appropriate drawing instructions, and can be asked to carry out those instructions. The DisplayDatas should be thought of as the "workhorses" of the AIPS++ Display Library.
The administration of a number of DisplayDatas on one WorldCanvas is handled by the WorldCanvasHolder class. The WorldCanvasHolder provides methods to register and unregister DisplayDatas. The WorldCanvasHolder installs handlers on the WorldCanvas for each event generated by the WorldCanvas. Since its main task is to allow more than one DisplayData object to draw on a WorldCanvas at any one time, the WorldCanvasHolder must pass WorldCanvas events on to the registered DisplayDatas, either directly or indirectly. For example, motion events (which occur when the pointer is moved across the WorldCanvas) will be immediately passed on to all DisplayDatas for processing, while refresh events (which occur when the WorldCanvas needs to redraw itself, eg. following a resize) are managed by the WorldCanvasHolder itself, which may ask only a subset of the registered DisplayDatas to redraw themselves, and also ensures that raster-type DisplayDatas draw before vector-type DisplayDatas.
Some DisplayDatas will consist of a sequence of "drawings," for example, a set of channel maps in a data cube. The DisplayDatas are built with such sequences in mind, and the appropriate "frame" to draw is negotiated between the WorldCanvasHolder and the one or more DisplayDatas actually registered with the WorldCanvasHolder. A sequence of images is not restricted to separate planes through a data volume: it could comprise blinking between two or more images, or rendering views of data along different lines-of-sight.
To control what is displayed on a WorldCanvas, the programmer can put restrictions on a WorldCanvasHolder and on DisplayDatas. Only the DisplayDatas whose internal restrictions actually match those of the WorldCanvasHolder will be allowed to draw on the WorldCanvas. Indeed, an important part of the support for DisplayDatas comprising sequences of images is implemented by placing restrictions on the WorldCanvas that are appropriate to the desired image plane.
Namespaces | |
| namespace | casa |
| FTMachine::rotateUVW(Matrix<Double>& uvw, Vector<Double>& dphase, const VisBuffer& vb). | |
Modules | |
| DisplayDatas_internal_classes | |
| Internal DisplayDatas classes and functions. | |
Classes | |
| class | casa::ActiveCaching2dDD |
| Class providing active behaviour for 2d CachingDisplayDatas. More... | |
| class | casa::AxesDisplayData |
| Interface and simple implementation of axis labelling. More... | |
| class | casa::AxesDisplayMethod |
| Class to draw a single set of axis labels for AxesDisplayData. More... | |
| class | casa::CachingDisplayData |
| Base class for auto-caching DisplayData objects. More... | |
| class | casa::CachingDisplayMethod |
| Assistance class for auto-caching of DisplayData objects. More... | |
| class | casa::DDDEllipse |
| Implementation of an ellipse/rectangle object for DrawingDisplayData class. More... | |
| class | casa::DDDHandle |
| A class to draw and detect handles on a DDDObject. More... | |
| class | casa::DDDObject |
| Base class describing interface for objects supported by DrawingDisplayData. More... | |
| class | casa::DDDPolygon |
| Implementation of aan ellipse object for DrawingDisplayData class. More... | |
| class | casa::DDDRectangle |
| Implementation of a rectangular object for DrawingDisplayData class. More... | |
| class | casa::DisplayData |
| Base class for display objects. More... | |
| class | casa::DisplayMethod |
| Base class for drawing a particular element (view) of a DisplayData. More... | |
| class | casa::DrawingDisplayData |
| DisplayData which provides interactive drawing capabilities. More... | |
| class | casa::DrawingDisplayMethod |
| DisplayMethod which provides actual drawing for DrawingDisplayData class. More... | |
| class | casa::Galaxy |
| Simple class to represent a Galaxy as a collection of Stars. More... | |
| class | casa::Star |
| Simple class which represents a star as a point mass. More... | |
| class | casa::Histogram2dDD |
| A DisplayData to draw histograms. More... | |
| class | casa::Histogram2dDM |
| A DisplayMethod to draw histograms. More... | |
| class | casa::LatticeAsContour< T > |
| Class to manage the drawing of contour maps of slices from AIPS++ Lattices. More... | |
| class | casa::LatticeAsMarker< T > |
| Class to manage the drawing of vector maps of slices from AIPS++ Lattices. More... | |
| class | casa::LatticeAsRaster< T > |
| Class to manage the drawing of raster images of slices from AIPS++ Lattices. More... | |
| class | casa::LatticeAsVector< T > |
| Class to manage the drawing of vector maps of slices from AIPS++ Lattices. More... | |
| class | casa::LatticePADisplayData< T > |
| Partial implementation of PrincipalAxesDD for Lattice-based data. More... | |
| class | casa::LatticePADisplayMethod< T > |
| Partial implementation of PrincipalAxesDM for Lattice-based data. More... | |
| class | casa::MSAsRaster |
| Class for displaying data within an MS as a raster (gridded) image. More... | |
| class | casa::MSAsRasterDM |
| (Minimal) DisplayMethod for MSAsRaster. More... | |
| class | casa::NBody |
| Simple class which provides brute force n-body simulation and display. More... | |
| class | casa::PassiveCachingDD |
| Class providing passive behaviour for CachingDisplayDatas. More... | |
| class | casa::PassiveTableDD |
| Class adding Table-specific support functions to PassiveCachingDD. More... | |
| class | casa::PrincipalAxesDD |
| Interface for DisplayDatas which have data arranged in axes. More... | |
| class | casa::PrincipalAxesDM |
| Interface for DisplayMethods which have data arranged in "axes.". More... | |
| class | casa::Profile2dDD |
| A DisplayData to draw Profiles. More... | |
| class | casa::Profile2dDM |
| A DisplayMethod to draw Profiles. More... | |
| class | casa::ScrollingRasterDM |
| Base class for scrolling DisplayData objects. More... | |
| class | casa::SkyCatOverlayDD |
| Simple implementation of a cached DisplayData for sky catalogue overlays. More... | |
| class | casa::SkyCatOverlayDM |
| Class to draw catalogue overlays for SkyCatOverlayDD. More... | |
| class | casa::WedgeDD |
| A DisplayData to draw color wedges. More... | |
| class | casa::WedgeDM |
| The DisplayMethod to draw Wedges. More... | |
| class | casa::WorldAxesDD |
| A DisplayData to setup a World coordinate plot. More... | |
| class | casa::WorldAxesDM |
| Class to draw a single set of axis labels for AxesDisplayData. More... | |
1.5.1