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

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

Inheritance diagram for ONE::fx::DustEmitter< 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::DustEmitter< MAX_P, Emission, Init, Action, Base >

DustParticle emitter class.

If the used initialization policy incorporates the DustInit policy, the dust particles will receive a random rotation at birth.
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
 DustEmitter ()
void emit (unsigned int cnt)
 emits the given number of particles
G3D::Color4 getBirthColor () const
G3D::Vector2 getBirthSize () const
G3D::Color4 getDeathColor () const
G3D::Vector2 getDeathSize () const
unsigned int getMaxParticles () const
unsigned int getParticleCount () const
ParticleIt getParticles ()
 accesses the active particles
G3D::TextureRef getTexture () 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 setBirthSize (const G3D::Vector2 &)
void setDeathColor (const G3D::Color4 &)
void setDeathSize (const G3D::Vector2 &)
void setParticleSortingEnabled (bool)
 enables or disables particle sorting


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::DustEmitter< MAX_P, Emission, Init, Action, Base >::DustEmitter  ) 
 


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::DustEmitter< 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::Vector2 ONE::fx::DustEmitter< MAX_P, Emission, Init, Action, Base >::getBirthSize  )  const [inline]
 

Returns:
the particles size 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::DustEmitter< MAX_P, Emission, Init, Action, Base >::getDeathColor  )  const [inline]
 

Returns:
the particle color at the end 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::Vector2 ONE::fx::DustEmitter< MAX_P, Emission, Init, Action, Base >::getDeathSize  )  const [inline]
 

Returns:
the particle size at the end of a particle's life span

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

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

Implements ONE::fx::EmitterInterface.

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< DustEmitter , MAX_P, DustParticle< DustEmitter > , 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< DustEmitter , MAX_P, DustParticle< DustEmitter > , 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::DustEmitter< 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::DustEmitter< MAX_P, Emission, Init, Action, Base >::setBirthSize 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::DustEmitter< MAX_P, Emission, Init, Action, Base >::setDeathColor 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::DustEmitter< MAX_P, Emission, Init, Action, Base >::setDeathSize const G3D::Vector2 &   )  [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.


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