Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

ONE::fx::SparkEmitter< MAX_P, Emission, Init, Action, Base > Class Template Reference

Inheritance diagram for ONE::fx::SparkEmitter< MAX_P, Emission, Init, Action, Base >:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<unsigned int MAX_P, class Emission, template< class, class > class Init, template< class, class > class Action, class Base = SimpleBase>
class ONE::fx::SparkEmitter< MAX_P, Emission, Init, Action, Base >

SparkParticle emitter class.

Users should consider using the facilities provided by the ParticleSystem template instead of manually managing emitters.

See the ParticleEmitter class documentation for parameter details.

Author:
Daniel Seibert


Public Types

typedef ActionPolicy< PartT,
Heir
ActionP
typedef EmissionPolicy EmissionP
typedef Heir Heir
typedef InitPolicy< PartT,
Heir
InitP
typedef PartT Particle
typedef util::SmartPointer<
util::Iterator< PartT >,
util::DestructiveCopy
ParticleIt
typedef RenderP::Renderer Renderer
typedef RenderPolicy< PartT,
Heir
RenderP

Public Member Functions

void clear ()
 sets the number of active particles to 0
void emit (unsigned int cnt)
 emits the given number of particles
G3D::Color4 getBirthColor () const
G3D::Color4 getDeathColor () const
unsigned int getMaxParticles () const
unsigned int getParticleCount () const
ParticleIt getParticles ()
 accesses the active particles
G3D::Vector2 getSize () const
G3D::TextureRef getTexture () const
float getVelocityScale () const
bool isParticleSortingEnabled () const
void process (const float &)
 processes all particles
void render (Renderer &, bool standAlone=true)
 renders this emitter's active particles
virtual void render (G3D::RenderDevice *&, bool)=0
void render (Renderer &, bool)
void setBirthColor (const G3D::Color4 &)
void setDeathColor (const G3D::Color4 &)
void setParticleSortingEnabled (bool)
 enables or disables particle sorting
void setSize (const G3D::Vector2 &)
void setVelocityScale (const float &)
 SparkEmitter ()


Member Typedef Documentation

template<class Heir, unsigned int MAX_P, class PartT, class EmissionPolicy, template< class, class > class InitPolicy, template< class, class > class ActionPolicy, template< class, class > class RenderPolicy, class Base = SimpleBase>
typedef ActionPolicy<PartT,Heir> ONE::fx::ParticleEmitter< Heir, MAX_P, PartT, EmissionPolicy, InitPolicy, ActionPolicy, RenderPolicy, Base >::ActionP [inherited]
 

template<class Heir, unsigned int MAX_P, class PartT, class EmissionPolicy, template< class, class > class InitPolicy, template< class, class > class ActionPolicy, template< class, class > class RenderPolicy, class Base = SimpleBase>
typedef EmissionPolicy ONE::fx::ParticleEmitter< Heir, MAX_P, PartT, EmissionPolicy, InitPolicy, ActionPolicy, RenderPolicy, Base >::EmissionP [inherited]
 

template<class Heir, unsigned int MAX_P, class PartT, class EmissionPolicy, template< class, class > class InitPolicy, template< class, class > class ActionPolicy, template< class, class > class RenderPolicy, class Base = SimpleBase>
typedef Heir ONE::fx::ParticleEmitter< Heir, MAX_P, PartT, EmissionPolicy, InitPolicy, ActionPolicy, RenderPolicy, Base >::Heir [inherited]
 

template<class Heir, unsigned int MAX_P, class PartT, class EmissionPolicy, template< class, class > class InitPolicy, template< class, class > class ActionPolicy, template< class, class > class RenderPolicy, class Base = SimpleBase>
typedef InitPolicy<PartT,Heir> ONE::fx::ParticleEmitter< Heir, MAX_P, PartT, EmissionPolicy, InitPolicy, ActionPolicy, RenderPolicy, Base >::InitP [inherited]
 

template<class Heir, unsigned int MAX_P, class PartT, class EmissionPolicy, template< class, class > class InitPolicy, template< class, class > class ActionPolicy, template< class, class > class RenderPolicy, class Base = SimpleBase>
typedef PartT ONE::fx::ParticleEmitter< Heir, MAX_P, PartT, EmissionPolicy, InitPolicy, ActionPolicy, RenderPolicy, Base >::Particle [inherited]
 

template<class Heir, unsigned int MAX_P, class PartT, class EmissionPolicy, template< class, class > class InitPolicy, template< class, class > class ActionPolicy, template< class, class > class RenderPolicy, class Base = SimpleBase>
typedef util::SmartPointer<util::Iterator<PartT>,util::DestructiveCopy> ONE::fx::ParticleEmitter< Heir, MAX_P, PartT, EmissionPolicy, InitPolicy, ActionPolicy, RenderPolicy, Base >::ParticleIt [inherited]
 

template<class Heir, unsigned int MAX_P, class PartT, class EmissionPolicy, template< class, class > class InitPolicy, template< class, class > class ActionPolicy, template< class, class > class RenderPolicy, class Base = SimpleBase>
typedef RenderP::Renderer ONE::fx::ParticleEmitter< Heir, MAX_P, PartT, EmissionPolicy, InitPolicy, ActionPolicy, RenderPolicy, Base >::Renderer [inherited]
 

template<class Heir, unsigned int MAX_P, class PartT, class EmissionPolicy, template< class, class > class InitPolicy, template< class, class > class ActionPolicy, template< class, class > class RenderPolicy, class Base = SimpleBase>
typedef RenderPolicy<PartT,Heir> ONE::fx::ParticleEmitter< Heir, MAX_P, PartT, EmissionPolicy, InitPolicy, ActionPolicy, RenderPolicy, Base >::RenderP [inherited]
 


Constructor & Destructor Documentation

template<unsigned int MAX_P, class Emission, template< class, class > class Init, template< class, class > class Action, class Base>
ONE::fx::SparkEmitter< MAX_P, Emission, Init, Action, Base >::SparkEmitter  ) 
 


Member Function Documentation

template<class H, unsigned int MAX, class P, class EP, template< class, class > class IP, template< class, class > class AP, template< class, class > class RP, class B>
void ONE::fx::ParticleEmitter< H, MAX, P, EP, IP, AP, RP, B >::clear  )  [inherited]
 

sets the number of active particles to 0

The particles are not destroyed and remain pooled.

template<class H, unsigned int MAX, class P, class EP, template< class, class > class IP, template< class, class > class AP, template< class, class > class RP, class B>
void ONE::fx::ParticleEmitter< H, MAX, P, EP, IP, AP, RP, B >::emit unsigned int  cnt  )  [inherited]
 

emits the given number of particles

The particles are initialized using the initialization policy. cnt must be smaller or equal to the number of available particles, i.e. the maximum number of particles minus the number of active particles.

Parameters:
cnt the number of particles to add

template<unsigned int MAX_P, class Emission, template< class, class > class Init, template< class, class > class Action, class Base>
G3D::Color4 ONE::fx::SparkEmitter< MAX_P, Emission, Init, Action, Base >::getBirthColor  )  const [inline]
 

Returns:
the particle color at the beginning of a particle's life

template<unsigned int MAX_P, class Emission, template< class, class > class Init, template< class, class > class Action, class Base>
G3D::Color4 ONE::fx::SparkEmitter< MAX_P, Emission, Init, Action, Base >::getDeathColor  )  const [inline]
 

Returns:
the particle color at the end of a particle's life

template<class H, unsigned int MAX, class P, class EP, template< class, class > class IP, template< class, class > class AP, template< class, class > class RP, class B>
unsigned int ONE::fx::ParticleEmitter< H, MAX, P, EP, IP, AP, RP, B >::getMaxParticles  )  const [inline, inherited]
 

Returns:
the maximum number of particles

template<class H, unsigned int MAX, class P, class EP, template< class, class > class IP, template< class, class > class AP, template< class, class > class RP, class B>
unsigned int ONE::fx::ParticleEmitter< H, MAX, P, EP, IP, AP, RP, B >::getParticleCount  )  const [inline, inherited]
 

Returns:
the number of active particles

