#ifndef INCLUDE_DYNAMIC_MESH_DATA_IMPLEMENTATION # error Never include this file directly include 'dynamic_mesh_buffer.hpp' #endif inline std::vector& assets::mesh_data::positions() { return std::get(component_arrays); } inline std::vector& assets::mesh_data::normals() { return std::get(component_arrays); } inline std::vector& assets::mesh_data::tex_coords() { return std::get(component_arrays); } inline std::vector& assets::mesh_data::colors() { return std::get(component_arrays); } inline std::vector& assets::mesh_data::reflectances() { return std::get(component_arrays); } inline std::vector& assets::mesh_data::triangles() { return m_triangles; } inline assets::material_id& assets::mesh_data::material() { return m_material_id; } inline const std::vector& assets::mesh_data::positions() const { return std::get(component_arrays); } inline const std::vector& assets::mesh_data::normals() const { return std::get(component_arrays); } inline const std::vector& assets::mesh_data::tex_coords() const { return std::get(component_arrays); } inline const std::vector& assets::mesh_data::colors() const { return std::get(component_arrays); } inline const std::vector& assets::mesh_data::reflectances() const { return std::get(component_arrays); } inline const std::vector& assets::mesh_data::triangles() const { return m_triangles; } inline const assets::material_id& assets::mesh_data::material() const { return m_material_id; } inline void assets::mesh_data::clear() { clear_component_arrays(); m_triangles.clear(); m_material_id = {}; }