12namespace osc {
class BVH; }
13namespace osc {
class MeshBasicMaterial; }
14namespace osc {
class ResourceLoader; }
15namespace osc {
class Shader; }
88 if (
const void*
ptr = try_get(
typeid(
T))) {
89 return *
static_cast<const T*
>(
ptr);
102 const void* try_get(
const std::type_info&)
const;
103 void insert(
const std::type_info&, std::shared_ptr<void>);
106 std::unique_ptr<Impl> impl_;
Definition mesh_basic_material.h:18
Definition resource_loader.h:24
Definition resource_path.h:12
Definition scene_cache.h:25
const MeshBasicMaterial & basic_material()
Mesh cube_wireframe_mesh()
SceneCache(const SceneCache &)=delete
const BVH & get_bvh(const Mesh &)
Mesh get_mesh(const std::string &key, const std::function< Mesh()> &getter)
SceneCache(SceneCache &&) noexcept
const Shader & get_shader(const ResourcePath &vertex_shader_path, const ResourcePath &fragment_shader_path)
and std::is_destructible_v< T > const T & get()
Definition scene_cache.h:86
Mesh uncapped_cylinder_mesh()
Mesh torus_mesh(float tube_center_radius, float tube_radius)
const MeshBasicMaterial & wireframe_material()
SceneCache(const ResourceLoader &)
Mesh sphere_octant_mesh()
Definition custom_decoration_generator.h:5
constexpr U to(T &&value)
Definition conversion.h:56
and
Definition algorithms.h:158