Unidata - To provide the data services, tools, and cyberinfrastructure leadership that advance Earth system science, enhance educational opportunities, and broaden participation. Unidata
         
  advanced  
 

Re: semantics of DataReferenceImpl.setData(null) ??

Hi Stuart-

Stuart Maclean wrote:
I have an web based visad app which is to render as lines, vertices and labels some 'Route' data structure posted by a browser based system. Each 'waypoint' in a route has a lat,lon,name and pointer to 'next
 waypoint.  Lines are to be drawn from a waypoint to its next point.

I have 3 DataReferenceImpls objects attached to a display (J2D). I re-use the display and dataRefs across multiple http calls.

If the Route to be rendered contains a single point, there will be no 'lines' (think Rivers.java from the visad examples). In this case, i use

dataRefForLines.setData( null );

Somewhere in the depths of my mind, I seem to remember that
using null for setData is bad.  In the IDV, we don't add a
DataReference to the display if the data is null.

This call appears to play havoc with the overall rendering of the image.
The image includes the initial vertex and label of previously composed Route objects, i.e. it appears that the call affects the other two DataRefs, one which plots vertices (mathtype is index -> LatLonTuple) and one which draws labels (mathtype is LatLonTuple -> TextType.Generic)

Do you have Cells listening for changes to the dataRefForLines?
When you say "play havoc" what exactly are you seeing?

If I replace the above call with

dataRefForLines.setData( new Real(0) );

all is well.

We do this in the IDV since setting null was considered bad.
However, we were about to look at that again, so maybe you
are prompting that investigation.

I have no idea what is going on. I can post the code if necessary, it may be easier than trying to explain in the abstract. (I did try the display.reAutoScale as per the mail list archives but no change)

I think posting the code would help.   You can send it to me
offline if you want and I'll take a look when I get a chance
(or post to the group and maybe someone else will chime in).

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
*************************************************************


==============================================================================
To unsubscribe visad, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================


 
 
  Contact Us     Site Map     Search     Terms and Conditions     Privacy Policy     Participation Policy
 
National Science Foundation (NSF) UCAR Community Programs   Unidata is a member of the UCAR Community Programs, is managed by the University Corporation for Atmospheric Research, and is sponsored by the National Science Foundation.
P.O. Box 3000     Boulder, CO 80307-3000 USA     Tel: 303-497-8643     Fax: 303-497-8690