Files
Z3D/source/assets/dynamic_read_buffers/dynamic_mesh_buffer.ipp

81 lines
2.3 KiB
C++

#ifndef INCLUDE_DYNAMIC_MESH_DATA_IMPLEMENTATION
# error Never include this file directly include 'dynamic_mesh_buffer.hpp'
#endif
inline std::vector<components::mesh_vertex::position>& dynamic_mesh_buffer::positions()
{
return std::get<components::mesh_vertex::indices::position>(vertices);
}
inline std::vector<components::mesh_vertex::normal>& dynamic_mesh_buffer::normals()
{
return std::get<components::mesh_vertex::indices::normal>(vertices);
}
inline std::vector<components::mesh_vertex::tex_coord>& dynamic_mesh_buffer::tex_coords()
{
return std::get<components::mesh_vertex::indices::tex_coord>(vertices);
}
inline std::vector<components::mesh_vertex::color>& dynamic_mesh_buffer::colors()
{
return std::get<components::mesh_vertex::indices::color>(vertices);
}
inline std::vector<components::mesh_vertex::reflectance>& dynamic_mesh_buffer::reflectances()
{
return std::get<components::mesh_vertex::indices::reflectance>(vertices);
}
inline std::vector<dynamic_mesh_buffer::triangle_type>& dynamic_mesh_buffer::triangles()
{
return m_triangles;
}
inline auto& dynamic_mesh_buffer::material_id()
{
return m_material_id;
}
inline const std::vector<components::mesh_vertex::position>& dynamic_mesh_buffer::positions() const
{
return std::get<components::mesh_vertex::indices::position>(vertices);
}
inline const std::vector<components::mesh_vertex::normal>& dynamic_mesh_buffer::normals() const
{
return std::get<components::mesh_vertex::indices::normal>(vertices);
}
inline const std::vector<components::mesh_vertex::tex_coord>& dynamic_mesh_buffer::tex_coords() const
{
return std::get<components::mesh_vertex::indices::tex_coord>(vertices);
}
inline const std::vector<components::mesh_vertex::color>& dynamic_mesh_buffer::colors() const
{
return std::get<components::mesh_vertex::indices::color>(vertices);
}
inline const std::vector<components::mesh_vertex::reflectance>& dynamic_mesh_buffer::reflectances() const
{
return std::get<components::mesh_vertex::indices::reflectance>(vertices);
}
inline const std::vector<dynamic_mesh_buffer::triangle_type>& dynamic_mesh_buffer::triangles() const
{
return m_triangles;
}
inline const auto& dynamic_mesh_buffer::material_id() const
{
return m_material_id;
}
inline void dynamic_mesh_buffer::clear()
{
clear_vertices();
m_triangles.clear();
m_material_id = {};
}