🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
UiCommandEditor.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCore/MissionCommand.hpp"
25#include <QStackedWidget>
26#include <unordered_map>
27
28AST_NAMESPACE_BEGIN
29
30class Class;
31class UiInitialState;
32class UiPropagate;
33class UiManeuver;
34class UiSequence;
35class UiTargeterSequence;
36class UiFeasibleRegionStudy;
37
39class AST_GUI_API UiCommandEditor : public QStackedWidget
40{
41 Q_OBJECT
42public:
43 explicit UiCommandEditor(QWidget* parent = nullptr);
44 ~UiCommandEditor() override;
45 UiCommandEditor(const UiCommandEditor&) = delete;
46 UiCommandEditor& operator=(const UiCommandEditor&) = delete;
47
49 void editCommand(MissionCommand* cmd);
50
52 void clear();
53
54signals:
55 void commandModified(MissionCommand* cmd);
56
57private:
58 void registerEditors();
59 void setupUi();
60
61 UiInitialState* initStatePage_ = nullptr;
62 UiPropagate* propagatePage_ = nullptr;
63 UiManeuver* maneuverPage_ = nullptr;
64 UiSequence* sequencePage_ = nullptr;
65 UiTargeterSequence* targetSeqPage_ = nullptr;
66 UiFeasibleRegionStudy* feasibleRegionPage_ = nullptr;
67
68 int initStateIdx_ = -1;
69 int propagateIdx_ = -1;
70 int maneuverIdx_ = -1;
71 int sequenceIdx_ = -1;
72 int targetSeqIdx_ = -1;
73 int feasibleRegionIdx_ = -1;
74};
75
76AST_NAMESPACE_END
命令(虚基类),用于定义任务序列中的命令,例如初始状态、轨道机动、轨道预报等
定义 Command.hpp:42
命令属性编辑器,根据 RTTI 类型自动切换编辑页面
定义 UiCommandEditor.hpp:40
FeasibleRegionStudy 段编辑器
定义 UiFeasibleRegionStudy.hpp:44
InitialState 段编辑器
定义 UiInitialState.hpp:39
Maneuver 段编辑器
定义 UiManeuver.hpp:34
Propagate 段编辑器
定义 UiPropagate.hpp:39
Sequence 段编辑器
定义 UiSequence.hpp:35
TargeterSequence 段编辑器(在 Sequence 基础上增加打靶配置)
定义 UiSequence.hpp:58