Re: How to link the change to RangeWidget with SelectRangeWidget?

I am trouble producing a 3D vector plot with VisAD. In this case my 
u,v,w components are defined on the same x,y grid. What I get is a 
plane showing what I assume is the u,v vector inside a 3D cube--can't 
see any effect of the w component. Thanks in adbance. This is what I'm 
doing:

X = new RealType(xtypeName, null, null);
Y = new RealType(ytypeName, null, null);
domain_tuple = new RealTupleType(Y, X);
U = new RealType(utypeName, null, null);
V = new RealType(vtypeName, null, null);
W = new RealType(wtypeName, null, null);
range_tuple = new RealTupleType(U, V, W);
func_domain_range = new FunctionType(domain_tuple, range_tuple);

// Create the domain Set
domain_set = new Linear2DSet(domain_tuple, yArray[0], yArray[ySize-1], 
ySize, xArray[0], xArray[xSize-1], xSize);
float[][] set_samples = domain_set.getSamples(true);
float[][] flat_samples = new float[3][xSize * ySize];

count = 0;
for(int i=0; i < xSize; i++) {
   for(int j=0; j < ySize; j++) {
      double uval = uArray[count];
      double vval = vArray[count];
      double wval = wArray[count];
      flat_samples[0][count] = (float)uval;
      flat_samples[1][count] = (float)vval;
      flat_samples[2][count] = (float)wval;
      count++;
    }
}

vals_ff = new FlatField(func_domain_range, domain_set);
vals_ff.setSamples(flat_samples, false);

// A 3D display
display = new DisplayImplJ3D("display1");

// Create the X,Y ScalarMaps
yMap = new ScalarMap(Y, Display.YAxis);
xMap = new ScalarMap(X, Display.XAxis);
xRangeMap = new ScalarMap(X, Display.SelectRange);
yRangeMap = new ScalarMap(Y, Display.SelectRange);

// Add X,Y maps to display
display.addMap(yMap);
display.addMap(xMap);
display.addMap(xRangeMap);
display.addMap(yRangeMap);

// "u" component
uMap = new ScalarMap(U, Display.Flow1X);
uRangeMap = new ScalarMap(U, Display.SelectRange);
display.addMap(uRangeMap);
display.addMap(uMap);
    
// "v" component
vMap = new ScalarMap(V, Display.Flow1Y);
vRangeMap = new ScalarMap(V, Display.SelectRange);
display.addMap(vRangeMap);
display.addMap(vMap);
    
// "w" component
wMap = new ScalarMap(W, Display.Flow1Z);
wRangeMap = new ScalarMap(W, Display.SelectRange);
display.addMap(wRangeMap);
display.addMap(wMap);

selXRange = new SelectRangeWidget(xRangeMap);
selYRange = new SelectRangeWidget(yRangeMap);

// Create a data reference and set the FlatField as our data
data_ref = new DataReferenceImpl("data_ref");
data_ref.setData(vals_ff);

// Add reference to display
    display.addReference(data_ref);


  • 2002 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the visad archives: