Lysa  0.0
Lysa 3D Engine
AnimationPlayer Class Reference

Detailed Description

A node used for animation playback.

+ Inheritance diagram for AnimationPlayer:

Classes

struct  Playback
 

Public Member Functions

 AnimationPlayer (const std::string &name=TypeNames[ANIMATION_PLAYER])
 
const auto & getCurrentLibrary () const
 
const auto & getCurrentAnimation () const
 
void setCurrentLibrary (const std::string &name)
 
void setCurrentAnimation (const std::string &name)
 
auto add (const std::string &name, const std::shared_ptr< AnimationLibrary > &library)
 
std::shared_ptr< AnimationgetAnimation ()
 
auto getLibrary ()
 
void play (const std::string &name="")
 
void seek (float duration)
 
void playBackwards (const std::string &name="")
 
void stop (bool keepState=false)
 
auto isPlaying () const
 
auto setAutoStart (const bool autoStart)
 
auto setTarget (Node &target)
 
void setTarget (Node *target)
 
void process (float alpha) override
 
void enterScene () override
 
- Public Member Functions inherited from Node
 Node (const Node &node)
 
 Node (const std::string &name=TypeNames[NODE], Type type=NODE)
 
auto getId () const
 
virtual void onReady ()
 
virtual void onEnterScene ()
 
virtual void onExitScene ()
 
virtual void onProcess (const float alpha)
 
virtual void onPhysicsProcess (const float delta)
 
virtual bool onInput (InputEvent &inputEvent)
 
void setTransformLocal (const float4x4 &transform)
 
const float4x4 & getTransformGlobal () const
 
const float4x4 & getTransform () const
 
virtual void setPosition (const float3 &position)
 
virtual void setPosition (const float x, const float y, const float z)
 
float3 getPosition () const
 
void translate (const float3 &localOffset)
 
void translate (float x, float y, float z)
 
virtual void setPositionGlobal (const float3 &position)
 
virtual void setPositionGlobal (const float x, const float y, const float z)
 
float3 getPositionGlobal () const
 
void rotateX (float angle)
 
void rotateY (float angle)
 
void rotateZ (float angle)
 
quaternion getRotation () const
 
quaternion getRotationGlobal () const
 
float3 getRotationEulerAngles () const
 
float3 getRotationEulerAnglesGlobal () const
 
virtual void scale (float scale)
 
void setRotation (const quaternion &quat)
 
void setRotationGlobal (const quaternion &quat)
 
void setRotationX (float angle)
 
void setRotationY (float angle)
 
void setRotationZ (float angle)
 
float getRotationX () const
 
float getRotationY () const
 
float getRotationZ () const
 
float3 getScale () const
 
float3 getScaleGlobal () const
 
auto * getParent () const
 
bool addChild (std::shared_ptr< Node > child, bool async=false)
 
bool removeChild (const std::shared_ptr< Node > &child, bool async=false)
 
void removeAllChildren (bool async=false)
 
bool haveChild (const std::shared_ptr< Node > &child, bool recursive) const
 
void lookAt (const float3 &target)
 
template<typename T = Node>
std::shared_ptr< T > getChild (const std::string &name) const
 
template<typename T = Node>
std::shared_ptr< T > getChildByPath (const std::string &path) const
 
template<typename T = Node>
std::shared_ptr< T > findFirstChild (const std::string &name) const
 
template<typename T >
std::shared_ptr< T > findFirstChild (const bool recursive=true) const
 
template<typename T >
std::list< std::shared_ptr< T > > findAllChildren (const bool recursive=true) const
 
template<typename T = Node>
std::list< std::shared_ptr< T > > findAllChildren (const std::string &name, const bool recursive=true) const
 
template<typename T = Node>
std::list< std::shared_ptr< T > > findAllChildrenByGroup (const std::string &groupName, const bool recursive=true) const
 
const std::list< std::shared_ptr< Node > > & getChildren () const
 
const std::list< std::string > & getGroups () const
 
void addToGroup (const std::string &group)
 
void removeFromGroup (const std::string &group)
 
bool isVisible () const
 
virtual void setVisible (bool visible=true)
 
auto isInGroup (const std::string &group) const
 
void setProcessMode (const ProcessMode mode)
 
bool isProcessed () const
 
auto getType () const
 
auto getViewport () const
 
const std::string & getName () const
 
std::string getPath () const
 
virtual void setProperty (const std::string &property, const std::string &value)
 
void printTree (int tab=0) const
 
std::shared_ptr< Node > duplicate (bool recursiveFilter=false) const
 
float3 toGlobal (const float3 &local) const
 
float3 toLocal (const float3 &global) const
 
float3 getRightVector () const
 
float3 getLeftVector () const
 
