🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
BodyEphemerisDE.hpp
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCore/BodyEphemeris.hpp"
25#include "AstCore/CelestialBody.hpp"
26
27AST_NAMESPACE_BEGIN
28
35class AST_CORE_API BodyEphemerisDE : public BodyEphemeris
36{
37public:
38 AST_OBJECT(BodyEphemerisDE)
39 AST_PROPERT(JplIndex)
40 BodyEphemerisDE() = default;
41
42 BodyEphemerisDE(int jplIndex)
43 : jplIndex_(jplIndex)
44 {}
46 : body_(body)
47 , jplIndex_(body->getJplIndex())
48 {}
49
50 ~BodyEphemerisDE() override = default;
51
52 errc_t getPosICRF(const TimePoint& tp, Vector3d& pos) const override;
53
54 errc_t getPosVelICRF(const TimePoint& tp, Vector3d& pos, Vector3d& vel) const override;
55
56 errc_t getInterval(TimeInterval& interval) const override;
57
58PROPERTIES:
59 int getJplIndex() const;
60
61 void setJplIndex(int jplIndex){jplIndex_ = jplIndex;}
62protected:
63 CelestialBody* body_{nullptr};
64 int jplIndex_{-1};
65};
66
67
70AST_NAMESPACE_END
定义 BodyEphemerisDE.hpp:36
天体星历接口
定义 BodyEphemeris.hpp:38
virtual errc_t getPosVelICRF(const TimePoint &tp, Vector3d &pos, Vector3d &vel) const =0
获取天体在ICRF坐标系下的位置和速度
virtual errc_t getPosICRF(const TimePoint &tp, Vector3d &pos) const =0
获取天体在ICRF坐标系下的位置
天体
定义 CelestialBody.hpp:52
int getJplIndex() const
获取JPL索引
定义 CelestialBody.hpp:72
时间区间
定义 TimeInterval.hpp:60
绝对时间点
定义 TimePoint.hpp:106