1// Copyright (C) 2017 Klaralvdalens Datakonsult AB (KDAB).
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QT3DCORE_QJOINT_P_H
5#define QT3DCORE_QJOINT_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists for the convenience
12// of other Qt classes. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <Qt3DCore/private/qnode_p.h>
19#include <Qt3DCore/qjoint.h>
20
21QT_BEGIN_NAMESPACE
22
23namespace Qt3DCore {
24
25class QJoint;
26
27class Q_3DCORE_PRIVATE_EXPORT QJointPrivate : public QNodePrivate
28{
29public:
30 QJointPrivate();
31
32 Q_DECLARE_PUBLIC(QJoint)
33
34 QMatrix4x4 m_inverseBindMatrix;
35 QList<QJoint *> m_childJoints;
36 QQuaternion m_rotation;
37 QVector3D m_translation;
38 QVector3D m_scale;
39 QString m_name;
40
41 // Not sent to backend. Purely internal convenience
42 QVector3D m_eulerRotationAngles;
43};
44
45struct QJointData
46{
47 QMatrix4x4 inverseBindMatrix;
48 QNodeIdVector childJointIds;
49 QQuaternion rotation;
50 QVector3D translation;
51 QVector3D scale;
52 QString name;
53};
54
55} // namespace Qt3DCore
56
57QT_END_NAMESPACE
58
59#endif // QT3DCORE_QJOINT_P_H
60

source code of qt3d/src/core/transforms/qjoint_p.h