http://code.google.com/p/flightgear-bugs/issues/detail?id=182
There were two issues. The biggest is that the sunsolver was accessing
parameters from the ephemeris and doing a different calculation with
them to derive the right ascension and declination of the sun. I'm not
sure who is right, but I changed sunsolver to agree with the
ephemeris. Also, there was an inappropriate use of geodetic
coordinates in calculating the sun latitude and longitude.
Also, I did some cleanup in updateSunPos().
SimGear change. It changes all the SG_xxxx to be the 'real' includes, and gets
rid of many #ifdef SG_HAVE_STD_INCLUDES. As an added bonus, rather than
replacing 'SG_USING_NAMESPACE(std)' with 'using namespace std', I just fixed
the small number of places to use std:: explicitly. So we're no longer polluting
the global namespace with the entire contents of std, in many cases.
There is one more 'mechanical' change to come - getting rid of SG_USING_STD(X),
but I want to keep that separate from everything else. (There's another
mechnical change, replacing <math.h> with <cmath> and so on *everywhere*, but
one step at a time)
places now use sgCartToGeod() instead of rolling their own
approximation. And YASim is now using exactly the same 3D coordinate
system as the rest of FlightGear is.
functions (note to Norman: I looked at the web page you listed and that
looks like a good idea, but I don't have time right now to go through and
debug an entirely new routine. What we have works well enough for now I hope!)