Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | Protected Types | 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 () noexcept=default
 Destructor.
 
C3D_API void addChild (SkeletonAnimationInstanceObject &object)
 Adds a child to this object.
 
C3D_API void update (castor::Matrix4x4f const &current)
 Updates the object, applies the transformations.
 
castor::Matrix4x4f const & getFinalTransform () const
 The final object's animations transformation.
 
ObjectArray const & getChildren () const
 
SkeletonAnimationObject const & getObject () const
 
- Public Member Functions inherited from castor::OwnedBy< SkeletonAnimationInstance >
SkeletonAnimationInstance * getOwner () const
 

Protected Types

using ObjectArray = castor::Vector< SkeletonAnimationInstanceObjectRPtr >
 

Protected Member Functions

C3D_API SkeletonAnimationInstanceObject (SkeletonAnimationInstanceObject &&rhs) noexcept=default
 
C3D_API SkeletonAnimationInstanceObject (SkeletonAnimationInstanceObject const &rhs)=delete
 
C3D_API SkeletonAnimationInstanceObjectoperator= (SkeletonAnimationInstanceObject const &rhs)=delete
 
C3D_API SkeletonAnimationInstanceObjectoperator= (SkeletonAnimationInstanceObject &&rhs) noexcept=delete
 
C3D_API SkeletonAnimationInstanceObject (SkeletonAnimationInstance &animationInstance, SkeletonAnimationObject &animationObject, SkeletonAnimationInstanceObjectPtrArray &allObjects)
 Constructor.
 
virtual C3D_API void doApply ()=0
 Updates the object, applies the transformations matrix.
 
- Protected Member Functions inherited from castor::OwnedBy< SkeletonAnimationInstance >
 OwnedBy (SkeletonAnimationInstance &owner)
 Constructor.
 

Protected Attributes

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

Member Typedef Documentation

◆ ObjectArray

using castor3d::SkeletonAnimationInstanceObject::ObjectArray = castor::Vector< SkeletonAnimationInstanceObjectRPtr >
protected

Constructor & Destructor Documentation

◆ SkeletonAnimationInstanceObject() [1/3]

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

◆ SkeletonAnimationInstanceObject() [2/3]

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

◆ SkeletonAnimationInstanceObject() [3/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()

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

Destructor.

Member Function Documentation

◆ addChild()

C3D_API void castor3d::SkeletonAnimationInstanceObject::addChild ( SkeletonAnimationInstanceObject & 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()

ObjectArray 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)
protecteddeletenoexcept

◆ 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

ObjectArray 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: