- To: <dmurray@xxxxxxxxxxxxxxxx>
- Subject: Re: VisAD library update
- From: "Wang Lizhi" <wlz@xxxxxxxxx>
- Date: Wed, 31 Jan 2007 15:02:31 +0800
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@xxxxxxxxxxxxxxxx>
To: "Wang Lizhi" <wlz@xxxxxxxxx>
Cc: "Tom Whittaker" <tomw@xxxxxxxxxxxxx>; <visad@xxxxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxxx 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
> ===============================================================================Attachment:
stream-1.jpg
Description: JPEG image
Attachment:
stream-2.jpg
Description: JPEG image
- Follow-Ups:
- Re: VisAD library update
- From: Tom Rink
- Re: VisAD library update
- References:
- VisAD library update
- From: Tom Whittaker
- Re: VisAD library update
- From: Wang Lizhi
- Re: VisAD library update
- From: Don Murray
- VisAD library update