X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmodel%2FSkeletons.hpp;h=90affd333d58e0d8891013069f0f1e4b725edd58;hb=ba55bf4293f3abc742eef710545a4b207ba2c820;hp=e49352c48613e7c31e4dfeec682427199f2a29ee;hpb=d4c71969df4f6b5e6b750c98268d30ca6784908b;p=blank.git diff --git a/src/model/Skeletons.hpp b/src/model/Skeletons.hpp index e49352c..90affd3 100644 --- a/src/model/Skeletons.hpp +++ b/src/model/Skeletons.hpp @@ -8,29 +8,36 @@ namespace blank { -class CompositeModel; -class EntityModel; +class Model; +class EntityMesh; +class ShapeRegistry; +class TextureIndex; class Skeletons { +public: + using size_type = std::size_t; + using reference = Model &; + using const_reference = const Model &; + public: Skeletons(); ~Skeletons(); void LoadHeadless(); - void Load(); + void Load(const ShapeRegistry &, TextureIndex &); - std::size_t Size() const noexcept { return skeletons.size(); } + size_type size() const noexcept { return skeletons.size(); } - CompositeModel &operator[](std::size_t i) noexcept { return *skeletons[i]; } - const CompositeModel &operator[](std::size_t i) const noexcept { return *skeletons[i]; } + reference operator[](size_type i) noexcept { return *skeletons[i]; } + const_reference operator[](size_type i) const noexcept { return *skeletons[i]; } - CompositeModel *ByID(std::uint16_t) noexcept; - const CompositeModel *ByID(std::uint16_t) const noexcept; + Model *ByID(std::uint16_t) noexcept; + const Model *ByID(std::uint16_t) const noexcept; private: - std::vector> skeletons; - std::vector models; + std::vector> skeletons; + std::vector meshes; };