This commit is contained in:
ZY4N
2025-03-28 13:09:34 +01:00
parent 6f60cc11c8
commit d18b40a7fc
34 changed files with 393 additions and 272 deletions

View File

@@ -5,75 +5,75 @@
inline std::optional<assets::material_components::surface_properties>& assets::material_data::surface_properties()
{
return std::get<material_components::indices::surface_properties>(data);
return std::get<material_components::indices::surface_properties>(components);
}
inline std::optional<assets::material_components::transparency>& assets::material_data::transparency()
{
return std::get<material_components::indices::transparency>(data);
return std::get<material_components::indices::transparency>(components);
}
inline std::optional<assets::material_components::ambient_color_texture>& assets::material_data::ambient_color_texture_id()
{
return std::get<material_components::indices::ambient_color_texture>(data);
return std::get<material_components::indices::ambient_color_texture>(components);
}
inline std::optional<assets::material_components::diffuse_color_texture>& assets::material_data::diffuse_color_texture_id()
{
return std::get<material_components::indices::diffuse_color_texture>(data);
return std::get<material_components::indices::diffuse_color_texture>(components);
}
inline std::optional<assets::material_components::specular_color_texture>& assets::material_data::specular_color_texture_id()
{
return std::get<material_components::indices::specular_color_texture>(data);
return std::get<material_components::indices::specular_color_texture>(components);
}
inline std::optional<assets::material_components::shininess_texture>& assets::material_data::shininess_texture_id()
{
return std::get<material_components::indices::shininess_texture>(data);
return std::get<material_components::indices::shininess_texture>(components);
}
inline std::optional<assets::material_components::alpha_texture>& assets::material_data::alpha_texture_id()
{
return std::get<material_components::indices::alpha_texture>(data);
return std::get<material_components::indices::alpha_texture>(components);
}
inline std::optional<assets::material_components::bump_texture>& assets::material_data::bump_texture_id()
{
return std::get<material_components::indices::bump_texture(data);
return std::get<material_components::indices::bump_texture(components);
}
inline const std::optional<assets::material_components::surface_properties>& assets::material_data::surface_properties() const
{
return std::get<material_components::indices::surface_properties>(data);
return std::get<material_components::indices::surface_properties>(components);
}
inline const std::optional<assets::material_components::transparency>& assets::material_data::transparency() const
{
return std::get<material_components::indices::transparency>(data);
return std::get<material_components::indices::transparency>(components);
}
inline const std::optional<assets::material_components::ambient_color_texture>& assets::material_data::ambient_color_texture_id() const
{
return std::get<material_components::indices::ambient_color_texture>(data);
return std::get<material_components::indices::ambient_color_texture>(components);
}
inline const std::optional<assets::material_components::diffuse_color_texture>& assets::material_data::diffuse_color_texture_id() const
{
return std::get<material_components::indices::diffuse_color_texture>(data);
return std::get<material_components::indices::diffuse_color_texture>(components);
}
inline const std::optional<assets::material_components::specular_color_texture>& assets::material_data::specular_color_texture_id() const
{
return std::get<material_components::indices::specular_color_texture>(data);
return std::get<material_components::indices::specular_color_texture>(components);
}
inline const std::optional<assets::material_components::shininess_texture>& assets::material_data::shininess_texture_id() const
{
return std::get<material_components::indices::shininess_texture>(data);
return std::get<material_components::indices::shininess_texture>(components);
}
inline const std::optional<assets::material_components::alpha_texture>& assets::material_data::alpha_texture_id() const
{
return std::get<material_components::indices::alpha_texture>(data);
return std::get<material_components::indices::alpha_texture>(components);
}
inline const std::optional<assets::material_components::bump_texture>& assets::material_data::bump_texture_id() const
{
return std::get<material_components::indices::bump_texture>(data);
return std::get<material_components::indices::bump_texture>(components);
}
@@ -89,11 +89,6 @@ inline assets::material_components::surface_properties& assets::material_data::i
inline void assets::material_data::clear()
{
std::apply(
[](auto&... data_opt) {
(data_opt.reset(), ...);
},
data
);
clear_components();
}

View File

@@ -4,62 +4,62 @@
inline std::vector<assets::mesh_vertex_components::position>& assets::mesh_data::positions()
{
return std::get<mesh_vertex_components::indices::position>(vertices);
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>(vertices);
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>(vertices);
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>(vertices);
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>(vertices);
return std::get<mesh_vertex_components::indices::reflectance>(component_arrays);
}
inline std::vector<assets::mesh_data::triangle_type>& assets::mesh_data::triangles()
inline std::vector<z3d::index_triangle>& assets::mesh_data::triangles()
{
return m_triangles;
}
inline auto& assets::mesh_data::material_id()
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>(vertices);
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>(vertices);
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>(vertices);
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>(vertices);
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>(vertices);
return std::get<mesh_vertex_components::indices::reflectance>(component_arrays);
}
inline const std::vector<assets::mesh_data::triangle_type>& assets::mesh_data::triangles() const
@@ -67,14 +67,14 @@ inline const std::vector<assets::mesh_data::triangle_type>& assets::mesh_data::t
return m_triangles;
}
inline const auto& assets::mesh_data::material_id() const
inline const auto& assets::mesh_data::material() const
{
return m_material_id;
}
inline void assets::mesh_data::clear()
{
clear_vertices();
clear_component_arrays();
m_triangles.clear();
m_material_id = {};
}

View File

@@ -45,5 +45,5 @@ inline const std::vector<assets::point_cloud_vertex_components::reflectance>& as
inline void assets::point_cloud_data::clear()
{
clear_vertices();
clear_component_arrays();
}