Stellarium 0.15.2
precession.h
1 /*
2 Copyright (C) 2015 Georg Zotti
3 
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU Library General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8 
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13 
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA.
17 */
18 #ifndef _PRECESSION_H_
19 #define _PRECESSION_H_
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
43 void getPrecessionAnglesVondrak(const double jde, double *epsilon_A, double *chi_A, double *omega_A, double *psi_A);
44 
49 void getPrecessionAnglesVondrakPQXYe(const double jde, double *vP_A, double *vQ_A, double *vX_A, double *vY_A, double *vepsilon_A);
50 
52 double getPrecessionAngleVondrakEpsilon(const double jde);
53 
55 double getPrecessionAngleVondrakCurrentEpsilonA(void);
56 
57 // To complete the task of correct&accurate precession-nutation handling, we need fitting IAU-2000A or IAU-2000B Nutation.
58 // E.g. A&A 459, 981–985 (2006) P. T. Wallace and N. Capitaine: Precession-nutation procedures consistent with IAU 2006 resolutions. DOI: 10.1051/0004-6361:20065897
59 // IAU 2000A nutation has 1400 terms and goes into micro-arcseconds. All we ever aim for is sub-arcsecond, if at all, this is more than covered by IAU-2000B.
60 
69 void getNutationAngles(const double JDE, double *deltaPsi, double *deltaEpsilon);
70 
71 #ifdef __cplusplus
72 }
73 #endif
74 
75 #endif