22 std::map<std::string, glm::vec3>
poses;
52 void addKeyframe(
float time,
const std::map<std::string, glm::vec3>& poses,
53 glm::vec3 skeletonPos = glm::vec3(0.0f));
58 void update(
float deltaTime);
81 glm::vec3
getPoseAt(
const std::string& jointName)
const;
void applyToSkeleton(GESkeleton *skeleton)
Aplica la animación actual al esqueleto.
Definition GEAnimation.cpp:172
bool paused
Definition GEAnimation.h:36
glm::vec3 getSkeletonPosition() const
Obtiene la posición del esqueleto interpolada.
Definition GEAnimation.cpp:143
float getCurrentTime() const
Obtiene el tiempo actual de la animación.
Definition GEAnimation.cpp:201
void togglePause()
Alterna pausa/reproducción.
Definition GEAnimation.cpp:88
float currentTime
Definition GEAnimation.h:34
float getDuration() const
Obtiene la duración de la animación.
Definition GEAnimation.cpp:210
void nextKeyframe()
Avanza al siguiente keyframe.
Definition GEAnimation.cpp:250
void pause()
Pausa la animación.
Definition GEAnimation.cpp:72
void prevKeyframe()
Retrocede al keyframe anterior.
Definition GEAnimation.cpp:266
int getCurrentKeyframeIndex() const
Obtiene el índice del keyframe actual.
Definition GEAnimation.cpp:219
void reset()
Reinicia la animación.
Definition GEAnimation.cpp:63
GEAnimation(float duration, bool loop=true)
Constructor de la animación.
Definition GEAnimation.cpp:13
float duration
Definition GEAnimation.h:33
int getKeyframeCount() const
Obtiene el número de keyframes.
Definition GEAnimation.cpp:233
glm::vec3 getPoseAt(const std::string &jointName) const
Obtiene la pose interpolada para una articulación.
Definition GEAnimation.cpp:98
bool isPaused() const
Indica si la animación está pausada.
Definition GEAnimation.cpp:242
std::vector< Keyframe > keyframes
Definition GEAnimation.h:32
bool loop
Definition GEAnimation.h:35
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.
Definition GEAnimation.cpp:24
void resume()
Reanuda la animación.
Definition GEAnimation.cpp:80
void update(float deltaTime)
Actualiza el tiempo de la animación.
Definition GEAnimation.cpp:44
Representa un esqueleto completo con articulaciones jerárquicas.
Definition GESkeleton.h:20
Representa un fotograma clave de la animación.
Definition GEAnimation.h:20
float time
Tiempo del keyframe.
Definition GEAnimation.h:21
glm::vec3 skeletonPosition
Posición del esqueleto.
Definition GEAnimation.h:23
std::map< std::string, glm::vec3 > poses
Mapa de poses por nombre de articulación. nombre -> (angleX, angleY, angleZ).
Definition GEAnimation.h:22