/usr/include/simgear/ephemeris/moonpos.hxx is in libsimgear-dev 1:2018.1.1+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | /**************************************************************************
* moonpos.hxx
* Written by Durk Talsma. Originally started October 1997, for distribution
* with the FlightGear project. Version 2 was written in August and
* September 1998. This code is based upon algorithms and data kindly
* provided by Mr. Paul Schlyter. (pausch@saaf.se).
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* $Id$
**************************************************************************/
#ifndef _MOONPOS_HXX_
#define _MOONPOS_HXX_
#include <simgear/constants.h>
#include <simgear/ephemeris/celestialBody.hxx>
#include <simgear/ephemeris/star.hxx>
class MoonPos : public CelestialBody
{
private:
double xg, yg; // the moon's rectangular geocentric coordinates
double ye, ze; // the moon's rectangular equatorial coordinates
double distance; // the moon's distance to the earth
double age; // the moon's age from 0 to 2pi
double phase; // the moon's phase
double log_I; // the moon's illuminance outside the atmosphere (logged)
double I_factor; // the illuminance factor for the moon, between 0 and 1.
// void TexInit(); // This should move to the constructor eventually.
// GLUquadricObj *moonObject;
// GLuint Sphere;
// GLuint moon_texid;
// GLuint moon_halotexid;
// GLubyte *moon_texbuf;
// GLubyte *moon_halotexbuf;
// void setHalo();
public:
MoonPos(double mjd);
MoonPos();
~MoonPos();
void updatePosition(double mjd, double lst, double lat, Star *ourSun);
// void newImage();
double getM() const;
double getw() const;
double getxg() const;
double getyg() const;
double getye() const;
double getze() const;
double getDistance() const;
double getAge() const;
double getPhase() const;
double getLogIlluminance() const;
double getIlluminanceFactor() const;
};
inline double MoonPos::getM() const
{
return M;
}
inline double MoonPos::getw() const
{
return w;
}
inline double MoonPos::getxg() const
{
return xg;
}
inline double MoonPos::getyg() const
{
return yg;
}
inline double MoonPos::getye() const
{
return ye;
}
inline double MoonPos::getze() const
{
return ze;
}
inline double MoonPos::getDistance() const
{
return distance;
}
inline double MoonPos::getAge() const
{
return age;
}
inline double MoonPos::getPhase() const
{
return phase;
}
inline double MoonPos::getLogIlluminance() const
{
return log_I;
}
inline double MoonPos::getIlluminanceFactor() const
{
return I_factor;
}
#endif // _MOONPOS_HXX_
|