Animación Vulkan 1.0
Animación de tiro libre baloncesto con motor gráfico desarrollado en clase
Cargando...
Buscando...
Nada coincide
Referencia de la clase GEAnimation

Sistema de animación por keyframes con interpolación lineal. Más...

#include <GEAnimation.h>

Métodos públicos

 GEAnimation (float duration, bool loop=true)
 Constructor de la animación.
void addKeyframe (float time, const std::map< std::string, glm::vec3 > &poses, glm::vec3 skeletonPos=glm::vec3(0.0f))
 Añade un keyframe a la animación.
void update (float deltaTime)
 Actualiza el tiempo de la animación.
void reset ()
 Reinicia la animación.
void pause ()
 Pausa la animación.
void resume ()
 Reanuda la animación.
void togglePause ()
 Alterna pausa/reproducción.
glm::vec3 getPoseAt (const std::string &jointName) const
 Obtiene la pose interpolada para una articulación.
glm::vec3 getSkeletonPosition () const
 Obtiene la posición del esqueleto interpolada.
void applyToSkeleton (GESkeleton *skeleton)
 Aplica la animación actual al esqueleto.
float getCurrentTime () const
 Obtiene el tiempo actual de la animación.
float getDuration () const
 Obtiene la duración de la animación.
int getCurrentKeyframeIndex () const
 Obtiene el índice del keyframe actual.
int getKeyframeCount () const
 Obtiene el número de keyframes.
bool isPaused () const
 Indica si la animación está pausada.
void nextKeyframe ()
 Avanza al siguiente keyframe.
void prevKeyframe ()
 Retrocede al keyframe anterior.

Atributos privados

std::vector< Keyframekeyframes
float duration
float currentTime
bool loop
bool paused

Descripción detallada

Sistema de animación por keyframes con interpolación lineal.

Documentación de constructores y destructores

◆ GEAnimation()

GEAnimation::GEAnimation ( float duration,
bool loop = true )

Constructor de la animación.

Parámetros
durationDuración de la animación en segundos.
loopIndica si la animación se repite en bucle.

Hace referencia a currentTime, duration, loop y paused.

Documentación de funciones miembro

◆ addKeyframe()

void GEAnimation::addKeyframe ( float time,
const std::map< std::string, glm::vec3 > & poses,
glm::vec3 skeletonPos = glm::vec3(0.0f) )

Añade un keyframe a la animación.

Parámetros
timeTiempo del keyframe.
posesMapa de poses por nombre de articulación.
skeletonPosPosición del esqueleto en el keyframe.
timeTiempo del keyframe.
posesMapa de poses por nombre de articulación.
skeletonPosPosición del esqueleto en el keyframe para el espacio 3D.

Hace referencia a keyframes, Keyframe::poses, Keyframe::skeletonPosition y Keyframe::time.

Referenciado por GEScene::createBasketballThrowAnimation().

Gráfico de llamadas a esta función:

◆ applyToSkeleton()

void GEAnimation::applyToSkeleton ( GESkeleton * skeleton)

Aplica la animación actual al esqueleto.

Parámetros
skeletonPuntero al esqueleto a animar.

Hace referencia a GESkeleton::findJoint(), getPoseAt(), getSkeletonPosition(), GEBalljoint::setPose() y GESkeleton::setPosition().

Gráfico de llamadas de esta función:

◆ getCurrentKeyframeIndex()

int GEAnimation::getCurrentKeyframeIndex ( ) const

Obtiene el índice del keyframe actual.

Devuelve
Índice del keyframe.

Hace referencia a currentTime y keyframes.

◆ getCurrentTime()

float GEAnimation::getCurrentTime ( ) const

Obtiene el tiempo actual de la animación.

Obtiene el tiempo actual.

Devuelve
Tiempo actual en segundos.

Hace referencia a currentTime.

◆ getDuration()

float GEAnimation::getDuration ( ) const

Obtiene la duración de la animación.

Obtiene la duración.

Devuelve
Duración en segundos.

Hace referencia a duration.

◆ getKeyframeCount()

int GEAnimation::getKeyframeCount ( ) const

Obtiene el número de keyframes.

Devuelve
Número de keyframes.

Hace referencia a keyframes.

◆ getPoseAt()

glm::vec3 GEAnimation::getPoseAt ( const std::string & jointName) const

Obtiene la pose interpolada para una articulación.

Parámetros
jointNameNombre de la articulación.
Devuelve
Vector con las rotaciones X, Y, Z.

Hace referencia a currentTime, keyframes, Keyframe::poses y Keyframe::time.

Referenciado por applyToSkeleton().

Gráfico de llamadas a esta función:

◆ getSkeletonPosition()

glm::vec3 GEAnimation::getSkeletonPosition ( ) const

Obtiene la posición del esqueleto interpolada.

Obtiene la posición del esqueleto interpolada (para salto).

Devuelve
Posición del esqueleto.

Hace referencia a currentTime, keyframes, Keyframe::skeletonPosition y Keyframe::time.

Referenciado por applyToSkeleton().

Gráfico de llamadas a esta función:

◆ isPaused()

bool GEAnimation::isPaused ( ) const

Indica si la animación está pausada.

Indica si está pausado.

Devuelve
Verdadero si está pausada.
Verdadero si está pausado.

Hace referencia a paused.

◆ nextKeyframe()

void GEAnimation::nextKeyframe ( )

Avanza al siguiente keyframe.

Hace referencia a currentTime y keyframes.

◆ pause()

void GEAnimation::pause ( )

Pausa la animación.

Hace referencia a paused.

◆ prevKeyframe()

void GEAnimation::prevKeyframe ( )

Retrocede al keyframe anterior.

Hace referencia a currentTime y keyframes.

◆ reset()

void GEAnimation::reset ( )

Reinicia la animación.

Hace referencia a currentTime y paused.

◆ resume()

void GEAnimation::resume ( )

Reanuda la animación.

Hace referencia a paused.

◆ togglePause()

void GEAnimation::togglePause ( )

Alterna pausa/reproducción.

Hace referencia a paused.

◆ update()

void GEAnimation::update ( float deltaTime)

Actualiza el tiempo de la animación.

Parámetros
deltaTimeTiempo transcurrido desde la última actualización.

Hace referencia a currentTime, duration, keyframes, loop y paused.

Documentación de datos miembro

◆ currentTime

◆ duration

float GEAnimation::duration
private

Referenciado por GEAnimation(), getDuration() y update().

◆ keyframes

◆ loop

bool GEAnimation::loop
private

Referenciado por GEAnimation() y update().

◆ paused

bool GEAnimation::paused
private

La documentación de esta clase está generada de los siguientes archivos: