🛰️航天仿真算法库 SpaceAST
0.0.1
载入中...
搜索中...
未找到
BlockGravity.hpp
浏览该文件的文档.
1
20
21
#pragma once
22
23
#include "AstGlobal.h"
24
#include "
BlockAstro.hpp
"
25
#include "AstCore/GravityCalculator.hpp"
26
#include "AstCore/BlockDerivative.hpp"
27
#include "AstCore/Axes.hpp"
28
#include "AstMath/Vector.hpp"
29
#include "AstUtil/StringView.hpp"
30
31
AST_NAMESPACE_BEGIN
32
53
class
AST_CORE_API
BlockGravity
:
public
BlockDerivative
54
{
55
public
:
56
BlockGravity
();
57
BlockGravity
(
const
GravityField
&gravityField,
int
degree,
int
order,
Axes
* gravityAxes=
nullptr
,
Axes
* propagationAxes=
nullptr
);
58
BlockGravity
(
GravityField
&&gravityField,
int
degree,
int
order,
Axes
* gravityAxes=
nullptr
,
Axes
* propagationAxes=
nullptr
);
59
60
BlockGravity
(
const
BlockGravity
&) =
delete
;
61
BlockGravity
& operator=(
const
BlockGravity
&) =
delete
;
62
63
errc_t
run
(
const
SimTime
& simTime)
override
;
64
66
void
setConsiderVariations
(
bool
considerVariations){considerVariations_ = considerVariations;}
67
protected
:
68
// 运行前的公共参数准备
69
errc_t prepare(
const
SimTime
& simTime,
Rotation
& rotation);
70
71
private
:
72
void
init();
73
protected
:
74
HAxes
gravityAxes_
;
75
HAxes
propagationAxes_
;
76
Vector3d* posPtr_{&vectorBuffer_};
77
Vector3d* accGravityPtr_{&vectorBuffer_};
78
Vector3d* velocityDerivativePtr_{&vectorBuffer_};
79
Vector3d vectorBuffer_{};
80
GravityCalculatorDefault
gravityCalculator_
;
81
bool
considerVariations_{
false
};
82
};
83
84
85
86
AST_NAMESPACE_END
BlockAstro.hpp
~
ast::Axes
轴系抽象基类
定义
Axes.hpp:72
ast::BlockDerivative
导数函数块
定义
BlockDerivative.hpp:46
ast::BlockGravity
重力场函数块
定义
BlockGravity.hpp:54
ast::BlockGravity::propagationAxes_
HAxes propagationAxes_
预报坐标系
定义
BlockGravity.hpp:75
ast::BlockGravity::gravityAxes_
HAxes gravityAxes_
重力坐标系
定义
BlockGravity.hpp:74
ast::BlockGravity::setConsiderVariations
void setConsiderVariations(bool considerVariations)
设置是否考虑重力场系数变化
定义
BlockGravity.hpp:66
ast::BlockGravity::gravityCalculator_
GravityCalculatorDefault gravityCalculator_
重力计算器
定义
BlockGravity.hpp:80
ast::FuncBlock::run
virtual errc_t run(const SimTime &simTime)=0
计算函数块
ast::GravityCalculator3
重力加速度计算类3
定义
GravityCalculator.hpp:211
ast::GravityField
重力场系数
定义
GravityField.hpp:88
ast::Rotation
坐标系旋转类
定义
Rotation.hpp:39
ast::SharedPtr< Axes >
ast::SimTime
仿真时间
定义
SimTime.hpp:30
src
AstCore
Propagator
HPOP
BlockAstro
BlockGravity.hpp
制作者
1.12.0