Loading [MathJax]/extensions/TeX/AMSmath.js
Radium Engine  1.5.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
SkeletonBasedAnimationUI.hpp
1 #pragma once
2 
3 #include <Engine/Scene/ItemEntry.hpp>
4 #include <Gui/RaGui.hpp>
5 
6 #include <QFrame>
7 
8 namespace Ui {
9 class SkeletonBasedAnimationUI;
10 }
11 
12 namespace Ra {
13 namespace Engine {
14 class RadiumEngine;
15 namespace Scene {
16 class Entity;
17 class SkeletonBasedAnimationSystem;
18 class SkeletonComponent;
19 class SkinningComponent;
20 class SkinningSystem;
21 } // namespace Scene
22 } // namespace Engine
23 
24 namespace Gui {
25 class SelectionManager;
26 class Timeline;
27 
28 class 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 
143  std::vector<Engine::Scene::SkinningComponent*> m_currentSkinnings;
144 
146  Timeline* m_timeline { nullptr };
147 
149  Engine::Scene::ItemEntry m_selection;
150 };
151 
152 } // namespace Gui
153 } // namespace Ra
Definition: Cage.cpp:3