-
The former trigonometric method led to different results on different platforms due to numerical imprecisions. We now use Huilier's theorem to be less sensitive to numerical problems. The polygon is decomposed in two triangles for this purpose.
-
When a pixel touches the pole, the pixel is effectively a triangle and not a polygon. This case is now handled properly.
-
I ran this build: CXXFLAGS="-Wall -Wno-c++11-long-long -pedantic -std=c++98" ./configure make -j 1 This commit fixes the few compiler warnings that showed up (all unimportant). There is no way to fix the issue that `long long` is not standard C++98, but it's an extension that has been supported by most compilers for a decade, so it's OK to ignore: http://stackoverflow.com/questions/4017621/how-to-do-portable-64-bit-arithmetic-without-compiler-warnings
-
All methods returning a solid angle are now named solidangle().
-
The GSkyPixel class now handles 1D and 2D sky indices. This made the distinctive 1D and 2D methods in GSkyProjection and the derived classes obsolete. Now, all projection classes take GSkyPixel as argument. The GSkymap class now uses the universal GSkyPixel class. Methods have been renamed consistently. An integer index is now consistently called "sky map index" and the GSkyPixel object is named a "sky map pixel". Methods operating on indices contain now "inx", method operating on sky map pixels "pix".
-
The GWcslib class has been renamed to GWcs for consistency with the naming convention for GammaLib base classes. All WCS implementations derive now from GWcs. The code has been adapted to this new naming convention.
-
WCS should be reserved for spherical world coordinate system projections, and a more general term should be used for sky projections.
-
The ostream and GLog functions are now implement on the GBase level.