This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
> Inquiry: When working with the station model editor, calls to classes such as > TextSymbol, ValueSymbol, etc are made as you can see by putting printlns in > the classes. > > However when actually plotting station data in the main display, using > TextSymbol-s etc., the same printlns are not called. Even when you switch > between different models. The symbols are drawn in the display just as if the > code were being called, but there is no println output. > > I don't see how symbols get plotted in the display without calling the draw() > method in the class for that symbol? Is println output somehow suppressed in > this case but not when drawing to the station model editor? > > Maybe a brief word sketch of the connection between classes in > unidata/ui/symbol/ and whatever Displayables and Displays and Display > Controls use them would help. > > Also what is the Java key combination to dump a stack trace while executing? > Hi Stu, The drawing code in the MetSymbols is *not* used when rendering the symbols in the 3D display. Rather, the ucar.visad.display.StationModelDisplayable class handles each of the different types of symbols in particular ways. For text and value it does all the rendering itself (using the font and color from the MetSymbol). For WeatherSymbols (e.g., Cloud coverage) it calls a getLines method on the symbol class which returns the VisAD line arrays. Likewise, the windbarb is handled in a particular way. As I mentioned in my last response we have modified this behavior somewhat. For symbol objects that are not one of these regular symbol classes we call a method on the object to get the visad line array. Perhaps, in your Unavco efforts it would be best to wait for the release of this new code base (Should be the first week of August). -Jeff