Castor3D 0.17.0
Multiplatform 3D engine
Public Member Functions | Static Public Member Functions | 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::Animation
C3D_API Animation (Engine &handler, AnimationType type, Animable &animable, castor::String const &name=castor::cuEmptyString)
 Constructor.
 
C3D_API Animation (Engine &handler, AnimationType type, castor::String const &name=castor::cuEmptyString)
 Constructor.
 
C3D_API void addKeyFrame (AnimationKeyFrameUPtr keyFrame)
 Adds a keyframe to the animation.
 
C3D_API AnimationKeyFrameArray::iterator find (castor::Milliseconds const &time)
 Finds a keyframe given a time index.
 
C3D_API void findKeyFrame (castor::Milliseconds const &time, AnimationKeyFrameArray::iterator &prv, AnimationKeyFrameArray::iterator &cur) const
 Finds a keyframe given a time index.
 
C3D_API void updateLength ()
 Updates the animation length.
 
C3D_API void cloneInto (Animation &output) const
 Clones this object into the given one.
 
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
 
AnimablegetAnimable () const
 
C3D_API Animation (Animation &&rhs) noexcept=default
 
C3D_API Animationoperator= (Animation &&rhs) noexcept=delete
 
C3D_API Animation (Animation const &rhs)=delete
 
C3D_API Animationoperator= (Animation const &rhs)=delete
 
virtual C3D_API ~Animation () 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< Engine >
Engine * getOwner () const noexcept
 
void setOwner (Engine &owner) noexcept
 

Static Public Member Functions

static C3D_API void addParsers (castor::AttributeParsers &result)
 

Friends

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

Additional Inherited Members

- Protected Member Functions inherited from castor::OwnedBy< Engine >
 OwnedBy (Engine &owner) noexcept
 Constructor.
 
- Protected Attributes inherited from castor3d::Animation
Animablem_animable {}
 
AnimationType m_type { AnimationType::eCount }
 
castor::Milliseconds m_length { 0 }
 
AnimationKeyFrameArray m_keyframes
 
- Protected Attributes inherited from castor::NamedBaseT< T >
m_name
 

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.

◆ addParsers()

static C3D_API void castor3d::MeshAnimation::addParsers ( castor::AttributeParsers & result)
static

◆ getSubmesh()

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

References CU_Require.

◆ 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

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