-
Notifications
You must be signed in to change notification settings - Fork 0
/
MainWindow.h
61 lines (49 loc) · 1.46 KB
/
MainWindow.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QVariant>
namespace Ui {
class MainWindow;
}
#include "Joint.h"
class QTreeWidgetItem;
class Skeleton;
class Skin;
class Mesh;
class AnimationPlayer;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void onInitialized();
void onOpenSkel();
void onOpenSkin();
void onOpenMorphTarget();
void onOpenAnimation();
void onClear();
void onToggleSkinSkeleton();
void onSaveAnimation();
void onValueChanged(double value);
void onSearch();
void onCurrentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
void onCurrentMeshChanged(Mesh* mesh);
private:
typedef void (Joint::*jointSetter)(float);
void _loadSkel(QString const& filename);
void _loadSkin(QString const& filename);
void _loadMorphTarget(QString const& filename);
void _loadAnim(QString const& filename);
void _loadSceneTree();
void _loadNode(QTreeWidgetItem* parent, Node *current);
void _initEmptyAnim();
void _displayBallJoint(Joint* joint, QTreeWidgetItem* parent);
void _displayTranslationalJoint(Joint* joint, QTreeWidgetItem* parent);
Ui::MainWindow* ui;
Skeleton* _skel;
Skin* _skin;
AnimationPlayer* _animPlayer;
};
#endif // MAINWINDOW_H