X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmodel%2FInstance.hpp;h=80c8f710fd14e7a0f60988a2fc6b0b73122a1110;hb=0d580658b896dfec07466c31ae4847455724ee95;hp=9de1a5db8e3382414131a77f2d4766b881118566;hpb=bc2806164f55b7ac48dbb6d224b7d4b55683decf;p=blank.git diff --git a/src/model/Instance.hpp b/src/model/Instance.hpp index 9de1a5d..80c8f71 100644 --- a/src/model/Instance.hpp +++ b/src/model/Instance.hpp @@ -10,20 +10,29 @@ 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;