1 #ifndef BLAMK_MODEL_PART_HPP_
2 #define BLAMK_MODEL_PART_HPP_
4 #include "geometry.hpp"
10 #include <glm/gtc/quaternion.hpp>
15 class DirectionalLighting;
25 glm::vec3 position = glm::vec3(0.0f, 0.0f, 0.0f);
26 glm::quat orientation = glm::quat(1.0f, 0.0f, 0.0f, 0.0f);
34 const std::list<Part> &Children() const noexcept { return children; }
36 std::uint16_t Enumerate(std::uint16_t) noexcept;
37 void Index(std::vector<Part *> &) noexcept;
39 glm::mat4 LocalTransform(const Instance &) const noexcept;
40 glm::mat4 GlobalTransform(const Instance &) const noexcept;
42 void LoadMeshes(Instance &) const;
46 DirectionalLighting &) const;
50 std::list<Part> children;