Drag[en]gine Game Engine  1.0
deParticleEmitterInstance Class Reference

Particle Emitter Instance. Instance of a particle emitter. More...

#include <deParticleEmitterInstance.h>

Inheritance diagram for deParticleEmitterInstance:
deResource deObject

Public Member Functions

Management
deParticleEmitterGetEmitter () const
 
void SetEmitter (deParticleEmitter *emitter)
 
const decDVectorGetPosition () const
 
void SetPosition (const decDVector &position)
 
const decQuaternionGetOrientation () const
 
void SetOrientation (const decQuaternion &orientation)
 
const decDVectorGetReferencePosition () const
 Retrieves the reference position. Particles positions are relative to this position. More...
 
void SetReferencePosition (const decDVector &position)
 Sets the reference position. Particles positions are relative to this position. More...
 
bool GetEnableCasting () const
 
void SetEnableCasting (bool enable)
 
bool GetRemoveAfterLastParticleDied () const
 
void SetRemoveAfterLastParticleDied (bool remove)
 
float GetTimeScale () const
 
void SetTimeScale (float scale)
 
float GetWarmUpTime () const
 
void SetWarmUpTime (float warmUpTime)
 
float GetBurstTime () const
 
void SetBurstTime (float burstTime)
 
decCollisionFilterGetCollisionFilter ()
 Retrieves the collision filter. More...
 
const decCollisionFilterGetCollisionFilter () const
 
void NotifyCollisionFilterChanged ()
 Notifies the peers that the collision filter changed. More...
 
int GetControllerCount () const
 
deParticleEmitterControllerGetControllerAt (int index)
 
const deParticleEmitterControllerGetControllerAt (int index) const
 
void NotifyControllerChangedAt (int controller)
 
int GetTypeCount () const
 
deParticleEmitterInstanceTypeGetTypeAt (int index)
 
const deParticleEmitterInstanceTypeGetTypeAt (int index) const
 
void NotifyTypeChangedAt (int type)
 
void NotifyTypeParticlesChangedAt (int type)
 
void ResetBurst ()
 
void KillAllParticles ()
 
void NotifyLastParticleDied ()
 
deParticleEmitterType::eCollisionResponses CollisionResponse (deCollisionInfo *cinfo)
 
System Peers
deBaseGraphicParticleEmitterInstanceGetPeerGraphic () const
 
void SetPeerGraphic (deBaseGraphicParticleEmitterInstance *peer)
 
deBasePhysicsParticleEmitterInstanceGetPeerPhysics () const
 
void SetPeerPhysics (deBasePhysicsParticleEmitterInstance *peer)
 
deBaseScriptingParticleEmitterInstanceGetPeerScripting () const
 
void SetPeerScripting (deBaseScriptingParticleEmitterInstance *peer)
 
Linked List
deWorldGetParentWorld () const
 
void SetParentWorld (deWorld *world)
 
deParticleEmitterInstanceGetLLWorldPrev () const
 
void SetLLWorldPrev (deParticleEmitterInstance *instance)
 
deParticleEmitterInstanceGetLLWorldNext () const
 
void SetLLWorldNext (deParticleEmitterInstance *instance)
 
- Public Member Functions inherited from deResource
deResourceManagerGetResourceManager () const
 Resource manager or NULL if resource is leaking. More...
 
deEngineGetEngine () const
 Game engine object from resource manager. More...
 
deResourceGetLLManagerPrev () const
 Previous resource in the resource manager linked list. More...
 
void SetLLManagerPrev (deResource *resource)
 Set next resource in the resource manager linked list. More...
 
deResourceGetLLManagerNext () const
 Next resource in the resource manager linked list. More...
 
void SetLLManagerNext (deResource *resource)
 Set next resource in the resource manager linked list. More...
 
void MarkLeaking ()
 Marks the resource leaking. More...
 
 deResource (deResourceManager *resourceManager)
 Create resource. More...
 
- Public Member Functions inherited from deObject
int GetRefCount () const
 Reference count. More...
 
void AddReference ()
 Add reference increasing reference count by 1. More...
 
void FreeReference ()
 Decrease reference count by one and delete object if count reaches 0. More...
 
 deObject ()
 Create object with reference count of 1. More...
 

Constructors and Destructors

 deParticleEmitterInstance (deParticleEmitterInstanceManager *manager)
 
virtual ~deParticleEmitterInstance ()
 Clean up particle emitter instance. More...
 

Additional Inherited Members

- Protected Member Functions inherited from deResource
virtual ~deResource ()
 Clean up resource. More...
 
- Protected Member Functions inherited from deObject
virtual ~deObject ()
 Clean up object. More...
 

Detailed Description

Particle Emitter Instance. Instance of a particle emitter.

Author
Pl├╝ss Roland
Version
1.0
Date
2011

Constructor & Destructor Documentation

◆ deParticleEmitterInstance()

deParticleEmitterInstance::deParticleEmitterInstance ( deParticleEmitterInstanceManager manager)

