/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #pragma once #include "PackedFloat2.h" #include #include #include namespace WhiteBox { //! Class to hold the white box mesh data in Atom device memory format. class WhiteBoxMeshAtomData { public: explicit WhiteBoxMeshAtomData(const WhiteBoxFaces& faceData); ~WhiteBoxMeshAtomData() = default; const uint32_t VertexCount() const; const AZStd::vector& GetIndices() const; const AZStd::vector& GetPositions() const; const AZStd::vector& GetNormals() const; const AZStd::vector& GetTangents() const; const AZStd::vector& GetBitangents() const; const AZStd::vector& GetUVs() const; const AZStd::vector& GetColors() const; AZ::Aabb GetAabb() const; private: AZStd::vector m_indices; AZStd::vector m_positions; AZStd::vector m_normals; AZStd::vector m_tangents; AZStd::vector m_bitangents; AZStd::vector m_uvs; AZStd::vector m_colors; AZ::Aabb m_aabb = AZ::Aabb::CreateNull(); }; } // namespace WhiteBox