Thanks for the detail. Here's a couple things to try:
1. When you add the model "SST-GLOBAL", call:
display.reAutoScale();
before you call display.addReference().
2. If that doesn't fix the problem, then call the
setContourInterval() method of the ContourControl for your
ScalarMap SST-GLOBAL-ST--SFC -> DisplayIsoContour sometime
after you've passed the ScalarMap to display.addMap().
Let us know if this fixes the problem.
Cheers,
Bill
On 17 Sep 2003, Tennessee James Leeuwenburg wrote:
> Thanks for your help guys! Good suggestions, but here is a more
> blow-by-blow description of the problem. It will address some of the
> issues of ScalarMaps, exactly what is being done etc.
>
> ===================================================
>
> Stage One : Add Model "GASP". This is made up of layers "1000" "850" and
> "200". Printing all the ScalarMaps from the display shows :
>
> map 0 is ScalarMap: Latitude -> DisplayYAxis
> map 1 is ScalarMap: Longitude -> DisplayXAxis
> map 2 is ScalarMap: Time -> DisplayAnimation
> map 3 is ScalarMap: GridLinesLayer_0__lat_text(Text)
> -> DisplayText
> map 4 is ScalarMap: GridLinesLayer_0__lon_text(Text)
> -> DisplayText
> map 5 is ScalarMap: GASP-T--1000 -> DisplayIsoContour
> map 6 is ScalarMap: GASP-T---850 -> DisplayIsoContour
> map 7 is ScalarMap: GASP-T---200 -> DisplayIsoContour
>
>
> I can then toggle on any / all of these layers to show data.
>
> ===================================================
>
> Then, I add the model "SST-GLOBAL" This has the layer "SFC". Adding this
> layer and toggling the data on has the effect of causing the text
> "please wait" to be displayed temporarily in the display. The data does
> not appear.
>
> map 0 is ScalarMap: Latitude -> DisplayYAxis
> map 1 is ScalarMap: Longitude -> DisplayXAxis
> map 2 is ScalarMap: Time -> DisplayAnimation
> map 3 is ScalarMap: GridLinesLayer_0__lat_text(Text) -> DisplayText
> map 4 is ScalarMap: GridLinesLayer_0__lon_text(Text) -> DisplayText
> map 5 is ScalarMap: GASP-T--1000 -> DisplayIsoContour
> map 6 is ScalarMap: GASP-T---850 -> DisplayIsoContour
> map 7 is ScalarMap: GASP-T---200 -> DisplayIsoContour
> map 8 is ScalarMap: SST-GLOBAL-ST--SFC -> DisplayIsoContour
>
> I can still toggle any/all of the GASP layers
>
> ===================================================
>
> Then, I remove the model "GASP". In my app, this means :
>
> *Removing the model from the various GUI controls
> *Removing the data reference from the display
> *Removing the data reference from the animation manager
>
> With no further toggling, the data for "SST-GLOBAL" now renders to the
> screen.
>
> map 0 is ScalarMap: Latitude -> DisplayYAxis
> map 1 is ScalarMap: Longitude -> DisplayXAxis
> map 2 is ScalarMap: Time -> DisplayAnimation
> map 3 is ScalarMap: GridLinesLayer_0__lat_text(Text) -> DisplayText
> map 4 is ScalarMap: GridLinesLayer_0__lon_text(Text) -> DisplayText
> map 5 is ScalarMap: GASP-T--1000 -> DisplayIsoContour
> map 6 is ScalarMap: GASP-T---850 -> DisplayIsoContour
> map 7 is ScalarMap: GASP-T---200 -> DisplayIsoContour
> map 8 is ScalarMap: SST-GLOBAL-ST--SFC -> DisplayIsoContour
>
> As you can see, the GASP ScalarMaps are still present, it's just the
> data that is gone.
>
> ====================================================
>
>
> > There is quite a bit of detail in the DataRenderer tutorial.
>
> Thanks, I'll go read that carefully.
>
> > Are the new layers stuck in the toggled on or toggled off
> > state?
>
> They're not so much stuck, as toggling isn't having an effect. The
> layers from one model are working as normal, and the layers from the
> other won't display data even after toggling.
>
> > If you can toggle any layers on and off then there is no
> > deadlock, since all DataRenderer.doAction() methods are
> > invoked in a single loop (at about lines 1684-1699 of
> > DisplayImpl.java).
>
> Then there's no deadlock, because I can still toggle the layers that are
> still 'healthy' so to speak.
>
> > One thing to seriously consider is whether the ScalarMaps
> > from the first models are interfering with the rendering
> > of data from later models. If the later models seem to be
> > stuck off, this could be the explanation. There is no
> > segregation of ScalarMaps by model (as you say, VisAD is
> > unaware of your models) - all ScalarMaps apply to all
> > linked DataReferences.
>
> As in the example above, the ScalarMaps are never getting removed, so
> any effect they are having should persist even after removing the model.
>
> > Let us know if you have more questions or manage to figure
> > this out.
>
> Thanks for your help - it's certainly appreciated!
>
> Also, I am running :
> Linux (Redhat 9)
> Java 1.4.2
> Java3D 1.3 (For linux/OpenGL, by Blackdown)
>
> But we've seen the problem under Windows also...
>
>
> Cheers,
> -T
>
>