24#include "AstCore/Object.hpp"
25#include "AstCore/Point.hpp"
26#include "AstSim/AttitudeProfile.hpp"
27#include "AstSim/MotionProfile.hpp"
28#include "AstCore/Ephemeris.hpp"
29#include "AstUtil/StringView.hpp"
47 ~Mover()
override =
default;
54 const std::string&
getName()
const override {
return name_; }
65 errc_t generateEphemeris();
69 Body* getBody()
const;
73 errc_t getPos(const
TimePoint& tp, Vector3d& pos) const final;
74 errc_t getPosVel(const
TimePoint& tp, Vector3d& pos, Vector3d& vel) const final;
78 MotionProfile* getMotionProfile()
const {
return motionProfile_.get(); }
81 void setMotionProfile(MotionProfile* profile);
99 State* getInitialState()
const;
姿态定义接口
定义 AttitudeProfile.hpp:36
天体
定义 CelestialBody.hpp:52
运动定义接口
定义 MotionProfile.hpp:51
AttitudeProfile * getAttitudeProfile() const
获取姿态定义
定义 Mover.hpp:84
WeakPtr< AttitudeProfile > attitudeProfile_
姿态定义
定义 Mover.hpp:104
ScopedPtr< Ephemeris > ephemeris_
星历
定义 Mover.hpp:105
void setName(StringView name) override
设置名称
定义 Mover.hpp:51
std::string name_
名称
定义 Mover.hpp:102
Ephemeris * getEphemeris() const
获取星历
定义 Mover.hpp:90
void setAttitudeProfile(AttitudeProfile *profile)
设置姿态定义
定义 Mover.hpp:87
WeakPtr< MotionProfile > motionProfile_
运动定义
定义 Mover.hpp:103
void setEphemeris(Ephemeris *ephemeris)
设置星历
定义 Mover.hpp:93
ScopedPtr< Ephemeris > & getEphemerisHandle()
获取星历句柄
定义 Mover.hpp:61
const std::string & getName() const override
获取名称
定义 Mover.hpp:54
virtual Frame * getFrame() const =0
获取点所在的参考坐标系
作用域指针类
定义 ScopedPtr.hpp:65
绝对时间点
定义 TimePoint.hpp:106