Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
castor3d::AnimableT< AnimableHandlerT > Class Template Reference

Animable public interface. More...

#include <Animable.hpp>

Inheritance diagram for castor3d::AnimableT< AnimableHandlerT >:
Inheritance graph
[legend]
Collaboration diagram for castor3d::AnimableT< AnimableHandlerT >:
Collaboration graph
[legend]

Public Member Functions

virtual C3D_API ~AnimableT () noexcept=default
 
void cleanupAnimations ()
 Empties the animations map.
 
bool hasAnimation () const
 
bool hasAnimation (castor::String const &name) const
 
Animation const & getAnimation (castor::String const &name) const
 Retrieves an animation.
 
AnimationgetAnimation (castor::String const &name)
 Retrieves an animation.
 
void addAnimation (AnimationPtr animation)
 Adds an animation.
 
AnimationsMap const & getAnimations () const
 
- Public Member Functions inherited from castor::OwnedBy< AnimableHandlerT >
AnimableHandlerT * getOwner () const
 

Protected Types

using Animation = AnimationT< AnimableHandlerT >
 
using AnimationPtr = castor::UniquePtr< Animation >
 
using AnimationsMap = castor::StringMap< AnimationPtr >
 

Protected Member Functions

void doRemoveAnimation (castor::String const &name)
 Removes an animation.
 
template<typename AnimationType >
AnimationTypedoGetAnimation (castor::String const &name)
 Retrieves an animation.
 
template<typename AnimationType >
AnimationType const & doGetAnimation (castor::String const &name) const
 Retrieves an animation.
 
Construction / Destruction.
 AnimableT (AnimableHandlerT &owner)
 
C3D_API AnimableT (AnimableT &&rhs) noexcept=default
 
C3D_API AnimableToperator= (AnimableT &&rhs) noexcept=delete
 
C3D_API AnimableT (AnimableT const &rhs)=delete
 
C3D_API AnimableToperator= (AnimableT const &rhs)=delete
 
- Protected Member Functions inherited from castor::OwnedBy< AnimableHandlerT >
 OwnedBy (AnimableHandlerT &owner)
 Constructor.
 

Protected Attributes

AnimationsMap m_animations
 

Detailed Description

template<typename AnimableHandlerT>
class castor3d::AnimableT< AnimableHandlerT >

Animable public interface.

Member Typedef Documentation

◆ Animation

template<typename AnimableHandlerT >
using castor3d::AnimableT< AnimableHandlerT >::Animation = AnimationT< AnimableHandlerT >
protected

◆ AnimationPtr

template<typename AnimableHandlerT >
using castor3d::AnimableT< AnimableHandlerT >::AnimationPtr = castor::UniquePtr< Animation >
protected

◆ AnimationsMap

template<typename AnimableHandlerT >
using castor3d::AnimableT< AnimableHandlerT >::AnimationsMap = castor::StringMap< AnimationPtr >
protected

Constructor & Destructor Documentation

◆ AnimableT() [1/3]

template<typename AnimableHandlerT >
castor3d::AnimableT< AnimableHandlerT >::AnimableT ( AnimableHandlerT & owner)
inlineexplicitprotected

◆ AnimableT() [2/3]

template<typename AnimableHandlerT >
C3D_API castor3d::AnimableT< AnimableHandlerT >::AnimableT ( AnimableT< AnimableHandlerT > && rhs)
protecteddefaultnoexcept

◆ AnimableT() [3/3]

template<typename AnimableHandlerT >
C3D_API castor3d::AnimableT< AnimableHandlerT >::AnimableT ( AnimableT< AnimableHandlerT > const & rhs)
protecteddelete

◆ ~AnimableT()

template<typename AnimableHandlerT >
virtual C3D_API castor3d::AnimableT< AnimableHandlerT >::~AnimableT ( )
virtualdefaultnoexcept

Member Function Documentation

◆ addAnimation()

template<typename AnimableHandlerT >
void castor3d::AnimableT< AnimableHandlerT >::addAnimation ( AnimationPtr animation)

Adds an animation.

Parameters
[in]animationThe animation.

◆ cleanupAnimations()

template<typename AnimableHandlerT >
void castor3d::AnimableT< AnimableHandlerT >::cleanupAnimations ( )

Empties the animations map.

◆ doGetAnimation() [1/2]

template<typename AnimableHandlerT >
template<typename AnimationType >
AnimationType & castor3d::AnimableT< AnimableHandlerT >::doGetAnimation ( castor::String const & name)
protected

Retrieves an animation.

Parameters
[in]nameThe animation name
Returns
The animation

◆ doGetAnimation() [2/2]

template<typename AnimableHandlerT >
template<typename AnimationType >
AnimationType const & castor3d::AnimableT< AnimableHandlerT >::doGetAnimation ( castor::String const & name) const
protected

Retrieves an animation.

Parameters
[in]nameThe animation name
Returns
The animation

◆ doRemoveAnimation()

template<typename AnimableHandlerT >
void castor3d::AnimableT< AnimableHandlerT >::doRemoveAnimation ( castor::String const & name)
protected

Removes an animation.

Parameters
[in]nameThe animation name

◆ getAnimation() [1/2]

template<typename AnimableHandlerT >
Animation & castor3d::AnimableT< AnimableHandlerT >::getAnimation ( castor::String const & name)

Retrieves an animation.

Parameters
[in]nameThe animation name
Returns
The animation

◆ getAnimation() [2/2]

template<typename AnimableHandlerT >
Animation const & castor3d::AnimableT< AnimableHandlerT >::getAnimation ( castor::String const & name) const

Retrieves an animation.

Parameters
[in]nameThe animation name
Returns
The animation

◆ getAnimations()

template<typename AnimableHandlerT >
AnimationsMap const & castor3d::AnimableT< AnimableHandlerT >::getAnimations ( ) const
inline
Returns
The animations.

References castor3d::AnimableT< AnimableHandlerT >::m_animations.

◆ hasAnimation() [1/2]

template<typename AnimableHandlerT >
bool castor3d::AnimableT< AnimableHandlerT >::hasAnimation ( ) const
Returns
true if the object has an animation.

◆ hasAnimation() [2/2]

template<typename AnimableHandlerT >
bool castor3d::AnimableT< AnimableHandlerT >::hasAnimation ( castor::String const & name) const
Parameters
[in]nameThe animation name
Returns
true it the object has an animation with given name.

◆ operator=() [1/2]

template<typename AnimableHandlerT >
C3D_API AnimableT & castor3d::AnimableT< AnimableHandlerT >::operator= ( AnimableT< AnimableHandlerT > && rhs)
protecteddeletenoexcept

◆ operator=() [2/2]

template<typename AnimableHandlerT >
C3D_API AnimableT & castor3d::AnimableT< AnimableHandlerT >::operator= ( AnimableT< AnimableHandlerT > const & rhs)
protecteddelete

Member Data Documentation

◆ m_animations

template<typename AnimableHandlerT >
AnimationsMap castor3d::AnimableT< AnimableHandlerT >::m_animations
protected

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