summaryrefslogtreecommitdiffstats
path: root/src/animation
diff options
context:
space:
mode:
authorTopi Reinio <topi.reinio@qt.io>2018-04-17 12:21:10 +0200
committerTopi Reiniƶ <topi.reinio@qt.io>2018-04-20 10:17:14 +0000
commitbb09fa7b64b288a68edc61c52ea8467f96eb3924 (patch)
treea34ce86e2112890f99f762639997e326c5fb5f8e /src/animation
parentc5fb8786d31fa0e257c9c50a7ea74610073b2c85 (diff)
Revert "Doc: Divide documentation into submodules"
This reverts commit c8964b8f1cf56718a189b0f57bad446cec30a8b8. QDoc now supports documentation-specific custom module headers and include headers that allow us to keep using a single documentation project that covers multiple modules. Change-Id: I84706a7149097a6b03f0f266e55d6f712a6c773e Reviewed-by: Martin Smith <martin.smith@qt.io>
Diffstat (limited to 'src/animation')
-rw-r--r--src/animation/animation.pro2
-rw-r--r--src/animation/doc/qt3danimation.qdocconf43
-rw-r--r--src/animation/doc/src/qt3danimation-module.qdoc234
3 files changed, 0 insertions, 279 deletions
diff --git a/src/animation/animation.pro b/src/animation/animation.pro
index 066985760..b7d08416c 100644
--- a/src/animation/animation.pro
+++ b/src/animation/animation.pro
@@ -21,6 +21,4 @@ HEADERS += \
SOURCES += \
animationlogging.cpp
-QMAKE_DOCS = $$PWD/doc/qt3danimation.qdocconf
-
load(qt_module)
diff --git a/src/animation/doc/qt3danimation.qdocconf b/src/animation/doc/qt3danimation.qdocconf
deleted file mode 100644
index 74c185e7f..000000000
--- a/src/animation/doc/qt3danimation.qdocconf
+++ /dev/null
@@ -1,43 +0,0 @@
-include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
-include(../../doc/qt3d-config.qdocconf)
-
-project = Qt3DAnimation
-description = Qt 3D Animation Reference Documentation
-version = $QT_VERSION
-
-qhp.projects = Qt3DAnimation
-
-qhp.Qt3DAnimation.file = qt3danimation.qhp
-qhp.Qt3DAnimation.namespace = org.qt-project.qt3danimation.$QT_VERSION_TAG
-qhp.Qt3DAnimation.virtualFolder = qt3danimation
-qhp.Qt3DAnimation.indexTitle = Qt 3D Animation
-qhp.Qt3DAnimation.indexRoot =
-
-qhp.Qt3DAnimation.filterAttributes = qt3danimation $QT_VERSION qtrefdoc
-qhp.Qt3DAnimation.customFilters.Qt.name = Qt3DAnimation $QT_VERSION
-qhp.Qt3DAnimation.customFilters.Qt.filterAttributes = qt3danimation $QT_VERSION
-
-qhp.Qt3DAnimation.subprojects = classes qmltypes
-
-qhp.Qt3DAnimation.subprojects.classes.title = C++ Classes
-qhp.Qt3DAnimation.subprojects.classes.indexTitle = Qt 3D Animation C++ Classes
-qhp.Qt3DAnimation.subprojects.classes.selectors = class doc:headerfile
-qhp.Qt3DAnimation.subprojects.classes.sortPages = true
-
-qhp.Qt3DAnimation.subprojects.qmltypes.title = QML Types
-qhp.Qt3DAnimation.subprojects.qmltypes.indexTitle = Qt 3D Animation QML Types
-qhp.Qt3DAnimation.subprojects.qmltypes.selectors = qmltype
-qhp.Qt3DAnimation.subprojects.qmltypes.sortPages = true
-
-tagfile = qt3danimation.tags
-
-depends += qtcore qtgui qtqml qtquick qtdoc qmake
-
-# dependencies to other Qt 3D modules
-depends += qt3d qt3dcore qt3drender qt3dlogic \
- qt3dinput qt3dextras qt3dscene2d
-
-sourcedirs += ..
-headerdirs += ..
-imagedirs += images
-exampledirs += snippets
diff --git a/src/animation/doc/src/qt3danimation-module.qdoc b/src/animation/doc/src/qt3danimation-module.qdoc
deleted file mode 100644
index 918c401f9..000000000
--- a/src/animation/doc/src/qt3danimation-module.qdoc
+++ /dev/null
@@ -1,234 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Copyright (C) 2017 Klaralvdalens Datakonsult AB (KDAB).
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \module Qt3DAnimation
- \title Qt 3D Animation C++ Classes
- \preliminary
-
- \keyword Qt 3D Animation
- \brief The Qt 3D Animation module provides a set of prebuilt elements to help
- you get started with Qt 3D.
-
- This module is still in development but is available as a technology preview.
- This means it is unstable, likely to change and provided as a convenience only.
-
- \ingroup modules
- \ingroup qt3d-modules-preliminary
- \qtvariable 3danimation
-
- \code
- #include <Qt3DAnimation>
- \endcode
-
- To link against the corresponding C++ library, add the following to your qmake project file:
-
- \badcode
- QT += 3danimation
- \endcode
-
- Classes, types, and functions are declared under the \l [Qt3DAnimation]{Qt3DAnimation} namespace.
-
- \section1 Overview
-
- The Qt 3D Animation module adds support for specifying and using animations
- that can be applied to the properties of objects in your simulation.
- Initially this module supports key frame based animations. That is,
- properties have values 'keyed' at certain times and when played back the
- property values are calculated by interpolating between the known values
- within the key frames. All of the animation evaluation within the Qt 3D
- Animation module takes place on the Qt 3D threadpool. This allows the
- animations to run smoothly and to scale up to high throughput.
-
- \section2 Animation Data
-
- Key frame animation data can either be created programmatically via the Qt
- 3D Animation APIs such as Qt3DAnimation::QKeyFrameData or it can come from
- digital content creation (DCC) tools such as Blender, Maya or 3D Studio
- Max. Qt 3D provides an example export script for animation data for
- Blender. The format consumed by Qt 3D Animation at present is a simple JSON
- based format. This allows both developers and artists to easily work with
- animation data. More formats optimised for runtime consumption will be
- added later.
-
- The key frame animation data can be loaded from file using the
- Qt3DAnimation::QAnimationClipLoader class. To specify animation data
- programmatically use the Qt3DAnimation::QAnimationClip class.
-
- By default, the key frame data is specified using cubic bezier curves. This
- allows smooth animations to be created from a small number of key frame
- data points. Other interpolation types will be added later.
-
- \section2 Playing Animations
-
- In addition to the animation data containing the key frames, Qt 3D
- Animation also provides APIs for playing the animations and mapping the
- resulting property values onto properties of objects in your simulation.
- There are currently two ways of playing the animations:
-
- \list
- \li Qt3DAnimation::QClipAnimator
- \li Qt3DAnimation::QBlendedClipAnimator
- \endlist
-
- Both of these are implemented as subclasses of Qt3DCore::QComponent meaning
- that objects of these types can be aggregated by Qt3DCore::QEntity objects
- to add animation capabilities to your simulated entities.
-
- \section2 Simple Animation Playback
-
- The Qt3DAnimation::QClipAnimator class allows the playback of a single
- Qt3DAnimation::QAbstractAnimationClip at a time. To add an animation to an
- entity, simply add an instance of the Qt3DAnimation::QClipAnimator class to
- your entity's \c components property.
-
- The Qt 3D Animation module takes a slightly different approach to
- QPropertyAnimation and AbstractAnimation. With those animation frameworks,
- the animation specifies both the animation values \e {and} the target
- objects and properties. The animation components in Qt 3D separate these
- two orthogonal concepts. For example, the Qt3DAnimation::QClipAnimator
- component has a \c clip property for specifying the animation data
- (Qt3DAnimation::QAnimationClip or Qt3DAnimation::QAnimationClipLoader).
-
- This allows calculation of the animated values, but more information is
- needed in order to map these values onto properties of objects. This is
- accomplished with the a Qt3DAnimation::QChannelMapper which contains a list
- of Qt3DAnimation::QChannelMapping objects. A Qt3DAnimation::QChannelMapping
- is used to map a specific channel from an animation clip onto a named
- property of a target object. By separating the animation data and property
- mappings like this, the same animation can be applied to many objects
- without needing to have multiple copies of the animation data or objects.
- It also allows animation data to easily be retargeted to other objects.
-
- \section2 Blended Animation Playback
-
- The Qt3DAnimation::QBlendedClipAnimator component allows to go beyond what
- is possible with Qt3DAnimation::QClipAnimator by blending several animation
- clips together before applying the property changes to the target
- properties. The animator component still takes a channel mapper just like
- the standard Qt3DAnimation::QClipAnimator component. However, instead of
- specifying a single animation clip, it is necessary to set the \c blendTree
- property to point to the root node of a \e {blend tree}.
-
- A blend tree is a data structure representing how animation clips get
- aggregated or blended together as the function of properties on the blend
- tree nodes. The currently supported set of blend tree nodes are:
-
- \list
- \li Qt3DAnimation::QClipBlendValue
- \li Qt3DAnimation::QLerpClipBlend
- \li Qt3DAnimation::QAdditiveClipBlend
- \endlist
-
- The source animation clip inputs are specified as leaf nodes in the blend
- tree using instances of the Qt3DAnimation::QClipBlendValue class. These
- animation clips can be combined in a large number of ways. For now the Qt3D
- Animation module provides linear interpolation (LERP) and additive blend
- operations. More blend node types will be added over time. These are
- expected to include at least a generalised LERP node and a barycentric LERP
- node.
-
- As an example consider the following blend tree:
-
- \badcode
- Clip0----
- |
- Lerp Node----
- | |
- Clip1---- Additive Node
- |
- Clip2----
- \endcode
-
- Let's assume that \c Clip0 represents a walk animation cycle with a
- duration of 3 seconds and that \c Clip1 is a run animation cycle with a
- duration of 2 seconds. These are both inputs (and dependencies) of the \c
- Lerp blend node. The result of evaluating the \c Lerp node depends upon the
- \c blendFactor property of the \c Lerp node. This could be bound to the
- speed of a humanoid character entity for example. As the speed of the
- character increases the animation gradually cross-fades from the walk
- animation in \c Clip0 to the run animation in \c Clip1.
-
- Furthermore, let's assume that \c Clip2 represents some variation animation
- that can be added on (waving arms or shaking head for e.g.). The amount of
- this additive clip that is added can be controlled by the \c additiveFactor
- property on the \c Additive blend node.
-
- When evaluating a blend tree, normalized time (or phase) is used so that
- clips of different durations can be blended together without problems. For
- example, even though the walk and run animation clips are of different
- lengths, as long as they are created by the animator such that the
- foot-falls line up at the same phase these can be nicely interpolated.
-
- The implication of this is that the duration of the blended clip is
- actually a function of the blend factors of the nodes in the tree.
- Considering only the \c Lerp node in the above example, when the blend
- factor of the \c Lerp node is 0, only the walk animation in Clip0 is used
- resulting in a duration of 3 seconds. With a blend factor of 1 the
- resulting duration will be 2 seconds. For intermediate blend factors, the
- duration will be linearly interpolated between 3 and 2 seconds.
-
- By definining your own blend trees, you have complete control over how to
- combine your collection of input animation clips. The blend tree can be
- configured by the properties on the blend nodes. Note also that the
- properties on the blend nodes themselves are just standard properties, so
- these could in turn be driven by other animations if desired.
-
- \section1 Reference
- \list
- \li \l {Qt 3D Animation C++ Classes}
- \li \l {Qt 3D Examples}
- \endlist
- */
-
-/*!
- \namespace Qt3DAnimation
- \inmodule Qt3DAnimation
- \ingroup qt3d-namespaces
-
- \brief Contains classes from the Qt3DAnimation module.
-*/
-
-/*!
- \qmlmodule Qt3D.Animation 2.9
- \title Qt 3D Qt3DAnimation QML Types
- \preliminary
-
- \ingroup qmlmodules
- \ingroup qt3d-qmlmodules-preliminary
-
- \brief Provides Qt 3D QML types for the animation module.
-
- To import and use the module's QML types, use the following statement:
-
- \badcode
- import Qt3D.Animation 2.9
- \endcode
-
- \section1 QML Types
-*/