Animation controller uses now the singleton pattern

This commit is contained in:
devZoGok
2022-03-01 20:51:40 +02:00
parent 78f43e11bd
commit f64a3e13df
19 changed files with 46 additions and 44 deletions
+1 -4
View File
@@ -16,11 +16,10 @@ namespace vb01{
class Light;
class ParticleEmitter;
class Text;
class AnimationController;
class Node : public Animatable{
public:
Node(Vector3 = Vector3::VEC_ZERO, Quaternion = Quaternion::QUAT_W, Vector3 = Vector3::VEC_IJK, std::string = "", AnimationController *c = nullptr);
Node(Vector3 = Vector3::VEC_ZERO, Quaternion = Quaternion::QUAT_W, Vector3 = Vector3::VEC_IJK, std::string = "");
virtual ~Node();
void attachMesh(Mesh*);
void attachParticleEmitter(ParticleEmitter*);
@@ -63,14 +62,12 @@ namespace vb01{
inline std::string getName(){return name;}
inline void setVisible(bool v){this->visible = v;}
inline void addDriver(Driver *d){drivers.push_back(d);}
inline AnimationController* getAnimationController(){return controller;}
private:
void adjustUp(Vector3);
void adjustDir(Vector3);
void updateShaders();
Quaternion adjustRot(std::vector<Node*>, Quaternion, bool);
AnimationController *controller = nullptr;
std::vector<Driver*> drivers;
protected:
virtual void animate(float, KeyframeChannel);