🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ScriptingToolProfile.hpp
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "TargeterProfile.hpp"
25#include "AstScript/ScriptExecutor.hpp"
26#include "AstScript/Variable.hpp"
27#include "AstUtil/StringView.hpp"
28#include "AstCore/VariableList.hpp"
29
30AST_NAMESPACE_BEGIN
31
40class AST_CORE_API ScriptingToolProfile : public TargeterProfile
41{
42public:
43 AST_OBJECT(ScriptingToolProfile)
44
45 static ScriptingToolProfile* New();
46
49 errc_t execute() override;
50
51 ScriptingToolProfile() = default;
52 ~ScriptingToolProfile() override = default;
53
54public:
55 EScriptLanguage language() const { return language_; }
56 void setLanguage(EScriptLanguage language) { language_ = language; }
57
58 const std::string& scriptStatements() const { return scriptStatements_; }
59 void setScriptStatements(StringView scriptStatements) { scriptStatements_ = std::string(scriptStatements); }
60
61 const VariableList& attributes() const { return attributes_; }
62 VariableList& attributes() { return attributes_; }
63
64 const VariableList& parameters() const { return parameters_; }
65 VariableList& parameters() { return parameters_; }
66
67 const VariableList& calcObjects() const { return calcObjects_; }
68 VariableList& calcObjects() { return calcObjects_; }
69
71 Variable* getParameter(StringView name) const;
72
73private:
74 EScriptLanguage language_{EScriptLanguage::ePython};
75 std::string scriptStatements_;
76 VariableList attributes_;
77 VariableList parameters_;
78 VariableList calcObjects_;
79};
80
83AST_NAMESPACE_END
84
85
脚本工具配置
定义 ScriptingToolProfile.hpp:41
目标器配置文件基类
定义 TargeterProfile.hpp:40
virtual errc_t execute()=0
执行目标器配置
变量列表
定义 VariableList.hpp:38
变量
定义 Variable.hpp:40
EScriptLanguage
脚本类型
定义 ScriptExecutor.hpp:37