🛰️航天仿真算法库 SpaceAST 0.0.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 static PMotionHPOP New();
45 MotionHPOP();
46 ~MotionHPOP() override;
47public:
48 errc_t makeEphemerisSpec(ScopedPtr<Ephemeris>& eph) const override;
49 errc_t makeEphemerisSimple(ScopedPtr<Ephemeris>& eph) const override;
50 void accept(MotionProfileVisitor& visitor) override;
51public:
54 void setForceModel(HPOPForceModel&& forceModel){forceModel_ = std::move(forceModel);}
55 void setForceModel(const HPOPForceModel& forceModel){forceModel_ = forceModel;}
56
59 const HPOPForceModel& getForceModel() const{return forceModel_;}
60
62 void setSpacecraftParam(const SpacecraftParam& spacecraftParam){spacecraftParam_= spacecraftParam;}
63
65 const SpacecraftParam& getSpacecraftParam() const{return spacecraftParam_;}
66
69 void setIntegrator(ODEIntegrator* integrator);
70
73 ODEIntegrator* getIntegrator() const;
74private:
75 HPOPForceModel forceModel_;
76 SpacecraftParam spacecraftParam_;
77 SharedPtr<ODEIntegrator> integrator_;
78};
79
82AST_NAMESPACE_END
高精度轨道预报力模型
定义 HPOPForceModel.hpp:49
定义 MotionHPOP.hpp:42
const HPOPForceModel & getForceModel() const
获取力模型
定义 MotionHPOP.hpp:59
const SpacecraftParam & getSpacecraftParam() const
获取航天器参数
定义 MotionHPOP.hpp:65
void setForceModel(HPOPForceModel &&forceModel)
设置力模型
定义 MotionHPOP.hpp:54
void setSpacecraftParam(const SpacecraftParam &spacecraftParam)
设置航天器参数
定义 MotionHPOP.hpp:62
轨道动力学基础运动模型数据结构
定义 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:83
作用域指针类
定义 ScopedPtr.hpp:65
共享指针
定义 SharedPtr.hpp:33
航天器参数
定义 SpacecraftParam.hpp:34