Untold Engine  Beta v0.0.16
docs
U4DEngine::U4DParticleEmitterInterface Class Referenceabstract

The U4DParticleEmitterInterface interface contains all the methods required for the computation of the position, colors and behaviors of the particles. More...

Inherited by U4DEngine::U4DParticleEmitter.

Public Member Functions

virtual ~U4DParticleEmitterInterface ()
 interface destructor
 
virtual void emitParticles ()=0
 emit particles More...
 
virtual void computeVelocity (U4DParticle *uParticle)=0
 Computes the velocity of the 3D particle. More...
 
virtual void computePosition (U4DParticle *uParticle)=0
 computes the position of the 3D particle More...
 
virtual void computeColors (U4DParticle *uParticle)=0
 computes the color of the 3D particle More...
 
virtual void computeRadialAcceleration (U4DParticle *uParticle)=0
 computes the radial acceleration of the 3D particle More...
 
virtual void computeTangentialAcceleration (U4DParticle *uParticle)=0
 computes the tangential acceleration of the 3D particle More...
 
virtual void decreaseNumberOfEmittedParticles ()=0
 decreases the number of particles emitted More...
 
virtual int getNumberOfEmittedParticles ()=0
 Gets the current number of emitted particles. More...
 
virtual void setNumberOfParticlesPerEmission (int uNumberOfParticles)=0
 sets the number of particles to emit per emission More...
 
virtual void setParticleEmissionRate (float uEmissionRate)=0
 sets the emission rate. More...
 
virtual void setParticleSystem (U4DParticleSystem *uParticleSystem)=0
 sets the pointer to the Particle System More...
 
virtual void setParticleData (U4DParticleData &uParticleData)=0
 sets the pointer to the Particle Data More...
 
virtual void setEmitContinuously (bool uValue)=0
 sets if the particle should emit the particles continuously More...
 
virtual void play ()=0
 Starts the emission of particles.
 
virtual void stop ()=0
 stops the emission of particles
 
virtual void setEmitterDurationRate (float uEmitterDurationRate)=0
 sets the emitter duration rate More...
 
virtual void computeScale (U4DParticle *uParticle)=0
 computes the scale of the 3D particle More...
 
virtual void computeRotation (U4DParticle *uParticle)=0
 computes the rotation of the 3D particle More...
 

Detailed Description

The U4DParticleEmitterInterface interface contains all the methods required for the computation of the position, colors and behaviors of the particles.

Member Function Documentation

◆ computeColors()

virtual void U4DEngine::U4DParticleEmitterInterface::computeColors ( U4DParticle uParticle)
pure virtual

computes the color of the 3D particle

Parameters
uParticlepointer to the 3D particle

Implemented in U4DEngine::U4DParticleEmitter.

◆ computePosition()

virtual void U4DEngine::U4DParticleEmitterInterface::computePosition ( U4DParticle uParticle)
pure virtual

computes the position of the 3D particle

Parameters
uParticlepointer to the 3D particle

Implemented in U4DEngine::U4DParticleEmitter.

◆ computeRadialAcceleration()

virtual void U4DEngine::U4DParticleEmitterInterface::computeRadialAcceleration ( U4DParticle uParticle)
pure virtual

computes the radial acceleration of the 3D particle

Parameters
uParticlepointer to the 3D particle

Implemented in U4DEngine::U4DParticleEmitter, and U4DEngine::U4DParticleEmitterLinear.

◆ computeRotation()

virtual void U4DEngine::U4DParticleEmitterInterface::computeRotation ( U4DParticle uParticle)
pure virtual

computes the rotation of the 3D particle

Parameters
uParticlepointer to the 3D particle

Implemented in U4DEngine::U4DParticleEmitter.

◆ computeScale()

virtual void U4DEngine::U4DParticleEmitterInterface::computeScale ( U4DParticle uParticle)
pure virtual

computes the scale of the 3D particle

Parameters
uParticlepointer to the 3D particle

Implemented in U4DEngine::U4DParticleEmitter.

◆ computeTangentialAcceleration()

virtual void U4DEngine::U4DParticleEmitterInterface::computeTangentialAcceleration ( U4DParticle uParticle)
pure virtual

computes the tangential acceleration of the 3D particle

Parameters
uParticlepointer to the 3D particle

Implemented in U4DEngine::U4DParticleEmitter, and U4DEngine::U4DParticleEmitterLinear.

◆ computeVelocity()

virtual void U4DEngine::U4DParticleEmitterInterface::computeVelocity ( U4DParticle uParticle)
pure virtual

Computes the velocity of the 3D particle.

Parameters
uParticlepointer to the 3D particle

Implemented in U4DEngine::U4DParticleEmitter, U4DEngine::U4DParticleEmitterLinear, U4DEngine::U4DParticleEmitterSphere, and U4DEngine::U4DParticleEmitterTorus.

◆ decreaseNumberOfEmittedParticles()

virtual void U4DEngine::U4DParticleEmitterInterface::decreaseNumberOfEmittedParticles ( )
pure virtual

decreases the number of particles emitted

If a particle's life is up, this method is called to update the current count of alive particles and the dead particle is removed from the scenegraph

Implemented in U4DEngine::U4DParticleEmitter.

◆ emitParticles()

virtual void U4DEngine::U4DParticleEmitterInterface::emitParticles ( )
pure virtual

emit particles

once the position, color and velocity of the particle has been computed, the particle is loaded into the particle's system scenegraph

Implemented in U4DEngine::U4DParticleEmitter.

◆ getNumberOfEmittedParticles()

virtual int U4DEngine::U4DParticleEmitterInterface::getNumberOfEmittedParticles ( )
pure virtual

Gets the current number of emitted particles.

Returns
number of alive particles

Implemented in U4DEngine::U4DParticleEmitter.

◆ setEmitContinuously()

virtual void U4DEngine::U4DParticleEmitterInterface::setEmitContinuously ( bool  uValue)
pure virtual

sets if the particle should emit the particles continuously

Parameters
uValuetrue for continuous emission, false for only one emission

Implemented in U4DEngine::U4DParticleEmitter.

◆ setEmitterDurationRate()

virtual void U4DEngine::U4DParticleEmitterInterface::setEmitterDurationRate ( float  uEmitterDurationRate)
pure virtual

sets the emitter duration rate

Parameters
uEmitterDurationRateemitter duration rate

Implemented in U4DEngine::U4DParticleEmitter.

◆ setNumberOfParticlesPerEmission()

virtual void U4DEngine::U4DParticleEmitterInterface::setNumberOfParticlesPerEmission ( int  uNumberOfParticles)
pure virtual

sets the number of particles to emit per emission

Parameters
uNumberOfParticlesnumber of particles

Implemented in U4DEngine::U4DParticleEmitter.

◆ setParticleData()

virtual void U4DEngine::U4DParticleEmitterInterface::setParticleData ( U4DParticleData uParticleData)
pure virtual

sets the pointer to the Particle Data

Parameters
uParticleDatapointer to the Particle Data

Implemented in U4DEngine::U4DParticleEmitter.

◆ setParticleEmissionRate()

virtual void U4DEngine::U4DParticleEmitterInterface::setParticleEmissionRate ( float  uEmissionRate)
pure virtual

sets the emission rate.

This rate sets how often to emit particles. The lower the value, the more frequent the emision

Parameters
uEmissionRateemission rate

Implemented in U4DEngine::U4DParticleEmitter.

◆ setParticleSystem()

virtual void U4DEngine::U4DParticleEmitterInterface::setParticleSystem ( U4DParticleSystem uParticleSystem)
pure virtual

sets the pointer to the Particle System

Parameters
uParticleSystempointer to particle system

Implemented in U4DEngine::U4DParticleEmitter.