Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::ParticleSource Class Reference

#include <ParticleSource.h>

Public Member Functions

 ParticleSource (GFXDevice &context) noexcept
 
 ParticleSource (GFXDevice &context, F32 emitRate) noexcept
 
virtual ~ParticleSource ()=default
 
virtual void emit (U64 deltaTimeUS, const std::shared_ptr< ParticleData > &p)
 
void addGenerator (const std::shared_ptr< ParticleGenerator > &generator)
 
void updateEmitRate (const F32 emitRate) noexcept
 
F32 emitRate () const noexcept
 
void updateTransform (const vec3< F32 > &position, const Quaternion< F32 > &orientation) noexcept
 

Protected Attributes

F32 _emitRate
 
GFXDevice_context
 
vector< std::shared_ptr< ParticleGenerator > > _particleGenerators
 

Detailed Description

Definition at line 40 of file ParticleSource.h.

Constructor & Destructor Documentation

◆ ParticleSource() [1/2]

Divide::ParticleSource::ParticleSource ( GFXDevice context)
explicitnoexcept

Definition at line 9 of file ParticleSource.cpp.

◆ ParticleSource() [2/2]

Divide::ParticleSource::ParticleSource ( GFXDevice context,
F32  emitRate 
)
explicitnoexcept

Definition at line 14 of file ParticleSource.cpp.

◆ ~ParticleSource()

virtual Divide::ParticleSource::~ParticleSource ( )
virtualdefault

Member Function Documentation

◆ addGenerator()

void Divide::ParticleSource::addGenerator ( const std::shared_ptr< ParticleGenerator > &  generator)
inline

Definition at line 48 of file ParticleSource.h.

◆ emit()

void Divide::ParticleSource::emit ( U64  deltaTimeUS,
const std::shared_ptr< ParticleData > &  p 
)
virtual

Definition at line 20 of file ParticleSource.cpp.

◆ emitRate()

F32 Divide::ParticleSource::emitRate ( ) const
inlinenoexcept

Definition at line 54 of file ParticleSource.h.

◆ updateEmitRate()

void Divide::ParticleSource::updateEmitRate ( const F32  emitRate)
inlinenoexcept

Definition at line 52 of file ParticleSource.h.

◆ updateTransform()

void Divide::ParticleSource::updateTransform ( const vec3< F32 > &  position,
const Quaternion< F32 > &  orientation 
)
inlinenoexcept

Definition at line 56 of file ParticleSource.h.

Member Data Documentation

◆ _context

GFXDevice& Divide::ParticleSource::_context
protected

Definition at line 64 of file ParticleSource.h.

◆ _emitRate

F32 Divide::ParticleSource::_emitRate
protected

Definition at line 63 of file ParticleSource.h.

◆ _particleGenerators

vector<std::shared_ptr<ParticleGenerator> > Divide::ParticleSource::_particleGenerators
protected

Definition at line 65 of file ParticleSource.h.


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