2003-05-31 00:41:36 +08:00
|
|
|
/* This is a dummy code file that only contains doxygen main page
|
|
|
|
documentation. It has a .cxx extension so that emacs will happily
|
|
|
|
autoindent correctly. */
|
|
|
|
|
|
|
|
/** \mainpage SimGear
|
|
|
|
* Simulation, Visualization, and Game development libraries.
|
|
|
|
|
|
|
|
* \section intro Introduction
|
|
|
|
*
|
|
|
|
* SimGear is a collection of libraries which provide a variety of
|
|
|
|
* functionality useful for building simulations, visualizations, and
|
|
|
|
* even games. All the SimGear code is designed to be portable across
|
|
|
|
* a wide variety of platforms and compilers. It has primarily been
|
|
|
|
* developed in support of the FlightGear project, but as development
|
|
|
|
* moves forward, we are generalizing the code to make more of it
|
|
|
|
* useful for other types of applications.
|
|
|
|
*
|
|
|
|
* Some of the functionality provide includes
|
|
|
|
*
|
|
|
|
* - Compiler and platform abstractions for many tricky differences.
|
2003-06-04 02:32:51 +08:00
|
|
|
* (compiler.h)
|
|
|
|
*
|
|
|
|
* - A whole earth tiling/indexing scheme. (SGBucket)
|
|
|
|
*
|
2003-05-31 00:41:36 +08:00
|
|
|
* - A console debugging output scheme that tracks severity and
|
|
|
|
* category that can be completely compiled out for a final build release.
|
2003-06-04 02:32:51 +08:00
|
|
|
* (logstream.hxx)
|
|
|
|
*
|
|
|
|
* - Code to manage "real" time (SGTime), time zones (SGTimeZone), and
|
|
|
|
* millesecond time differences (SGTimeStamp).
|
|
|
|
*
|
2003-05-31 00:41:36 +08:00
|
|
|
* - Code to calculate accurate positions of sun, moon, stars, and
|
|
|
|
* planets for a given time, date, season, earth location, etc.
|
2003-06-04 02:32:51 +08:00
|
|
|
* (SGEphemeris)
|
|
|
|
*
|
2003-06-12 02:55:36 +08:00
|
|
|
* - Code to render a realistic sky dome, cloud layers, sun, moon,
|
|
|
|
* stars, and planets all with realistic day/night/sunset/sunrise
|
|
|
|
* effects. Includes things like correct moon phase, textured moon,
|
|
|
|
* sun halo, etc. (SGSky is built on top of SGCloudLayer ...)
|
|
|
|
*
|
2003-06-04 02:32:51 +08:00
|
|
|
* - Simple serial (SGSerial), file (SGFile), socket (SGSocket), and
|
|
|
|
* UDP socket (SGSocketUDP) I/O abstractions.
|
|
|
|
*
|
|
|
|
* - Code to calculate magnetic variation. (SGMagVar)
|
|
|
|
*
|
|
|
|
* - A variety of classes and functions for interpolation tables
|
|
|
|
* (SGInterpTable), least squares computation (leastsqs.hxx), 3D
|
|
|
|
* point/vectors (Point3D), 3D polar math and conversions (polar3d.hxx),
|
|
|
|
* WGS-84 math and conversions (sg_geodesy.hxx), random number abstraction
|
|
|
|
* (sg_random.h), STL conglomerates for common list types (sg_types.hxx),
|
|
|
|
* and other vector and linear algebra routines (vector.hxx)
|
|
|
|
*
|
|
|
|
* - An abstraction to hide platform dependent path naming schemes. (SGPath)
|
|
|
|
*
|
2003-05-31 00:41:36 +08:00
|
|
|
* - A C++ streams wrapper to handle compress input/output streams.
|
2003-06-04 02:32:51 +08:00
|
|
|
* (sg_gzifstream)
|
|
|
|
*
|
2003-05-31 00:41:36 +08:00
|
|
|
* - An optimized "property manager" which associates ascii property
|
|
|
|
* names with their corresponding value. This can be a great way to build
|
|
|
|
* loose linkages between modules, or build linkages/connections that can
|
2003-06-04 02:32:51 +08:00
|
|
|
* be determined from config files or at runtime. (SGPropertyNode)
|
|
|
|
* Also included is a set of functions to dump the property tree into a
|
|
|
|
* standard xml file and subsequently read/parse a standard xml file and
|
|
|
|
* rebuild the associated property tree. (props_io.hxx)
|
|
|
|
*
|
2003-05-31 00:41:36 +08:00
|
|
|
* - Scene management and drawing routines:
|
|
|
|
* - material property management
|
|
|
|
* - object management
|
|
|
|
* - terrain tile management and paging
|
|
|
|
* - sky dome rendering (with ephemeral objects)
|
2003-06-04 02:32:51 +08:00
|
|
|
*
|
|
|
|
* - Code to handle screen dumps (screen-dump.hxx) and ultra-hires
|
|
|
|
* tile rendered screen dumps (tr.h)
|
|
|
|
*
|
|
|
|
* - A sound effects manager. (SGSoundMgr, SGSimpleSound, SGSound)
|
|
|
|
*
|
2003-06-04 02:48:49 +08:00
|
|
|
* - A threading abstraction. (SGThread)
|
2003-06-04 02:32:51 +08:00
|
|
|
*
|
2003-05-31 00:41:36 +08:00
|
|
|
* - A simple but highly functional XML parser that interfaces nicely
|
2003-06-04 02:48:49 +08:00
|
|
|
* with the property manager. (easyxml.hxx)
|
2003-05-31 00:41:36 +08:00
|
|
|
|
|
|
|
* \section supports Supported Platforms
|
|
|
|
* SimGear has been built on the following platforms:
|
|
|
|
*
|
|
|
|
* - Linux (x86)
|
|
|
|
* - Windows (MSVC, Cygwin, Mingwin)
|
|
|
|
* - SGI (native compilers)
|
|
|
|
* - Mac OS X
|
|
|
|
* - FreeBSD
|
|
|
|
|
|
|
|
* \section depends Dependencies
|
|
|
|
*
|
|
|
|
* SimGear depends on several other open source packages. These must
|
|
|
|
* be installed before SimGear can be installed:
|
|
|
|
*
|
|
|
|
* - glut and opengl
|
|
|
|
* - plib (http://plib.sf.net)
|
|
|
|
* - metakit
|
|
|
|
* - zlib
|
|
|
|
* - libjpeg (optional)
|
|
|
|
* - pthread (optional)
|
|
|
|
|
|
|
|
* \section license Licensing
|
|
|
|
*
|
|
|
|
* SimGear is licensed under the terms of the LGPL
|
|
|
|
|
|
|
|
*/
|
|
|
|
|