Re: Weird display problem

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