🛰️航天仿真算法库 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
(
const
BodyEphemerisDE
&) =
delete
;
43
BodyEphemerisDE
& operator=(
const
BodyEphemerisDE
&) =
delete
;
44
45
BodyEphemerisDE
(
int
jplIndex)
46
: jplIndex_(jplIndex)
47
{}
48
BodyEphemerisDE
(
CelestialBody
* body)
49
: body_(body)
50
, jplIndex_(body->
getJplIndex
())
51
{}
52
53
~BodyEphemerisDE
()
override
=
default
;
54
55
errc_t
getPosICRF
(
const
TimePoint
& tp, Vector3d& pos)
const override
;
56
57
errc_t
getPosVelICRF
(
const
TimePoint
& tp, Vector3d& pos, Vector3d& vel)
const override
;
58
59
errc_t getInterval(
TimeInterval
& interval)
const override
;
60
61
PROPERTIES:
62
int
getJplIndex()
const
;
63
64
void
setJplIndex(
int
jplIndex){jplIndex_ = jplIndex;}
65
protected
:
66
CelestialBody
* body_{
nullptr
};
67
int
jplIndex_{-1};
68
};
69
70
73
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:72
ast::CelestialBody::getJplIndex
int getJplIndex() const
获取JPL索引
定义
CelestialBody.hpp:90
ast::TimeInterval
时间区间
定义
TimeInterval.hpp:64
ast::TimePoint
绝对时间点
定义
TimePoint.hpp:108
src
AstCore
SolarSystem
Ephemeris
BodyEphemerisDE.hpp
制作者
1.12.0