// Copyright (C) 2017 Klaralvdalens Datakonsult AB (KDAB). // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #include "qanimationaspect.h" #include "qanimationaspect_p.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include QT_BEGIN_NAMESPACE namespace Qt3DAnimation { using namespace Qt3DCore; QAnimationAspectPrivate::QAnimationAspectPrivate() : QAbstractAspectPrivate() , m_handler(new Animation::Handler) { } /*! \class Qt3DAnimation::QAnimationAspect \inherits Qt3DCore::QAbstractAspect \inmodule Qt3DAnimation \brief Provides key-frame animation capabilities to Qt 3D. \since 5.9 QAnimationAspect provides key-frame animation to Qt 3D. */ /*! * Constructs a new QAnimationAspect with \a parent. */ QAnimationAspect::QAnimationAspect(QObject *parent) : QAnimationAspect(*new QAnimationAspectPrivate, parent) { } /*! \internal */ QAnimationAspect::QAnimationAspect(QAnimationAspectPrivate &dd, QObject *parent) : QAbstractAspect(dd, parent) { setObjectName(QStringLiteral("Animation Aspect")); Q_D(QAnimationAspect); qRegisterMetaType(); qRegisterMetaType(); qRegisterMetaType>(); qRegisterMetaType(); registerBackendType( QSharedPointer>::create(d->m_handler.data(), d->m_handler->animationClipLoaderManager())); registerBackendType( QSharedPointer>::create(d->m_handler.data(), d->m_handler->clockManager())); registerBackendType( QSharedPointer>::create(d->m_handler.data(), d->m_handler->clipAnimatorManager())); registerBackendType( QSharedPointer>::create(d->m_handler.data(), d->m_handler->blendedClipAnimatorManager())); registerBackendType( QSharedPointer>::create(d->m_handler.data(), d->m_handler->channelMappingManager())); registerBackendType( QSharedPointer>::create(d->m_handler.data(), d->m_handler->channelMapperManager())); registerBackendType( QSharedPointer>::create(d->m_handler.data(), d->m_handler->clipBlendNodeManager())); registerBackendType( QSharedPointer>::create(d->m_handler.data(), d->m_handler->clipBlendNodeManager())); registerBackendType( QSharedPointer>::create(d->m_handler.data(), d->m_handler->clipBlendNodeManager())); registerBackendType( QSharedPointer>::create(d->m_handler.data(), d->m_handler->skeletonManager())); } /*! \internal */ QAnimationAspect::~QAnimationAspect() { } /*! \internal */ std::vector QAnimationAspect::jobsToExecute(qint64 time) { Q_D(QAnimationAspect); Q_ASSERT(d->m_handler); return d->m_handler->jobsToExecute(time); } } // namespace Qt3DAnimation QT_END_NAMESPACE QT3D_REGISTER_NAMESPACED_ASPECT("animation", QT_PREPEND_NAMESPACE(Qt3DAnimation), QAnimationAspect) #include "moc_qanimationaspect.cpp"