🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
待办事项列表
成员 ast::aGeometryTransform (GeometryType *source, GeometryType *target, const TimePoint &tp, RotationType &rotation)

在寻找最近公共祖先时,如果出现了超过256层的意外情况(非常非常罕见), 需要进入动态分配内存的计算模式

这里应该可以专门写个函数将 .inverse() * 的计算进行合并

成员 ast::aICRFToMoonMeanEarthTransform (const TimePoint &tp, Rotation &rotation)
还未实现该函数
成员 ast::aMoonPAToMeanEarthTransform (Rotation &rotation)
还未实现该函数,需要实现旋转角速度的计算
ast::Anthropic
实现Anthropic客户端的API调用
成员 ast::aVectorRotation (const Vector3d &v, const Vector3d &axis, double theta, Vector3d &r)
移动到其他头文件中
ast::BackTrace
实现回溯信息
成员 ast::BaseParser::read (void *buffer, size_t size, size_t pos) const
当前的函数实现未考虑线程安全问题,该接口需要线程安全的实现,考虑在linux下使用pread函数
成员 ast::BlockDynamicSystem::sortBlocks ()
考虑使用拓扑排序算法对模型进行排序,例如Kahn 算法或者DFS 算法
成员 ast::BlockSRP::run (const SimTime &simTime) final
目前总是使用真太阳位置进行计算,是否需要考虑使用视太阳位置进行计算?
ast::BlockTransform
待实现:定义输入/输出端口,实现位置/速度/加速度的坐标系变换
ast::BodyEphemeris
但是对于行星卫星,他们的星历是相对于行星系的,例如月球 此时 getPosVelICRF 接口会产生数值截断误差,需要考虑如何处理
ast::Breakpoint
实现断点相关功能
ast::CallStack
实现调用栈相关功能
成员 ast::CelestialBody::getAxes (StringView name) const
这里考虑使用哈希表来存储映射关系
ast::Class

实现类的反射机制

成员 ast::ConeEclipseCalculator::getLightingRatio (const TimePoint &time, const Vector3d &position, Frame *frame) override
计算遮挡时总是假设遮挡体是个完美球形,如果是其他形状,需要改进计算方法
成员 ast::CylindricalEclipseCalculator::getLightingRatio (const TimePoint &time, const Vector3d &position, Frame *frame) override
计算遮挡时总是假设遮挡体是个完美球形,如果是其他形状,需要改进计算方法
ast::DAFParser
在读取数据时需要处理数据的大小端问题
成员 ast::DataContext::m_iauXYSPrecomputed
: 这个考虑更改为静态数据
ast::Debugger
实现调试器相关功能
成员 ast::EphemerisLagrangeVar::getPosVel (const TimePoint &tp, Vector3d &pos, Vector3d &vel) const override
这里有一点优化空间,可以避免重复计算插值点的系数
成员 ast::EventTime::Resolve (StringView value)
处理新建对象的父作用域问题
ast::GenericValue

考虑参考variant进行存储,保留原始值

成员 ast::GlobalContext::m_iauXYS
: 这个考虑更改为静态数据
成员 ast::HPOPEquation::initBlocks (const HPOPForceModel &forceModel, const SpacecraftParam &spacecraftParam)
这里产生了一次重力场系数复制,有一定的优化空间
成员 ast::HPOPEquation::setPropagationFrame (Frame *frame)

这里还需要检查frame是否是准惯性系

这里要注意处理propFrame_和centralBody_不一致的情况

联合体 ast::KernelData
使用union不太合适,考虑其他的实现方式
ast::LeapSecond
支持读取Spice的闰秒内核文件
成员 ast::MolniyaOrbitDesigner::getOrbitState (ModOrbElem &orbElem) const override
这里目前只支持地球,需要增加对其他天体的支持
成员 ast::MotionProfile::toBallistic () const
提升类型动态转换效率
成员 ast::MotionProfile::toHPOP () const
提升类型动态转换效率
成员 ast::MotionProfile::toSimpleAscent () const
提升类型动态转换效率
成员 ast::MotionProfile::toSPICE () const
提升类型动态转换效率
成员 ast::MotionProfile::toTwoBody () const
提升类型动态转换效率
ast::NetworkRequest
网络请求体作为std::string进行存储,在传输大文件时会占用过多内存,需要考虑使用流式传输机制
ast::NetworkSession
实现网络会话管理功能
成员 ast::Point::toBody () const
这里需要优化动态类型转换的执行效率
ast::PropertyPOD

拟作为int, double, bool等的基础属性类,其他属性类继承自该类。

成员 ast::RepeatingOrbitDesigner::getOrbitState (ModOrbElem &orbElem) const override
这里目前只支持地球,需要增加对其他天体的支持
成员 ast::RepeatingSunSyncOrbitDesigner::getOrbitState (ModOrbElem &orbElem) const override
这里目前只支持地球,需要增加对其他天体的支持
成员 ast::RepeatingSunSyncOrbitDesigner::setApproxAltitude (double alt)
这里的逻辑与 RepeatingOrbitDesigner::setApproxRevsPerDay(double revs)相同,需要避免重复
ast::Sparse

实现稀疏矩阵Sparse类

ast::SPKParser
处理不同类型的SPK数据,目前仅支持类型2
ast::StackFrame
实现栈帧相关功能
成员 ast::StationaryOrbitDesigner::getOrbitState (ModOrbElem &orbElem) const override

目前只能计算地球轨道,这里需要增加对其他天体的支持

这里应该可以采用解析公式直接计算得到半长轴

ast::SymbolTable

实现符号表相关功能

成员 ast::UiMotionProfile::getMotionProfile () const
优化类型转换效率
ast::ValNamedVector
完善命名向量值类的实现
ast::ValRange

目前只支持浮点数类型的范围值

成员 ast::WorkingDirectory::WorkingDirectory (StringView path)
需要考虑如何避免创建临时std::string对象
Debris

实现空间碎片模型