Radium Engine  1.5.20
Loading...
Searching...
No Matches
SkeletonBasedAnimationUI.hpp
1#pragma once
2
3#include <Engine/Scene/ItemEntry.hpp>
4#include <Gui/RaGui.hpp>
5
6#include <QFrame>
7
8namespace Ui {
9class SkeletonBasedAnimationUI;
10}
11
12namespace Ra {
13namespace Engine {
14class RadiumEngine;
15namespace Scene {
16class Entity;
17class SkeletonBasedAnimationSystem;
18class SkeletonComponent;
19class SkinningComponent;
20class SkinningSystem;
21} // namespace Scene
22} // namespace Engine
23
24namespace Gui {
25class SelectionManager;
26class Timeline;
27
28class RA_GUI_API SkeletonBasedAnimationUI : public QFrame
29{
30 Q_OBJECT
31
32 public:
38 explicit SkeletonBasedAnimationUI( Engine::Scene::SkeletonBasedAnimationSystem* system,
39 Timeline* timeline = nullptr,
40 QWidget* parent = nullptr );
41
42 ~SkeletonBasedAnimationUI();
43
45 int getActionNb();
46
48 QAction* getAction( int i );
49
51 void postLoadFile( Engine::Scene::Entity* entity );
52
53 signals:
54 void askForUpdate();
55
56 public slots:
57 void selectionChanged( const Engine::Scene::ItemEntry& ent );
58
59 private slots:
62
64 void on_actionXray_triggered( bool checked );
65
67 void on_m_speed_valueChanged( double arg1 );
68
70 void on_m_pingPong_toggled( bool checked );
71
73 void on_m_autoRepeat_toggled( bool checked );
75
78
80 void on_m_currentAnimation_currentIndexChanged( int index );
81
83 void on_m_newAnim_clicked();
84
86 void on_m_removeAnim_clicked();
87
89 void on_m_loadAnim_clicked();
90
92 void on_m_saveAnim_clicked();
94
97
99 void on_m_xray_clicked( bool checked );
100
102 void on_m_showSkeleton_toggled( bool checked );
103
105 void on_m_manipulation_currentIndexChanged( int index );
107
110
112 void on_m_skinningMethod_currentIndexChanged( int index );
113
115 void on_m_showWeights_toggled( bool checked );
116
118 void on_m_weightsType_currentIndexChanged( int index );
119
121 void on_m_normalSkinning_currentIndexChanged( int index );
122
124 void on_actionLBS_triggered();
125
127 void on_actionDQS_triggered();
128
130 void on_actionCoR_triggered();
131
132 private:
134 Ui::SkeletonBasedAnimationUI* ui;
135
137 Engine::Scene::SkeletonBasedAnimationSystem* m_system { nullptr };
138
140 Engine::Scene::SkeletonComponent* m_currentSkeleton { nullptr };
141
144
146 Timeline* m_timeline { nullptr };
147
149 Engine::Scene::ItemEntry m_selection;
150};
151
152} // namespace Gui
153} // namespace Ra
hepler function to manage enum as underlying types in VariableSet
Definition Cage.cpp:3