Re: RangeControl for double precision values

Hi Bill-

Bill Hibbard wrote:

There's no good way to change the default DataRenderers to use
doubles without making everything doubles in them. I actually
tried that back in 1998 when VisAD was new, but memory use was

One possibility is a custom DataRenderer, but that's a lot of

Don't want to go that path!

You can't just use a Time Unit with an epoch other than 1 Jan
1970, since values are converted to default Units for RealTypes
inside the default DataRenderers (this is necessary so that
ScalarMaps can be applied uniformly to RealType values with
different Units).

Yeah, found that out.

So it may come down to a hack: adding a new RealType, say Time2,
to your Data with default Unit that is seconds since some epoch
that makes float values work, and values for this new RealType
that are redundant with the Time values.

This is a possibility, but my first attempts did not get me
anywhere.  I may have multiple time tracks, each with a different
base time.  Having different preset epochs might work, but that
seems like quite the hack.

Another possibility is a scaled version of Display.SelectRange.
SelectRange itself is not scaled, so values of RealTypes are
simply copied to SelectRange values by ScalarMaps. However, an
alternate, "ScaledSelectRange" would allow applications to map
an interval of double values to the float ScaledSelectRange
values, which could then be selected. This would be a significant


So I think the easiest solution, if it can work for you, would
be a new Time2 RealType.

I'll see where this will take me.

Thanks for the suggestions.

Don Murray                               UCAR Unidata Program
dmurray@xxxxxxxxxxxxxxxx                        P.O. Box 3000
(303) 497-8628                              Boulder, CO 80307
"There's someone in my head, but it's not me"    Roger Waters

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