Anim 0.1
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
AnimationSystem::Mesh::AnimationBlendTree Class Referencefinal

The structure containing and managing a blend tree. More...

#include <AnimationBlendTree.h>

Inheritance diagram for AnimationSystem::Mesh::AnimationBlendTree:
Collaboration diagram for AnimationSystem::Mesh::AnimationBlendTree:

Public Member Functions

 AnimationBlendTree (AnimatedMesh const &meshObject, IAnimationContainerProvider const &animationProvider)
 
BlendTree::TreeGetTree () const override
 Get the tree structure allowing manipulation of the animation blending. More...
 
PureResult CreateAnimation (string const &animationName, string const &filePath, string const &nameWithinFile, OptionalConfigOnSetAnimationDelegate &&configurationDelegate) override
 Create a new animation for the mesh containing this blend tree. More...
 
ValueResult< gef::SkeletonPose > UpdateAnimation (float deltaTime)
 Update the animation tree.
 
PureResult Register (BlendTree::NodeBase &node)
 Register's the node in the tree's map to allow for constant time retrial of node.
 
PureResult UnRegister (BlendTree::NodeBase const &node)
 UnRegister's the node in the tree's map.
 
template<typename T >
ValueResult< std::unique_ptr< T > > CreateNode (BlendTree::NodeBase &parent, string const &name)
 Creates a new node in the tree. More...
 
template<typename T >
ValueResult< std::reference_wrapper< T > > GetNode (string const &name)
 Get a node of type T with the name provided from the tree. Returns ERROR if such a node does not exist. More...
 
ValueResult< std::reference_wrapper< BlendTree::NodeBase > > GetNodeAsBaseType (string const &name) const
 
ValueResult< std::reference_wrapper< AnimationClip > > GetAnimation (string const &animationName) const
 
AnimatedMesh const & GetMeshObject () const
 
virtual BlendTree::TreeGetTree () const =0
 Get the tree structure allowing manipulation of the animation blending. More...
 
virtual PureResult CreateAnimation (string const &animationName, string const &filePath, string const &nameWithinFile, OptionalConfigOnSetAnimationDelegate &&configurationDelegate)=0
 Create a new animation for the mesh containing this blend tree. More...
 

Detailed Description

The structure containing and managing a blend tree.

Member Function Documentation

◆ CreateAnimation()

PureResult AnimationSystem::Mesh::AnimationBlendTree::CreateAnimation ( string const &  animationName,
string const &  filePath,
string const &  nameWithinFile,
OptionalConfigOnSetAnimationDelegate &&  configurationDelegate 
)
overridevirtual

Create a new animation for the mesh containing this blend tree.

Parameters
animationNameThe name of the animation that will be used to refer to this animation within the application
filePathThe full filepath of the animation file
nameWithinFile(Optional) The name of the animation within the file if the file contains multiple animations
configurationDelegate(Optional) A delegate that will be called on the animator running this animation when the animator is set to this animation. Used for initial set-up such as setting the animator to loop on this animation
Returns
The result of the operation

Implements AnimationSystem::Mesh::IMeshTreeAnimator.

◆ CreateNode()

template<typename T >
ValueResult< std::unique_ptr< T > > AnimationSystem::Mesh::AnimationBlendTree::CreateNode ( BlendTree::NodeBase parent,
string const &  name 
)

Creates a new node in the tree.

Template Parameters
TT must inherit from BaseNode or it's derivatives

◆ GetNode()

template<typename T >
ValueResult< std::reference_wrapper< T > > AnimationSystem::Mesh::AnimationBlendTree::GetNode ( string const &  name)

Get a node of type T with the name provided from the tree. Returns ERROR if such a node does not exist.

Template Parameters
TT must inherit from BaseNode or it's derivatives

◆ GetTree()

BlendTree::Tree & AnimationSystem::Mesh::AnimationBlendTree::GetTree ( ) const
overridevirtual

Get the tree structure allowing manipulation of the animation blending.

Implements AnimationSystem::Mesh::IMeshTreeAnimator.


The documentation for this class was generated from the following files: