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 Russell, > I used visad source updated from cvs.VisAD.sourceforge.net today, and > modified ShadowType.java and ContourControl.java. > > bvalues[0] always seems to be true, spatialManifoldDimension is always > 2, and fvalues[0] is always NaN. > > Here is a series of stack traces, using DisplayImpl.printStack(), from > when the behaviour is seen. Thank you. In tracking down why ContourControl.surfaceValue (i.e., fvalues[0]) is NaN, there are three relevant spots to look: 1. One place where surfaceValue might get set implicitly would be during auto-scaling, but the auto-scaling code in ScalarMap includes a comment "don't set surface value for auto-scale". 2. If the application constructs a visad.util.ContourWidget for the ScalarMap to IsoContour, and defines a surface value in the ContourWidget constructor, this will set ContourControl.surfaceValue. It looks like ContourWidget methods can implicitly set a non-NaN value for surfaceValue, but then the value is the minimum of the data range so no iso-surface would appear. Does your application construct a ContourWidget? 3. The application explicitly calls ContourControl.setMainContours() or ContourControl.setSurfaceValue() with a non-NaN surfaceValue. Does your application make these calls? The interesting question is why an iso-surface does appear when you add a ScalarMap to RGB, etc, but does not appear if you don't. You may be able to answer these questions by inserting calls to DisplayImpl.printStack(String) in ContourControl.setMainContours() and ContourControl.setSurfaceValue(), and include the value being set in surfaceValue in the String argument to printStack(String). Please let us know what you find. Cheers, Bill
visad
archives: