Raytracer
Loading...
Searching...
No Matches
Static Public Member Functions | Static Public Attributes | List of all members
Raytracer::Config::Factory Class Reference

Static Public Member Functions

template<typename I , typename E >
requires isValidEnum<E, ConfigTextures>
static std::shared_ptr< I > get (const std::string &name, std::shared_ptr< Interfaces::IArguments > args)
 
template<typename I , typename E >
requires isValidEnum<E, ConfigEffects>
static std::shared_ptr< I > get (const std::string &name, std::shared_ptr< Interfaces::IArguments > args)
 
template<typename I , typename E >
requires isValidEnum<E, ConfigMaterials>
static std::shared_ptr< I > get (const std::string &name, std::shared_ptr< Interfaces::IArguments > args)
 
template<typename I , typename E >
requires isValidEnum<E, ConfigShapes>
static std::shared_ptr< I > get (const std::string &name, std::shared_ptr< Interfaces::IArguments > args)
 

Static Public Attributes

static FactoryMap< Raytracer::Interfaces::ITexture, ConfigTextures > textures
 Factory map for textures.
 
static FactoryMap< Raytracer::Interfaces::IHittable, ConfigEffects > effects
 Factory map for effects.
 
static FactoryMap< Raytracer::Interfaces::IMaterial, ConfigMaterials > materials
 Factory map for materials.
 
static FactoryMap< Raytracer::Interfaces::IHittable, ConfigShapes > shapes
 Factory map for shapes.
 

Member Data Documentation

◆ effects

Raytracer::Config::FactoryMap< Raytracer::Interfaces::IHittable, Raytracer::Config::ConfigEffects > Raytracer::Config::Factory::effects
static

Factory map for effects.

This map is used to create effects based on their name. The key is the name of the effect and the value is a lambda function that creates the effect.

◆ materials

Raytracer::Config::FactoryMap< Raytracer::Interfaces::IMaterial, Raytracer::Config::ConfigMaterials > Raytracer::Config::Factory::materials
static

Factory map for materials.

This map is used to create materials based on their name. The key is the name of the material and the value is a lambda function that creates the material.

◆ shapes

Raytracer::Config::FactoryMap< Raytracer::Interfaces::IHittable, Raytracer::Config::ConfigShapes > Raytracer::Config::Factory::shapes
static

Factory map for shapes.

This map is used to create shapes based on their name. The key is the name of the shape and the value is a lambda function that creates the shape.

◆ textures

Raytracer::Config::FactoryMap< Raytracer::Interfaces::ITexture, Raytracer::Config::ConfigTextures > Raytracer::Config::Factory::textures
static

Factory map for textures.

This map is used to create textures based on their name. The key is the name of the texture and the value is a lambda function that creates the texture.


The documentation for this class was generated from the following files: