#pragma once #ifdef _WIN32 # if defined(Tle2XYZ_LIB) # define Tle2XYZ_EXPORT __declspec(dllexport) # else # define Tle2XYZ_EXPORT __declspec(dllimport) # endif #else # define Tle2XYZ_EXPORT #endif extern "C" { /// /// line1: 双行第一列 /// line2: 双行第二列 /// st: 开始时间 /// period:周期 /// count: 次数 /// retbuf: 存储结果 长度为 count * 6 /// Tle2XYZ_EXPORT void GenerateXYZByPeriod(char *line1, char *line2, long long st, int period, int count, double *retbuf); /// /// line1: 双行第一列 /// line2: 双行第二列 /// sts: 开始时间 /// count: 次数 /// retbuf: 存储结果 长度为 count * 6 /// Tle2XYZ_EXPORT void GenerateXYZByTimes(char *line1, char *line2, long long *sts, int count, double *retbuf); /// /// ct: 轨道六根数时间 /// orbita: semi-major axis 长半轴 /// orbite: 偏心率 Eccentricity /// orbiti: 轨道倾角 inclination /// orbitom: 近地点辐角 Argument of periapsis /// orbitRAAN: 升交点经度 RAAN /// orbitta: 真近点角 /// rt: 输出时间起点 rt < ct 函数返回false /// period: 周期 /// count: 次数 /// retbuf: 存储结果 长度为 count * 6 /// Tle2XYZ_EXPORT bool GenerateXYZByPeriodWithOrbit(long long ct, double orbita, double orbite, double orbiti, double orbitom, double orbitRAAN, double orbitta , long long st, int period, int count, double *retbuf); };