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. */
4
5
/** \mainpage SimGear
6
 * Simulation, Visualization, and Game development libraries.
7
8
 * \section intro Introduction
9
 *
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.
17
 *
18
 * Some of the functionality provide includes
19
 *
20
 * - Compiler and platform abstractions for many tricky differences.
21
 *   (compiler.h)
22
 *
23
 * - A whole earth tiling/indexing scheme.  (SGBucket)
24
 *
25
 * - A console debugging output scheme that tracks severity and
26
 *   category that can be completely compiled out for a final build release.
27
 *   (logstream.hxx)
28
 *
29
 * - Code to manage "real" time (SGTime), time zones (SGTimeZone), and
30
 *   millesecond time differences (SGTimeStamp).
31
 *
32
 * - Code to calculate accurate positions of sun, moon, stars, and
33
 *   planets for a given time, date, season, earth location, etc.
34
 *   (SGEphemeris)
35
 *
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 ...)
40
 *
41
 * - Simple serial (SGSerial), file (SGFile), socket (SGSocket), and
42
 *   UDP socket (SGSocketUDP) I/O abstractions.
43
 *
44
 * - Code to calculate magnetic variation. (SGMagVar)
45
 *
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)
52
 *
53
 * - An abstraction to hide platform dependent path naming schemes. (SGPath)
54
 *
55
 * - A C++ streams wrapper to handle compress input/output streams.
56
 *   (sg_gzifstream)
57
 *
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)
65
 *
66
 * - Scene management and drawing routines:
67
 *   - material property management
68
 *   - object management
69
 *   - terrain tile management and paging
70
 *   - sky dome rendering (with ephemeral objects)
71
 *
72
 * - Code to handle screen dumps (screen-dump.hxx) and ultra-hires
73
 *   tile rendered screen dumps (tr.h)
74
 *
75
 * - A sound effects manager.  (SGSoundMgr, SGSimpleSound, SGSound)
76
 *
77
 * - A threading abstraction.  (SGThread)
78
 *
79
 * - A simple but highly functional XML parser that interfaces nicely
80
 *   with the property manager.  (easyxml.hxx)
81
82
 * \section supports Supported Platforms
83
 * SimGear has been built on the following platforms:
84
 *
85
 *   - Linux (x86)
86
 *   - Windows (MSVC, Cygwin, Mingwin)
87
 *   - SGI (native compilers)
88
 *   - Mac OS X
89
 *   - FreeBSD
90
 
91
 * \section depends Dependencies
92
 *
93
 * SimGear depends on several other open source packages.  These must
94
 * be installed before SimGear can be installed:
95
 *
96
 *   - glut and opengl
97
 *   - plib (http://plib.sf.net)
98
 *   - metakit
99
 *   - zlib
100
 *   - libjpeg (optional)
101
 *   - pthread (optional)
102
 
103
 * \section license Licensing
104
 *
105
 * SimGear is licensed under the terms of the LGPL
106
107
 */