🛰️航天仿真算法库 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
27
AST_NAMESPACE_BEGIN
28
35
class
AST_CORE_API
BodyEphemerisDE
:
public
BodyEphemeris
36
{
37
public
:
38
AST_OBJECT(
BodyEphemerisDE
)
39
AST_PROPERT(JplIndex)
40
BodyEphemerisDE
() =
default
;
41
42
BodyEphemerisDE
(
int
jplIndex)
43
: jplIndex_(jplIndex)
44
{}
45
BodyEphemerisDE
(
CelestialBody
* body)
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
58
PROPERTIES:
59
int
getJplIndex()
const
;
60
61
void
setJplIndex(
int
jplIndex){jplIndex_ = jplIndex;}
62
protected
:
63
CelestialBody
* body_{
nullptr
};
64
int
jplIndex_{-1};
65
};
66
67
70
AST_NAMESPACE_END
ast::BodyEphemerisDE
定义
BodyEphemerisDE.hpp:36
ast::BodyEphemeris
天体星历接口
定义
BodyEphemeris.hpp:38
ast::BodyEphemeris::getPosVelICRF
virtual errc_t getPosVelICRF(const TimePoint &tp, Vector3d &pos, Vector3d &vel) const =0
获取天体在ICRF坐标系下的位置和速度
ast::BodyEphemeris::getPosICRF
virtual errc_t getPosICRF(const TimePoint &tp, Vector3d &pos) const =0
获取天体在ICRF坐标系下的位置
ast::CelestialBody
天体
定义
CelestialBody.hpp:52
ast::CelestialBody::getJplIndex
int getJplIndex() const
获取JPL索引
定义
CelestialBody.hpp:72
ast::TimeInterval
时间区间
定义
TimeInterval.hpp:60
ast::TimePoint
绝对时间点
定义
TimePoint.hpp:106
src
AstCore
SolarSystem
Ephemeris
BodyEphemerisDE.hpp
制作者
1.12.0