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.
Hi Nicolas, > Let's suppose I have a big 3D block and also a 1D view "associated" with, > for instance a vertical line passing through the block. > If computations modify the 1D data, is there a "simple" > way to propagate the changes to the 3D block (the father)? > What else if there are 2 views sharing the same 3D block data? You can use CellImpls to do this. For each 1-D view of a 3-D block, you'd construct a CellImpl whose doAction() method would propagate the change to the 3-D block, as well as to the other 1-D views. You'd pass a DataReference for the 1-D view to the addReference() method of the CellImpl. In a situation with multiple 1-D views, this can lead to event loops (i.e., A changes B which changes A which changes B ...). So when a doAction changes B, it should first test if the new value for B is the same as the old value for B, and if they are equal then don't make the change. There are various signatures in vsad/util/Util.java for a method isApproximatelyEqual() for testing approximate equality between floats and doubles. Cheers, Bill
visad
archives: