1 4 1 Issues

1.4.1 Issues List
All known Issues for World Wind .NET that are in 1.4.1 release

blocking issue between Rismo's code and ROL locks
Description: The issue with Rismo's code is that he had pushed ROL deletes into a list that were then handled on the main (gui) thread. But you need to do this for both adds and deletes because you can end up with blocking for either one.

The problem then was things in WW and plugins assumed that an add or delete happened immediately so you'd end up with breakage because somethings avoided using the getters and setters but hit the ROL array directly. They would do an ROL.add(...) then try to get at those objects immediately and they weren't there. Or they'd do an ROL.remove(...) and maybe do a dispose on it or something else not nice. So when you got around to handling deletes the object was bad or in some not good state.

The breakage can be pretty obvious (crash) or somewhat more subtle (ROs don't render or behave right).

Forum Threads: N/A

Comments:

James' Icon Performance changes
Description: New rendering for icons changed in June 26th and performance degrades with more than a few thousand icons to render Forum Threads: http://forum.worldwindcentral.com/showthread.php?t=20138&highlight=icon+performance

Comments:

Download code error response handling
Description: Download code will download repeatedly request tiles after a error response code from the server, e.g. 400,404. World Wind will also not handle 500 or other server error responses with appropriate time-out behavior.

Forum Threads:
 * http://forum.worldwindcentral.com/showthread.php?t=8207
 * http://forum.worldwindcentral.com/showthread.php?t=20337&page=2
 * http://forum.worldwindcentral.com/showthread.php?t=20700
 * http://forum.worldwindcentral.com/showthread.php?t=21085

Comments: (ammianus) - 7/26/09 - I've made some changes and tested with the help of James_in_Utah. The changes I made include:
 * 4xx / Client error are cached as failures and WW will not retry to download them during that session (cache is in memory only and cleared when WW is exited).
 * 400 Bad Request
 * 401 Unauthorized
 * 403 Forbidden
 * 404 Not Found
 * 206 Partial Content
 * 200 OK && Content length == 0


 * 5xx / Server Error are recorded and a timeout period will begin before requests are allowed to this server again. A message is displayed in the top right of the UI stating the timeout length. If server response contains "retry-after" header, that period is used, otherwise default is 2 minutes.
 * 500 Internal Server Error
 * 501 Not Implemented
 * 502 Bad Gateway
 * 503 Service Unavailable

Changes made to source files: See source code svn: https://nasa-exp.svn.sourceforge.net/svnroot/nasa-exp/branches/ammianus
 * WebDownload/WebDownload.cs
 * PluginSDK/QuadTileSet.cs
 * PluginSDK/Renderable/GeoSpatialDownloadRequest.cs

starfield listed in layer manager is the older plugin
Description: when you uncheck "Starfield" in the Layer Manager, it doesn't actually remove the stars that are in the background.

Forum Threads: http://forum.worldwindcentral.com/showthread.php?t=22046

Comments: The Starfield issue isn't exactly a bug, the starfield listed in layer manager is the older plugin and probably isn't actually needed, the other starfield is Stars3D.

It seems that the Starfield in the layer manager is for Stars3D plugin. If you load/unload the plugin from Menu > Plug-ins > Load/Unload... it will show or hide the starfield in the background. It seems that unchecking in LayerManager doesn't actually unload this layer. That should be fixed. Ammianus 18:39, 1 August 2009 (UTC)

(Update) Made updates to WorldWind\Stars3d.cs. Fixed issue where unchecking the Starfield box in LayerManager would not hide the background stars. Made this setting persistant to .ini file. checked into svn branch svn: https://nasa-exp.svn.sourceforge.net/svnroot/nasa-exp/branches/ammianus Ammianus 22:44, 1 August 2009 (UTC)

WWC to support WWJ cache location and files
Description: WWC (.NET) should be changed to accept data from the cache WITHOUT the leading "00".

Both the WWC and WWJ (and most other) servers do not have the leading "00". There is no reason a WWC layer cannot be made to download from the WWJ server.

Default cache location changed to match the Java. Vista has a Program Data folder in the C drive, just like Program Files, that should do the trick for storing the cache (in fact this is where WWJava stores it cache on Vista) and then there are AppData folders in the user folders that could store the config files and possibly some plug-ins (the World settings and World Wind settings files are already stored in this AppData folder, along with the debug reports C:\Users\ \AppData\Roaming\NASA\World Wind) Forum Threads: N/A

Comments: I've implemented the structure compatibility in my branch in SVN. I've configured it to default (for reading and writing) to the WWJ cache structure, and resort to the WWC cache structure only for reading, and only if it can't find it in a WWJ structure. This could be easily changed to default to WWC, and use WWJ only for reading, or what have you. But this way was mentioned, and made the most sense to me.

Preliminary testing looks like it's working fine. Because it is per file, this change, when set loose on a WWC-style cache, will create duplicate-looking folders (64 and 0064), but the 0064 will contain the old cache files, any new files will be written to 64, and WW will be able to find them in either place. Again, 0064 will only contain cache files from before the switch, and 64 will contain only cache files from after the switch. Any scheme to "convert" the cache to a pure WWJ format will need to take this into consideration.

--5of0 11:33, 1 August 2009 (UTC)

Camera.cs
Description: IRC - it looks like some raytracing/3D geometry issues

Forum Threads: N/A

Comments: Summary of relevant IRC discussion:
 * Looks like camera distance doesn't take VE into account at all
 * When the camera is crashing into the terrain, then distance should be 0 (it's not)
 * Alt vs distance is difference between the camera ViewRange and TrueViewRange properties (currently the same)
 * Right now calculations are all done relative to the sphere, with no terrain
 * Quadtileset class needs to be changed to use TrueViewRange instead of ViewRange
 * We need dist between the camera and the point it is looking at on the mesh
 * There are a bunch of methods calculating distance, altitude, and tilt when one of the three changes
 * Unsure if they take terrain into account
 * It's not a raytracing problem - it's the part that tile is not a point, and to calculate distance to tile you cant just choose point in the middle and hope for correct result :D
 * Really need a point of intersection with a triangle
 * Viewrange is what the quadtileset class uses to determine level?
 * Bounding sphere is the easiest way to guarantee that the distance youre getting can be only bigger

Suggestions:
 * Find a bounding sphere of each tile and calculate distance from that (via Nowak)
 * Easiest way to get distance is to find location of Camera and Point this is just the direction cosine form of lat lon scaled by (world_radius+height)/world_radius. Direction cosine form is the radial vector in xyz and then Vec3DotProd(CamPos - PointPos) == Distance (via nhv)
 * There are issues when look vector doesn't intersect the world
 * We need mashi (via Bull_[UK])

WorldWind.log rollover
Description: The WorldWind.log file will continue to append indefinitely and it will never rollover to a new file. Idea to have the log file have a configurable size to rollover. Previous logs could be archived for a certain length of time then also deleted.

Forum Threads: http://forum.worldwindcentral.com/showthread.php?t=16254&highlight=WorldWind.log

Comments:

Mars tiles do not load
Description: Reported by an Unregistered user in the Bug Reports forum. The tiles for Mars do not download from the NASA server. The error response is: "The remote server returned an error: (401) Unauthorized." The URL is for example http://worldwind25.arc.nasa.gov/mars/mars.aspx?T=mocC256&L=0&X=7&Y=0

We should update to a new server or if not maybe not include Mars with the next official release.

Forum Threads:
 * http://forum.worldwindcentral.com/showthread.php?t=21573
 * http://forum.worldwindcentral.com/showthread.php?t=20990

Comments: Should any action need to be taken to alert all users on 1.4.0? Like an announcment on the wiki?

WW doesn't install correctly for multi-user env
Description: Reported by an rpremuz user in the Bug Reports forum. Default installation puts shortcuts in the current user profile On MS Windows 2000 and Windows XP (which are supported by World Wind) the following environment variables exist (among others) after a user logs into Windows: ALLUSERSPROFILE - directory path of the user profile accessible by all users USERPROFILE - directory path of the current user profile

I installed World Wind 1.4 on an MS Windows XP Professional SP3 (English edition) and noticed that the installation put shortcuts for starting the application into the following directory: "%USERPROFILE%\Start Menu\Programs\NASA\World Wind" which is intended only for that particular user. If other users log into the system, they can't access the shortcuts (i.e. the shortcuts don't appear on the Start Menu).

Instead the installation should put the shortcuts in "%ALLUSERSPROFILE%\Start Menu\Programs\NASA\World Wind"

Forum Threads: http://forum.worldwindcentral.com/showthread.php?t=21019

Comments:

NltTerrainAccessor.cs BUG
Description: Reported by xtaci user in the Bug Reports forum. There appears to be a line of code in NltTerrainAccessor.cs that does nothing and could be a memory leak. xtaci suggested a fix. This was not implemented in current SVN.

Forum Threads: http://forum.worldwindcentral.com/showthread.php?t=20661

Comments: Fix was suggested, I don't know how big a problem this could be since it hasn't been fixed in two years, but I don't see why we shouldn't correct it. I can make the change in my branch and test his suggestion. Any advice on how to validate? Ammianus 13:48, 2 August 2009 (UTC)

I've made the change in my branch, did testing with and without the change. It did indeed cause a memory leak before the fix, and worked as expected afterwards. It's in SVN (under my branch) now. --5of0 03:33, 3 August 2009 (UTC)

DirectX Screen Lock Issue
Description: Issues when you minimize WorldWind and lock then unlock your computer, go into hibernate, etc and come back there will be some DirectX errors. Some code changes were suggested but there are reports in the thread that the proposed solutions only work intermittently

Forum Threads: http://forum.worldwindcentral.com/showthread.php?t=8840

Comments:

Atmosphere.cs NullReference error
Description: When loading Atmosphere plugin there will be hundreds of DEBUG logs with errors like this: "System.NullReferenceException: Object reference not set to an instance of an object." Forum Threads: http://forum.worldwindcentral.com/showthread.php?t=21925 Comments: Fix described in the thread, change to one line of code where World is being referenced statically but is null.