🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
MotionOrbitDynamics.hpp
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstSim/MotionProfile.hpp"
25#include "AstSim/MotionWithIntervalStep.hpp"
26#include "AstCore/State.hpp"
27#include "AstCore/EventInterval.hpp"
28#include "AstCore/OrbitElement.hpp"
29
30AST_NAMESPACE_BEGIN
31
37class MotionOrbitDynamics;
38using PMotionOrbitDynamics = MotionOrbitDynamics*;
39// using HMotionOrbitDynamics = SharedPtr<MotionOrbitDynamics>;
40using MotionBasic = MotionOrbitDynamics; // 兼容处理
41
44{
45public:
46 AST_OBJECT(MotionOrbitDynamics)
47 AST_PROPERT(InitialState)
48 AST_PROPERT(PropagationFrame)
49 MotionOrbitDynamics() = default;
50 ~MotionOrbitDynamics() = default;
51
52
55 EStateType getStateType() const;
56
59 void setStateType(EStateType type);
60protected:
67
68 errc_t getPropagationParams(PropagationParams& params) const;
69
70 errc_t discreteInterval(const TimePoint& epoch, double stepSize, std::vector<double>& times) const;
71PROPERTIES:
72 State* getInitialState() const { return initialState_.get(); }
73 void setInitialState(State* state) { initialState_ = state; }
74 Frame* getPropagationFrame() const { return propagationFrame_.get(); }
75 void setPropagationFrame(Frame* frame) { propagationFrame_ = frame; }
76protected:
79};
80
83AST_NAMESPACE_END
直角坐标
定义 OrbitElement.hpp:46
坐标系类
定义 Frame.hpp:60
初始轨道段,用于建模任务序列(MissionCommand)中的初始状态任务
定义 InitialState.hpp:38
轨道动力学基础运动模型数据结构
定义 MotionOrbitDynamics.hpp:44
SharedPtr< State > initialState_
初始状态
定义 MotionOrbitDynamics.hpp:77
SharedPtr< Frame > propagationFrame_
预报坐标系
定义 MotionOrbitDynamics.hpp:78
具有时间段和步长的运动模型
定义 MotionWithIntervalStep.hpp:36
共享指针
定义 SharedPtr.hpp:33
航天器状态
定义 State.hpp:53
绝对时间点
定义 TimePoint.hpp:106
EStateType
状态类型
定义 State.hpp:39
定义 MotionOrbitDynamics.hpp:62
TimePoint epoch_
预报时间点
定义 MotionOrbitDynamics.hpp:63
Frame * propagationFrame_
预报坐标系指针
定义 MotionOrbitDynamics.hpp:65
CartState stateInPropagationFrame_
预报坐标系下的初始状态
定义 MotionOrbitDynamics.hpp:64