🛰️航天仿真算法库 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
41
BodyEphemerisDE
() =
default
;
42
43
BodyEphemerisDE
(
int
jplIndex)
44
: jplIndex_(jplIndex)
45
{}
46
BodyEphemerisDE
(
CelestialBody
* body)
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
59
PROPERTIES:
60
int
getJplIndex()
const
;
61
62
void
setJplIndex(
int
jplIndex){jplIndex_ = jplIndex;}
63
protected
:
64
CelestialBody
* body_{
nullptr
};
65
int
jplIndex_{-1};
66
};
67
68
71
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:69
ast::TimeInterval
时间区间
定义
TimeInterval.hpp:59
ast::TimePoint
绝对时间点
定义
TimePoint.hpp:106
src
AstCore
SolarSystem
Ephemeris
BodyEphemerisDE.hpp
制作者
1.12.0