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 John, > Well the good news is that my code is correct. The bad news is that I failed > to > look at the exponent values of my w component values. When I looked more > closely, I found the w values were 2-3 orders of magnitude less than the u,v > components so were essentially zero. This brings up another question. Is there > a way to set the "z" axis scaling so that it is scaled to the range of the w > component values? As Tom said, you can call the setRange() method of your ScalarMap to Flow1Z. However, there is a static method of ScalarMap named equalizeFlow() that ensures that all ScalarMaps to Flow1X,Y,Z have the same range. I don't think you can override a static method, but you can define an extension of visad.java3d.DefaultDisplayRendererJ3D that overrides the definition of: public void prepareAction(Vector temp, Vector tmap, boolean go, boolean initialize) in visad.DisplayRenderer, to eliminate the two calls to ScalarMap.equalizeFlow(). Then pass an instance of your extension of visad.java3d.DefaultDisplayRendererJ3D to the constructor: public DisplayImplJ3D(String name, DisplayRendererJ3D renderer) At least, I think this should work. Ain't object-oriented programming great? Good luck, Bill
visad
archives: