Page 1 of 1

Code Documentation of Celestia 1.4.1 (Doxygen)

Posted: 14.01.2006, 21:53
by t00fri
Here is what you always wanted to know about the latest Celestia version (pre 1.4.1 CVS) and never dared to ask ;-)

Using the latest versions of Doxygen and the graphing package graphviz-2.6.1, I prepared an extensive documentation of the latest (pre 1.4.1 CVS) version of Celestia.

You may interactively browse e.g. the source code, the class structure (textually and graphically), the methods, variables, referencing, include dependency graphs and MUCH more:

http://www.celestiaproject.net/~t00fri/celesti ... index.html


Note, every text and graphical output is clickable revealing a host of valuable information about Celestia's structure! The same docu I always have integrated in my GUI KDevelop environment, hence it's always ready during my development work.

Bye Fridger

Posted: 14.01.2006, 22:22
by MKruer
t00fri

Do you have a list of improvements of 1.4.1 over 1.4.0?

Posted: 14.01.2006, 23:05
by t00fri
MKruer wrote:t00fri

Do you have a list of improvements of 1.4.1 over 1.4.0?


Yes, you can easily find that yourself in CVS ...

Here it is so far...there may be more

Code: Select all

1.4.1
* Windows: Added time zone selection to set time dialog
* Windows: Fixed hard to read text in set time dialog (bug was only present for
  certain Windows shell appearance settings.)
* Changed maximum number of eclipse shadows in OpenGL 2.0 path from two to three;
  if max is exceeded, clamp to three rather than not rendering the shadows at all.
* Corrected a bad calculation in ring shadow shaders that caused ring shadows to
  be drawn in the wrong place.
* Windows: Fixed the minimum feature size slider in the locations dialog so it
  updates in response to all the standard controls.
* Added a correct InfoURL for the Moon
* Windows: added splash screen with a progress indicator
* KDE: fixed some AMD64 bugs
* GTK: added splash screen with a progress indicator
* GTK: Added configure options to enable or disable Cairo support for splash
* Corrected a local flashing of the Milky Way brightness.
* Now the distance to the galaxy center is displayed, if the observer is located inside
  the galaxy (Milky Way...).
* Eliminated various incorrect Hubble type acronyms in deepsky.dsc that had penetrated
  the PERL filter.
* Add the corrected PERL script deepsky.pl.     
* Mac: OpenGL 2.0 render path should now work on many configurations
  (requires OS X 10.4.3 or later)
* Mac: Offer option to disable vertex programs automatically when ATI Radeon
  9200 renderer is detected (avoids hard crash)
* Mac: Progress message and version number displayed on splash screen
* Mac: Fixed French translation for Set Time panel
* Mac: Changed wording of "Subtract Light Travel Delay" menu item to
  "Add/Subtract Light Travel Delay" to more accurately reflect its function
* Mac: More sensible default values for preferences
* Mac: Bug fixes to favorites, InfoURL handling
* Mac: Cleaned up README in general
* Added Phoebe textures in medres and lores directories from recent published
  Cyclops cylindrical maps
* Updated  Titan and Iapetus textures in lores directory
* Windows: save and restore the last used GL render path
* Removed the GeForce FX render path; GLSL path is preferred
* Added lunar elevation map, using Clementine laser altimeter data, merged in the
  polar regions, with topographic data  from Clementine 750 nm oblique and nadir images.


Bye Fridger

Posted: 15.01.2006, 02:03
by MKruer
Thanks

Posted: 15.01.2006, 14:34
by Paolo
Hi Fridger

Many thanks for doing this! :D

Can you please post a tarball of the whole thing or the doxyfile that you've used to create the documentation?
For the ones like me that haven't a flat internet connection it is necessary to have this documentation available offline.

Thank you again!

Posted: 15.01.2006, 15:00
by selden
Paolo,

The changelog is small.
You can read it (and thus download it) on the Web at
http://cvs.sourceforge.net/viewcvs.py/c ... 6&view=log

