Warning: That file was not part of the compilation database. It may have many parsing errors.

1/****************************************************************************
2**
3** Copyright (C) 2016 The Qt Company Ltd.
4** Contact: http://www.qt.io/licensing/
5**
6** This file is part of the Qt3D module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL3$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see http://www.qt.io/terms-conditions. For further
15** information use the contact form at http://www.qt.io/contact-us.
16**
17** GNU Lesser General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU Lesser
19** General Public License version 3 as published by the Free Software
20** Foundation and appearing in the file LICENSE.LGPLv3 included in the
21** packaging of this file. Please review the following information to
22** ensure the GNU Lesser General Public License version 3 requirements
23** will be met: https://www.gnu.org/licenses/lgpl.html.
24**
25** GNU General Public License Usage
26** Alternatively, this file may be used under the terms of the GNU
27** General Public License version 2.0 or later as published by the Free
28** Software Foundation and appearing in the file LICENSE.GPL included in
29** the packaging of this file. Please review the following information to
30** ensure the GNU General Public License version 2.0 requirements will be
31** met: http://www.gnu.org/licenses/gpl-2.0.html.
32**
33** $QT_END_LICENSE$
34**
35****************************************************************************/
36
37#ifndef QT3DANIMATION_QANIMATIONCONTROLLER_H
38#define QT3DANIMATION_QANIMATIONCONTROLLER_H
39
40#include <Qt3DAnimation/qkeyframeanimation.h>
41#include <Qt3DAnimation/qanimationgroup.h>
42#include <Qt3DCore/qentity.h>
43
44#include <Qt3DAnimation/qt3danimation_global.h>
45
46QT_BEGIN_NAMESPACE
47
48namespace Qt3DAnimation {
49
50class QAnimationControllerPrivate;
51
52class Q_3DANIMATIONSHARED_EXPORT QAnimationController : public QObject
53{
54 Q_OBJECT
55 Q_PROPERTY(int activeAnimationGroup READ activeAnimationGroup WRITE setActiveAnimationGroup NOTIFY activeAnimationGroupChanged)
56 Q_PROPERTY(float position READ position WRITE setPosition NOTIFY positionChanged)
57 Q_PROPERTY(float positionScale READ positionScale WRITE setPositionScale NOTIFY positionScaleChanged)
58 Q_PROPERTY(float positionOffset READ positionOffset WRITE setPositionOffset NOTIFY positionOffsetChanged)
59 Q_PROPERTY(Qt3DCore::QEntity *entity READ entity WRITE setEntity NOTIFY entityChanged)
60 Q_PROPERTY(bool recursive READ recursive WRITE setRecursive NOTIFY recursiveChanged)
61
62public:
63 QAnimationController(QObject *parent = nullptr);
64
65 QVector<Qt3DAnimation::QAnimationGroup *> animationGroupList();
66
67 int activeAnimationGroup() const;
68 float position() const;
69 float positionScale() const;
70 float positionOffset() const;
71 Qt3DCore::QEntity *entity() const;
72 bool recursive() const;
73
74 void setAnimationGroups(const QVector<Qt3DAnimation::QAnimationGroup *> &animationGroups);
75 void addAnimationGroup(Qt3DAnimation::QAnimationGroup *animationGroups);
76 void removeAnimationGroup(Qt3DAnimation::QAnimationGroup *animationGroups);
77
78 Q_INVOKABLE int getAnimationIndex(const QString &name) const;
79 Q_INVOKABLE Qt3DAnimation::QAnimationGroup *getGroup(int index) const;
80
81public Q_SLOTS:
82 void setActiveAnimationGroup(int index);
83 void setPosition(float position);
84 void setPositionScale(float scale);
85 void setPositionOffset(float offset);
86 void setEntity(Qt3DCore::QEntity *entity);
87 void setRecursive(bool recursive);
88
89Q_SIGNALS:
90 void activeAnimationGroupChanged(int index);
91 void positionChanged(float position);
92 void positionScaleChanged(float scale);
93 void positionOffsetChanged(float offset);
94 void entityChanged(Qt3DCore::QEntity *entity);
95 void recursiveChanged(bool recursive);
96
97private:
98 Q_DECLARE_PRIVATE(QAnimationController)
99};
100
101} // Qt3DAnimation
102
103QT_END_NAMESPACE
104
105#endif // QT3DANIMATION_QANIMATIONCONTROLLER_H
106

Warning: That file was not part of the compilation database. It may have many parsing errors.

Provided by KDAB

Privacy Policy
Learn Advanced QML with KDAB
Find out more

source code of qt3d/src/animation/frontend/qanimationcontroller.h