🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ast::EphemerisBinary类 参考final

#include <EphemerisBinary.hpp>

+ 类 ast::EphemerisBinary 继承关系图:

Public 成员函数

errc_t saveFrom (const Ephemeris *source, const std::string &filepath)
 
errc_t open (const std::string &filepath)
 
FramegetFrame () const override
 
errc_t getPos (const TimePoint &tp, Vector3d &pos) const override
 
errc_t getPosVel (const TimePoint &tp, Vector3d &pos, Vector3d &vel) const override
 
errc_t getInterval (TimeInterval &interval) const override
 
- Public 成员函数 继承自 ast::Ephemeris
- Public 成员函数 继承自 ast::Point
CelestialBodytoBody () const
 
errc_t getPosIn (Frame *frame, const TimePoint &tp, Vector3d &pos) const
 
errc_t getPosVelIn (Frame *frame, const TimePoint &tp, Vector3d &pos, Vector3d &vel) const
 
- Public 成员函数 继承自 ast::ObjectNamed
 ObjectNamed ()=default
 
 ObjectNamed (StringView name)
 
const std::string & getName () const override
 
void setName (StringView name) override
 
- Public 成员函数 继承自 ast::Object
 Object (Object *parentScope)
 
 Object (std::nullptr_t)
 
virtual ClassgetType () const
 
virtual std::string getRepresentation () const
 
const std::string & name () const
 
std::string displayName () const
 
errc_t showEditDialog ()
 
Attribute attr (StringView path)
 
errc_t getAttrBool (StringView path, bool &value) const
 
errc_t getAttrInt (StringView path, int &value) const
 
errc_t getAttrDouble (StringView path, double &value) const
 
errc_t getAttrString (StringView path, std::string &value) const
 
errc_t getAttrObject (StringView path, Object *&value) const
 
double getAttrDouble (StringView path) const
 
int getAttrInt (StringView path) const
 
bool getAttrBool (StringView path) const
 
std::string getAttrString (StringView path) const
 
ObjectgetAttrObject (StringView path) const
 
errc_t setAttrBool (StringView path, bool value)
 
errc_t setAttrInt (StringView path, int value)
 
errc_t setAttrDouble (StringView path, double value)
 
errc_t setAttrString (StringView path, StringView value)
 
errc_t setAttrObject (StringView path, Object *value)
 
Classtype () const
 
const std::string & typeName () const
 
PropertygetProperty (StringView fieldName) const
 
ObjectId getID () const
 
errc_t setParentScope (Object *parentScope)
 
ObjectgetParentScope () const
 
template<typename T >
getParent () const
 
bool isOfType (const Class *type) const
 
bool isOfType (StringView typeName) const
 
template<typename T >
bool isOfType () const
 
template<typename Func >
void addDelayedLink (Func &&link)
 
template<typename Func >
void addDelayedLinkIfFailed (Func &&link)
 
void resolveLinks ()
 
bool readOnly () const
 
void setReadOnly (bool readOnly)
 
bool active () const
 
void setActive (bool active)
 
bool isComponent () const
 
void setIsComponent (bool isComponent)
 
bool isEntity () const
 
void setIsEntity (bool isEntity)
 
const char * tr (const char *msg) const
 
 Referenced ()
 
 Referenced (initial_strong_ref_t)
 
- Public 成员函数 继承自 ast::Referenced
 Referenced (initial_strong_ref_t)
 
uint32_t refCount () const
 
uint32_t weakRefCount () const
 
bool isDestructed () const
 
void destruct ()
 
uint32_t incWeakRef ()
 
uint32_t decWeakRef ()
 
uint32_t incRef ()
 
uint32_t decRef ()
 
uint32_t decRefNoDelete ()
 

静态 Public 成员函数

static EphemerisBinaryNew ()
 
- 静态 Public 成员函数 继承自 ast::Object
static ObjectResolve (StringView value)
 
static void ClassInit (Class *cls)
 
static ClassStaticType ()
 

额外继承的成员函数

- 静态 Public 属性 继承自 ast::Object
static Class staticType
 
- Protected 成员函数 继承自 ast::Object
 Object (const Object &obj)
 
Objectoperator= (const Object &)
 
- Protected 成员函数 继承自 ast::Referenced
void setDestructed ()
 

详细描述

文件后备星历

将星历数据写入二进制文件,查询时从文件读取。 使用固定窗口缓存减少磁盘 IO,适合大规模星历存储场景。

二进制文件格式: [Header: 56 bytes] magic(4B) = 0x41535445 ("ASTE") version(4B) = 1 epochInt(8B) = 历元整数部分 (JD day) epochFrac(8B) = 历元小数部分 (day fraction) pointCount(8B) = 星历点数 N startTime(8B) = 首个星历点相对历元的秒数 stopTime(8B) = 末尾星历点相对历元的秒数 frameNameLen(8B) = 坐标系名称长度 [FrameName: frameNameLen bytes] (UTF-8) [Body: N × 56 bytes] time(8B) | px(8B) | py(8B) | pz(8B) | vx(8B) | vy(8B) | vz(8B) (time = 相对历元的秒数, pos = m, vel = m/s)

成员函数说明

◆ getFrame()

Frame * ast::EphemerisBinary::getFrame ( ) const
overridevirtual

获取点所在的参考坐标系

返回
点所在的参考坐标系指针

实现了 ast::Ephemeris.

◆ getInterval()

errc_t ast::EphemerisBinary::getInterval ( TimeInterval & interval) const
overridevirtual

实现了 ast::Ephemeris.

◆ getPos()

errc_t ast::EphemerisBinary::getPos ( const TimePoint & tp,
Vector3d & pos ) const
overridevirtual

获取点在指定时间点的位置,相对于点的参考坐标系

参数
tp时间点
pos输出参数,点的位置向量
返回
错误码

实现了 ast::Ephemeris.

◆ getPosVel()

errc_t ast::EphemerisBinary::getPosVel ( const TimePoint & tp,
Vector3d & pos,
Vector3d & vel ) const
overridevirtual

获取点在指定时间点的位置和速度,相对于点的参考坐标系

参数
tp时间点
pos输出参数,点的位置向量
vel输出参数,点的速度向量
返回
错误码

实现了 ast::Ephemeris.

◆ open()

errc_t ast::EphemerisBinary::open ( const std::string & filepath)

从二进制文件打开星历

参数
filepath文件路径
返回
错误码

◆ saveFrom()

errc_t ast::EphemerisBinary::saveFrom ( const Ephemeris * source,
const std::string & filepath )

从源星历保存到二进制文件,保存后对象立即可查询

参数
source源星历 (通常为 EphemerisLagrangeVar)
filepath目标文件路径
返回
错误码

该类的文档由以下文件生成: