1 /*
2  *  This library is free software; you can redistribute it and/or
3  *  modify it under the terms of the GNU Lesser General Public
4  *  License as published by the Free Software Foundation; either
5  *  version 2 of the License, or (at your option) any later version.
6  *
7  *  This library is distributed in the hope that it will be useful,
8  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
9  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
10  *  Lesser General Public License for more details.
11  *
12  *  You should have received a copy of the GNU General Public License
13  *  along with this program; if not, write to the Free Software
14  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
15  *
16  *  Copyright (C) 2000 - 2005 Liam Girdwood <lgirdwood@gmail.com>
17  */
18 
19 module nova;
20 
21 version (unittest) {
22     // Can't have two main()/dllMain() for unittest.
23 } else {
24 
25 version(Windows) {
26     import core.sys.windows.windows;
27     import core.sys.windows.dll;
28 
29     mixin SimpleDllMain;
30 }
31 
32 }
33 
34 public enum LIBNOVA_VERSION = "0.15.0";
35 
36 /*! \mainpage libnova
37 * \image html libnova-logo.jpg
38 * Celestial Mechanics, Astrometry and Astrodynamics Library
39 *
40 * \section intro Introduction
41 * libnova is a general purpose, double precision, Celestial Mechanics, Astrometry and Astrodynamics library.
42 *
43 * The intended audience of libnova is C / C++ programmers, astronomers and anyone else interested in calculating positions of astronomical objects or celestial mechanics.
44 * libnova is the calculation engine used by the <A href="http://nova.sf.net">Nova</A> project and most importantly, is free software.
45 *
46 * \section features Features
47 * The current version of libnova can calculate:
48 *
49 * - Aberration
50 * - Nutation
51 * - Apparent Position
52 * - Dynamical Time
53 * - Julian Day
54 * - Precession
55 * - Proper Motion
56 * - Sidereal Time
57 * - Solar Coordinates (using VSOP87)
58 * - Coordinate Transformations
59 * - Planetary Positions Mercury - Pluto (Mercury - Neptune using VSOP87)
60 * - Planetary Magnitude, illuminated disk and phase angle.
61 * - Lunar Position (using ELP82), phase angle.
62 * - Elliptic Motion of bodies (Asteroid + Comet positional and orbit data)
63 * - Asteroid + Comet magnitudes
64 * - Parabolic Motion of bodies (Comet positional data)
65 * - Orbit velocities and lengths
66 * - Atmospheric refraction
67 * - Rise, Set and Transit times.
68 * - Semidiameters of the Sun, Moon, Planets and asteroids.
69 * - Angular separation of bodies
70 * - Hyperbolic motion of bodies
71 * - Heliocentric (barycentric) time correction
72 *
73 * \section docs Documentation
74 * API documentation for libnova is included in the source. It can also be found in this website and an offline tarball is available <A href="http://libnova.sf.net/libnovadocs.tar.gz">here</A>.
75 *
76 * \section download Download
77 * The latest released version of libnova is 0.15.0
78 * It is available for download <A href="http://sourceforge.net/projects/libnova/files/libnova/">here.</A>
79 *
80 * \section git GIT
81 * The latest GIT version of libnova is available via GIT <A href="http://sourceforge.net/p/libnova/libnova/">here.</A>
82 *
83 * \section licence Licence
84 * libnova is released under the <A href="http://www.gnu.org">GNU</A> LGPL.
85 *
86 * \section help Help
87 * If you are interested in helping in the future development of libnova, then please get in touch.
88 * Currently, we are needing help in the folowing areas.
89 * - Documentation. (Not just API reference, but also astronomy info for novice users)
90 * - Programming (in C) astronomical solutions or algorithms.
91 * - Algorithms and Solutions.
92 *
93 * \section authors Authors
94 * libnova is maintained by <A href="mailto:lgirdwood@gmail.com">Liam Girdwood</A> and <A href="mailto:petr@kubanek.net">Petr Kubanek</A>.
95 *
96 * \section thanks Thanks
97 * Thanks to Jean Meeus for most of the algorithms used in this library.
98 * From his book "Astronomical Algorithms".
99 *
100 * Thanks to Michelle Chapront-Touze and Jean Chapront for publishing
101 * the Lunar Solution ELP 2000-82B.
102 *
103 * Thanks to Messrs. Bretagnon and Francou for publishing planetary
104 * solution VSOP87.
105 *
106 * Also thanks to Sourceforge for hosting this project. <A href="http://sourceforge.net"> <IMG src="http://sourceforge.net/sflogo.php?group_id=57697&amp;type=5" width="210" height="62" border="0" alt="SourceForge Logo"></A>
107 */
108 
109 public import nova.ln_types;
110 public import nova.julian_day;
111 public import nova.dynamical_time;
112 public import nova.sidereal_time;
113 public import nova.transform;
114 public import nova.nutation;
115 public import nova.aberration;
116 public import nova.apparent_position;
117 public import nova.solar;
118 public import nova.precession;
119 public import nova.proper_motion;
120 public import nova.mercury;
121 public import nova.venus;
122 public import nova.earth;
123 public import nova.mars;
124 public import nova.jupiter;
125 public import nova.saturn;
126 public import nova.uranus;
127 public import nova.neptune;
128 public import nova.pluto;
129 public import nova.vsop87;
130 public import nova.lunar;
131 public import nova.elliptic_motion;
132 public import nova.asteroid;
133 public import nova.comet;
134 public import nova.parabolic_motion;
135 public import nova.refraction;
136 public import nova.rise_set;
137 public import nova.angular_separation;
138 public import nova.ln_types;
139 public import nova.utility;
140 public import nova.hyperbolic_motion;
141 public import nova.parallax;
142 public import nova.airmass;
143 public import nova.heliocentric_time;
144 public import nova.constellation;