X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmodel%2FInstance.hpp;h=60e195087099fbfe8f28493d326a2680fdd3355a;hb=19f61f6eb14b532e41a81ea850c36723d8bd9930;hp=9de1a5db8e3382414131a77f2d4766b881118566;hpb=bc2806164f55b7ac48dbb6d224b7d4b55683decf;p=blank.git diff --git a/src/model/Instance.hpp b/src/model/Instance.hpp index 9de1a5d..60e1950 100644 --- a/src/model/Instance.hpp +++ b/src/model/Instance.hpp @@ -2,28 +2,37 @@ #define BLANK_MODEL_INSTANCE_HPP_ #include "Part.hpp" +#include "../graphics/glm.hpp" #include -#include #include 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;