Creates a new particle emitter instance.

◆ ~deParticleEmitterInstance()

virtual deParticleEmitterInstance::~deParticleEmitterInstance ( )
protectedvirtual

Clean up particle emitter instance.

Note
Subclasses should set their destructor protected too to avoid users accidently deleting a reference counted object through the object pointer. Only FreeReference() is allowed to delete the object.

Member Function Documentation

◆ CollisionResponse()

deParticleEmitterType::eCollisionResponses deParticleEmitterInstance::CollisionResponse ( deCollisionInfo cinfo)

Let scripting module determine the response for a custom particle collision.

Referenced by GetTypeCount().

◆ GetBurstTime()

float deParticleEmitterInstance::GetBurstTime ( ) const
inline

Retrieves the burst time. Set by the physics module to be used by the graphics module.

References SetBurstTime().

◆ GetCollisionFilter() [1/2]

decCollisionFilter& deParticleEmitterInstance::GetCollisionFilter ( )
inline

Retrieves the collision filter.

Call NotifyCollisionFilterChanged if you change the collision filter.

◆ GetCollisionFilter() [2/2]

const decCollisionFilter& deParticleEmitterInstance::GetCollisionFilter ( ) const
inline

◆ GetControllerAt() [1/2]

deParticleEmitterController& deParticleEmitterInstance::GetControllerAt ( int  index)

Retrieves the controller at the given index.

Referenced by GetControllerCount().

◆ GetControllerAt() [2/2]

const deParticleEmitterController& deParticleEmitterInstance::GetControllerAt ( int  index) const

◆ GetControllerCount()

int deParticleEmitterInstance::GetControllerCount ( ) const
inline

Retrieves the count of controllers.

References GetControllerAt(), and NotifyControllerChangedAt().

◆ GetEmitter()

deParticleEmitter* deParticleEmitterInstance::GetEmitter ( ) const
inline

Retrieves the set emitter or NULL if none is set.

References SetEmitter().

◆ GetEnableCasting()

bool deParticleEmitterInstance::GetEnableCasting ( ) const
inline

Determines if casting particles is enabled.

References SetEnableCasting().

◆ GetLLWorldNext()

deParticleEmitterInstance* deParticleEmitterInstance::GetLLWorldNext ( ) const
inline

Retrieves the next particle emitter in the parent world linked list.

References SetLLWorldNext().

◆ GetLLWorldPrev()

deParticleEmitterInstance* deParticleEmitterInstance::GetLLWorldPrev ( ) const
inline

Retrieves the previous particle emitter in the parent world linked list.

References SetLLWorldPrev().

◆ GetOrientation()

const decQuaternion& deParticleEmitterInstance::GetOrientation ( ) const
inline

Retrieves the orientation.

References SetOrientation().

◆ GetParentWorld()

deWorld* deParticleEmitterInstance::GetParentWorld ( ) const
inline

Retrieves the parent world or NULL.

References SetParentWorld().

◆ GetPeerGraphic()

deBaseGraphicParticleEmitterInstance* deParticleEmitterInstance::GetPeerGraphic ( ) const
inline

Retrieves the graphic system peer object or NULL if not assigned.

References SetPeerGraphic().

◆ GetPeerPhysics()

deBasePhysicsParticleEmitterInstance* deParticleEmitterInstance::GetPeerPhysics ( ) const
inline

Retrieves the physics system peer object or NULL if not assigned.

References SetPeerPhysics().

◆ GetPeerScripting()

deBaseScriptingParticleEmitterInstance* deParticleEmitterInstance::GetPeerScripting ( ) const
inline

Retrieves the scripting system peer object or NULL if not assigned.

References SetPeerScripting().

◆ GetPosition()

const decDVector& deParticleEmitterInstance::GetPosition ( ) const
inline

Retrieves the position.

References SetPosition().

◆ GetReferencePosition()

const decDVector& deParticleEmitterInstance::GetReferencePosition ( ) const
inline

Retrieves the reference position. Particles positions are relative to this position.

This is called by the Physics Module to tell the Graphics Module where the particles have to be rendered. If the Graphic Module does the simulation by itself setting the reference position is not required.

References SetReferencePosition().

◆ GetRemoveAfterLastParticleDied()

bool deParticleEmitterInstance::GetRemoveAfterLastParticleDied ( ) const
inline

Determines if the emitter instance is removed from the world if the last particle died.

References SetRemoveAfterLastParticleDied().

◆ GetTimeScale()

float deParticleEmitterInstance::GetTimeScale ( ) const
inline

Retrieves the scaling for the time to be added to controllers linked to time.

References SetTimeScale().

◆ GetTypeAt() [1/2]

deParticleEmitterInstanceType& deParticleEmitterInstance::GetTypeAt ( int  index)

Retrieves the type at the given index.

Referenced by GetTypeCount().

◆ GetTypeAt() [2/2]

