Confetti  0.1.0
A C++ particle system using Vulkan
Public Member Functions | List of all members
Confetti::Builder Class Reference

A class that builds and maintains Confetti objects. More...

#include <Confetti/Builder.h>

Public Member Functions

 Builder (std::minstd_rand &rng)
 Constructor.
 
std::shared_ptr< ParticleSystembuildParticleSystem (Configuration const &configuration, std::shared_ptr< Vkx::Device > device, vk::CommandPool const &commandPool, vk::Queue const &queue, Vkx::Camera const *camera)
 Returns a new particle system built using the supplied configuration.
 
std::shared_ptr< BasicEmitterbuildEmitter (Configuration::Emitter const &configuration, std::shared_ptr< Vkx::Device > device)
 Builds an emitter.
 
std::shared_ptr< AppearancebuildAppearance (Configuration::Appearance const &configuration, Vkx::Camera const *pCamera)
 Builds an appearance.
 
std::shared_ptr< EnvironmentbuildEnvironment (Configuration::Environment const &configuration)
 Builds an environment.
 
std::shared_ptr< Environment::SurfaceListbuildSurfaceList (Configuration::SurfaceList const &configuration)
 Builds a surface list.
 
std::shared_ptr< Environment::ClipperListbuildClipperList (Configuration::ClipperList const &configuration)
 Builds a clip plane list.
 
std::shared_ptr< EmitterVolumebuildEmitterVolume (Configuration::EmitterVolume const &configuration)
 Builds an emitter volume.
 
std::vector< PointParticlebuildPointParticles (int n, Configuration::Emitter const &emitterConfiguration, EmitterVolume const &volume, Environment const &environment, Appearance const &appearance)
 Builds the particles for a point emitter.
 
std::vector< PointParticlebuildPointParticles (Configuration::Emitter::ParticleVector const &configurations)
 Builds the particles for a point emitter.
 
std::vector< StreakParticlebuildStreakParticles (int n, Configuration::Emitter const &emitterConfiguration, EmitterVolume const &volume, Environment const &environment, Appearance const &appearance)
 Builds the particles for a streak emitter.
 
std::vector< StreakParticlebuildStreakParticles (Configuration::Emitter::ParticleVector const &configurations)
 Builds the particles for a streak emitter.
 
std::vector< TexturedParticlebuildTexturedParticles (int n, Configuration::Emitter const &emitterConfiguration, EmitterVolume const &volume, Environment const &environment, Appearance const &appearance)
 Builds the particles for a textured emitter.
 
std::vector< TexturedParticlebuildTexturedParticles (Configuration::Emitter::ParticleVector const &configurations)
 Builds the particles for a textured emitter.
 
std::vector< SphereParticlebuildSphereParticles (int n, Configuration::Emitter const &emitterConfiguration, EmitterVolume const &volume, Environment const &environment, Appearance const &appearance)
 Builds the particles for a sphere emitter.
 
std::vector< SphereParticlebuildSphereParticles (Configuration::Emitter::ParticleVector const &configurations)
 Builds the particles for a sphere emitter.
 
std::shared_ptr< BasicEmitterfindEmitter (std::string const &name)
 Returns the named emitter or nullptr if not found.
 
std::shared_ptr< EmitterVolumefindEmitterVolume (std::string const &name)
 Returns the named emitter volume or nullptr if not found.
 
std::shared_ptr< EnvironmentfindEnvironment (std::string const &name)
 Returns the named environment or nullptr if not found.
 
std::shared_ptr< AppearancefindAppearance (std::string const &name)
 Returns the named appearance or nullptr if not found.
 
std::shared_ptr< Environment::SurfaceListfindSurfaceList (std::string const &name)
 Returns the named bound plane list or nullptr if not found.
 
std::shared_ptr< Environment::ClipperListfindClipperList (std::string const &name)
 Returns the named clip plane list or nullptr if not found.
 
std::shared_ptr< Vkx::Material > findMaterial (std::string const &name)
 Returns the named material or nullptr if not found.
 
std::shared_ptr< Vkx::Texture > findTexture (std::string const &name)
 Returns the named texture or nullptr if not found.
 

Detailed Description

A class that builds and maintains Confetti objects.