Tle2XYZ.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #pragma once
  2. #ifdef _WIN32
  3. # if defined(Tle2XYZ_LIB)
  4. # define Tle2XYZ_EXPORT __declspec(dllexport)
  5. # else
  6. # define Tle2XYZ_EXPORT __declspec(dllimport)
  7. # endif
  8. #else
  9. # define Tle2XYZ_EXPORT
  10. #endif
  11. extern "C"
  12. {
  13. ///
  14. /// line1: 双行第一列
  15. /// line2: 双行第二列
  16. /// st: 开始时间
  17. /// period:周期
  18. /// count: 次数
  19. /// retbuf: 存储结果 长度为 count * 6
  20. ///
  21. Tle2XYZ_EXPORT void GenerateXYZByPeriod(char *line1, char *line2, long long st, int period, int count, double *retbuf);
  22. ///
  23. /// line1: 双行第一列
  24. /// line2: 双行第二列
  25. /// sts: 开始时间
  26. /// count: 次数
  27. /// retbuf: 存储结果 长度为 count * 6
  28. ///
  29. Tle2XYZ_EXPORT void GenerateXYZByTimes(char *line1, char *line2, long long *sts, int count, double *retbuf);
  30. ///
  31. /// ct: 轨道六根数时间
  32. /// orbita: semi-major axis 长半轴
  33. /// orbite: 偏心率 Eccentricity
  34. /// orbiti: 轨道倾角 inclination
  35. /// orbitom: 近地点辐角 Argument of periapsis
  36. /// orbitRAAN: 升交点经度 RAAN
  37. /// orbitta: 真近点角
  38. /// rt: 输出时间起点 rt < ct 函数返回false
  39. /// period: 周期
  40. /// count: 次数
  41. /// retbuf: 存储结果 长度为 count * 6
  42. ///
  43. Tle2XYZ_EXPORT bool GenerateXYZByPeriodWithOrbit(long long ct, double orbita, double orbite, double orbiti, double orbitom, double orbitRAAN, double orbitta
  44. , long long st, int period, int count, double *retbuf);
  45. };