const deParticleEmitterInstanceType& deParticleEmitterInstance::GetTypeAt ( int  index) const

◆ GetTypeCount()

int deParticleEmitterInstance::GetTypeCount ( ) const
inline

◆ GetWarmUpTime()

float deParticleEmitterInstance::GetWarmUpTime ( ) const
inline

Retrieves the warm up time used when enabling casting.

References SetWarmUpTime().

◆ KillAllParticles()

void deParticleEmitterInstance::KillAllParticles ( )

Kill all particles.

Referenced by GetTypeCount().

◆ NotifyCollisionFilterChanged()

void deParticleEmitterInstance::NotifyCollisionFilterChanged ( )

Notifies the peers that the collision filter changed.

Referenced by GetCollisionFilter().

◆ NotifyControllerChangedAt()

void deParticleEmitterInstance::NotifyControllerChangedAt ( int  controller)

Notifies the peers that the controller at the given index changed.

Referenced by GetControllerCount().

◆ NotifyLastParticleDied()

void deParticleEmitterInstance::NotifyLastParticleDied ( )

Notifies the Scripting Module that the last particle died.

Referenced by GetTypeCount().

◆ NotifyTypeChangedAt()

void deParticleEmitterInstance::NotifyTypeChangedAt ( int  type)

Notifies the peers that the type at the given index changed.

Referenced by GetTypeCount().

◆ NotifyTypeParticlesChangedAt()

void deParticleEmitterInstance::NotifyTypeParticlesChangedAt ( int  type)

Notifies the peers that the particles in a type changed.

Referenced by GetTypeCount().

◆ ResetBurst()

void deParticleEmitterInstance::ResetBurst ( )

Reset burst particles.

Referenced by GetTypeCount().

◆ SetBurstTime()

void deParticleEmitterInstance::SetBurstTime ( float  burstTime)

Sets the burst time. Set by the physics module to be used by the graphics module.

Referenced by GetBurstTime().

◆ SetEmitter()

void deParticleEmitterInstance::SetEmitter ( deParticleEmitter emitter)

Sets the emitter or NULL to unset it.

Referenced by GetEmitter().

◆ SetEnableCasting()

void deParticleEmitterInstance::SetEnableCasting ( bool  enable)

Sets if casting particles is enabled.

Referenced by GetEnableCasting().

◆ SetLLWorldNext()

void deParticleEmitterInstance::SetLLWorldNext ( deParticleEmitterInstance instance)

Sets the next particle emitter in the parent world linked list.

Referenced by GetLLWorldNext().

◆ SetLLWorldPrev()

void deParticleEmitterInstance::SetLLWorldPrev ( deParticleEmitterInstance instance)

Sets the next particle emitter in the parent world linked list.

Referenced by GetLLWorldPrev().

◆ SetOrientation()

void deParticleEmitterInstance::SetOrientation ( const decQuaternion orientation)

Sets the orientation.

Referenced by GetOrientation().

◆ SetParentWorld()

void deParticleEmitterInstance::SetParentWorld ( deWorld world)

Sets the parent world or NULL.

Referenced by GetParentWorld().

◆ SetPeerGraphic()

void deParticleEmitterInstance::SetPeerGraphic ( deBaseGraphicParticleEmitterInstance peer)

Sets the graphic system peer object or NULL if not assigned.

Referenced by GetPeerGraphic().

◆ SetPeerPhysics()

void deParticleEmitterInstance::SetPeerPhysics ( deBasePhysicsParticleEmitterInstance peer)

Sets the physics system peer object or NULL if not assigned.

Referenced by GetPeerPhysics().

◆ SetPeerScripting()

void deParticleEmitterInstance::SetPeerScripting ( deBaseScriptingParticleEmitterInstance peer)

Sets the scripting system peer object or NULL if not assigned.

Referenced by GetPeerScripting().

◆ SetPosition()

void deParticleEmitterInstance::SetPosition ( const decDVector position)

Sets the position.

Referenced by GetPosition().

◆ SetReferencePosition()

void deParticleEmitterInstance::SetReferencePosition ( const decDVector position)

Sets the reference position. Particles positions are relative to this position.

This is called by the Physics Module to tell the Graphics Module where the particles have to be rendered. If the Graphic Module does the simulation by itself setting the reference position is not required.

Referenced by GetReferencePosition().

◆ SetRemoveAfterLastParticleDied()

void deParticleEmitterInstance::SetRemoveAfterLastParticleDied ( bool  remove)

Sets if the emitter instance is removed from the world if the last particle died.

Referenced by GetRemoveAfterLastParticleDied().

◆ SetTimeScale()

void deParticleEmitterInstance::SetTimeScale ( float  scale)

Sets the scaling for the time to be added to controllers linked to time.

Referenced by GetTimeScale().

◆ SetWarmUpTime()

void deParticleEmitterInstance::SetWarmUpTime ( float  warmUpTime)

Sets the warm up time used when enabling casting.

Referenced by GetWarmUpTime().


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