// Copyright (C) 2022 Jérôme "Lynix" Leclercq (lynix680@gmail.com) // This file is part of the "Nazara Engine - Utility module" // For conditions of distribution and use, see copyright notice in Config.hpp #pragma once #ifndef NAZARA_UTILITY_SKELETALMESH_HPP #define NAZARA_UTILITY_SKELETALMESH_HPP #include #include #include #include namespace Nz { class NAZARA_UTILITY_API SkeletalMesh final : public SubMesh { public: SkeletalMesh(std::shared_ptr vertexBuffer, std::shared_ptr indexBuffer); ~SkeletalMesh() = default; const Boxf& GetAABB() const override; AnimationType GetAnimationType() const final; const std::shared_ptr& GetIndexBuffer() const override; const std::shared_ptr& GetVertexBuffer() const; UInt64 GetVertexCount() const override; bool IsAnimated() const final; bool IsValid() const; void SetAABB(const Boxf& aabb); void SetIndexBuffer(std::shared_ptr indexBuffer); private: Boxf m_aabb; std::shared_ptr m_indexBuffer; std::shared_ptr m_vertexBuffer; }; } #include #endif // NAZARA_UTILITY_SKELETALMESH_HPP