Castor3D 0.12.0
Multiplatform 3D engine
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
castor3d::SkeletonAnimationInstanceObject Class Referenceabstract

#include <SkeletonAnimationInstanceObject.hpp>

Inheritance diagram for castor3d::SkeletonAnimationInstanceObject:
Inheritance graph
[legend]
Collaboration diagram for castor3d::SkeletonAnimationInstanceObject:
Collaboration graph
[legend]

Public Member Functions

virtual C3D_API ~SkeletonAnimationInstanceObject ()=default
 Destructor. More...
 
C3D_API void addChild (SkeletonAnimationInstanceObjectSPtr object)
 Adds a child to this object. More...
 
C3D_API void update (castor::Matrix4x4f const &current)
 Updates the object, applies the transformations. More...
 
castor::Matrix4x4f const & getFinalTransform () const
 The final object's animations transformation. More...
 
SkeletonAnimationInstanceObjectPtrArray const & getChildren () const
 
SkeletonAnimationObject const & getObject () const
 

Protected Member Functions

C3D_API SkeletonAnimationInstanceObject (SkeletonAnimationInstance &animationInstance, SkeletonAnimationObject &animationObject, SkeletonAnimationInstanceObjectPtrArray &allObjects)
 Constructor. More...
 
C3D_API SkeletonAnimationInstanceObject (SkeletonAnimationInstanceObject &&rhs)=default
 Copy constructor. More...
 
C3D_API SkeletonAnimationInstanceObject (SkeletonAnimationInstanceObject const &rhs)=delete
 
C3D_API SkeletonAnimationInstanceObjectoperator= (SkeletonAnimationInstanceObject const &rhs)=delete
 
C3D_API SkeletonAnimationInstanceObjectoperator= (SkeletonAnimationInstanceObject &&rhs)=delete
 
virtual C3D_API void doApply ()=0
 Updates the object, applies the transformations matrix. More...
 

Protected Attributes

SkeletonAnimationObjectm_animationObject
 
AnimationKeyFrameArray::const_iterator m_prev
 
AnimationKeyFrameArray::const_iterator m_curr
 
SkeletonAnimationInstanceObjectPtrArray m_children
 
castor::Matrix4x4f m_cumulativeTransform
 
castor::Matrix4x4f m_finalTransform
 

Constructor & Destructor Documentation

◆ SkeletonAnimationInstanceObject() [1/3]

C3D_API castor3d::SkeletonAnimationInstanceObject::SkeletonAnimationInstanceObject ( SkeletonAnimationInstance animationInstance,
SkeletonAnimationObject animationObject,
SkeletonAnimationInstanceObjectPtrArray &  allObjects 
)
protected

Constructor.

Parameters
[in]animationInstanceThe parent skeleton animation instance.
[in]animationObjectThe animation object.
[out]allObjectsReceives this object's children.

◆ SkeletonAnimationInstanceObject() [2/3]

C3D_API castor3d::SkeletonAnimationInstanceObject::SkeletonAnimationInstanceObject ( SkeletonAnimationInstanceObject &&  rhs)
protecteddefault

Copy constructor.

◆ SkeletonAnimationInstanceObject() [3/3]

C3D_API castor3d::SkeletonAnimationInstanceObject::SkeletonAnimationInstanceObject ( SkeletonAnimationInstanceObject const &  rhs)
protecteddelete

◆ ~SkeletonAnimationInstanceObject()

virtual C3D_API castor3d::SkeletonAnimationInstanceObject::~SkeletonAnimationInstanceObject ( )
virtualdefault

Destructor.

Member Function Documentation

◆ addChild()

C3D_API void castor3d::SkeletonAnimationInstanceObject::addChild ( SkeletonAnimationInstanceObjectSPtr  object)

Adds a child to this object.

Remarks
The child's transformations are affected by this object's ones.
Parameters
[in]objectThe child.

◆ doApply()

virtual C3D_API void castor3d::SkeletonAnimationInstanceObject::doApply ( )
protectedpure virtual

Updates the object, applies the transformations matrix.

◆ getChildren()

SkeletonAnimationInstanceObjectPtrArray const & castor3d::SkeletonAnimationInstanceObject::getChildren ( ) const
inline
Returns
The children array.

References m_children.

◆ getFinalTransform()

castor::Matrix4x4f const & castor3d::SkeletonAnimationInstanceObject::getFinalTransform ( ) const
inline

The final object's animations transformation.

References m_finalTransform.

◆ getObject()

SkeletonAnimationObject const & castor3d::SkeletonAnimationInstanceObject::getObject ( ) const
inline
Returns
The animation object.

References m_animationObject.

◆ operator=() [1/2]

C3D_API SkeletonAnimationInstanceObject & castor3d::SkeletonAnimationInstanceObject::operator= ( SkeletonAnimationInstanceObject &&  rhs)
protecteddelete

◆ operator=() [2/2]

C3D_API SkeletonAnimationInstanceObject & castor3d::SkeletonAnimationInstanceObject::operator= ( SkeletonAnimationInstanceObject const &  rhs)
protecteddelete

◆ update()

C3D_API void castor3d::SkeletonAnimationInstanceObject::update ( castor::Matrix4x4f const &  current)

Updates the object, applies the transformations.

Parameters
[in]currentThe current transformation matrix.

Member Data Documentation

◆ m_animationObject

SkeletonAnimationObject& castor3d::SkeletonAnimationInstanceObject::m_animationObject
protected

The animation object.

Referenced by getObject().

◆ m_children

SkeletonAnimationInstanceObjectPtrArray castor3d::SkeletonAnimationInstanceObject::m_children
protected

The objects depending on this one.

Referenced by getChildren().

◆ m_cumulativeTransform

castor::Matrix4x4f castor3d::SkeletonAnimationInstanceObject::m_cumulativeTransform
protected

The cumulative animation transformations.

◆ m_curr

AnimationKeyFrameArray::const_iterator castor3d::SkeletonAnimationInstanceObject::m_curr
protected

Iterator to the current keyframe (when playing the animation).

◆ m_finalTransform

castor::Matrix4x4f castor3d::SkeletonAnimationInstanceObject::m_finalTransform
protected

The matrix holding transformation at current time.

Referenced by getFinalTransform().

◆ m_prev

AnimationKeyFrameArray::const_iterator castor3d::SkeletonAnimationInstanceObject::m_prev
protected

Iterator to the previous keyframe (when playing the animation).


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