diff options
author | Mike Krus <mike.krus@kdab.com> | 2019-10-01 22:59:52 +0100 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2019-10-08 12:48:13 +0100 |
commit | 7433513f5f08d02b9ed6233c4159f8f32f0db556 (patch) | |
tree | 0508fcebaf55981de53026bf954c366240aff098 /src/core | |
parent | cae430b9ede8327217e5fa8e48b0de1f3d7cc364 (diff) |
Update animation evaluation jobs to use direct sync
Animation data is now stored in the job which propagates
them to the frontend at the end of the frame.
Animated properties are passed using Qt's property system.
Animated poses are passed via the frontend skeleton node.
Syncing on new frame will take care of propagating both for use in
other aspects.
Callbacks are called by the job directly or stored and invoked on
the main thread depending on the callback setting.
Change-Id: I78675715799300bc1b27f854f1a445c00a2ac734
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/transforms/qabstractskeleton.cpp | 8 | ||||
-rw-r--r-- | src/core/transforms/qabstractskeleton_p.h | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/core/transforms/qabstractskeleton.cpp b/src/core/transforms/qabstractskeleton.cpp index 1bc7247a7..5f3b05eb8 100644 --- a/src/core/transforms/qabstractskeleton.cpp +++ b/src/core/transforms/qabstractskeleton.cpp @@ -60,6 +60,14 @@ const QAbstractSkeletonPrivate *QAbstractSkeletonPrivate::get(const QAbstractSke } /*! + \internal + */ +QAbstractSkeletonPrivate *QAbstractSkeletonPrivate::get(QAbstractSkeleton *q) +{ + return q->d_func(); +} + +/*! \qmltype AbstractSkeleton \inqmlmodule Qt3D.Core \inherits Node diff --git a/src/core/transforms/qabstractskeleton_p.h b/src/core/transforms/qabstractskeleton_p.h index e4db7b11e..be50c24f5 100644 --- a/src/core/transforms/qabstractskeleton_p.h +++ b/src/core/transforms/qabstractskeleton_p.h @@ -53,6 +53,7 @@ #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qskeletoncreatedchange_p.h> +#include <Qt3DCore/private/sqt_p.h> QT_BEGIN_NAMESPACE @@ -67,10 +68,12 @@ public: Q_DECLARE_PUBLIC(QAbstractSkeleton) static const QAbstractSkeletonPrivate *get(const QAbstractSkeleton *q); + static QAbstractSkeletonPrivate *get(QAbstractSkeleton *q); QSkeletonCreatedChangeBase::SkeletonType m_type; int m_jointCount; + QVector<Sqt> m_localPoses; }; } // namespace Qt3DCore |