🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
BlockTwoBody.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCore/BlockAstro.hpp"
25#include "AstCore/BlockDerivative.hpp"
26#include "AstMath/Vector.hpp"
27
28AST_NAMESPACE_BEGIN
29
51class AST_CORE_API BlockTwoBody : public BlockDerivative
52{
53public:
55
56 BlockTwoBody(const BlockTwoBody&) = delete;
57 BlockTwoBody& operator=(const BlockTwoBody&) = delete;
58
59 explicit BlockTwoBody(double twoBodyGM);
60
61 errc_t run(const SimTime& simTime) override;
62private:
63 void init();
64protected:
65 Vector3d* posCBI;
66 Vector3d* accTwoBody;
67 Vector3d* velocityDerivative_{&vectorBuffer};
68 Vector3d vectorBuffer;
69PROPERTIES:
70 double twoBodyGM_;
71};
72
73AST_NAMESPACE_END
导数函数块
定义 BlockDerivative.hpp:46
二体引力函数块
定义 BlockTwoBody.hpp:52
Vector3d vectorBuffer
向量缓冲区
定义 BlockTwoBody.hpp:68
Vector3d * posCBI
位置
定义 BlockTwoBody.hpp:65
Vector3d * accTwoBody
二体加速度
定义 BlockTwoBody.hpp:66
virtual errc_t run(const SimTime &simTime)=0
计算函数块
仿真时间
定义 SimTime.hpp:30