float3 getFrontVector () const
 
float3 getBackVector () const
 
float3 getUpVector () const
 
float3 getDownVector () const
 
void setName (const std::string &nodeName)
 
template<typename T >
std::shared_ptr< TweencreatePropertyTween (typename PropertyTween< T >::Setter set, const T initial, const T final, float duration, const TransitionType ttype=TransitionType::LINEAR, const Tween::Callback &callback=nullptr)
 
void killTween (const std::shared_ptr< Tween > &tween)
 
auto getSharedPtr ()
 
 ~Node () override = default
 
- Public Member Functions inherited from Object
void connect (const Signal::signal &name, const Signal::Handler &handler)
 
void connect (const Signal::signal &name, const std::function< void ()> &handler)
 
void emit (const Signal::signal &name, void *params=nullptr)
 
virtual std::string toString () const
 
 Object () = default
 
virtual ~Object () = default
 
- Public Member Functions inherited from Updatable
auto isUpdated () const
 
void decrementUpdates ()
 
void setUpdated ()
 
void setMaxUpdates (const uint32 maxUpdates)
 

Static Public Attributes

static const Signal::signal on_playback_start = "on_playback_start"
 Signal emitted when an animation began playing. More...
 
static const Signal::signal on_playback_finish = "on_playback_finish"
 Signal emitted when an animation stop playing. More...
 
- Static Public Attributes inherited from Node
static constexpr auto TypeNames
 

Protected Member Functions

std::shared_ptr< NodeduplicateInstance () const override
 
- Protected Member Functions inherited from Node
virtual void updateGlobalTransform ()
 
virtual void ready ()
 
virtual void physicsProcess (float delta)
 
virtual void exitScene ()
 
virtual void attachToViewport (Viewport *viewport)
 
virtual void detachFromViewport ()
 
virtual void pause ()
 
virtual void resume ()
 

Additional Inherited Members

- Public Types inherited from Node
enum  Type {
  ANIMATION_PLAYER, CAMERA, CHARACTER, COLLISION_AREA,
  COLLISION_OBJECT, DIRECTIONAL_LIGHT, ENVIRONMENT, KINEMATIC_BODY,
  LIGHT, MESH_INSTANCE, NODE, OMNI_LIGHT,
  PHYSICS_BODY, RAYCAST, RIGID_BODY, SKYBOX,
  SPOT_LIGHT, STATIC_BODY, VIEWPORT
}
 Node type. More...
 
- Public Attributes inherited from Updatable
uint32 pendingUpdates {0}
 
uint32 maxUpdates {0}
 
- Protected Attributes inherited from Node
float4x4 localTransform {}
 
float4x4 globalTransform {}
 

Constructor & Destructor Documentation

AnimationPlayer ( const std::string &  name = TypeNames[ANIMATION_PLAYER])
inline

Creates an AnimationLibrary

Parameters
nameresource name.

Member Function Documentation

auto add ( const std::string &  name,
const std::shared_ptr< AnimationLibrary > &  library 
)
inline

Adds a library accessible by the name.

std::shared_ptr<Node> duplicateInstance ( ) const
overrideprotectedvirtual

Reimplemented from lysa::Node::duplicateInstance()

void enterScene ( )
overridevirtual

Reimplemented from lysa::Node::enterScene()

std::shared_ptr<Animation> getAnimation ( )

Returns the current animation, if any

const auto& getCurrentAnimation ( ) const
inline

Returns the current animation name

const auto& getCurrentLibrary ( ) const
inline

Returns the current library name

auto getLibrary ( )
inline

Returns the current animation library, if any

auto isPlaying ( ) const
inline

Returns true if the animation is currently playing

void play ( const std::string &  name = "")

Starts an animation by its name

void playBackwards ( const std::string &  name = "")

Starts an animation by its name, playing it backwards

void process ( float  alpha)
overridevirtual

Reimplemented from lysa::Node::process()

void seek ( float  duration)

Seeks the animation to the point in time (in seconds).

auto setAutoStart ( const bool  autoStart)
inline

Sets the auto start property.

void setCurrentAnimation ( const std::string &  name)

Sets the current animation name (does not start the animation, only useful with auto-starting)

void setCurrentLibrary ( const std::string &  name)

Sets the current library name

auto setTarget ( Node target)
inline

Sets the node target on which to apply animations

void setTarget ( Node target)

Sets the node target on which to apply animations

void stop ( bool  keepState = false)

Stops the currently playing animation

Member Data Documentation

const Signal::signal on_playback_finish = "on_playback_finish"
inlinestatic

Signal emitted when an animation stop playing.

const Signal::signal on_playback_start = "on_playback_start"
inlinestatic

Signal emitted when an animation began playing.