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();
67 errc_t generateEphemerisSimple();
69 errc_t generateEphemerisSpec();
73 Body* getBody()
const;
77 errc_t getPos(const
TimePoint& tp, Vector3d& pos) const final;
78 errc_t getPosVel(const
TimePoint& tp, Vector3d& pos, Vector3d& vel) const final;
82 MotionProfile* getMotionProfile()
const {
return motionProfile_.get(); }
85 void setMotionProfile(MotionProfile* profile);
103 State* getInitialState()
const;
姿态定义接口
定义 AttitudeProfile.hpp:36
天体
定义 CelestialBody.hpp:72
运动定义接口
定义 MotionProfile.hpp:51
AttitudeProfile * getAttitudeProfile() const
获取姿态定义
定义 Mover.hpp:88
WeakPtr< AttitudeProfile > attitudeProfile_
姿态定义
定义 Mover.hpp:108
ScopedPtr< Ephemeris > ephemeris_
星历
定义 Mover.hpp:109
void setName(StringView name) override
设置名称
定义 Mover.hpp:51
std::string name_
名称
定义 Mover.hpp:106
Ephemeris * getEphemeris() const
获取星历
定义 Mover.hpp:94
void setAttitudeProfile(AttitudeProfile *profile)
设置姿态定义
定义 Mover.hpp:91
WeakPtr< MotionProfile > motionProfile_
运动定义
定义 Mover.hpp:107
void setEphemeris(Ephemeris *ephemeris)
设置星历
定义 Mover.hpp:97
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:107