casa
5.7.0-16
|
Base class for display objects. More...
#include <DisplayData.h>
Public Types | |
enum | DisplayState { DISPLAYED, UNDISPLAYED, LIMBO } |
Public Member Functions | |
DisplayData () | |
(Required) default constructor. More... | |
virtual | ~DisplayData () |
required destructor More... | |
virtual casacore::Bool | linToWorld (casacore::Vector< casacore::Double > &world, const casacore::Vector< casacore::Double > &lin)=0 |
casacore::Coordinate transformations, called by WorldCanvasHolder (casacore::Matrix versions not implemented) More... | |
virtual casacore::Bool | worldToLin (casacore::Vector< casacore::Double > &lin, const casacore::Vector< casacore::Double > &world)=0 |
virtual std::string | errorMessage () const =0 |
virtual casacore::String | showPosition (const casacore::Vector< casacore::Double > &world, const casacore::Bool &displayAxesOnly=false)=0 |
casacore::Format a string containing coordinate information at the given world coordinate More... | |
virtual casacore::String | showValue (const casacore::Vector< casacore::Double > &world)=0 |
casacore::Format a string containing value information at the given world coordinate More... | |
virtual void | setDisplayState (DisplayState s) |
virtual DisplayState | getDisplayState () const |
virtual bool | isDisplayable () const |
virtual casacore::Vector < casacore::String > | worldAxisNames () const =0 |
Some routines that give info on the axes names, units etc. More... | |
virtual casacore::Vector < casacore::String > | worldAxisUnits () const =0 |
virtual casacore::uInt | nelements (const WorldCanvasHolder &wcHolder) const =0 |
Returns the number of elements in this DisplayData (mainly for movie purposes). More... | |
virtual casacore::uInt | nelements () const =0 |
and non-specific More... | |
virtual void | addRestrictions (AttributeBuffer &otherBuf) |
Add general restrictions or a restriction for item itemNum of this DisplayData. More... | |
virtual void | addRestriction (Attribute &newRestriction, casacore::Bool permanent) |
virtual void | addElementRestrictions (const casacore::uInt itemNum, AttributeBuffer &other) |
virtual void | addElementRestriction (const casacore::uInt itemNum, Attribute &newRestriction, casacore::Bool permanent) |
virtual void | setRestrictions (AttributeBuffer &otherBuf) |
Set general restrictions or a restriction for item itemNum of this DisplayData. More... | |
virtual void | setRestriction (Attribute &newRestriction) |
virtual void | setElementRestrictions (const casacore::uInt itemNum, AttributeBuffer &other) |
virtual void | setElementRestriction (const casacore::uInt itemNum, Attribute &newRestriction) |
virtual void | removeRestriction (const casacore::String &name) |
Remove a general restriction or a restriction from item itemNum More... | |
virtual void | removeElementRestriction (const casacore::uInt itemNum, const casacore::String &name) |
virtual void | clearRestrictions () |
Clear all general restrictions or all restrictions of item itemNum (except the ones that are permanent of course...) More... | |
virtual void | clearElementRestrictions (const casacore::uInt itemNum) |
virtual casacore::Bool | existRestriction (const casacore::String &name) |
Check if a general restriction or a restriction for item itemNum with name name exists. More... | |
virtual casacore::Bool | existElementRestriction (const casacore::uInt itemNum, const casacore::String &name) |
virtual AttributeBuffer * | restrictionBuffer () |
Get a handle to the buffer of general restrictions or of the buffer of restrictions for item itemNum More... | |
virtual AttributeBuffer * | elementRestrictionBuffer (const casacore::uInt itemNum) |
virtual casacore::Bool | conformsTo (const WorldCanvas *wCanvas) |
Check whether the DD is is compatible with all WC[H] state, including its coordinate state, restrictions, and zIndex (if any). More... | |
virtual casacore::Bool | conformsTo (const WorldCanvas &wc) |
virtual casacore::Bool | conformsToRstrs (const WorldCanvas &wc) |
Determine whether DD restrictions are in conformance with restrictions on the given WCH. More... | |
virtual casacore::Bool | conformsToCS (const WorldCanvas &) |
Determine whether DD is compatible with the WC[H]'s current world coordinates. More... | |
virtual casacore::Bool | conformsToZIndex (const WorldCanvas &wc) |
Determine whether DD is compatible with the current canvas animation (zIndex) position. More... | |
virtual casacore::Int | activeZIndex (const WorldCanvas *wc=0) |
Retrieve 'Active' zIndex. More... | |
virtual casacore::Bool | getFirstZIndex (int &firstZIndex, casacore::Int axZrng=-1) const |
Set firstZIndex to minimum zIndex setting from all canvases where this DD is registered. More... | |
virtual void | addPositionEventHandler (WCPositionEH *positionHandler) |
Add event handlers on the DisplayData. More... | |
virtual void | addMotionEventHandler (WCMotionEH *motionHandler) |
virtual void | addRefreshEventHandler (WCRefreshEH *refreshHandler) |
virtual void | addDisplayEventHandler (DisplayEH *displayHandler) |
virtual void | removePositionEventHandler (WCPositionEH &positionHandler) |
Remove eventhandlers. More... | |
virtual void | removeMotionEventHandler (WCMotionEH &motionHandler) |
virtual void | removeRefreshEventHandler (WCRefreshEH &refreshHandler) |
virtual void | removeDisplayEventHandler (DisplayEH &displayHandler) |
virtual void | setColormap (Colormap *cmap, casacore::Float weight) |
Set/remove/get a ColourMap (sorry, ColorMap) for this DisplayData setColormap() throw an casacore::AipsError is a null pointer is passed. More... | |
virtual void | removeColormap () |
virtual Colormap * | colormap () const |
void | setAttribute (Attribute &at) |
set an Attribute or Attributes More... | |
void | setAttributes (AttributeBuffer &at) |
casacore::Bool | getAttributeValue (const casacore::String &name, casacore::uInt &newValue) |
User interface to get value from the attribute buffer. More... | |
casacore::Bool | getAttributeValue (const casacore::String &name, casacore::Int &newValue) |
casacore::Bool | getAttributeValue (const casacore::String &name, casacore::Float &newValue) |
casacore::Bool | getAttributeValue (const casacore::String &name, casacore::Double &newValue) |
casacore::Bool | getAttributeValue (const casacore::String &name, casacore::Bool &newValue) |
casacore::Bool | getAttributeValue (const casacore::String &name, casacore::String &newValue) |
casacore::Bool | getAttributeValue (const casacore::String &name, casacore::Vector< casacore::uInt > &newValue) |
casacore::Bool | getAttributeValue (const casacore::String &name, casacore::Vector< casacore::Int > &newValue) |
casacore::Bool | getAttributeValue (const casacore::String &name, casacore::Vector< casacore::Float > &newValue) |
casacore::Bool | getAttributeValue (const casacore::String &name, casacore::Vector< casacore::Double > &newValue) |
casacore::Bool | getAttributeValue (const casacore::String &name, casacore::Vector< casacore::Bool > &newValue) |
casacore::Bool | getAttributeValue (const casacore::String &name, casacore::Vector< casacore::String > &newValue) |
casacore::Bool | existsAttribute (casacore::String &name) |
Check if a certain Attribute exists. More... | |
void | removeAttribute (casacore::String &name) |
Remove an Attribute. More... | |
AttValue::ValueType | attributeType (casacore::String &name) |
Get the type of the Attribute. More... | |
void | setAttributeOnPrimaryWCHs (Attribute &at) |
Set an attribute on any WorldCanvas for which this DD is CS master. More... | |
virtual void | notifyRegister (WorldCanvasHolder *wcHolder) |
virtual void | notifyUnregister (WorldCanvasHolder &wcHolder, casacore::Bool ignoreRefresh=false) |
ignoreRefresh tells the DD not to refresh just to clean up DMs More... | |
virtual void | removeFromAllWCHs () |
remove this DD everywhere–will stop any more refresh handling by the DD. More... | |
virtual void | setDefaultOptions () |
install the default options for this DisplayData More... | |
virtual casacore::Bool | setOptions (casacore::Record &rec, casacore::Record &recOut) |
apply options stored in val to the DisplayData; return value true means a refresh is needed... More... | |
virtual casacore::Record | getOptions (bool scrub=false) const |
retrieve the current and default options and parameter types. More... | |
virtual void | refresh (casacore::Bool clean=false) |
an explicit refresh: should be called if the DisplayData is changed such that drawing is required. More... | |
virtual casacore::Bool | labelAxes (const WCRefreshEvent &ev) |
an explicit request to draw the axes and/or labels. More... | |
virtual casacore::Bool | canLabelAxes () const |
virtual casacore::String | className () const |
Return the class name of this DisplayData; useful mostly for debugging purposes, and perhaps future use in the glish widget interface. More... | |
virtual casacore::String | description () const |
virtual Display::DisplayDataType | classType ()=0 |
Return the DisplayData type; used by the WorldCanvasHolder to determine the order of drawing. More... | |
virtual casacore::String | dataType () const =0 |
virtual const casacore::IPosition | dataShape () const =0 |
virtual casacore::uInt | dataDim () const =0 |
virtual const casacore::Unit | dataUnit () const =0 |
virtual std::vector< int > | displayAxes () const =0 |
virtual ImageAnalysis * | imageanalysis () const |
Get image analyis about images... More... | |
virtual std::shared_ptr < casacore::ImageInterface < casacore::Float > > | imageinterface () |
Returns a pointer that should not be deleted... More... | |
virtual void | setSubstituteTitleText (const casacore::String) |
const WorldCanvasHolder * | findHolder (const WorldCanvas *wCanvas) const |
Identify the WorldCanvasHolder for the given WorldCanvas. More... | |
WorldCanvasHolder * | findHolder (const WorldCanvas *wCanvas) |
virtual casacore::Block < casacore::Int > | allZIndices (casacore::Int axZrng=-1) const |
Return a sorted casacore::Block of all animation frame numbers currently set onto all WCHs where this DD is registered. More... | |
virtual casacore::Bool | zIndexHint (casacore::Int &) const |
Will be called just before registering the [GTk]DD on a [GTk]PanelDisplay which has none registered on it yet. More... | |
virtual void | handleEvent (DisplayEvent &ev) |
Overide DisplayEH::handleEvent. More... | |
virtual casacore::Bool | isCSmaster (const WorldCanvasHolder *wch=0) const |
Is this DD the CS master of the passed WCH? Defaulting wch to 0 asks whether this DD is CS master of some WCH on which it is registered. More... | |
virtual casacore::Int | uiBase () const |
DD 'Absolute Pixel Coordinates', e.g. More... | |
virtual void | setUIBase (casacore::Int uibase) |
virtual casacore::Bool | getDelTmpData () |
Get and set method for the flag. More... | |
virtual void | setDelTmpData (casacore::Bool delTmpData) |
virtual void | setDisplayDataRed (DisplayData *) |
virtual void | setDisplayDataBlue (DisplayData *) |
virtual void | setDisplayDataGreen (DisplayData *) |
Public Member Functions inherited from casa::DisplayOptions | |
DisplayOptions () | |
Constructor. More... | |
virtual | ~DisplayOptions () |
Destructor. More... | |
template<class T > | |
casacore::Bool | readOptionRecord (casacore::Vector< T > &target, casacore::Bool &error, const casacore::Record &rec, const casacore::String &fieldname) const |
Find the field fieldname in casacore::Record rec , containing the requested type (casacore::Bool, casacore::String, casacore::Float, casacore::Int) in itself or its "value" sub-field, and return the value in target . More... | |
template<class T > | |
casacore::Bool | readOptionRecord (T &target, casacore::Bool &error, const casacore::Record &rec, const casacore::String &fieldname) const |
virtual casacore::Bool | readOptionRecord (casacore::String &target, casacore::Bool &unsetTarget, casacore::Bool &error, const casacore::Record &rec, const casacore::String &fieldname) const |
Find the field fieldname in casacore::Record rec , containing the requested type (casacore::String) in itself or its "value" sub-field, and return the value in target . More... | |
casacore::Record | unset () const |
Return a casacore::Record which is an "unset" casacore::Record, ie. More... | |
casacore::Bool | isUnset (const casacore::Record &rec) const |
Return true or false indicating if the provided casacore::Record is equal to an "unset" Record. More... | |
Public Member Functions inherited from casa::DisplayEH | |
virtual | ~DisplayEH () |
Public Member Functions inherited from casa::DlTarget | |
DlTarget () | |
DlTarget (const DlTarget &) | |
virtual | ~DlTarget () |
void | reg (DlHandleBase *p) |
void | unreg (DlHandleBase *p) |
Static Public Attributes | |
static const casacore::String | DATA_MIN |
static const casacore::String | DATA_MAX |
Protected Member Functions | |
virtual casacore::Bool | setActiveZIndex_ (casacore::Int zindex) |
DDs may override to adjust the internal stored current animation index (activeZIndex_) if necessary, and to set return value false iff the passed zindex won't work for the DD. More... | |
casacore::Bool | conformed () |
Returns result of last call to conformsTo(WCH&). More... | |
casacore::Bool | isCsAndZIndexConformed () |
Added so that when two images are loaded with no velocity alignment, they can still show their position coordinates without having to be rstrsConformed. More... | |
virtual casacore::Bool | sizeControl (WorldCanvasHolder &wcHolder, AttributeBuffer &holderBuf)=0 |
Set (coordinate) state of WCH's WC. More... | |
virtual void | delTmpData (casacore::String &tmpData) |
Delete temporary data. More... | |
virtual const std::list < WCPositionEH * > * | positionEventHandlerList () |
Retrieve position, motion, refresh and display event handler lists. More... | |
virtual const std::list < WCMotionEH * > * | motionEventHandlerList () |
virtual const std::list < WCRefreshEH * > * | refreshEventHandlerList () |
virtual const std::list < DisplayEH * > * | displayEventHandlerList () |
virtual void | positionEH (const WCPositionEvent &ev) |
Position, motion and refresh event handlers that will generally be called by a WorldCanvasHolder. More... | |
virtual void | motionEH (const WCMotionEvent &ev) |
virtual void | refreshEH (const WCRefreshEvent &ev)=0 |
virtual void | cleanup ()=0 |
clean up the memory used by this DisplayData More... | |
DisplayData (const DisplayData &other) | |
(Required) copy constructor. More... | |
void | operator= (const DisplayData &other) |
(Required) copy assignment. More... | |
Protected Member Functions inherited from casa::DisplayOptions | |
DisplayOptions (const DisplayOptions &other) | |
(Required) copy constructor. More... | |
void | operator= (const DisplayOptions &other) |
(Required) copy assignment. More... | |
Protected Attributes | |
AttributeBuffer | restrictions |
The Book says that we should not put data members in class that is supposed to only define an interface, but by putting these here, we can implement some of the restriction & eventhandling stuff so that people do not have to repeat it. More... | |
AttributeBuffer | attributes |
buffer for storing Attributes More... | |
casacore::PtrBlock< void * > | DDelement |
list of DisplayDataElements, which are of type DisplayMethod or derived More... | |
casacore::Int | activeZIndex_ |
Indicates the 'current' animation frame, i.e. More... | |
casacore::Bool | delTmpData_ |
Flag indicating that temporary data should be removed when deleting the object. More... | |
casacore::Bool | rstrsConformed_ |
Somewhat limited-use state, saved here for 'efficiency'. More... | |
casacore::Bool | csConformed_ |
casacore::Bool | zIndexConformed_ |
Private Attributes | |
WorldCanvasHolder * | oldWCHolder |
DisplayState | displaystate |
is this data currently being displayed? More... | |
Colormap * | itsColormap |
Colormap for this DisplayData, and its weight. More... | |
casacore::Float | itsColormapWeight |
std::list< WorldCanvasHolder * > | itsWCHList |
A list of WorldCanvasHolders for which this DisplayData works. More... | |
std::list< WCPositionEH * > | itsPositionEHList |
Lists of position, motion, refresh and display event handlers. More... | |
std::list< WCMotionEH * > | itsMotionEHList |
std::list< WCRefreshEH * > | itsRefreshEHList |
std::list< DisplayEH * > | itsDisplayEHList |
casacore::Int | uiBase_ |
DD 'Absolute Pixel Coordinates', e.g. More... | |
Friends | |
class | WorldCanvasHolder |
Protected interface for WorldCanvasHolder, can be called by the friends of DisplayData, but are nobody else's business. More... | |
Base class for display objects.
Public interface
A class having "DisplayData" as its base is used to generate "Display"s out of "Data."
The basic drawing devices in the Display Library are the PixelCanvas and the WorldCanvas. These devices know nothing about what real data look like, what kind of object will draw on these devices and in what kind of circumstances these devices will be used. The only thing they define is the interface of how to draw on them and the way they communicate with other objects (the event handlers). Building in no assumptions in the Canvases on how they will be used should give larger flexibility in how one can actually use these Canvases. Since the Canvases know nothing about how real data looks, a class is needed to transform data into objects the Canvases do understand. These are the DisplayData. A DisplayData generates, based on data and some algorithm to represent that data, a number of primitives that it draws on the WorldCanvas. So in a way, 'the data draw themselves'. The definition of how data is represented (image, contour, rendering, list of symbols from a catalogue, etc, etc) is entirely defined by these DisplayData and as long it can be done using the primitives of the WorldCanvas, there are no restrictions. If one finds a new way of representing data, the only thing one has to do is to write a new DisplayData that generates this representation and draws it on the WorldCanvas using the primitives of the WorldCnvas.
To do the administration of a number of DisplayDatas on one WorldCanvas, a bookkeeping class is needed, this is the WorldCnvasHolder.
Some DisplayData will consist of a sequence of display object (eg a set of channels in a data cube). The DisplayData are build with sequences in mind (as is clear from the interface), and the Display Library is designed very strongly with movies in mind. The programmer is free to define what a sequence really means, but it is probably best to keep the structure of the sequence in a DisplayData fairly logical. But there is not requirement on the structure of the sequence.
Before a display object is displayed (ie when a refresh happens), a size control step is performed. The WorldCanvas call a sizeControl event handler. Normally this will be a handler that is installed by the WorldCanvasHolder. All the WorldCanvasHolder does is to call the sizeControl member function of all displayData registered with the WorldCanvasHolder to do the sizeControl. The purpose of the size control is to put the WorldCanvas in a correct state before the objects are actually drawn. For example, for images there can be restrictions on the size of the output array (eg the image is expanded using pixelreplication which means that the draw area of the WorldCanvas must by an integral of the size of the image). For each DisplayData the WorldCanvasHolder calls the sizeControl function, supplying an AttributeBuffer where the DisplayData should set the Attributes it needs to be set. THERE IS ONE IMPORTANT RULE IN THIS: a DisplayData should never overwrite an Attribute that is already set in this buffer. If the WorldCanvas cannot be put in a correct state during the size control, a DisplayData should turn itself off. DisplayData are also responsible for the linear coordinate system of the WorldCanvas and usually setting that up will be done in this step.
(dk 6/04 note on 'size control'). The important WC state set during sizeControl() defines a series of coordinate transformations, ultimately between screen (PixelCanvas) pixels and coordinates in world space. First, there are the limits of the WC's 'draw area', inside the labelling margins, on the PC ('canvasDraw{X,Y}{Size,Offset}' WC Attributes). Second is the 'zoom window': the area of 'linear coordinate' space currently mapped to the draw area ('lin{X,Y}{Min,Max}' WC Attributes). Also stored in linear terms are the maximum extents of the data ('lin{X,Y}{Min,Max}Limit' Attributes), which are used to set the zoom window initially or when 'unzoom' (zoom-to-extent) is requested.
'Linear coordinates' often correspond to indices within the data being displayed, although in principle this is not necessary. They serve to isolate the simple linear scaling/translation (zoom and pan) transformations from the final transformation (often a nonlinear sky projection) between 'linear coordinates' and world space (which is changed less often).
(Also, linear coordinates define an entire plane, although a given sky-coordinate projection to that plane may not be defined everywhere. Keeping zoom windows defined in linear coordinates allows natural display of all-sky images even when sky coordinates are not defined everywhere in the display area. In other words, the existing scheme allows all-sky images to be displayed easily in principle; it does not work currently due to inappropriate insistence of WC::drawImage() that its draw area be given in world coordinates; this is high on the list of bugfix priorities...).
The final transformation makes use of the casacore::Coordinate classes (which ultimately use wcslib for any needed sky projection). It defines the current 2D surface on display within some nD world space, as parameterized by the X and Y linear coordinates. State for this purpose includes the 'WorldCanvas DisplayCoordinateSystem' or 'WCCS' (WorldCanvas::itsCoordinateSystem) plus 'axis codes' (which have the odd Attribute names '{x,y}axiscode (required match)'). They are intended to define the coordinate values and types for the world space currently of interest.
This latter transformation is not as simple or well-defined as it might appear, however (and in my opinion this area still needs work). First of all, the WCCS is a rather late addition to WC interface, and in most cases is not even used to do WC linear-to-world transformations. Instead, this chore is handed off (via the older WCCoordinateHandler interface) to one of the DDs currently registered on WC's companion object, WorldCanvasHolder. Also, the axis codes do not always provide enough information about the current world space for DDs to determine whether they are designed to draw in that space (which, in my opinion, should be the codes' purpose). They also implicitly assume a 1-to-1 correspondence between linear and world coordinates, which is not very general.
Back to how it works now, though. During the 'sizeControl' step of refresh, the WCH will attempt to determine a 'CS master DD'. (Usually the same DD will remain 'in charge' as long as it is registered). Within the sizeControl routine, DDs should test isCSMaster(wch) to determine whether they have permission to become the CS master. If so, and if they are willing and able to become CS master, they must set all of the WC state above and return true; in all other cases they should return false. Only the CSmaster should set the WC CS or axis codes, and it will be responsible for performing the WC's linToWorld, etc. transformation chores. In other words, it is entirely in charge of the final transformation to world coordinates. In principle, other DDs may perform certain 'slave sizeControl' tweaks (such as aligning the zoom window on data pixel boundaries or redefining maximum zoom extents). No current implementations do anything but return false if they are not the master, however.
Major implementation examples for sizeControl() can be found in the ActiveCaching2dDD and PrincipalAxesDD classes. They should be consulted as well for the conventions for processing WC 'zoom/unzoom' order attributes, another CSmaster responsibility. (<>)
The control of what is displayed in a display application is done with setting restrictions on the WorldCanvasHolder (and possibly on the Displaydata). Restrictions are implemented as Attributes and stored in AttributeBuffers. To define what is displayed, one sets one or more restrictions on the WorldCanvasHolder and calls a refresh on the WorldCanvas. Most DisplayData will have pre-defined restrictions, for example in an ImageDisplayData each image has defined the restriction zIndex (set to the pixelindex of the 'third' axis in the data set) and zValue (set to the 'third' worldcoordinate of the image). So to display channel 13 of a data cube, one only has to set on the WorldCanvasHolder a restriction called zIndex with value 13 and call refresh:
Movies can be made using the Animator class. One way it to use indices, but there is a generic way of defining movies using restrictions. So a sequence does not have to correspond to a 'logical' or 'physical' sequence in some datastructure (channels in a cube for example), but can be made of images from different datasets (e.g. blinking) and display data in different forms. This system is very flexible and there are no real limits to what a movie really means.
The DisplayData also define the coordinate system of the WorldCanvas. If the WorldCanvas has to do a coordinate transformation, it asks a coordinate handler to do this. When a WorldCanvasHolder is created for a WorldCanvas, the WorldCanvasHolder install a coordinate handler on the WorldCanvas. What this coordinate handlers does is to ask the DisplayData that is first in the list of the WorldcanvasHolder to do the transformation. This is quite an indirect way of doing the transformation, but it is very flexible (and the WorldCanvas does not have to know what an Aips++ coordinate system is, or what a DisplayData is,, which makes the WorldCanvas more generic). Most DisplayData will use the coordinate system of the data belonging to this DisplayData to do the transformation, but this is not a requirement. As long as you produce something that can be used as a coordinate system, it does not matter how you compute it. The most important thing is that the DisplayData are responsible for this. At the moment, only the Vector version should be implemented, since efficient transformation of a series of positions is not available in AIPS++. The casacore::Matrix versions are handled at the WorldCanvas level at the moment. Most DisplayData will assume that the linear coordinate system of the WorldCanvas corresponds to some underlying pixel array. The way the linear coordinate system is used is that it is the input for the coordinate transformation to world coordinates. The DisplayData are responsible for keeping the linear system correct.
Other event handlers that the DisplayData have to implement are the position- and the motion event handlers. (PositionEH and MotionEH). These are called by the WorldCanvasHolder in response to an event on the WorldCanvas. It is up to the DisplayData what to do with these events.
One can also register position- and motion event handlers on a DisplayData. What kind of event a DisplayData generates in response to an event on the WorldCanvas (passed to the DisplayData by the WorldCanvasHolder by calling PositionEH/MotionEH) is entirely up to the DisplayData, as long as the handlers are derived from WCPositionEH or WCMotionEH. One can also install a refresh handler on a DisplayData, although I have not thought of any use for that (but allowed for it to keep symmetry with the other events).
(1/02) DisplayEH interface has also been added for handling generic DisplayEvents through handleEvent(). It is expected that DDs will handle these events themselves, as needed, or pass them on in an ad-hoc manner. However, nothing prevents implementing a dispatching list for passing on these events too, if needed.
(3/03) One can also register itself as a DisplayEventHandler on a DisplayData. The handleEvent function of DisplayEH is implemented to forward any DisplayEvents its receives to these handlers. Therefore, all DisplayDatas that overide the handleEvent function, should call the handleEvent function of its super class so this forwarding can take place.
A DisplayData also has to implement a refreshEH. This function is called by the WorldCanvasHolder in response to a refresh request of the WorldCanvas. This is a very important function: here the actual drawing has to happen, using the draw primitives of the WorldCanvas. It is a good idea to check the state of the WorldCanvas before the draw is actually done, and decide not to draw if the state (for whatever reason) is not ok. Also be aware that it is a requirement that one DisplayData can work for more than one WorldCanvasHolders at a time, so the DisplayData has to do some administration for that (which WorldCanvasHolders am I working for and which one am I drawing on at the moment, things like that). See ImageDisplayData for an example of that.
DisplayData also have Attributes. These can be used to store whatever information on a DisplayData. The Attributes give a standard interface to do this.
An abstract interface between data and canvases was needed
When efficient implementations of the casacore::Matrix versions of the coordinate transformations become available in AIPS++, these should be implemented in DisplayData
Definition at line 317 of file DisplayData.h.
Enumerator | |
---|---|
DISPLAYED | |
UNDISPLAYED | |
LIMBO |
Definition at line 321 of file DisplayData.h.
casa::DisplayData::DisplayData | ( | ) |
(Required) default constructor.
|
virtual |
required destructor
|
protected |
(Required) copy constructor.
|
inlinevirtual |
Retrieve 'Active' zIndex.
Not likely to be meaningful/useful unless conformsTo(wch) (or conformsToZIndex(wch)) has been called just prior (and has returned a true result). Those calls make wch the 'active' one; zIndex varies from one wch to another. You can pass a wch, which will force a call to conformsToZIndex(wch).
Definition at line 478 of file DisplayData.h.
References activeZIndex_, and conformsToZIndex().
|
virtual |
|
virtual |
Reimplemented in casa::NBody.
|
virtual |
Reimplemented in casa::NBody.
|
virtual |
|
virtual |
Add event handlers on the DisplayData.
I am not sure there is also a need for a refresh handler on a DisplayData, but allowing for it makes things 'symmetric'. These member functions throw an casacore::AipsError if a null pointer is passed.
|
virtual |
|
virtual |
|
virtual |
Add general restrictions or a restriction for item itemNum
of this DisplayData.
Note that the item versions of the restriction interface are not implemented. I am not sure the item versions belong in DisplayData and instead they should only appear in some derived classes.
|
virtual |
Return a sorted casacore::Block of all animation frame numbers currently set onto all WCHs where this DD is registered.
The frame numbers returned are guaranteed to be in the range 0 <= zIndex < axZrng, where axZrng is the total number of frames on the Z axis. axZrng can be supplied; the default is nelements().
Referenced by getFirstZIndex().
AttValue::ValueType casa::DisplayData::attributeType | ( | casacore::String & | name | ) |
Get the type of the Attribute.
|
inlinevirtual |
Reimplemented in casa::MSAsRaster, casa::Profile2dDD, casa::PrincipalAxesDD, and casa::WedgeDD.
Definition at line 604 of file DisplayData.h.
|
inlinevirtual |
Return the class name of this DisplayData; useful mostly for debugging purposes, and perhaps future use in the glish widget interface.
Reimplemented in casa::LatticeAsContour< T >, casa::LatticeAsRaster< T >, casa::LatticeAsVector< T >, casa::LatticeAsMarker< T >, casa::LatticePADisplayData< T >, casa::LatticePADisplayData< casacore::Float >, and casa::ScrollingRasterDD.
Definition at line 611 of file DisplayData.h.
|
pure virtual |
Return the DisplayData type; used by the WorldCanvasHolder to determine the order of drawing.
Implemented in casa::RegionShape, casa::LatticeAsContour< T >, casa::LatticeAsRaster< T >, casa::MSAsRaster, casa::Profile2dDD, casa::LatticeAsVector< T >, casa::LatticeAsMarker< T >, casa::NBody, casa::TblAsRasterDD, casa::TblAsContourDD, casa::TblAsXYDD, casa::WedgeDD, casa::ScrollingRasterDD, casa::Histogram2dDD, casa::AxesDisplayData, casa::SkyCatOverlayDD, and casa::DrawingDisplayData.
|
protectedpure virtual |
clean up the memory used by this DisplayData
Implemented in casa::TblAsRasterDD, casa::TblAsContourDD, casa::TblAsXYDD, casa::NBody, casa::PrincipalAxesDD, casa::PassiveCachingDD, and casa::ActiveCaching2dDD.
|
virtual |
Reimplemented in casa::NBody.
|
virtual |
Clear all general restrictions or all restrictions of item itemNum
(except the ones that are permanent of course...)
|
inlinevirtual |
Definition at line 529 of file DisplayData.h.
References itsColormap.
|
inlineprotected |
Returns result of last call to conformsTo(WCH&).
Methods like showValue() which don't have access to the wch can use it instead, but that shifts the burden elsewhere of being sure that conformsTo() was called for the current WCH. When possible, it is generally better and safer to call conformsTo(wch) directly when needed, rather than querying this.
Definition at line 773 of file DisplayData.h.
References csConformed_, rstrsConformed_, and zIndexConformed_.
Referenced by conformsTo().
|
inlinevirtual |
Check whether the DD is is compatible with all WC[H] state, including its coordinate state, restrictions, and zIndex (if any).
It also assures that the DD is 'focused' on this WC[H] and its zindex for purposes of drawing or event handling.
Definition at line 433 of file DisplayData.h.
References csConformed_, rstrsConformed_, and zIndexConformed_.
|
inlinevirtual |
Definition at line 438 of file DisplayData.h.
References conformed(), conformsToCS(), conformsToRstrs(), and conformsToZIndex().
|
inlinevirtual |
Determine whether DD is compatible with the WC[H]'s current world coordinates.
Derived DDs can override according to their individual capabilities (PADD and ACDD match axis codes). Overriding DDs should set csConformed_ to the value returned.
Reimplemented in casa::MSAsRaster, casa::SkyCatOverlayDD, casa::ActiveCaching2dDD, and casa::PrincipalAxesDD.
Definition at line 456 of file DisplayData.h.
References csConformed_.
Referenced by conformsTo().
|
virtual |
Determine whether DD restrictions are in conformance with restrictions on the given WCH.
(Note: this will include blink index, if any, but not zIndex. zIndex is an individual DM restriction, not an overall DD restriction).
Referenced by conformsTo().
|
inlinevirtual |
Determine whether DD is compatible with the current canvas animation (zIndex) position.
(This usually means that it lies within the current number of DD animation frames). (Generally, DDs should probably override setActiveZIndex_() rather than this method).
Definition at line 466 of file DisplayData.h.
References casa::AttributeBuffer::exists(), casa::AttributeBuffer::getValue(), casa::WorldCanvas::restrictionBuffer(), and setActiveZIndex_().
Referenced by activeZIndex(), and conformsTo().
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
protectedvirtual |
Delete temporary data.
To be called by sub-classe that now the filenames.
Referenced by setDelTmpData().
|
inlinevirtual |
Reimplemented in casa::LatticePADisplayData< T >, and casa::LatticePADisplayData< casacore::Float >.
Definition at line 614 of file DisplayData.h.
|
pure virtual |
Implemented in casa::RegionShape, casa::PrincipalAxesDD, casa::MSAsRaster, casa::WedgeDD, and casa::PassiveCachingDD.
|
inlineprotectedvirtual |
Definition at line 804 of file DisplayData.h.
References itsDisplayEHList.
|
virtual |
Reimplemented in casa::NBody.
|
pure virtual |
Implemented in casa::MSAsRaster, casa::PrincipalAxesDD, casa::RegionShape, casa::SkyCatOverlayDD, casa::WedgeDD, and casa::WorldAxesDD.
|
virtual |
Reimplemented in casa::NBody.
|
virtual |
Check if a general restriction or a restriction for item itemNum
with name name
exists.
casacore::Bool casa::DisplayData::existsAttribute | ( | casacore::String & | name | ) |
Check if a certain Attribute exists.
const WorldCanvasHolder* casa::DisplayData::findHolder | ( | const WorldCanvas * | wCanvas | ) | const |
Identify the WorldCanvasHolder for the given WorldCanvas.
Return 0
if the DisplayData does not know of a WorldCanvasHolder for the WorldCanvas.
WorldCanvasHolder* casa::DisplayData::findHolder | ( | const WorldCanvas * | wCanvas | ) |
casacore::Bool casa::DisplayData::getAttributeValue | ( | const casacore::String & | name, |
casacore::uInt & | newValue | ||
) |
User interface to get value from the attribute buffer.
casacore::Bool casa::DisplayData::getAttributeValue | ( | const casacore::String & | name, |
casacore::Int & | newValue | ||
) |
casacore::Bool casa::DisplayData::getAttributeValue | ( | const casacore::String & | name, |
casacore::Float & | newValue | ||
) |
casacore::Bool casa::DisplayData::getAttributeValue | ( | const casacore::String & | name, |
casacore::Double & | newValue | ||
) |
casacore::Bool casa::DisplayData::getAttributeValue | ( | const casacore::String & | name, |
casacore::Bool & | newValue | ||
) |
casacore::Bool casa::DisplayData::getAttributeValue | ( | const casacore::String & | name, |
casacore::String & | newValue | ||
) |
casacore::Bool casa::DisplayData::getAttributeValue | ( | const casacore::String & | name, |
casacore::Vector< casacore::uInt > & | newValue | ||
) |
casacore::Bool casa::DisplayData::getAttributeValue | ( | const casacore::String & | name, |
casacore::Vector< casacore::Int > & | newValue | ||
) |
casacore::Bool casa::DisplayData::getAttributeValue | ( | const casacore::String & | name, |
casacore::Vector< casacore::Float > & | newValue | ||
) |
casacore::Bool casa::DisplayData::getAttributeValue | ( | const casacore::String & | name, |
casacore::Vector< casacore::Double > & | newValue | ||
) |
casacore::Bool casa::DisplayData::getAttributeValue | ( | const casacore::String & | name, |
casacore::Vector< casacore::Bool > & | newValue | ||
) |
casacore::Bool casa::DisplayData::getAttributeValue | ( | const casacore::String & | name, |
casacore::Vector< casacore::String > & | newValue | ||
) |
|
inlinevirtual |
Get and set method for the flag.
Definition at line 699 of file DisplayData.h.
References delTmpData_.
|
inlinevirtual |
Definition at line 351 of file DisplayData.h.
References displaystate.
|
inlinevirtual |
Set firstZIndex to minimum zIndex setting from all canvases where this DD is registered.
(In the usual case where the DD is registered on one [multi]panel, this will return its animator 'frame #' setting). The routine will return false (and firstZIndex remain unchanged) if there are no registered canvases with zIndex below axZrng–the total number of frames on the Z axis. axZrng can be supplied; the default means 'use nelements()'. (Note: to get the zindex from the 'currently active' wch instead, a DD should check activeZIndex_. Or, if the desired wch is known, it can retrieve the zIndex itself from wch.restrictionBuffer()).
Definition at line 495 of file DisplayData.h.
References allZIndices(), and casacore::Block< T >::nelements().
|
virtual |
retrieve the current and default options and parameter types.
Reimplemented in casa::LatticeAsContour< T >, casa::LatticeAsRaster< T >, casa::Profile2dDD, casa::LatticeAsVector< T >, casa::LatticeAsMarker< T >, casa::PrincipalAxesDD, casa::MSAsRaster, casa::TblAsRasterDD, casa::TblAsContourDD, casa::TblAsXYDD, casa::CachingDisplayData, casa::WedgeDD, casa::LatticePADisplayData< T >, casa::LatticePADisplayData< casacore::Float >, casa::PassiveCachingDD, casa::ActiveCaching2dDD, casa::Histogram2dDD, casa::AxesDisplayData, casa::PassiveTableDD, casa::WorldAxesDD, casa::SkyCatOverlayDD, casa::DrawingDisplayData, and casa::ScrollingRasterDD.
|
virtual |
Overide DisplayEH::handleEvent.
This base class on forwards the event on to listeners
Reimplemented from casa::DisplayEH.
Reimplemented in casa::MSAsRaster, and casa::Profile2dDD.
|
inlinevirtual |
Get image analyis about images...
for non-image "DisplayData" this function will return null... Use dataType() to check... Creates a new object (or a null pointer) which may need to be deleted...
Definition at line 632 of file DisplayData.h.
|
inlinevirtual |
Returns a pointer that should not be deleted...
Reimplemented in casa::LatticePADisplayData< T >, and casa::LatticePADisplayData< casacore::Float >.
Definition at line 636 of file DisplayData.h.
|
inlineprotected |
Added so that when two images are loaded with no velocity alignment, they can still show their position coordinates without having to be rstrsConformed.
Definition at line 779 of file DisplayData.h.
References csConformed_, and zIndexConformed_.
|
virtual |
Is this DD the CS master of the passed WCH? Defaulting wch to 0 asks whether this DD is CS master of some WCH on which it is registered.
(That option is mostly a kludge, since the DD may be CS master of some WCHs and not others).
|
inlinevirtual |
Reimplemented in casa::WedgeDD.
Definition at line 355 of file DisplayData.h.
|
virtual |
an explicit request to draw the axes and/or labels.
Returns true if axes were drawn, otherwise false;
Reimplemented in casa::MSAsRaster, casa::Profile2dDD, casa::PrincipalAxesDD, casa::ScrollingRasterDD, and casa::WedgeDD.
|
pure virtual |
casacore::Coordinate transformations, called by WorldCanvasHolder (casacore::Matrix versions not implemented)
Implemented in casa::PrincipalAxesDD, casa::NBody, casa::ActiveCaching2dDD, and casa::PassiveCachingDD.
|
protectedvirtual |
Reimplemented in casa::NBody, and casa::PrincipalAxesDD.
|
inlineprotectedvirtual |
Definition at line 798 of file DisplayData.h.
References itsMotionEHList.
|
pure virtual |
Returns the number of elements in this DisplayData (mainly for movie purposes).
First one is no. of elements for specific WCanvas.
Implemented in casa::MSAsRaster, casa::PrincipalAxesDD, casa::NBody, casa::PassiveCachingDD, and casa::ActiveCaching2dDD.
|
pure virtual |
and non-specific
Implemented in casa::MSAsRaster, casa::PrincipalAxesDD, casa::NBody, casa::PassiveCachingDD, and casa::ActiveCaching2dDD.
|
virtual |
Reimplemented in casa::MSAsRaster, and casa::CachingDisplayData.
|
virtual |
ignoreRefresh
tells the DD not to refresh just to clean up DMs
Reimplemented in casa::PrincipalAxesDD, casa::MSAsRaster, casa::Profile2dDD, casa::WedgeDD, and casa::CachingDisplayData.
|
protected |
(Required) copy assignment.
|
protectedvirtual |
Position, motion and refresh event handlers that will generally be called by a WorldCanvasHolder.
Reimplemented in casa::NBody, and casa::PrincipalAxesDD.
|
inlineprotectedvirtual |
Retrieve position, motion, refresh and display event handler lists.
Definition at line 795 of file DisplayData.h.
References itsPositionEHList.
|
virtual |
an explicit refresh: should be called if the DisplayData is changed such that drawing is required.
If clean is true, the DD is totally rebuilt, in practice. This is provided for higher level control, even explicit control of refresh where necessary. ..."refresh(true)"... does not seem to work <drs:Mar 21 2013>
|
protectedpure virtual |
Implemented in casa::NBody, casa::PrincipalAxesDD, casa::CachingDisplayData, casa::PassiveCachingDD, and casa::DrawingDisplayData.
|
inlineprotectedvirtual |
Definition at line 801 of file DisplayData.h.
References itsRefreshEHList.
void casa::DisplayData::removeAttribute | ( | casacore::String & | name | ) |
Remove an Attribute.
|
virtual |
|
virtual |
|
virtual |
Reimplemented in casa::NBody.
|
virtual |
remove this DD everywhere–will stop any more refresh handling by the DD.
It is a good idea for top-level DDs to call this first in their destructor.
|
virtual |
|
virtual |
Remove eventhandlers.
|
virtual |
|
virtual |
Remove a general restriction or a restriction from item itemNum
|
virtual |
Get a handle to the buffer of general restrictions or of the buffer of restrictions for item itemNum
|
inlineprotectedvirtual |
DDs may override to adjust the internal stored current animation index (activeZIndex_) if necessary, and to set return value false iff the passed zindex won't work for the DD.
zIndexConformed_ should be set to the value returned; activeZIndex_ should also be set appropriately.
Reimplemented in casa::MSAsRaster, and casa::PrincipalAxesDD.
Definition at line 721 of file DisplayData.h.
References activeZIndex_, and zIndexConformed_.
Referenced by conformsToZIndex().
void casa::DisplayData::setAttributeOnPrimaryWCHs | ( | Attribute & | at | ) |
Set an attribute on any WorldCanvas for which this DD is CS master.
void casa::DisplayData::setAttributes | ( | AttributeBuffer & | at | ) |
|
virtual |
Set/remove/get a ColourMap (sorry, ColorMap) for this DisplayData setColormap() throw an casacore::AipsError is a null pointer is passed.
colormap() returns 0 if no Colormap is registered.
Reimplemented in casa::CachingDisplayData.
|
virtual |
install the default options for this DisplayData
Reimplemented in casa::LatticeAsContour< T >, casa::LatticeAsRaster< T >, casa::Profile2dDD, casa::LatticeAsVector< T >, casa::LatticeAsMarker< T >, casa::MSAsRaster, casa::PrincipalAxesDD, casa::TblAsRasterDD, casa::TblAsContourDD, casa::TblAsXYDD, casa::WedgeDD, casa::LatticePADisplayData< T >, casa::CachingDisplayData, casa::LatticePADisplayData< casacore::Float >, casa::PassiveCachingDD, casa::ActiveCaching2dDD, casa::Histogram2dDD, casa::AxesDisplayData, casa::ScrollingRasterDD, casa::PassiveTableDD, casa::WorldAxesDD, casa::SkyCatOverlayDD, and casa::DrawingDisplayData.
|
inlinevirtual |
Definition at line 702 of file DisplayData.h.
References delTmpData(), and delTmpData_.
|
inlinevirtual |
Reimplemented in casa::LatticeAsRaster< T >.
Definition at line 708 of file DisplayData.h.
|
inlinevirtual |
Reimplemented in casa::LatticeAsRaster< T >.
Definition at line 709 of file DisplayData.h.
|
inlinevirtual |
Reimplemented in casa::LatticeAsRaster< T >.
Definition at line 707 of file DisplayData.h.
|
inlinevirtual |
Definition at line 348 of file DisplayData.h.
References displaystate.
|
virtual |
Reimplemented in casa::NBody.
|
virtual |
Reimplemented in casa::NBody.
|
virtual |
apply options stored in val to the DisplayData; return value true means a refresh is needed...
Reimplemented in casa::LatticeAsContour< T >, casa::LatticeAsRaster< T >, casa::Profile2dDD, casa::LatticeAsVector< T >, casa::LatticeAsMarker< T >, casa::PrincipalAxesDD, casa::MSAsRaster, casa::TblAsRasterDD, casa::TblAsContourDD, casa::TblAsXYDD, casa::CachingDisplayData, casa::WedgeDD, casa::LatticePADisplayData< T >, casa::LatticePADisplayData< casacore::Float >, casa::PassiveCachingDD, casa::ActiveCaching2dDD, casa::Histogram2dDD, casa::AxesDisplayData, casa::PassiveTableDD, casa::WorldAxesDD, casa::SkyCatOverlayDD, casa::DrawingDisplayData, and casa::ScrollingRasterDD.
|
virtual |
|
virtual |
Set general restrictions or a restriction for item itemNum
of this DisplayData.
Note that the item versions of the restriction interface are not implemented.
|
inlinevirtual |
Reimplemented in casa::PrincipalAxesDD.
Definition at line 640 of file DisplayData.h.
|
inlinevirtual |
Reimplemented in casa::MSAsRaster.
Definition at line 692 of file DisplayData.h.
References uiBase_.
Referenced by casa::MSAsRaster::setUIBase().
|
pure virtual |
casacore::Format a string containing coordinate information at the given world coordinate
Implemented in casa::MSAsRaster, casa::NBody, casa::PrincipalAxesDD, casa::ActiveCaching2dDD, and casa::PassiveCachingDD.
|
pure virtual |
casacore::Format a string containing value information at the given world coordinate
Implemented in casa::MSAsRaster, casa::Profile2dDD, casa::NBody, casa::TblAsRasterDD, casa::TblAsContourDD, casa::TblAsXYDD, casa::ScrollingRasterDD, casa::WedgeDD, casa::LatticePADisplayData< T >, casa::LatticePADisplayData< casacore::Float >, casa::Histogram2dDD, and casa::PassiveCachingDD.
|
protectedpure virtual |
Set (coordinate) state of WCH's WC.
Called by WCH::executeSizeControl(). (See important notes on interface and implementation of this function in the class synopsis above).
Implemented in casa::Profile2dDD, casa::NBody, casa::PrincipalAxesDD, casa::PassiveCachingDD, casa::ActiveCaching2dDD, and casa::ScrollingRasterDD.
|
inlinevirtual |
DD 'Absolute Pixel Coordinates', e.g.
channel numbers, are internally 0-based (they begin numbering at 0), but certain external user-interface functions (e.g. showPosition(), used for position tracking) have produced 1-based output traditionally for the glish-based viewer. uiBase_, and related methods uiBase() and setUIBase(), allow newer (python/Qt-based) code to cause external ui functions like showValue() to report 0-based values instead. Unless setUIBase(0) is called, the traditional 1-based reporting behavior is retained by default.
If you are using 0-basing in the user interface, you should call setUIBase(0) right after constructing this DD, before other user interface operations such as getOptions().
Definition at line 688 of file DisplayData.h.
References uiBase_.
Referenced by casa::MSAsRaster::a1mult_(), and casa::MSAsRaster::setUIBase().
|
pure virtual |
Some routines that give info on the axes names, units etc.
I am not sure this is the right way of doing it.
Implemented in casa::ScrollingRasterDD, casa::PrincipalAxesDD, casa::NBody, casa::ActiveCaching2dDD, and casa::PassiveCachingDD.
|
pure virtual |
Implemented in casa::ScrollingRasterDD, casa::PrincipalAxesDD, casa::NBody, casa::ActiveCaching2dDD, and casa::PassiveCachingDD.
|
pure virtual |
Implemented in casa::PrincipalAxesDD, casa::NBody, casa::ActiveCaching2dDD, and casa::PassiveCachingDD.
|
inlinevirtual |
Will be called just before registering the [GTk]DD on a [GTk]PanelDisplay which has none registered on it yet.
The DD can set the initial animator position in this case by overriding this method to set preferredZIndex and return true.
Reimplemented in casa::MSAsRaster.
Definition at line 661 of file DisplayData.h.
|
friend |
Protected interface for WorldCanvasHolder, can be called by the friends of DisplayData, but are nobody else's business.
I decided to do this in this way to avoid that the programmer has to both register the DisplayData with the WorldCanvasHolder AND the WorldCanvasHolder with the DisplayData. Now one of the two is done automatically. The WorldCanvasHolder is my friend. This is to hide the eventhandler interfaces listed below from the outside world. The WorldCanvasHolder is the only class that needs them
Definition at line 750 of file DisplayData.h.
|
protected |
Indicates the 'current' animation frame, i.e.
the zIndex on the canvas for which confromsTo(wch) was last called. Intended to be set only by setActiveZIndex_() in this class or derived classes.
Definition at line 755 of file DisplayData.h.
Referenced by activeZIndex(), casa::MSAsRaster::setActiveZIndex_(), and setActiveZIndex_().
|
protected |
buffer for storing Attributes
Definition at line 737 of file DisplayData.h.
|
protected |
Definition at line 766 of file DisplayData.h.
Referenced by conformed(), conformsTo(), casa::MSAsRaster::conformsToCS(), conformsToCS(), and isCsAndZIndexConformed().
|
static |
Definition at line 712 of file DisplayData.h.
|
static |
Definition at line 711 of file DisplayData.h.
|
protected |
list of DisplayDataElements, which are of type DisplayMethod or derived
Definition at line 740 of file DisplayData.h.
|
protected |
Flag indicating that temporary data should be removed when deleting the object.
Definition at line 759 of file DisplayData.h.
Referenced by getDelTmpData(), and setDelTmpData().
|
private |
is this data currently being displayed?
Definition at line 832 of file DisplayData.h.
Referenced by getDisplayState(), and setDisplayState().
|
private |
Colormap for this DisplayData, and its weight.
Definition at line 835 of file DisplayData.h.
Referenced by colormap().
|
private |
Definition at line 836 of file DisplayData.h.
|
private |
Definition at line 849 of file DisplayData.h.
Referenced by displayEventHandlerList().
|
private |
Definition at line 847 of file DisplayData.h.
Referenced by motionEventHandlerList().
|
private |
Lists of position, motion, refresh and display event handlers.
Definition at line 846 of file DisplayData.h.
Referenced by positionEventHandlerList().
|
private |
Definition at line 848 of file DisplayData.h.
Referenced by refreshEventHandlerList().
|
private |
A list of WorldCanvasHolders for which this DisplayData works.
The list is maintained by the DisplayData itself based on the notify routines used by the WorldCanvasHolder. This can be used, for example, to find which WorldCanvas belongs to which WorldCanvasHolder.
Definition at line 843 of file DisplayData.h.
|
private |
Definition at line 829 of file DisplayData.h.
|
protected |
The Book says that we should not put data members in class that is supposed to only define an interface, but by putting these here, we can implement some of the restriction & eventhandling stuff so that people do not have to repeat it.
buffer for storing restrictions
Definition at line 734 of file DisplayData.h.
|
protected |
Somewhat limited-use state, saved here for 'efficiency'.
Indicates that the last call to conformsToRstrs(), conformsToCS(), or conformsToZIndex(), passed the respective compatibility tests. (See conformed(), below). Intended to be set only in the methods conformsToRstrs(), conformsToCS() and setActiveZIndex_(), respectively.
Definition at line 766 of file DisplayData.h.
Referenced by conformed(), and conformsTo().
|
private |
DD 'Absolute Pixel Coordinates', e.g.
channel numbers, are internally 0-based (begin numbering at 0), but certain external user-interface functions (e.g. showPosition(), used for position tracking) have produced 1-based output traditionally for the glish-based viewer. uiBase_, and related methods uiBase() and setUIBase(), allow newer (python/Qt-based) code to cause external ui functions like showValue() report 0-based values instead. Unless setUIBase(0) is called, the traditional 1-based reporting behavior is retained by default.
Definition at line 860 of file DisplayData.h.
Referenced by setUIBase(), and uiBase().
|
protected |
Definition at line 766 of file DisplayData.h.
Referenced by conformed(), conformsTo(), isCsAndZIndexConformed(), casa::MSAsRaster::setActiveZIndex_(), and setActiveZIndex_().