VisAD library update
Tom Rink
rink at ssec.wisc.edu
Wed Jan 31 06:05:29 MST 2007
Hi Lizhi,
We'll look into this.
Tom
Wang Lizhi wrote:
>Hi, Don Murray,
>
>The following two JPG file is the streamline with the previous version(stream-1.jpg) and the new version(stream-2.jpg).
>
> FlowControl cFlow = (FlowControl)streamUMap.getControl();
> cFlow.setStreamlineDensity( 1.0 );
> cFlow.setStepFactor( 0.5 );
>The stream-1.jpg is what I want, but I have no idea about the stream-2.jpg
>
>When I run the following code, there is something wrong. I paste the code and errors:
>
>/////############### code begin ################//
>
>import java.util.*;
>
>import java.awt.BorderLayout;
>import java.awt.Container;
>import java.awt.Color;
>import java.awt.Dimension;
>import java.awt.event.*;
>
>import javax.swing.*;
>import javax.swing.event.*;
>import visad.*;
>import visad.util.*;
>import visad.java2d.DisplayImplJ2D;
>import visad.java3d.DisplayImplJ3D;
>import visad.java3d.DefaultRendererJ3D;
>import java.rmi.RemoteException;
>
>public class GEam3DView extends JTabbedPane
>{
> public GEam3DView() throws RemoteException, VisADException
> {
> super();
>
> setupComponent();
> }
>
> private void setupComponent()
> {
> JPanel p = new JPanel();
> p.setLayout( new BorderLayout() );
> add( "3D", p );
>
> try
> {
> DisplayImpl display = new DisplayImplJ3D( "3D" );
> p.add( display.getComponent(), BorderLayout.CENTER );
>
> RealType x = RealType.getRealType( "X" );
> RealType y = RealType.getRealType( "Y" );
> RealType z = RealType.getRealType( "Z" );
> RealType pixel = RealType.getRealType( "pixel" );
>
> ScalarMap xMap3D = new ScalarMap( x, Display.XAxis );
> ScalarMap yMap3D = new ScalarMap( y, Display.YAxis );
> ScalarMap zMap3D = new ScalarMap( z, Display.ZAxis );
> ScalarMap pixMap3D = new ScalarMap( pixel, Display.RGB );
> ScalarMap areaMap3D = new ScalarMap( pixel, Display.IsoContour );
>
> RealTupleType xyz_domain = new RealTupleType( z, y, x );
>
> visad.Set xyz_domain_set = new Linear3DSet( xyz_domain,
> -1000, -800, 3, 0, 1000, 20, 0, 1500, 30 );
>
> FunctionType xyz_func_pixel = new FunctionType(
> xyz_domain, pixel );
>
> FlatField xyz_pixel_ff = new FlatField( xyz_func_pixel, xyz_domain_set );
>// xyz_pixel_ff.setSamples(
> DataReferenceImpl xyz_pixel_ref
> new DataReferenceImpl( "xyz_pixel" );
> display.addReference( xyz_pixel_ref );
> xyz_pixel_ref.setData( xyz_pixel_ff );
>
> display.addMap( xMap3D );
> display.addMap( yMap3D );
> display.addMap( zMap3D );
> display.addMap( pixMap3D );
> display.addMap( areaMap3D );
> }
> catch( RemoteException re ) { }
> catch( VisADException v5de ) { }
> }
>
> public static void main( String[] argv )
> {
> try
> {
> JFrame f = new JFrame();
> f.add( new GEam3DView() );
> f.setSize( 400, 400 );
> f.setVisible( true );
> }
> catch( java.rmi.RemoteException re ) { }
> catch( visad.VisADException ve ) { }
> }
>}
>/////// end of the code //////////////////////
>
>errors as following:
>
>java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
> at java.util.Vector.elementAt(Vector.java:427)
> at visad.java3d.ShadowFunctionOrSetTypeJ3D.doTransform(ShadowFunctionOrSetTypeJ3D.java:124)
> at visad.java3d.DefaultRendererJ3D.doTransform(DefaultRendererJ3D.java:133)
> at visad.java3d.RendererJ3D.doAction(RendererJ3D.java:181)
> at visad.DisplayImpl.doAction(DisplayImpl.java:1709)
> at visad.ActionImpl.run(ActionImpl.java:364)
> at visad.util.ThreadPool$ThreadMinnow.run(ThreadPool.java:95)
>
>
>thanks
>
>lizhi
>
>
>
>----- Original Message -----
>From: "Don Murray" <dmurray at unidata.ucar.edu>
>To: "Wang Lizhi" <wlz at tea.ac.cn>
>Cc: "Tom Whittaker" <tomw at ssec.wisc.edu>; <visad at unidata.ucar.edu>
>Sent: Tuesday, January 30, 2007 10:34 PM
>Subject: Re: VisAD library update
>
>
>
>
>>Hi-
>>
>>Wang Lizhi wrote:
>>
>>
>>
>>> When I use the updated version, my application do not display correctly
>>>
>>> Firstly, the Stream is very strange when I use
>>> streamUMap = new ScalarMap( ux, Display.Flow1X );
>>> streamVMap = new ScalarMap( vy, Display.Flow1Y );
>>>
>>>
>>The streamline code was revamped to be more "realistic" so it
>>will look different than the previous version. When you say
>>"strange" does that mean different or inaccurate? If the latter,
>>can you provide a screen shot with the old visad.jar and the new one?
>>
>>
>>
>>> Secondly, some error message is displayed as following:
>>> java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
>>> at java.util.Vector.elementAt( Vector.java:427 )
>>> at visad.java3d.ShadowFunctionOrSetTypeJ3D.doTransform( ShadowFunctionOrSetTypeJ3D.java:124 )
>>> at visad.java3d.DefaultRendererJ3D.doTransform( defaultRendererJ3D.java:133 )
>>> at visad.java3d.RednererJ3D.doAction( RendererJ3D.java:181 )
>>> at visad.DisplayImpl.doAction( DisplayImpl.java:1709 )
>>> at visad.ActionImpl.run( ActionImpl.java:364 )
>>> at visad.util.ThreadPool$ThreadMinnow.run( ThreadPool.java:95 )
>>> Can I get some idea where I can deal with the error?
>>>
>>>
>>Can you provide some code which produces this problem? What is
>>the data type of the field?
>>
>>Don Murray
>>*************************************************************
>>Don Murray UCAR Unidata Program
>>dmurray at unidata.ucar.edu P.O. Box 3000
>>(303) 497-8628 Boulder, CO 80307
>>http://www.unidata.ucar.edu/staff/donm
>>*************************************************************
>>
>>
>>==============================================================================
>>To unsubscribe visad, visit:
>>http://www.unidata.ucar.edu/mailing-list-delete-form.html
>>==============================================================================
>>
>>
>> ------------------------------------------------------------------------
>>
>>
>> ------------------------------------------------------------------------
>>
==============================================================================
To unsubscribe visad, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================
More information about the visad
mailing list