Some better organization of celengine is a very good idea and also very much overdue. Some possible modules:

- Parser 
- Ephemeris
- Cel scripting (which should be moved out of celengine)
- Geometry loading
- Rendering
- Universe management

The ephemeris module would include all subclasses of Orbit and RotationModel. It should be independent of the rest of Celestia.

The Parser and Tokenizer classes should also be free of dependencies. They're used by the solar system, star, and deep sky catalog loaders as well as the config file reader and cel script loader.

An import reason to split out the geometry module is to make it easier to use the cmod reader/writer. Also, the 3ds loader has been a separate module for a long time.


On Thu, Sep 24, 2009 at 9:39 AM, Andrew Tribick <> wrote:

Was recently trying to investigate how the Celestia ssc parser works
in order to try and implement some extensions, and it struck me that
the celengine folder contains a very varied set of code files without
much clear organisation - there are 89 source code files in there and
101 header files. It might make sense to split some of the files out
into separate folders, e.g. parser, rendering code, etc.

Any thoughts on this?


Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
Celestia-developers mailing list