#include #include #include #include #include "ephcom.h" /* #define EPHCOM_MERCURY 1 #define EPHCOM_VENUS 2 #define EPHCOM_EARTH 3 #define EPHCOM_MARS 4 #define EPHCOM_JUPITER 5 #define EPHCOM_SATURN 6 #define EPHCOM_URANUS 7 #define EPHCOM_NEPTUNE 8 #define EPHCOM_PLUTO 9 #define EPHCOM_MOON 10 // Moon, relative to Solar System center #define EPHCOM_SUN 11 */ #ifndef _EPHCOM_WRAPPER_HPP_ #define _EPHCOM_WRAPPER_HPP_ #define SUN EPHCOM_SUN // 太阳 #define MOON EPHCOM_MOON // 月球 #define PLUTO EPHCOM_PLUTO // 冥王星 #define NEPTUNE EPHCOM_NEPTUNE // 海王星 #define URANUS EPHCOM_URANUS // 天王星 #define SATURN EPHCOM_SATURN // 土星 #define JUPITER EPHCOM_JUPITER // 木星 #define MARS EPHCOM_MARS // 火星 #define EARTH EPHCOM_EARTH // 地球 #define VENUS EPHCOM_VENUS // 金星 #define MERCURY EPHCOM_MERCURY // 水星 class Ephcom{ private: FILE *infp; ephcom_Header header; ephcom_Coords coords; int ORIG; // origin used to calculation positions of Sun, Moon and planets. Default: EPHCOM_EARTH public: Ephcom(); ~Ephcom(); void init(std::string& DE_filename); // get position and velocity /* targ: one of the object, SUN, ..., MERCURY jd : Julian date pos : position of the object vel : velocity of the object */ void getPosVel(int targ, double jd, double pos[3], double vel[3]); }; #endif