|
🛰️航天仿真算法库 SpaceAST 0.0.1
|
提供地球指向参数(EOP)、闰秒、行星星历等数据的加载和查询功能。
类 | |
| class | ast::DataContext |
| class | ast::GlobalContext |
| struct | ast::PoleMotion |
| class | ast::EOP |
| class | ast::JplDe |
| class | ast::LeapSecond |
| class | ast::SpaceWeather |
| class | ast::SpiceApi |
函数 | |
| errc_t | ast::aInitialize () |
| errc_t | ast::aInitializeByConfig (StringView configfile) |
| errc_t | ast::aUninitialize () |
| std::string | ast::aGetDefaultSPKDir () |
| std::string | ast::aDataDirGet () |
| errc_t | ast::aDataDirGet (std::string &datadir) |
| errc_t | ast::aDataDirSet (StringView dirpath) |
| GlobalContext * | ast::aGlobalContext_Get () |
| IAUXYS * | ast::aGlobalContext_GetIAUXYS () |
| DataContext * | ast::aDataContext_GetCurrent () |
| DataContext * | ast::aDataContext_GetDefault () |
| DataContext * | ast::aDataContext_EnsureDefault () |
| DataContext * | ast::aDataContext_EnsureCurrent () |
| void | ast::aDataContext_SetCurrent (DataContext *context) |
| EOP * | ast::aDataContext_GetEOP () |
| SolarSystem * | ast::aDataContext_GetSolarSystem () |
| IAUXYSPrecomputed * | ast::aDataContext_GetIAUXYSPrecomputed () |
| StartupConfig * | ast::aDataContext_GetConfig () |
| DataContext * | ast::aDataContext_New () |
| ValueView | ast::aGetConfigValue (StringView key) |
| std::vector< std::string > | ast::aGetConfigStringVector (StringView key) |
| std::vector< StringView > | ast::aGetConfigStringViewVector (StringView key) |
| double | ast::aUT1MinusUTC_UTC (const JulianDate &jdUTC) |
| void | ast::aPoleMotion (const TimePoint &tp, double &x, double &y) |
| void | ast::aPoleMotionUTC (const JulianDate &jdUTC, double &x, double &y) |
| A_ALWAYS_INLINE void | ast::aPoleMotion (const TimePoint &tp, PoleMotion &pm) |
| double | ast::aLOD (const TimePoint &tp) |
| double | ast::aTimePointToEpochSecond (const TimePoint &tp) |
| void | ast::aEpochSecondToTimePoint (double epochSecond, TimePoint &tp) |
| void | ast::aSetEpoch (const TimePoint &tp) |
| void | ast::aGetEpoch (TimePoint &tp) |
| errc_t | ast::aJplDeGetPosVelICRF (const TimePoint &time, int target, int referenceBody, Vector3d &pos, Vector3d &vel) |
| errc_t | ast::aJplDeGetPosICRF (const TimePoint &time, int target, int referenceBody, Vector3d &pos) |
| errc_t | ast::aJplDeGetNutation (const TimePoint &time, double &dpsi, double &deps) |
| errc_t | ast::aJplDeGetLibration (const TimePoint &time, Vector3d &ang) |
| errc_t | ast::aJplDeGetLibration (const TimePoint &time, Euler &ang) |
| errc_t | ast::aJplDeGetInterval (TimeInterval &interval) |
| int | ast::aJplDeNum () |
| errc_t | ast::aJplDeOpen (const char *filepath) |
| void | ast::aJplDeClose () |
| double | ast::aLeapSecondUTC (double jdUTC) |
| double | ast::aLeapSecondUTCMJD (double mjdUTC) |
| SolarSystem * | ast::aGetSolarSystem () |
| CelestialBody * | ast::aGetBody (StringView name) |
| CelestialBody * | ast::aGetDefaultBody () |
| CelestialBody * | ast::aGetMercury () |
| CelestialBody * | ast::aGetVenus () |
| CelestialBody * | ast::aGetEarth () |
| CelestialBody * | ast::aGetMars () |
| CelestialBody * | ast::aGetJupiter () |
| CelestialBody * | ast::aGetSaturn () |
| CelestialBody * | ast::aGetUranus () |
| CelestialBody * | ast::aGetNeptune () |
| CelestialBody * | ast::aGetPluto () |
| CelestialBody * | ast::aGetMoon () |
| CelestialBody * | ast::aGetSun () |
| CelestialBody * | ast::aGetSSBarycenter () |
| CelestialBody * | ast::aGetEMBarycenter () |
| errc_t | ast::aSpiceGetPosICRF (const TimePoint &time, int target, int referenceBody, Vector3d &pos) |
| errc_t | ast::aSpiceGetPosVelICRF (const TimePoint &time, int target, int referenceBody, Vector3d &pos, Vector3d &vel) |
| AST_CORE_CAPI errc_t | ast::aSpiceGetInterval (StringView filepath, int target, TimeInterval &interval) |
| void | ast::aTheoreticalXYS_IERS2010 (const TimePoint &tp, array3d &xys) |
| void | ast::aTheoreticalXYS_IERS2010 (double t, array3d &xys) |
| void | ast::aTheoreticalXYS_IERS2010_Cache (double t, array3d &xys) |
| void | ast::aTheoreticalXYS_IERS2010_TT (const JulianDate &jdTT, array3d &xys) |
| errc_t | ast::aTheoreticalXYS_IERS2010Precomputed (const TimePoint &tp, array3d &xys) |
| void | ast::aTheoreticalXYS (const TimePoint &tp, array3d &xys) |
| void | ast::aXYCorrection (const TimePoint &tp, array2d &xyCorrection) |
| void | ast::aXYS_IERS2010 (const TimePoint &tp, array3d &xys) |
| void | ast::aXYS (const TimePoint &tp, array3d &xys) |
变量 | |
| constexpr size_t | ast::kSizeOfDataContext = sizeof(DataContext) |
| AST_CORE_CAPI DataContext * ast::aDataContext_EnsureCurrent | ( | ) |
确保当前线程的数据上下文存在 如果当前线程的数据上下文不存在,则将默认数据上下文设置为当前线程的数据上下文。
| AST_CORE_CAPI DataContext * ast::aDataContext_EnsureDefault | ( | ) |
确保默认数据上下文存在 如果默认数据上下文不存在,则创建一个新的默认数据上下文。
| AST_CORE_CAPI StartupConfig * ast::aDataContext_GetConfig | ( | ) |
获取当前线程的数据上下文的配置
| AST_CORE_CAPI DataContext * ast::aDataContext_GetCurrent | ( | ) |
获取当前线程的数据上下文
| AST_CORE_API std::string ast::aDataDirGet | ( | ) |
获取数据文件夹
| AST_CORE_CAPI errc_t ast::aDataDirGet | ( | std::string & | datadir | ) |
获取数据文件夹
| [out] | datadir | 数据文件夹路径 |
| AST_CORE_CAPI errc_t ast::aDataDirSet | ( | StringView | dirpath | ) |
设置数据文件夹
| dirpath |
| AST_CORE_CAPI void ast::aEpochSecondToTimePoint | ( | double | epochSecond, |
| TimePoint & | tp ) |
将相对参考历元的秒数转换为时间点
| epochSecond | 参考历元秒数 |
| tp | 时间点 |
| AST_CORE_API std::vector< std::string > ast::aGetConfigStringVector | ( | StringView | key | ) |
获取当前线程的数据上下文的配置字符串向量
| key | 配置键 |
| AST_CORE_API std::vector< StringView > ast::aGetConfigStringViewVector | ( | StringView | key | ) |
获取当前线程的数据上下文的配置字符串视图向量
| key | 配置键 |
| AST_CORE_API ValueView ast::aGetConfigValue | ( | StringView | key | ) |
获取当前线程的数据上下文的配置值
| key | 配置键 |
| AST_CORE_CAPI void ast::aGetEpoch | ( | TimePoint & | tp | ) |
获取参考历元
| AST_CORE_CAPI errc_t ast::aJplDeGetInterval | ( | TimeInterval & | interval | ) |
获取JPL DE星历数据的时间间隔
| interval |
获取JPL DE星历数据的月面天平动相关角度(Euler)
| time | |
| ang | - 从ICRF到月球惯性主轴坐标系的转角(rad)
|
| AST_CORE_API errc_t ast::aJplDeGetLibration | ( | const TimePoint & | time, |
| Vector3d & | ang ) |
获取JPL DE星历数据的月面天平动相关角度
| time | |
| ang | - 从ICRF到月球惯性主轴坐标系的转角(rad)
|
| AST_CORE_CAPI errc_t ast::aJplDeGetNutation | ( | const TimePoint & | time, |
| double & | dpsi, | ||
| double & | deps ) |
获取JPL DE星历数据的中章动角数据
| time | |
| dpsi | |
| deps |
| AST_CORE_CAPI errc_t ast::aJplDeGetPosICRF | ( | const TimePoint & | time, |
| int | target, | ||
| int | referenceBody, | ||
| Vector3d & | pos ) |
获取JPL DE星历数据的位置(ICRF)
| time | |
| target | |
| referenceBody | |
| pos |
| AST_CORE_CAPI errc_t ast::aJplDeGetPosVelICRF | ( | const TimePoint & | time, |
| int | target, | ||
| int | referenceBody, | ||
| Vector3d & | pos, | ||
| Vector3d & | vel ) |
获取JPL DE星历数据的位置和速度(ICRF)
| time | |
| target | |
| referenceBody | |
| pos | |
| vel |
| AST_CORE_CAPI int ast::aJplDeNum | ( | ) |
获取JPL DE星历数据的版本号
| AST_CORE_CAPI errc_t ast::aJplDeOpen | ( | const char * | filepath | ) |
打开JPL DE星历数据文件
| filepath |
| AST_CORE_CAPI double ast::aLeapSecondUTC | ( | double | jdUTC | ) |
获取UTC时间的闰秒数
| jdUTC |
| AST_CORE_CAPI double ast::aLeapSecondUTCMJD | ( | double | mjdUTC | ) |
获取UTC时间的闰秒数(MJD)
| mjdUTC |
| AST_CORE_CAPI double ast::aLOD | ( | const TimePoint & | tp | ) |
获取给定时间点的LOD(秒)
| tp | 时间点 |
| AST_CORE_CAPI void ast::aPoleMotion | ( | const TimePoint & | tp, |
| double & | x, | ||
| double & | y ) |
获取给定时间点的极移
| tp | 时间点 |
| x | 极移x |
| y | 极移y |
| A_ALWAYS_INLINE void ast::aPoleMotion | ( | const TimePoint & | tp, |
| PoleMotion & | pm ) |
获取给定时间点的极移
| tp | 时间点 |
| pm | 极移 |
| AST_CORE_CAPI void ast::aPoleMotionUTC | ( | const JulianDate & | jdUTC, |
| double & | x, | ||
| double & | y ) |
获取给定UTC时间的极移
| jdUTC | 协调世界时(UTC)的儒略日数 |
| x | 极移x |
| y | 极移y |
| AST_CORE_CAPI void ast::aSetEpoch | ( | const TimePoint & | tp | ) |
设置参考历元
| tp | 时间点 |
| errc_t ast::aSpiceGetInterval | ( | StringView | filepath, |
| int | target, | ||
| TimeInterval & | interval ) |
获取目标体的时间间隔
| filepath | SPK文件路径 |
| target | 目标体ID |
| interval | 时间间隔 |
SpiceCell 结构体,调用比较麻烦, 而且CSPICE提供的方法也需要重新打开文件 因此这里直接使用 SPKParser 类来获取SPK段描述符数组,然后从数组中提取目标体的时间间隔SpiceCell 结构体,调用比较麻烦, 而且CSPICE提供的方法也需要重新打开文件 因此这里直接使用 SPKParser 类来获取SPK段描述符数组,然后从数组中提取目标体的时间间隔| AST_CORE_CAPI void ast::aTheoreticalXYS | ( | const TimePoint & | tp, |
| array3d & | xys ) |
获取给定时间点的IAU 理论XYS值
| tp | 时间点 |
| xys | iau xys数据 |
| AST_CORE_API void ast::aTheoreticalXYS_IERS2010 | ( | const TimePoint & | tp, |
| array3d & | xys ) |
获取给定时间点的IAU 理论XYS值(IERS 2010规范)
| tp | 时间点 |
| xys | iau xys数据 |
| AST_CORE_API void ast::aTheoreticalXYS_IERS2010 | ( | double | t, |
| array3d & | xys ) |
获取给定时间点的IAU 理论XYS值(IERS 2010规范)
| t | 时间点(距离J2000.0 TT的儒略日世纪数) |
| xys | iau xys数据 |
| AST_CORE_CAPI void ast::aTheoreticalXYS_IERS2010_TT | ( | const JulianDate & | jdTT, |
| array3d & | xys ) |
获取给定时间点的IAU 理论XYS值(IERS 2010规范)
| jdTT | 时间点的儒略日数(TT) |
| xys | iau xys数据 |
| AST_CORE_CAPI double ast::aTimePointToEpochSecond | ( | const TimePoint & | tp | ) |
将时间点转换为相对参考历元的秒数
| tp | 时间点 |
| AST_CORE_CAPI double ast::aUT1MinusUTC_UTC | ( | const JulianDate & | jdUTC | ) |
获取UT1时间与UTC时间的差值(秒)
| jdUTC | 协调世界时(UTC)的儒略日数 |
| AST_CORE_CAPI void ast::aXYCorrection | ( | const TimePoint & | tp, |
| array2d & | xyCorrection ) |
获取给定时间点的IAU 理论XYS值的修正项
| tp | 时间点 |
| xyCorrection | iau xys修正项 |
| AST_CORE_CAPI void ast::aXYS | ( | const TimePoint & | tp, |
| array3d & | xys ) |
获取给定时间点的IAU XYS值(包含修正项)
| tp | 时间点 |
| xys | iau xys数据 |
| AST_CORE_CAPI void ast::aXYS_IERS2010 | ( | const TimePoint & | tp, |
| array3d & | xys ) |
获取给定时间点的IAU XYS值(IERS 2010规范,包含修正项)
| tp | 时间点 |
| xys | iau xys数据 |