Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qquick3djoint_p.h
Go to the documentation of this file.
1// Copyright (C) 2020 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5
6#ifndef QSSGJOINT_H
7#define QSSGJOINT_H
8
9//
10// W A R N I N G
11// -------------
12//
13// This file is not part of the Qt API. It exists purely as an
14// implementation detail. This header file may change from version to
15// version without notice, or even be removed.
16//
17// We mean it.
18//
19
20#include <QtQuick3D/private/qquick3dnode_p.h>
21#include <QtQuick3D/private/qquick3dskeleton_p.h>
22
23#include <QtQuick3DRuntimeRender/private/qssgrenderskeleton_p.h>
24
26
27class Q_QUICK3D_EXPORT QQuick3DJoint : public QQuick3DNode
28{
29 Q_OBJECT
30 Q_PROPERTY(qint32 index READ index WRITE setIndex NOTIFY indexChanged)
31 Q_PROPERTY(QQuick3DSkeleton *skeletonRoot READ skeletonRoot WRITE setSkeletonRoot NOTIFY skeletonRootChanged)
32
33 QML_NAMED_ELEMENT(Joint)
34
35public:
36 explicit QQuick3DJoint(QQuick3DNode *parent = nullptr);
37 ~QQuick3DJoint() override;
38
39 qint32 index() const;
40 QQuick3DSkeleton *skeletonRoot() const;
41
42public Q_SLOTS:
43 void setIndex(qint32 index);
44 void setSkeletonRoot(QQuick3DSkeleton *skeleton);
45
46Q_SIGNALS:
47 void indexChanged();
48 void skeletonRootChanged();
49
50protected:
51 QSSGRenderGraphObject *updateSpatialNode(QSSGRenderGraphObject *node) override;
52 void markAllDirty() override;
53
54private Q_SLOTS:
55
56private:
57 bool m_indexDirty = true;
58 bool m_skeletonRootDirty = true;
59 int m_index = 0;
60
61 QQuick3DSkeleton *m_skeletonRoot = nullptr;
62
63 QMetaObject::Connection m_skeletonConnection;
64};
65
66QT_END_NAMESPACE
67
68#endif // QSSGJOINT_H
Combined button and popup list for selecting options.