]> git.localhorst.tv Git - blank.git/blobdiff - src/model/Instance.hpp
glm backwards compatibility
[blank.git] / src / model / Instance.hpp
index 9de1a5db8e3382414131a77f2d4766b881118566..60e195087099fbfe8f28493d326a2680fdd3355a 100644 (file)
@@ -2,28 +2,37 @@
 #define BLANK_MODEL_INSTANCE_HPP_
 
 #include "Part.hpp"
+#include "../graphics/glm.hpp"
 
 #include <vector>
-#include <glm/glm.hpp>
 #include <glm/gtc/quaternion.hpp>
 
 
 namespace blank {
 
-class Model;
 class DirectionalLighting;
+class Model;
+class Part;
 
 class Instance {
 
        friend class Model;
+       friend class Part;
 
 public:
        Instance();
+       ~Instance();
 
        operator bool() const noexcept { return model; }
        const Model &GetModel() const noexcept { return *model; }
 
-       void Render(const glm::mat4 &, DirectionalLighting &) const;
+       glm::mat4 BodyTransform() const noexcept;
+       Part::State &BodyState() noexcept;
+
+       glm::mat4 EyesTransform() const noexcept;
+       Part::State &EyesState() noexcept;
+
+       void Render(const glm::mat4 &, DirectionalLighting &);
 
 private:
        const Model *model;