🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ShooterControl.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstScript/Expr.hpp"
25#include "AstUtil/Object.hpp"
26#include "AstUtil/ObjectNamed.hpp"
27#include <string>
28
29AST_NAMESPACE_BEGIN
30
32class AST_CORE_API ShooterControl : public ObjectNamed
33{
34public:
35 AST_OBJECT(ShooterControl)
36 AST_PROPERT(active)
37 AST_PROPERT(correction)
38 AST_PROPERT(maxStep)
39 AST_PROPERT(perturbation)
40 AST_PROPERT(scale)
41 AST_PROPERT(tolerance)
42 AST_PROPERT(totalCorrection)
43 static ShooterControl* New();
44
45 ShooterControl() = default;
46 ~ShooterControl() override = default;
47
48PROPERTIES:
49 bool active() const { return active_; }
50 void setActive(bool active) { active_ = active; }
51
52 double correction() const { return correction_; }
53 void setCorrection(double correction) { correction_ = correction; }
54
55 double maxStep() const { return maxStep_; }
56 void setMaxStep(double maxStep) { maxStep_ = maxStep; }
57
58 double perturbation() const { return perturbation_; }
59 void setPerturbation(double perturbation) { perturbation_ = perturbation; }
60
61 double scale() const { return scale_; }
62 void setScale(double scale) { scale_ = scale; }
63
64 double tolerance() const { return tolerance_; }
65 void setTolerance(double tolerance) { tolerance_ = tolerance; }
66
67 double totalCorrection() const { return totalCorrection_; }
68 void setTotalCorrection(double totalCorrection) { totalCorrection_ = totalCorrection; }
69
71 errc_t setValue(double value) const;
72
74 errc_t getValue(double& value) const;
75
76 Expr* expr() const { return expr_.get(); }
77 void setExpr(Expr* expr) { expr_ = expr; }
78private:
79 bool active_{true};
80 WeakPtr<Expr> expr_;
81 double correction_{0.0};
82 double maxStep_{100.0};
83 double perturbation_{0.1};
84 double scale_{1.0};
85 double tolerance_{1e-6};
86 double totalCorrection_{0.0};
87};
88
89AST_NAMESPACE_END
表达式基类
定义 Expr.hpp:39
命名对象
定义 ObjectNamed.hpp:36
控制变量,用于定义微分修正中的控制变量
定义 ShooterControl.hpp:33
弱引用指针
定义 WeakPtr.hpp:35