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&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;