81 lines
2.4 KiB
C++
81 lines
2.4 KiB
C++
#ifndef INCLUDE_DYNAMIC_MESH_DATA_IMPLEMENTATION
|
|
# error Never include this file directly include 'dynamic_mesh_buffer.hpp'
|
|
#endif
|
|
|
|
inline std::vector<assets::mesh_vertex_components::position>& assets::mesh_data::positions()
|
|
{
|
|
return std::get<mesh_vertex_components::indices::position>(component_arrays);
|
|
}
|
|
|
|
inline std::vector<assets::mesh_vertex_components::normal>& assets::mesh_data::normals()
|
|
{
|
|
return std::get<mesh_vertex_components::indices::normal>(component_arrays);
|
|
}
|
|
|
|
inline std::vector<assets::mesh_vertex_components::tex_coord>& assets::mesh_data::tex_coords()
|
|
{
|
|
return std::get<mesh_vertex_components::indices::tex_coord>(component_arrays);
|
|
}
|
|
|
|
inline std::vector<assets::mesh_vertex_components::color>& assets::mesh_data::colors()
|
|
{
|
|
return std::get<mesh_vertex_components::indices::color>(component_arrays);
|
|
}
|
|
|
|
inline std::vector<assets::mesh_vertex_components::reflectance>& assets::mesh_data::reflectances()
|
|
{
|
|
return std::get<mesh_vertex_components::indices::reflectance>(component_arrays);
|
|
}
|
|
|
|
inline std::vector<z3d::index_triangle>& assets::mesh_data::triangles()
|
|
{
|
|
return m_triangles;
|
|
}
|
|
|
|
inline auto& assets::mesh_data::material()
|
|
{
|
|
return m_material_id;
|
|
}
|
|
|
|
inline const std::vector<assets::mesh_vertex_components::position>& assets::mesh_data::positions() const
|
|
{
|
|
return std::get<mesh_vertex_components::indices::position>(component_arrays);
|
|
}
|
|
|
|
inline const std::vector<assets::mesh_vertex_components::normal>& assets::mesh_data::normals() const
|
|
{
|
|
return std::get<mesh_vertex_components::indices::normal>(component_arrays);
|
|
}
|
|
|
|
inline const std::vector<assets::mesh_vertex_components::tex_coord>& assets::mesh_data::tex_coords() const
|
|
{
|
|
return std::get<mesh_vertex_components::indices::tex_coord>(component_arrays);
|
|
}
|
|
|
|
inline const std::vector<assets::mesh_vertex_components::color>& assets::mesh_data::colors() const
|
|
{
|
|
return std::get<mesh_vertex_components::indices::color>(component_arrays);
|
|
}
|
|
|
|
inline const std::vector<assets::mesh_vertex_components::reflectance>& assets::mesh_data::reflectances() const
|
|
{
|
|
return std::get<mesh_vertex_components::indices::reflectance>(component_arrays);
|
|
}
|
|
|
|
inline const std::vector<assets::mesh_data::triangle_type>& assets::mesh_data::triangles() const
|
|
{
|
|
return m_triangles;
|
|
}
|
|
|
|
inline const auto& assets::mesh_data::material() const
|
|
{
|
|
return m_material_id;
|
|
}
|
|
|
|
inline void assets::mesh_data::clear()
|
|
{
|
|
clear_component_arrays();
|
|
m_triangles.clear();
|
|
m_material_id = {};
|
|
}
|