AnimEngine
poseable.hpp
1 #pragma once
2 #ifndef KJY_ANIM_ENGINE_COMPONENTS_POSEABLE_HPP_
3 #define KJY_ANIM_ENGINE_COMPONENTS_POSEABLE_HPP_
4 #include "rootcomponent.hpp"
5 #include "../attachable/Pose.hpp"
6 #include <glm/glm.hpp>
7 
8 #pragma warning(disable: 4250) // Disable warnings about dominance in MSVC
9 
10 class PosedComponent : virtual public RootComponent {
11  public:
12  virtual const Pose& getPose() const = 0;
13  virtual bool isPosed() const override {return(true);}
14 };
15 
16 class PoseableComponent : virtual public PosedComponent {
17  public:
18  // virtual Pose& getMutablePose() = 0;
19  virtual void setPose(const Pose& pose) = 0;
20  virtual bool isPoseable() const override {return(true);}
21 };
22 
23 
24 #endif
Definition: rootcomponent.hpp:11
Definition: poseable.hpp:10
Definition: poseable.hpp:16
Definition: Pose.hpp:11