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