24#include "AstUtil/Object.hpp"
25#include "AstUtil/ObjectNamed.hpp"
26#include "AstCore/Frame.hpp"
27#include "AstCore/EventTime.hpp"
47using HState = SharedPtr<State>;
57 AST_PROPERT(StateEpoch)
60 static PState NewDefault();
63 ~State()
override =
default;
133 errc_t getStateInBodyInertial(
Body* body,
CartState& state)
const;
145 errc_t changeFrame(
Frame* frame);
151 void setStateEpoch(
const TimePoint& stateEpoch);
154 TimePoint getStateEpoch_TimePoint()
const;
159 errc_t getStateEpoch(
TimePoint& stateEpoch)
const;
166 Body* getBody()
const;
170 double getBodyRadius()
const;
174 double getGM()
const {
return gm_; }
188 void setCoordEpoch(
EventTime* coordEpoch);
190 void setCoordEpoch(
const TimePoint& coordEpoch);
192 errc_t getCoordEpoch(
TimePoint& coordEpoch)
const;
194 bool getUseCoordEpoch()
const;
196 void setUseCoordEpoch(
bool useCoordEpoch);
198 void setCoordAxes(
Axes* axes);
200 errc_t changeCoordAxes(
Axes* axes);
202 Axes* getCoordAxes()
const;
207 Frame* getFrame()
const{
return frame_.get(); }
210 void setFrame(Frame* frame);
217 void setStateEpoch(
EventTime* stateEpoch);
直角坐标
定义 OrbitElement.hpp:46
天体
定义 CelestialBody.hpp:52
修正轨道根数
定义 OrbitElement.hpp:131
命名对象
定义 ObjectNamed.hpp:36
EventTime * getStateEpoch() const
获取状态历元时间
定义 State.hpp:213
virtual errc_t getState(CartState &state) const =0
获取状态
virtual EStateType getStateType() const =0
获取状态类型
double getGM() const
获取引力常数
定义 State.hpp:174
virtual errc_t setState(const CartState &state)=0
设置状态
SharedPtr< EventTime > & getStateEpochHandle()
获取状态历元时间句柄
定义 State.hpp:163
virtual errc_t setState(const ModOrbElem &orbElem)=0
设置状态
virtual errc_t getState(ModOrbElem &orbElem) const =0
获取状态
void setGM(double gm)
设置引力常数
定义 State.hpp:178
SharedPtr< EventTime > stateEpoch_
状态历元时间
定义 State.hpp:222
SharedPtr< Frame > frame_
参考坐标系
定义 State.hpp:220
绝对时间点
定义 TimePoint.hpp:106
EStateType
状态类型
定义 State.hpp:39
@ eUnknown
未知插值方法
定义 STKEphemerisFileParser.cpp:43