Posted: 15.01.2006, 18:12
by buggs_moran
Let me premise this with "I am not a programmer." Okay then, this documentation is really cool and I am having fun perusing the code. I did come up with one question though...

Why are orbits for the solar system defined in the program code and also in the ssc file for the solar system? I suppose I could look at it further, but I am guessing there is a very simple straightforward answer to this...

Posted: 15.01.2006, 18:26
by selden
A CustomOrbit that is defined in the code evaluates a series-expansion of approximately a thousand terms, producing an orbital path which takes into account the major gravitational effects for about +/- 3000 years from the present. Celestia currently uses an ephemeris that's called the "VSOP-87 theory." Other ephemerides are possible.

EllipticalOrbits do not take into account any gravitational effects.

Posted: 15.01.2006, 18:40
by buggs_moran
selden wrote:A CustomOrbit that is defined in the code evaluates a series-expansion of approximately a thousand terms, producing an orbital path which takes into account the major gravitational effects for about +/- 3000 years from the present. Celestia currently uses an ephemeris that's called the "VSOP-87 theory." Other ephemerides are possible.

EllipticalOrbits do not take into account any gravitational effects.


Then why does the elliptical orbit information need to be in the ssc file if you are using a VSOP-87 orbit defined in the code? For information?

Posted: 15.01.2006, 18:57
by selden
Yes.

Also, there are circumstances when you want to disable the CustomOrbit for some reason or other. The EllipticalOrbit parameters in the SSC file are reasonably close, so you don't necessarily have to get a new set. Of course, you can get more accurate ones from Horizons for the appropriate Epoch.

Posted: 16.01.2006, 00:19
by fsgregs
Fridger:

In your list of changes between 1.4.0 and 1.4.1, I do not see the fix for the comet coma problem. If you recall, your FT 1.2 correctly showed no coma when a comet was beyond 6 au or so. When it did show the coma, it was reasonally dim and OK looking.

In contrast, 1.4.0 final still shows an ugly coma around comets all the time, even when they are far beyond Jupiter.

Here is the screenshot.

Image

I thought I recall you reporting that this hopefully was to be fixed in 1.4.1??

:?
If this has not been fixed yet, and considering that you've already written the code for it, is there any chance it can fixed in 1.4.1? This is really a goofy looking comet coma, and detracts from the spectacular graphics that represents all other objects in Celestia!!


Frank

Posted: 16.01.2006, 09:36
by t00fri
fsgregs wrote:Fridger:

In your list of changes between 1.4.0 and 1.4.1, I do not see the fix for the comet coma problem. If you recall, your FT 1.2 correctly showed no coma when a comet was beyond 6 au or so. When it did show the coma, it was reasonally dim and OK looking.

In contrast, 1.4.0 final still shows an ugly coma around comets all the time, even when they are far beyond Jupiter.

Here is the screenshot.

Image

I thought I recall you reporting that this hopefully was to be fixed in 1.4.1??

:?
If this has not been fixed yet, and considering that you've already written the code for it, is there any chance it can fixed in 1.4.1? This is really a goofy looking comet coma, and detracts from the spectacular graphics that represents all other objects in Celestia!!


Frank


Frank,

in my code so far (including FT 1.2) only the fading of the tail NOT the coma has been addressed. I understand that the fading of the coma at a threshold distance from the sun is a much less clear issue and also depends strongly on the type of comet. Like Hale-Bob had an observable coma still > 10 AU away from the sun. At that distance it had long lost its tail, of course!

So NO, there won't be any changes for now concerning the coma. In FT 1.2 it may be that the overall alpha value of the tail display was a little smaller such that also the comet head ("coma") looked weaker than in 1.4.0. But there was definitely never any attempt to implement a distance dependent coma luminosity.

The number of points in the head shape is again the former default which happended during Chris' implementation of our FT 1.2 into CVS. Improving the interpolation of the head shape of course means also a /decrease/ in performance...I may have a look there tonight and perhaps can do something here.


Bye Fridger