🛰️航天仿真算法库 SpaceAST 0.3.1
载入中...
搜索中...
未找到
MotionHPOP.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstSim/MotionOrbitDynamics.hpp"
25#include "AstCore/HPOPForceModel.hpp"
26#include "AstCore/SpacecraftParam.hpp"
27#include "AstMath/ODEIntegrator.hpp"
28
29AST_NAMESPACE_BEGIN
30
36class MotionHPOP;
37class ODEIntegrator;
38using PMotionHPOP = MotionHPOP*;
39using HMotionHPOP = SharedPtr<MotionHPOP>;
40
41class AST_SIM_API MotionHPOP: public MotionBasic
42{
43public:
44 AST_OBJECT(MotionHPOP)
45 static PMotionHPOP New();
46 MotionHPOP();
47 ~MotionHPOP() override;
48public:
49 errc_t makeEphemerisSpec(ScopedPtr<Ephemeris>& eph) const override;
50 errc_t makeEphemerisSimple(ScopedPtr<Ephemeris>& eph) const override;
51 void accept(MotionProfileVisitor& visitor) override;
52public:
55 void setForceModel(HPOPForceModel&& forceModel){forceModel_ = std::move(forceModel);}
56 void setForceModel(const HPOPForceModel& forceModel){forceModel_ = forceModel;}
57
60 const HPOPForceModel& getForceModel() const{return forceModel_;}
61
63 void setSpacecraftParam(const SpacecraftParam& spacecraftParam){spacecraftParam_= spacecraftParam;}
64
66 const SpacecraftParam& getSpacecraftParam() const{return spacecraftParam_;}
67
70 void setIntegrator(ODEIntegrator* integrator);
71
74 ODEIntegrator* getIntegrator() const;
75private:
76 HPOPForceModel forceModel_{};
77 SpacecraftParam spacecraftParam_{};
78 SharedPtr<ODEIntegrator> integrator_{};
79};
80
83AST_NAMESPACE_END
高精度轨道预报力模型
定义 HPOPForceModel.hpp:49
定义 MotionHPOP.hpp:42
const HPOPForceModel & getForceModel() const
获取力模型
定义 MotionHPOP.hpp:60
const SpacecraftParam & getSpacecraftParam() const
获取航天器参数
定义 MotionHPOP.hpp:66
void setForceModel(HPOPForceModel &&forceModel)
设置力模型
定义 MotionHPOP.hpp:55
void setSpacecraftParam(const SpacecraftParam &spacecraftParam)
设置航天器参数
定义 MotionHPOP.hpp:63
轨道动力学基础运动模型数据结构
定义 MotionOrbitDynamics.hpp:44
定义 MotionProfileVisitor.hpp:44
virtual errc_t makeEphemerisSpec(ScopedPtr< Ephemeris > &eph) const =0
生成特定星历
virtual errc_t makeEphemerisSimple(ScopedPtr< Ephemeris > &eph) const =0
生成简单星历
virtual void accept(MotionProfileVisitor &visitor)=0
接受访问者
ODE 积分器
定义 ODEIntegrator.hpp:88
作用域指针类
定义 ScopedPtr.hpp:65
航天器参数
定义 SpacecraftParam.hpp:34