24#include "AstUtil/Object.hpp"
25#include "AstUtil/ObjectNamed.hpp"
26#include "AstCore/Frame.hpp"
27#include "AstCore/EventTime.hpp"
51using HState = SharedPtr<State>;
61 AST_PROPERT(StateEpoch)
64 static PState NewDefault();
67 ~State()
override =
default;
142 errc_t getStateInBodyInertial(
Body* body,
CartState& state)
const;
154 errc_t changeFrame(
Frame* frame);
160 void setStateEpoch(
const TimePoint& stateEpoch);
163 TimePoint getStateEpoch_TimePoint()
const;
168 errc_t getStateEpoch(
TimePoint& stateEpoch)
const;
175 Body* getBody()
const;
179 double getBodyRadius()
const;
183 double getGM()
const {
return gm_; }
197 void setCoordEpoch(
EventTime* coordEpoch);
199 void setCoordEpoch(
const TimePoint& coordEpoch);
201 errc_t getCoordEpoch(
TimePoint& coordEpoch)
const;
203 bool getUseCoordEpoch()
const;
205 void setUseCoordEpoch(
bool useCoordEpoch);
207 void setCoordAxes(
Axes* axes);
209 errc_t changeCoordAxes(
Axes* axes);
211 Axes* getCoordAxes()
const;
216 Frame* getFrame()
const{
return frame_.get(); }
219 void setFrame(Frame* frame);
226 void setStateEpoch(
EventTime* stateEpoch);
直角坐标
定义 OrbitElement.hpp:53
天体
定义 CelestialBody.hpp:72
大地坐标
定义 GeodeticPoint.hpp:33
修正轨道根数
定义 OrbitElement.hpp:154
命名对象
定义 ObjectNamed.hpp:36
EventTime * getStateEpoch() const
获取状态历元时间
定义 State.hpp:222
virtual errc_t getState(CartState &state) const =0
获取状态
virtual EStateType getStateType() const =0
获取状态类型
double getGM() const
获取引力常数
定义 State.hpp:183
virtual errc_t setState(const CartState &state)=0
设置状态
SharedPtr< EventTime > & getStateEpochHandle()
获取状态历元时间句柄
定义 State.hpp:172
virtual errc_t setState(const ModOrbElem &orbElem)=0
设置状态
virtual errc_t getState(ModOrbElem &orbElem) const =0
获取状态
void setGM(double gm)
设置引力常数
定义 State.hpp:187
绝对时间点
定义 TimePoint.hpp:108
EStateType
状态类型
定义 State.hpp:39
@ eGeodetic
大地坐标状态(固连系下的位置与速度)
@ eUnknown
未知插值方法
定义 STKEphemerisFileParser.cpp:43