template<class H, unsigned int MAX, class P, class EP, template< class, class > class IP, template< class, class > class AP, template< class, class > class RP, class B>
util::SmartPointer< util::Iterator< P >, util::DestructiveCopy > ONE::fx::ParticleEmitter< H, MAX, P, EP, IP, AP, RP, B >::getParticles  )  [inherited]
 

accesses the active particles

Dead particles will not be traversed by the iterator.

Returns:
an iterator over this emitter's active particles

template<unsigned int MAX_P, class Emission, template< class, class > class Init, template< class, class > class Action, class Base>
G3D::Vector2 ONE::fx::SparkEmitter< MAX_P, Emission, Init, Action, Base >::getSize  )  const [inline]
 

G3D::TextureRef ONE::fx::TexturedEmitter< SparkEmitter , MAX_P, SparkParticle< SparkEmitter > , Emission , Init , Action , Base >::getTexture  )  const [virtual, inherited]
 

Implements ONE::fx::EmitterInterface.

template<unsigned int MAX_P, class Emission, template< class, class > class Init, template< class, class > class Action, class Base>
float ONE::fx::SparkEmitter< MAX_P, Emission, Init, Action, Base >::getVelocityScale  )  const [inline]
 

template<class H, unsigned int MAX, class P, class EP, template< class, class > class IP, template< class, class > class AP, template< class, class > class RP, class B>
bool ONE::fx::ParticleEmitter< H, MAX, P, EP, IP, AP, RP, B >::isParticleSortingEnabled  )  const [inline, inherited]
 

Returns:
if the particles are sorted before rendering

void ONE::fx::TexturedEmitter< SparkEmitter , MAX_P, SparkParticle< SparkEmitter > , Emission , Init , Action , Base >::process const float  )  [inherited]
 

Reimplemented from ONE::fx::ParticleEmitter< Heir, MAX_P, PartT, EmissionPolicy, InitPolicy, ActionPolicy, RenderPolicy, Base >.

template<class H, unsigned int MAX, class P, class E, template< class, class > class I, template< class, class > class A, template< class, class > class R, class B>
void ONE::fx::ParticleEmitter< H, MAX, P, E, I, A, R, B >::render Renderer ,
bool  standAlone = true
[inherited]
 

renders this emitter's active particles

Parameters:
standAlone true for stand-alone render, false for externally managed rendering

virtual void ONE::fx::EmitterInterface::render G3D::RenderDevice *&  ,
bool 
[pure virtual, inherited]
 

void ONE::fx::TexturedEmitter< SparkEmitter , MAX_P, SparkParticle< SparkEmitter > , Emission , Init , Action , Base >::render Renderer ,
bool 
[inherited]
 

template<unsigned int MAX_P, class Emission, template< class, class > class Init, template< class, class > class Action, class Base>
void ONE::fx::SparkEmitter< MAX_P, Emission, Init, Action, Base >::setBirthColor const G3D::Color4 &   )  [inline]
 

template<unsigned int MAX_P, class Emission, template< class, class > class Init, template< class, class > class Action, class Base>
void ONE::fx::SparkEmitter< MAX_P, Emission, Init, Action, Base >::setDeathColor const G3D::Color4 &   )  [inline]
 

template<class H, unsigned int MAX, class P, class EP, template< class, class > class IP, template< class, class > class AP, template< class, class > class RP, class B>
void ONE::fx::ParticleEmitter< H, MAX, P, EP, IP, AP, RP, B >::setParticleSortingEnabled bool   )  [inline, inherited]
 

enables or disables particle sorting

If sorting is enabled, particles are sorted before rendering. This can be quite costly but is necessary for certain drawing techniques.

template<unsigned int MAX_P, class Emission, template< class, class > class Init, template< class, class > class Action, class Base>
void ONE::fx::SparkEmitter< MAX_P, Emission, Init, Action, Base >::setSize const G3D::Vector2 &   )  [inline]
 

template<unsigned int MAX_P, class Emission, template< class, class > class Init, template< class, class > class Action, class Base>
void ONE::fx::SparkEmitter< MAX_P, Emission, Init, Action, Base >::setVelocityScale const float  )  [inline]
 


Generated on Wed Sep 7 19:03:14 2005 for ONEngine by  doxygen 1.4.3