🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
UiStateKeplerian.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "UiState.hpp"
25#include "AstGUI/UiTimePoint.hpp"
26#include "AstGUI/UiQuantity.hpp"
27#include <QVBoxLayout>
28#include <QHBoxLayout>
29#include <QLabel>
30#include <QLineEdit>
31#include <QComboBox>
32#include <QPushButton>
33
34AST_NAMESPACE_BEGIN
35
41class StateKeplerian;
42class Frame;
43
44class AST_GUI_API UiStateKeplerian : public UiState
45{
46 Q_OBJECT
47public:
48 explicit UiStateKeplerian(Object* object, QWidget *parent = nullptr);
49 explicit UiStateKeplerian(QWidget *parent = nullptr);
50 ~UiStateKeplerian() = default;
51 UiStateKeplerian(const UiStateKeplerian&) = delete;
52 UiStateKeplerian& operator=(const UiStateKeplerian&) = delete;
53
54 StateKeplerian* getStateKeplerian() const;
55 void setStateKeplerian(StateKeplerian* state);
56 void refreshUi();
57 // void apply();
58 // void applyTo(StateKeplerian* state);
59
60private slots:
61 void onSelectFrame();
62
63protected:
64 void onSizeTypeChanged();
65 void onSizeParamChanged();
66 void onShapeTypeChanged();
67 void onShapeParamChanged();
68 void onOrientationTypeChanged();
69 void onOrientationParamChanged();
70 void onPositionTypeChanged();
71 void onPositionParamChanged();
72 void onEpochChanged();
73 void onFrameChanged();
74 void onIncChanged();
75 void onArgPeriChanged();
76protected:
77 void refreshSizeType();
78 void refreshSizeParam();
79 void refreshShapeType();
80 void refreshShapeParam();
81 void refreshOrientationType();
82 void refreshOrientationParam();
83 void refreshPositionType();
84 void refreshPositionParam();
85 void refreshEpoch();
86 void refreshFrame();
87 void refreshInc();
88 void refreshArgPeri();
89
90signals:
91 void stateKeplerianChanged(StateKeplerian* state);
92private:
93 // 轨道历元
94 UiTimePoint* epochEdit_{nullptr};
95 // 坐标系
96 QLineEdit* frameEdit_{nullptr};
97 QPushButton* frameSelectBtn_{nullptr};
98 // 轨道大小
99 QHBoxLayout* sizeLayout_{nullptr};
100 QLabel* sizeLabel_{nullptr};
101 QComboBox* sizeTypeCombo_{nullptr};
102 UiQuantity* sizeEdit_{nullptr};
103 // 轨道形状
104 QHBoxLayout* shapeLayout_{nullptr};
105 QLabel* shapeLabel_{nullptr};
106 QComboBox* shapeTypeCombo_{nullptr};
107 UiQuantity* shapeEdit_{nullptr};
108 // 倾角
109 QHBoxLayout* incLayout_{nullptr};
110 QLabel* incLabel_{nullptr};
111 UiQuantity* incEdit_{nullptr};
112 // 轨道面方向
113 QHBoxLayout* orientationLayout_{nullptr};
114 QLabel* orientationLabel_{nullptr};
115 QComboBox* orientationTypeCombo_{nullptr};
116 UiQuantity* orientationEdit_{nullptr};
117 // 近地点幅角
118 QHBoxLayout* argPeriLayout_{nullptr};
119 QLabel* argPeriLabel_{nullptr};
120 UiQuantity* argPeriEdit_{nullptr};
121 // 轨道位置
122 QHBoxLayout* positionLayout_{nullptr};
123 QLabel* positionLabel_{nullptr};
124 QComboBox* positionTypeCombo_{nullptr};
125 UiQuantity* positionEdit_{nullptr};
126};
127
130AST_NAMESPACE_END
对象基类,继承自该类的对象可以使用运行时类型信息相关功能,实现强弱引用计数、运行时元信息(属性访问、序列化等)等基础功能
定义 Object.hpp:95
开普勒轨道根数状态
定义 StateKeplerian.hpp:86
数量输入框
定义 UiQuantity.hpp:41
定义 UiStateKeplerian.hpp:45
定义 UiState.hpp:36
定义 UiTimePoint.hpp:36