// Copyright (C) 2024 Jérôme "SirLynix" 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_STATICMESH_HPP #define NAZARA_UTILITY_STATICMESH_HPP #include #include namespace Nz { class NAZARA_UTILITY_API StaticMesh final : public SubMesh { public: StaticMesh(std::shared_ptr vertexBuffer, std::shared_ptr indexBuffer); ~StaticMesh() = default; void Center(); bool GenerateAABB(); const Boxf& GetAABB() const override; AnimationType GetAnimationType() const final; const std::shared_ptr& GetIndexBuffer() const override; const std::shared_ptr& GetVertexBuffer() const; UInt32 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_STATICMESH_HPP