🛰️航天仿真算法库 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 AST_PROPERT(expr)
44 static ShooterControl* New();
45
46 ShooterControl() = default;
47 ~ShooterControl() override = default;
48
49PROPERTIES:
50 bool active() const { return active_; }
51 void setActive(bool active) { active_ = active; }
52
53 double correction() const { return correction_; }
54 void setCorrection(double correction) { correction_ = correction; }
55
56 double maxStep() const { return maxStep_; }
57 void setMaxStep(double maxStep) { maxStep_ = maxStep; }
58
59 double perturbation() const { return perturbation_; }
60 void setPerturbation(double perturbation) { perturbation_ = perturbation; }
61
62 double scale() const { return scale_; }
63 void setScale(double scale) { scale_ = scale; }
64
65 double tolerance() const { return tolerance_; }
66 void setTolerance(double tolerance) { tolerance_ = tolerance; }
67
68 double totalCorrection() const { return totalCorrection_; }
69 void setTotalCorrection(double totalCorrection) { totalCorrection_ = totalCorrection; }
70
71 Expr* expr() const { return expr_.get(); }
72 void setExpr(Expr* expr) { expr_ = expr; }
73public:
75 errc_t setValue(double value) const;
76
78 errc_t getValue(double& value) const;
79private:
80 bool active_{true};
81 WeakPtr<Expr> expr_;
82 double correction_{0.0};
83 double maxStep_{100.0};
84 double perturbation_{0.1};
85 double scale_{1.0};
86 double tolerance_{1e-6};
87 double totalCorrection_{0.0};
88};
89
90AST_NAMESPACE_END
表达式基类
定义 Expr.hpp:40
命名对象
定义 ObjectNamed.hpp:36
控制变量,用于定义微分修正中的控制变量
定义 ShooterControl.hpp:33
弱引用指针
定义 WeakPtr.hpp:35