🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
MotionGreatArc.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "MotionProfile.hpp"
25#include "AstCore/GeodeticPoint.hpp"
26#include <vector>
27
28AST_NAMESPACE_BEGIN
29
37{
38public:
39 double time() const {return time_;}
40public:
41 double time_;
43 double speed_;
45 double turnRadius_;
46};
47
48
49class MotionGreatArc;
52
53class AST_SIM_API MotionGreatArc : public MotionProfile
54{
55public:
56 static PMotionGreatArc New();
59public:
60 errc_t makeEphemerisSpec(ScopedPtr<Ephemeris>& eph) const override;
61 errc_t makeEphemerisSimple(ScopedPtr<Ephemeris>& eph) const override;
62 void accept(MotionProfileVisitor& visitor) override;
63public:
64 using WayPointVector = std::vector<WayPoint>;
65 void setStartTime(const TimePoint& tp);
66 errc_t getStartTime(TimePoint& tp) const;
67 errc_t getStopTime(TimePoint& tp) const;
68 errc_t getInterval(TimeInterval& interval) const;
69 const WayPointVector& getWayPoints() const{return wayPoints_;}
70 void setWayPoints(const WayPointVector& wayPoints){wayPoints_ = wayPoints;}
71private:
72 SharedPtr<EventTime> startTime_;
73 WayPointVector wayPoints_;
74};
75
78AST_NAMESPACE_END
大地坐标
定义 GeodeticPoint.hpp:33
定义 MotionGreatArc.hpp:54
定义 MotionProfileVisitor.hpp:44
运动定义接口
定义 MotionProfile.hpp:51
virtual errc_t makeEphemerisSpec(ScopedPtr< Ephemeris > &eph) const =0
生成特定星历
virtual errc_t makeEphemerisSimple(ScopedPtr< Ephemeris > &eph) const =0
生成简单星历
virtual void accept(MotionProfileVisitor &visitor)=0
接受访问者
作用域指针类
定义 ScopedPtr.hpp:65
共享指针
定义 SharedPtr.hpp:33
时间区间
定义 TimeInterval.hpp:60
绝对时间点
定义 TimePoint.hpp:106
定义 MotionGreatArc.hpp:37
GeodeticPoint position_
位置
定义 MotionGreatArc.hpp:42
double turnRadius_
转弯半径
定义 MotionGreatArc.hpp:45
double time_
时间
定义 MotionGreatArc.hpp:41
double speed_
速度
定义 MotionGreatArc.hpp:43
double acceleration_
加速度
定义 MotionGreatArc.hpp:44