QAnimationController Class

class Qt3DAnimation::QAnimationController

A controller class for animations. More...

Header: #include <QAnimationController>
qmake: QT += 3danimation
Since: Qt 5.9
Instantiated By: AnimationController
Inherits: QObject

This class was introduced in Qt 5.9.

Properties

Public Functions

int activeAnimationGroup() const
Qt3DCore::QEntity *entity() const
float position() const
float positionOffset() const
float positionScale() const
bool recursive() const

Public Slots

void setActiveAnimationGroup(int index)
void setEntity(Qt3DCore::QEntity *entity)
void setPosition(float position)
void setPositionOffset(float offset)
void setPositionScale(float scale)
void setRecursive(bool recursive)

Signals

void activeAnimationGroupChanged(int index)
void entityChanged(Qt3DCore::QEntity *entity)
void positionChanged(float position)
void positionOffsetChanged(float offset)
void positionScaleChanged(float scale)
void recursiveChanged(bool recursive)

Detailed Description

Qt3DAnimation::QAnimationController class controls the selection and playback of animations. The class can be used to find all animations from Qt3DCore::QEntity tree and create QAnimationGroups from the animations with the same name. The user can select which animation group is currently controlled with the animation controller by setting the active animation. The animation position is then propagated to that group after scaling and offsetting the provided position value with the positionScale and positionOffset values.

Note: that the animation controller doesn't have internal timer, but instead the user is responsible for updating the position property in timely manner.

Property Documentation

activeAnimationGroup : int

Holds the currectly active animation group.

Access functions:

int activeAnimationGroup() const
void setActiveAnimationGroup(int index)

Notifier signal:

void activeAnimationGroupChanged(int index)

entity : Qt3DCore::QEntity*

Holds the entity animations are gathered and grouped from. If the controller already holds animations, they are cleared.

Access functions:

Qt3DCore::QEntity *entity() const
void setEntity(Qt3DCore::QEntity *entity)

Notifier signal:

void entityChanged(Qt3DCore::QEntity *entity)

position : float

Holds the current position of the animation. When the position is set, it is scaled and offset with positionScale/positionOffset and propagated to the active animation group.

Access functions:

float position() const
void setPosition(float position)

Notifier signal:

void positionChanged(float position)

positionOffset : float

Holds the position offset of the animation.

Access functions:

float positionOffset() const
void setPositionOffset(float offset)

Notifier signal:

void positionOffsetChanged(float offset)

positionScale : float

Holds the position scale of the animation.

Access functions:

float positionScale() const
void setPositionScale(float scale)

Notifier signal:

void positionScaleChanged(float scale)

recursive : bool

Holds whether the recursively search the entity tree when gathering animations from the entity. If set to true, the animations are searched also from the child entities of the entity. If set to false, only the entity passed to the controller is searched.

Access functions:

bool recursive() const
void setRecursive(bool recursive)

Notifier signal:

void recursiveChanged(bool recursive)