🛰️航天仿真算法库 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
41 BodyEphemerisDE() = default;
42
43 BodyEphemerisDE(int jplIndex)
44 : jplIndex_(jplIndex)
45 {}
47 : body_(body)
48 , jplIndex_(body->getJplIndex())
49 {}
50
51 ~BodyEphemerisDE() override = default;
52
53 errc_t getPosICRF(const TimePoint& tp, Vector3d& pos) const override;
54
55 errc_t getPosVelICRF(const TimePoint& tp, Vector3d& pos, Vector3d& vel) const override;
56
57 errc_t getInterval(TimeInterval& interval) const override;
58
59PROPERTIES:
60 int getJplIndex() const;
61
62 void setJplIndex(int jplIndex){jplIndex_ = jplIndex;}
63protected:
64 CelestialBody* body_{nullptr};
65 int jplIndex_{-1};
66};
67
68
71AST_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:69
时间区间
定义 TimeInterval.hpp:59
绝对时间点
定义 TimePoint.hpp:106