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 * - Simple serial (SGSerial), file (SGFile), socket (SGSocket), and
37 * UDP socket (SGSocketUDP) I/O abstractions.
39 * - Code to calculate magnetic variation. (SGMagVar)
41 * - A variety of classes and functions for interpolation tables
42 * (SGInterpTable), least squares computation (leastsqs.hxx), 3D
43 * point/vectors (Point3D), 3D polar math and conversions (polar3d.hxx),
44 * WGS-84 math and conversions (sg_geodesy.hxx), random number abstraction
45 * (sg_random.h), STL conglomerates for common list types (sg_types.hxx),
46 * and other vector and linear algebra routines (vector.hxx)
48 * - An abstraction to hide platform dependent path naming schemes. (SGPath)
50 * - A C++ streams wrapper to handle compress input/output streams.
53 * - An optimized "property manager" which associates ascii property
54 * names with their corresponding value. This can be a great way to build
55 * loose linkages between modules, or build linkages/connections that can
56 * be determined from config files or at runtime. (SGPropertyNode)
57 * Also included is a set of functions to dump the property tree into a
58 * standard xml file and subsequently read/parse a standard xml file and
59 * rebuild the associated property tree. (props_io.hxx)
61 * - Scene management and drawing routines:
62 * - material property management
64 * - terrain tile management and paging
65 * - sky dome rendering (with ephemeral objects)
67 * - Code to handle screen dumps (screen-dump.hxx) and ultra-hires
68 * tile rendered screen dumps (tr.h)
70 * - A sound effects manager. (SGSoundMgr, SGSimpleSound, SGSound)
72 * - A threading abstraction.
74 * - A simple but highly functional XML parser that interfaces nicely
75 * with the property manager.
77 * \section supports Supported Platforms
78 * SimGear has been built on the following platforms:
81 * - Windows (MSVC, Cygwin, Mingwin)
82 * - SGI (native compilers)
86 * \section depends Dependencies
88 * SimGear depends on several other open source packages. These must
89 * be installed before SimGear can be installed:
92 * - plib (http://plib.sf.net)
95 * - libjpeg (optional)
96 * - pthread (optional)
98 * \section license Licensing
100 * SimGear is licensed under the terms of the LGPL