Combining disparate VisADGeometry types

Hi-

I'm trying to create some custom plots of data using shapes,
but am having some problem doing what I want when some shapes
are VisADLineArrays and others are VisADTriangleStripArrays
(i.e. output from PlotText_renderFont using HersheyFont vs.
using java.awt.Font).

I have a bunch of station observations with MathType like:

  index -> (lat, lon, alt, temp, dewpoint, wx, spd, dir, pres,
cloud....)

I have another object that defines how which of the variables
I want and their positions relative to the lat/lon point:

              temp     press
                  cloud
              dew      spd

Instead of mapping each variable to a shape, I create one shape for
each observation since this allows me more control of creating the
shape (color, offset, etc) and I only need one ScalarMap.  So, I
take each sample (1 ob), and loop through the tuple, finding the
variables I need, creating a shape (VisADGeometryArray) for each
variable and then merging them to create one shape for a single
observation.  In the end, I create a ScalarMap (Station_Model ->
Display.Shape)
and use a FieldImpl like:

  index -> ((original_ob_tuple), Station_Model)

where Station_Model is just a Real of Type Station_Model and value
index.
In my ShapeControl, I use an Integer1DSet with index.length samples and
the shapes are the array of VisADGeometryArray's that I created for
each observation.

This all works fine if each of the shapes I create for each variable
(one for temp, one for dewpoint, one for press, etc) are all of the same 
flavor (i.e. all VisADLineArray's) because the merge works to create
one shape describing the entire station plot.

However, now I want the user to be able to specify a Font to render
a variable, so when I create a shape for a particular variable, it
might be a VisADLineArray and for another, it might be a 
VisADTriangleStripArray.  If this is the case, I can't merge them 
to create one shape that describes the entire station model.

Does anyone have suggestions on how I might do this (other than
a custom data renderer)?  In the past, Bill suggested that I have a 
different ScalarMap for each variable that I want to display, but going 
that route leadsto problems for creating offsets from the center point
and 
lotsof overhead of creating different shapes to set in each
ShapeControl.
Having one (or several) shapes associated with a particular observation
is 
easier to manage, but I'm not sure how to handle the case where I have
several different types of shapes that represent a plot.

Thanks in advance.

Don
*************************************************************
Don Murray                               UCAR Unidata Program
dmurray@xxxxxxxxxxxxxxxx                        P.O. Box 3000
(303) 497-8628                              Boulder, CO 80307
http://www.unidata.ucar.edu/staff/donm
*************************************************************


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