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

#include <MeshAnimation.hpp>

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

Public Member Functions

C3D_API MeshAnimation (MeshAnimation &&rhs)=default
 
C3D_API MeshAnimationoperator= (MeshAnimation &&rhs)=delete
 
C3D_API MeshAnimation (MeshAnimation const &rhs)=delete
 
C3D_API MeshAnimationoperator= (MeshAnimation const &rhs)=delete
 
C3D_API ~MeshAnimation () noexcept override=default
 
C3D_API MeshAnimation (Mesh &mesh, castor::String const &name=castor::cuEmptyString)
 Constructor.
 
C3D_API void addChild (MeshAnimationSubmesh object)
 adds a child to this object.
 
C3D_API bool hasChild (Submesh const &object) const noexcept
 
MeshAnimationSubmeshgetSubmesh (uint32_t index)
 
- Public Member Functions inherited from castor3d::AnimationT< Engine >
 AnimationT (Engine &handler, AnimationType type, AnimableT< Engine > &animable, castor::String const &name=castor::cuEmptyString)
 Constructor.
 
 AnimationT (Engine &handler, AnimationType type, castor::String const &name=castor::cuEmptyString)
 Constructor.
 
void addKeyFrame (AnimationKeyFrameUPtr keyFrame)
 Adds a keyframe to the animation.
 
AnimationKeyFrameArray::iterator find (castor::Milliseconds const &time)
 Finds a keyframe given a time index.
 
void findKeyFrame (castor::Milliseconds const &time, AnimationKeyFrameArray::iterator &prv, AnimationKeyFrameArray::iterator &cur) const
 Finds a keyframe given a time index.
 
void updateLength ()
 Updates the animation length.
 
bool isEmpty () const
 
size_t size () const
 
AnimationKeyFrameArray::const_iterator begin () const
 
AnimationKeyFrameArray::iterator begin ()
 
AnimationKeyFrameArray::const_iterator end () const
 
AnimationKeyFrameArray::iterator end ()
 
AnimationType getType () const
 
castor::Milliseconds const & getLength () const
 
AnimableT< Engine > * getAnimable () const
 
C3D_API AnimationT (AnimationT &&rhs) noexcept=default
 
C3D_API AnimationT (AnimationT const &rhs)=delete
 
C3D_API AnimationToperator= (AnimationT &&rhs) noexcept=delete
 
C3D_API AnimationToperator= (AnimationT const &rhs)=delete
 
virtual C3D_API ~AnimationT () noexcept=default
 
- Public Member Functions inherited from castor::NamedBaseT< T >
 NamedBaseT (T name) noexcept
 Constructor.
 
T const & getName () const noexcept
 Retrieves the name.
 
void rename (T name) noexcept
 
- Public Member Functions inherited from castor::OwnedBy< Owner >
Owner * getOwner () const
 

Protected Attributes

MeshAnimationSubmeshArray m_submeshes
 
- Protected Attributes inherited from castor3d::AnimationT< Engine >
AnimableT< Engine > * m_animable
 
AnimationType m_type
 
castor::Milliseconds m_length
 
AnimationKeyFrameArray m_keyframes
 
- Protected Attributes inherited from castor::NamedBaseT< T >
m_name
 

Friends

class BinaryWriter< MeshAnimation >
 
class BinaryParser< MeshAnimation >
 
class MeshAnimationInstance
 

Additional Inherited Members

- Protected Member Functions inherited from castor::OwnedBy< Owner >
 OwnedBy (Owner &owner)
 Constructor.
 

Constructor & Destructor Documentation

◆ MeshAnimation() [1/3]

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

◆ MeshAnimation() [2/3]

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

◆ ~MeshAnimation()

C3D_API castor3d::MeshAnimation::~MeshAnimation ( )
overridedefaultnoexcept

◆ MeshAnimation() [3/3]

C3D_API castor3d::MeshAnimation::MeshAnimation ( Mesh & mesh,
castor::String const & name = castor::cuEmptyString )
explicit

Constructor.

Parameters
[in]meshThe parent mesh.
[in]nameThe name of the animation.

Member Function Documentation

◆ addChild()

C3D_API void castor3d::MeshAnimation::addChild ( MeshAnimationSubmesh object)

adds a child to this object.

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

◆ getSubmesh()

MeshAnimationSubmesh & castor3d::MeshAnimation::getSubmesh ( uint32_t index)
inline
Parameters
[in]indexThe index.
Returns
The animated submesh at given index.

References CU_Require, and m_submeshes.

◆ hasChild()

C3D_API bool castor3d::MeshAnimation::hasChild ( Submesh const & object) const
noexcept
Parameters
[in]objectThe submesh.
Returns
true if given submesh is already in children.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

Friends And Related Symbol Documentation

◆ BinaryParser< MeshAnimation >

friend class BinaryParser< MeshAnimation >
friend

◆ BinaryWriter< MeshAnimation >

friend class BinaryWriter< MeshAnimation >
friend

◆ MeshAnimationInstance

friend class MeshAnimationInstance
friend

Member Data Documentation

◆ m_submeshes

MeshAnimationSubmeshArray castor3d::MeshAnimation::m_submeshes
protected

The animated submesh.

Referenced by getSubmesh().


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