- 成员 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
实现空间碎片模型