#pragma once
#include "ofVideoBaseTypes.h"
#include <assimp/cimport.h>
#include <assimp/scene.h>
#include <assimp/postprocess.h>
class ofxAssimpAnimation {
public:
ofxAssimpAnimation(std::shared_ptr<const aiScene> scene, aiAnimation * animation);
~ofxAssimpAnimation();
aiAnimation * getAnimation();
void update();
void play();
void stop();
void reset();
bool isFrameNew();
bool isPaused();
bool isPlaying();
bool isFinished();
float getPosition();
float getPositionInSeconds();
int getPositionInMilliSeconds();
float getSpeed();
float getDurationInSeconds();
int getDurationInMilliSeconds();
void setPaused(bool paused);
void setPosition(float position);
void setLoopState(ofLoopType state);
void setSpeed(float speed);
protected:
void updateAnimationNodes();
std::shared_ptr<const aiScene> scene;
aiAnimation * animation;
float animationCurrTime;
float animationPrevTime;
bool bPlay;
bool bPause;
ofLoopType loopType;
float progress;
float progressInSeconds;
int progressInMilliSeconds;
float durationInSeconds;
int durationInMilliSeconds;
float speed;
};
Comments