Castor3D 0.12.0
Multiplatform 3D engine
Public Member Functions | Protected Attributes | Friends | List of all members
castor3d::MeshAnimationInstance Class Reference

#include <MeshAnimationInstance.hpp>

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

Public Member Functions

C3D_API MeshAnimationInstance (AnimatedMesh &object, MeshAnimation &animation)
 Constructor. More...
 
C3D_API MeshAnimationInstanceSubmesh const * getAnimationSubmesh (uint32_t index) const
 
MeshAnimation const & getMeshAnimation () const
 
AnimatedMeshgetAnimatedMesh ()
 
float getRatio () const
 
C3D_API MeshAnimationInstance (MeshAnimationInstance &&rhs)=default
 
C3D_API MeshAnimationInstanceoperator= (MeshAnimationInstance &&rhs)=delete
 
C3D_API MeshAnimationInstance (MeshAnimationInstance const &rhs)=delete
 
C3D_API MeshAnimationInstanceoperator= (MeshAnimationInstance const &rhs)=delete
 
- Public Member Functions inherited from castor3d::AnimationInstance
C3D_API AnimationInstance (AnimatedObject &object, Animation &animation)
 Constructor. More...
 
virtual C3D_API ~AnimationInstance ()=default
 Destructor. More...
 
C3D_API void update (castor::Milliseconds const &elapsed)
 Updates the animation, updates the key frame at the good time index. More...
 
C3D_API void play ()
 Plays the animation. More...
 
C3D_API void pause ()
 Pauses the animation. More...
 
C3D_API void stop ()
 Stops the animation. More...
 
AnimationState getState () const
 
float getScale () const
 
void setScale (float value)
 Sets the animation time scale. More...
 
castor::Milliseconds getStartingPoint () const
 
void setStartingPoint (castor::Milliseconds value)
 Sets the animation stopping point. More...
 
castor::Milliseconds getStoppingPoint () const
 
void setStoppingPoint (castor::Milliseconds value)
 Sets the animation stopping point. More...
 
bool isLooped () const
 
void setLooped (bool value)
 Sets the animation loop status. More...
 
Animation const & getAnimation () const
 

Protected Attributes

AnimatedMeshm_animatedMesh
 
MeshAnimation const & m_meshAnimation
 
MeshAnimationInstanceSubmeshMap m_submeshes
 
AnimationKeyFrameArray::iterator m_prev
 
AnimationKeyFrameArray::iterator m_curr
 
float m_ratio { 0.0f }
 
- Protected Attributes inherited from castor3d::AnimationInstance
Animation const & m_animation
 
float m_scale { 1.0f }
 
bool m_looped { false }
 
castor::Milliseconds m_startingPoint { 0 }
 
castor::Milliseconds m_stoppingPoint { 0 }
 
castor::Milliseconds m_currentTime { 0 }
 
AnimationState m_state { AnimationState::eStopped }
 

Friends

class BinaryWriter< MeshAnimation >
 
class BinaryParser< MeshAnimation >
 

Constructor & Destructor Documentation

◆ MeshAnimationInstance() [1/3]

C3D_API castor3d::MeshAnimationInstance::MeshAnimationInstance ( MeshAnimationInstance &&  rhs)
default

name Copy / Move.

◆ MeshAnimationInstance() [2/3]

C3D_API castor3d::MeshAnimationInstance::MeshAnimationInstance ( MeshAnimationInstance const &  rhs)
delete

◆ MeshAnimationInstance() [3/3]

C3D_API castor3d::MeshAnimationInstance::MeshAnimationInstance ( AnimatedMesh object,
MeshAnimation animation 
)

Constructor.

Parameters
[in]objectThe parent AnimatedMesh.
[in]animationThe animation.

Member Function Documentation

◆ getAnimatedMesh()

AnimatedMesh & castor3d::MeshAnimationInstance::getAnimatedMesh ( )
inline
Returns
The animated mesh.

References m_animatedMesh.

◆ getAnimationSubmesh()

C3D_API MeshAnimationInstanceSubmesh const * castor3d::MeshAnimationInstance::getAnimationSubmesh ( uint32_t  index) const
Returns
The animation submesh at given ID, nullptr if not found.

◆ getMeshAnimation()

MeshAnimation const & castor3d::MeshAnimationInstance::getMeshAnimation ( ) const
inline
Returns
The animation.

References m_meshAnimation.

◆ getRatio()

float castor3d::MeshAnimationInstance::getRatio ( ) const
inline
Returns
The current keyframe current ratio.

References m_ratio.

◆ operator=() [1/2]

C3D_API MeshAnimationInstance & castor3d::MeshAnimationInstance::operator= ( MeshAnimationInstance &&  rhs)
delete

◆ operator=() [2/2]

C3D_API MeshAnimationInstance & castor3d::MeshAnimationInstance::operator= ( MeshAnimationInstance const &  rhs)
delete

Friends And Related Function Documentation

◆ BinaryParser< MeshAnimation >

friend class BinaryParser< MeshAnimation >
friend

◆ BinaryWriter< MeshAnimation >

friend class BinaryWriter< MeshAnimation >
friend

Member Data Documentation

◆ m_animatedMesh

AnimatedMesh& castor3d::MeshAnimationInstance::m_animatedMesh
protected

Referenced by getAnimatedMesh().

◆ m_curr

AnimationKeyFrameArray::iterator castor3d::MeshAnimationInstance::m_curr
protected

◆ m_meshAnimation

MeshAnimation const& castor3d::MeshAnimationInstance::m_meshAnimation
protected

Referenced by getMeshAnimation().

◆ m_prev

AnimationKeyFrameArray::iterator castor3d::MeshAnimationInstance::m_prev
protected

◆ m_ratio

float castor3d::MeshAnimationInstance::m_ratio { 0.0f }
protected

Referenced by getRatio().

◆ m_submeshes

MeshAnimationInstanceSubmeshMap castor3d::MeshAnimationInstance::m_submeshes
protected

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