Files
Z3D/source/assets/data/material_data.ipp
2025-04-01 21:51:56 +02:00

107 lines
4.4 KiB
C++

#ifndef INCLUDE_MATERIAL_DATA_IMPLEMENTATION
# error Never include this file directly include 'material_data.hpp'
#endif
inline std::optional<assets::material_components::specular_filter>& assets::material_data::specular_filter()
{
return std::get<material_components::indices::specular_filter>(components);
}
inline std::optional<assets::material_components::diffuse_filter>& assets::material_data::diffuse_filter()
{
return std::get<material_components::indices::diffuse_filter>(components);
}
inline std::optional<assets::material_components::ambient_filter>& assets::material_data::ambient_filter()
{
return std::get<material_components::indices::ambient_filter>(components);
}
inline std::optional<assets::material_components::shininess>& assets::material_data::shininess()
{
return std::get<material_components::indices::shininess>(components);
}
inline std::optional<assets::material_components::alpha>& assets::material_data::alpha()
{
return std::get<material_components::indices::alpha>(components);
}
inline std::optional<assets::material_components::specular_filter_texture>& assets::material_data::specular_filter_texture_id()
{
return std::get<material_components::indices::specular_filter_texture>(components);
}
inline std::optional<assets::material_components::diffuse_filter_texture>& assets::material_data::diffuse_filter_texture_id()
{
return std::get<material_components::indices::diffuse_filter_texture>(components);
}
inline std::optional<assets::material_components::ambient_filter_texture>& assets::material_data::ambient_filter_texture_id()
{
return std::get<material_components::indices::ambient_filter_texture>(components);
}
inline std::optional<assets::material_components::shininess_texture>& assets::material_data::shininess_texture_id()
{
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>(components);
}
inline std::optional<assets::material_components::bump_texture>& assets::material_data::bump_texture_id()
{
return std::get<material_components::indices::bump_texture>(components);
}
inline const std::optional<assets::material_components::specular_filter>& assets::material_data::specular_filter() const
{
return std::get<material_components::indices::specular_filter>(components);
}
inline const std::optional<assets::material_components::diffuse_filter>& assets::material_data::diffuse_filter() const
{
return std::get<material_components::indices::diffuse_filter>(components);
}
inline const std::optional<assets::material_components::ambient_filter>& assets::material_data::ambient_filter() const
{
return std::get<material_components::indices::ambient_filter>(components);
}
inline const std::optional<assets::material_components::shininess>& assets::material_data::shininess() const
{
return std::get<material_components::indices::shininess>(components);
}
inline const std::optional<assets::material_components::alpha>& assets::material_data::alpha() const
{
return std::get<material_components::indices::alpha>(components);
}
inline const std::optional<assets::material_components::specular_filter_texture>& assets::material_data::specular_filter_texture_id() const
{
return std::get<material_components::indices::specular_filter_texture>(components);
}
inline const std::optional<assets::material_components::diffuse_filter_texture>& assets::material_data::diffuse_filter_texture_id() const
{
return std::get<material_components::indices::diffuse_filter_texture>(components);
}
inline const std::optional<assets::material_components::ambient_filter_texture>& assets::material_data::ambient_filter_texture_id() const
{
return std::get<material_components::indices::ambient_filter_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>(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>(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>(components);
}
inline void assets::material_data::clear()
{
clear_components();
}