C4 Engine
C4 Engine API Documentation

class Animator

Defined in:  C4Animation.h
The Animator class is the base class for all model animation classes.
Definition

class Animator : public Tree<Animator>, public Packable, public Creatable<Animator>

Member Functions
Animator::GetAnimatorType Returns the animator type.
Animator::GetTargetModel Returns the model to which an animator applies.
Animator::GetTargetNode Returns the root of the subtree within the model that is affected by an animator.
Animator::SetTargetNode Sets the root of the subtree within the model that is affected by an animator.
Animator::GetAnimatorTransformNodeStart Returns the index of the first node targeted for transform animation.
Animator::GetAnimatorTransformNodeCount Returns the number of nodes targeted for transform animation.
Animator::GetOutputTransformNodeStart Returns the index of the first node for which transform animation is actually output.
Animator::GetOutputTransformNodeCount Returns the number of nodes for which transform animation is actually output.
Animator::GetOutputTransformTable Returns the output table containing pointers to node transforms.
Animator::GetAnimatorTransformTable Returns the transform table containing new node transforms.
Animator::GetAnimatorData Returns a pointer to the animator's custom storage space.
Animator::GetWeightInterpolator Returns the interpolator used to modify an animator's weight.
Animator::AllocateStorage Allocates storage space for an animator's tables.
Animator::PreprocessAnimator Called to allow an animator to perform any necessary preprocessing.
Animator::ConfigureAnimator Called when an animator is affected by a change in the animation tree for a model.
Animator::MoveAnimator Called to allow the animator to calculate its output.
Constructor

Animator(AnimatorType type, Model *model, Node *node = nullptr);

Parameters
type The animator type.
model The model to which the animator applies.
node The target node, which is the root of the subtree within the model that is affected by the animator. If this is nullptr, then the root is the same as the model parameter.
Description
The Animator class is the base class for a variety of model animation classes that can be attached to a model node. A model node may have a single animator attached to it, or it may have multiple animators attached to it organized in a tree hierarchy. When a model is animated by calling the Model::AnimateModel function, the animator objects attached to the model calculate new transforms for the nodes belonging to the model.
Base Classes
Tree<Animator> Animators are organized in a tree hierarchy.
Packable Animators can be packed for storage in resources.
Creatable<Animator> New animator subclasses may be defined by an application, and a creator function can be installed using the Creatable class.
See Also

MergeAnimator

BlendAnimator

FrameAnimator

Model::GetRootAnimator

Model::SetRootAnimator