The Nebula Device 3: Particles::ParticleSystem Class Reference

The Nebula Device 3

Particles::ParticleSystem Class Reference

#include <particlesystem.h>

Inheritance diagram for Particles::ParticleSystem:

Core::RefCounted

Detailed Description

A ParticleSystem object holds the shared attributes for all its ParticleSystemInstances.

(C) 2008 Radon Labs GmbH

Public Member Functions

 ParticleSystem ()
 constructor
virtual ~ParticleSystem ()
 destructor
void Setup (const Ptr< CoreGraphics::Mesh > &emitterMesh, IndexT primGroupIndex, const EmitterAttrs &emitterAttrs)
 setup the particle system object
void Discard ()
 discard the particle system object
bool IsValid () const
 return true if object has been setup
const EmitterMeshGetEmitterMesh () const
 get pointer to emitter mesh
const EmitterAttrsGetEmitterAttrs () const
 get access to particle emitter attributes
const EnvelopeSampleBufferGetEnvelopeSampleBuffer () const
 get access to pre-sampled envelope curve buffer
SizeT GetMaxNumParticles () const
 get the maximum number of particles alive
int GetRefCount () const
 get the current refcount
void AddRef ()
 increment refcount by one
void Release ()
 decrement refcount and destroy object if refcount is zero
bool IsInstanceOf (const Rtti &rtti) const
 return true if this object is instance of given class
bool IsInstanceOf (const Util::String &className) const
 return true if this object is instance of given class by string
bool IsInstanceOf (const Util::FourCC &classFourCC) const
 return true if this object is instance of given class by fourcc
bool IsA (const Rtti &rtti) const
 return true if this object is instance of given class, or a derived class
bool IsA (const Util::String &rttiName) const
 return true if this object is instance of given class, or a derived class, by string
bool IsA (const Util::FourCC &rttiFourCC) const
 return true if this object is instance of given class, or a derived class, by fourcc
const Util::StringGetClassName () const
 get the class name
Util::FourCC GetClassFourCC () const
 get the class FourCC code

Static Public Member Functions

static void ModulateStepTime (float val)
 modulate stepTime by a factor, needed for time effects
static void DumpRefCountingLeaks ()
 dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)

Static Public Attributes

static const Timing::Time DefaultStepTime
 the default particle system update step time
static Timing::Time StepTime
 the particle system update step time

Member Function Documentation

int Core::RefCounted::GetRefCount (  )  const [inline, inherited]

get the current refcount

Return the current refcount of the object.

void Core::RefCounted::AddRef (  )  [inline, inherited]

increment refcount by one

Increment the refcount of the object.

void Core::RefCounted::Release (  )  [inline, inherited]

decrement refcount and destroy object if refcount is zero

Decrement the refcount and destroy object if refcount is zero.

const Util::String & Core::RefCounted::GetClassName (  )  const [inline, inherited]

get the class name

Get the class name of the object.

Util::FourCC Core::RefCounted::GetClassFourCC (  )  const [inline, inherited]

get the class FourCC code

Get the class FourCC of the object.

void Core::RefCounted::DumpRefCountingLeaks (  )  [static, inherited]

dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)

This method should be called as the very last before an application exits.