NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
My group is using Visad to display oceangraphic data. In particular, we are attempting to display a parameter called signal excess over a particular cube of ocean water with a number of views. In one of these views, the goal is to display a horizontal 'depth slice' of signal excess data at a particular depth from the ocean surface. The user would then be able to use a slider to change the depth of the horizontal slice, and the signal excess data is mapped both to Display.RGB and Display.Alpha (to allow the ocean floor to be visible). The first implementation of this particular view involved mapping a depth slice to a Linear2DSet and then mapping that onto the display using a ConstantMap on the ZAxis to set the slice to the appropriate depth. However, this technique requires (I believe) the removal of the entire reference and then re-adding a newly calculated reference to alter the value of the ZAxis, which is slow, in-elegent, and appears to introduce some memory leakage problems. What we really want is to use a 3D set of some sort so that the data set for the depth slice contains its own ZAxis mapping information. Is there a way to use a Linear3DSet (or some other set) to map a single (out of a possible 20) horizontal slice of 3D dimensional data to the display at a time? The attempt I've made so far is happy to disply all 20 slices (ie the whole data set) but because the range of the Linear3Dset is 0-19, it is difficult to map a single slice at a time without running into problems. What is really desired is to alter the display simply by re-calling the 'setSamples()' method of the data reference when the user requests a new depth. Thanks, Patrick Tewson UW APL
visad
archives: