Drag[en]gine Game Engine  1.21
deParticleEmitterInstance Class Reference

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

#include <deParticleEmitterInstance.h>

Inheritance diagram for deParticleEmitterInstance:
deResource deObject

Public Types

typedef deTObjectReference< deParticleEmitterInstanceRef
 Type holding strong reference. More...
 
- Public Types inherited from deResource
typedef deTObjectReference< deResourceRef
 Type holding strong reference. More...
 
- Public Types inherited from deObject
typedef deTObjectReference< deObjectRef
 Type holding strong reference. More...
 

Public Member Functions

Management
deParticleEmitterGetEmitter () const
 Set emitter or NULL if none is set. More...
 
void SetEmitter (deParticleEmitter *emitter)
 Set emitter or NULL to unset it. More...
 
const decDVectorGetPosition () const
 Position. More...
 
void SetPosition (const decDVector &position)
 Set position. More...
 
const decQuaternionGetOrientation () const
 Orientation. More...
 
void SetOrientation (const decQuaternion &orientation)
 Set orientation. More...
 
const decDVectorGetReferencePosition () const
 Reference position. Particles positions are relative to this position. More...
 
void SetReferencePosition (const decDVector &position)
 Set reference position. Particles positions are relative to this position. More...
 
bool GetEnableCasting () const
 Determines if casting particles is enabled. More...
 
void SetEnableCasting (bool enable)
 Sets if casting particles is enabled. More...
 
bool GetRemoveAfterLastParticleDied () const
 Emitter instance is removed from the world if the last particle died. More...
 
void SetRemoveAfterLastParticleDied (bool remove)
 Set if emitter instance is removed from the world if the last particle died. More...
 
float GetTimeScale () const
 Scaling for the time to be added to controllers linked to time. More...
 
void SetTimeScale (float scale)
 Set scaling for the time to be added to controllers linked to time. More...
 
float GetWarmUpTime () const
 Warm up time used when enabling casting. More...
 
void SetWarmUpTime (float warmUpTime)
 Set warm up time used when enabling casting. More...
 
float GetBurstTime () const
 Burst time. Set by the physics module to be used by the graphics module. More...
 
void SetBurstTime (float burstTime)
 Set burst time. Set by the physics module to be used by the graphics module. More...
 
const decLayerMaskGetLayerMask () const
 Layer mask. More...
 
void SetLayerMask (const decLayerMask &layerMask)
 Set layer mask. More...
 
const decCollisionFilterGetCollisionFilter () const
 Collision filter. More...
 
void SetCollisionFilter (const decCollisionFilter &collisionFilter)
 Set collision filter. More...
 
int GetControllerCount () const
 Number of controllers. More...
 
deParticleEmitterControllerGetControllerAt (int index)
 Controller at index. More...
 
const deParticleEmitterControllerGetControllerAt (int index) const
 
int IndexOfControllerNamed (const char *name) const
 Index of named controller or -1 if absent. More...
 
void NotifyControllerChangedAt (int index)
 Notify peer controller changed. More...
 
int GetTypeCount () const
 Count of types. More...
 
deParticleEmitterInstanceTypeGetTypeAt (int index)
 Type at the given index. More...
 
const deParticleEmitterInstanceTypeGetTypeAt (int index) const
 
void NotifyTypeChangedAt (int type)
 Notifies the peers that the type at the given index changed. More...
 
void NotifyTypeParticlesChangedAt (int type)
 Notifies the peers that the particles in a type changed. More...
 
void ResetBurst ()
 Reset burst particles. More...
 
void KillAllParticles ()
 Kill all particles. More...
 
void NotifyLastParticleDied ()
 Notifies the Scripting Module that the last particle died. More...
 
void CollisionResponse (deCollisionInfo *cinfo)
 Let scripting module determine response for a custom particle collision. More...
 
Ignore colliders
int GetIgnoreColliderCount () const
 Number of colliders to ignore. More...
 
deColliderGetIgnoreColliderAt (int index) const
 Collider to ignore at index. More...
 
bool HasIgnoreCollider (deCollider *collider) const
 Collider to ignore is present. More...
 
void AddIgnoreCollider (deCollider *collider)
 Add collider to ignore. More...
 
void RemoveIgnoreCollider (deCollider *collider)
 Remove collider to ignore. More...
 
void RemoveAllIgnoreColliders ()
 Remove all colliders to ignore. More...
 
System Peers
deBaseGraphicParticleEmitterInstanceGetPeerGraphic () const
 Graphic system peer object or NULL if not assigned. More...
 
void SetPeerGraphic (deBaseGraphicParticleEmitterInstance *peer)
 Set graphic system peer object or NULL if not assigned. More...
 
deBasePhysicsParticleEmitterInstanceGetPeerPhysics () const
 Physics system peer object or NULL if not assigned. More...
 
void SetPeerPhysics (deBasePhysicsParticleEmitterInstance *peer)
 Set physics system peer object or NULL if not assigned. More...
 
deBaseScriptingParticleEmitterInstanceGetPeerScripting () const
 Scripting system peer object or NULL if not assigned. More...
 
void SetPeerScripting (deBaseScriptingParticleEmitterInstance *peer)
 Set scripting system peer object or NULL if not assigned. More...
 
- 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)
 Create new particle emitter instance. More...
 
virtual ~deParticleEmitterInstance ()
 Clean up particle emitter instance. More...
 

Linked List

deWorldGetParentWorld () const
 Parent world or NULL. More...
 
void SetParentWorld (deWorld *world)
 Set parent world or NULL. More...
 
deParticleEmitterInstanceGetLLWorldPrev () const
 Previous particle emitter in the parent world linked list. More...
 
void SetLLWorldPrev (deParticleEmitterInstance *instance)
 Set next particle emitter in the parent world linked list. More...
 
deParticleEmitterInstanceGetLLWorldNext () const
 Next particle emitter in the parent world linked list. More...
 
void SetLLWorldNext (deParticleEmitterInstance *instance)
 Set next particle emitter in the parent world linked list. 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.

Member Typedef Documentation

◆ Ref

Constructor & Destructor Documentation

◆ deParticleEmitterInstance()

deParticleEmitterInstance::deParticleEmitterInstance ( deParticleEmitterInstanceManager manager)

Create 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

◆ AddIgnoreCollider()

void deParticleEmitterInstance::AddIgnoreCollider ( deCollider collider)

Add collider to ignore.

Version
1.7
Exceptions
deeInvalidParamcollider is present.

◆ CollisionResponse()

void deParticleEmitterInstance::CollisionResponse ( deCollisionInfo cinfo)

Let scripting module determine response for a custom particle collision.

◆ GetBurstTime()

float deParticleEmitterInstance::GetBurstTime ( ) const
inline

Burst time. Set by the physics module to be used by the graphics module.

◆ GetCollisionFilter()

const decCollisionFilter& deParticleEmitterInstance::GetCollisionFilter ( ) const
inline

Collision filter.

◆ GetControllerAt() [1/2]

deParticleEmitterController& deParticleEmitterInstance::GetControllerAt ( int  index)

Controller at index.

Exceptions
deeInvalidParamindex is less than 0.
deeInvalidParamindex is greater or equal than GetControllerCount().

◆ GetControllerAt() [2/2]

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

◆ GetControllerCount()

int deParticleEmitterInstance::GetControllerCount ( ) const
inline

Number of controllers.

◆ GetEmitter()

deParticleEmitter* deParticleEmitterInstance::GetEmitter ( ) const
inline

Set emitter or NULL if none is set.

◆ GetEnableCasting()

bool deParticleEmitterInstance::GetEnableCasting ( ) const
inline

Determines if casting particles is enabled.

◆ GetIgnoreColliderAt()

deCollider* deParticleEmitterInstance::GetIgnoreColliderAt ( int  index) const

Collider to ignore at index.

Version
1.7
Exceptions
deeInvalidParamindex is less than 0.
deeInvalidParamindex is greater or equal than GetIgnoreColliderCount()-1.

◆ GetIgnoreColliderCount()

int deParticleEmitterInstance::GetIgnoreColliderCount ( ) const

Number of colliders to ignore.

Version
1.7

◆ GetLayerMask()

const decLayerMask& deParticleEmitterInstance::GetLayerMask ( ) const
inline

Layer mask.

◆ GetLLWorldNext()

deParticleEmitterInstance* deParticleEmitterInstance::GetLLWorldNext ( ) const
inline

Next particle emitter in the parent world linked list.

◆ GetLLWorldPrev()

deParticleEmitterInstance* deParticleEmitterInstance::GetLLWorldPrev ( ) const
inline

Previous particle emitter in the parent world linked list.

◆ GetOrientation()

const decQuaternion& deParticleEmitterInstance::GetOrientation ( ) const
inline

Orientation.

◆ GetParentWorld()

deWorld* deParticleEmitterInstance::GetParentWorld ( ) const
inline

Parent world or NULL.

◆ GetPeerGraphic()

deBaseGraphicParticleEmitterInstance* deParticleEmitterInstance::GetPeerGraphic ( ) const
inline

Graphic system peer object or NULL if not assigned.

◆ GetPeerPhysics()

deBasePhysicsParticleEmitterInstance* deParticleEmitterInstance::GetPeerPhysics ( ) const
inline

Physics system peer object or NULL if not assigned.

◆ GetPeerScripting()

deBaseScriptingParticleEmitterInstance* deParticleEmitterInstance::GetPeerScripting ( ) const
inline

Scripting system peer object or NULL if not assigned.

◆ GetPosition()

const decDVector& deParticleEmitterInstance::GetPosition ( ) const
inline

Position.

◆ GetReferencePosition()

const decDVector& deParticleEmitterInstance::GetReferencePosition ( ) const
inline

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.

◆ GetRemoveAfterLastParticleDied()

bool deParticleEmitterInstance::GetRemoveAfterLastParticleDied ( ) const
inline

Emitter instance is removed from the world if the last particle died.

◆ GetTimeScale()

float deParticleEmitterInstance::GetTimeScale ( ) const
inline

Scaling for the time to be added to controllers linked to time.

◆ GetTypeAt() [1/2]

deParticleEmitterInstanceType& deParticleEmitterInstance::GetTypeAt ( int  index)

Type at the given index.

◆ GetTypeAt() [2/2]

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

◆ GetTypeCount()

int deParticleEmitterInstance::GetTypeCount ( ) const
inline

Count of types.

◆ GetWarmUpTime()

float deParticleEmitterInstance::GetWarmUpTime ( ) const
inline

Warm up time used when enabling casting.

◆ HasIgnoreCollider()

bool deParticleEmitterInstance::HasIgnoreCollider ( deCollider collider) const

Collider to ignore is present.

Version
1.7

◆ IndexOfControllerNamed()

int deParticleEmitterInstance::IndexOfControllerNamed ( const char *  name) const

Index of named controller or -1 if absent.

◆ KillAllParticles()

void deParticleEmitterInstance::KillAllParticles ( )

Kill all particles.

◆ NotifyControllerChangedAt()

void deParticleEmitterInstance::NotifyControllerChangedAt ( int  index)

Notify peer controller changed.

◆ NotifyLastParticleDied()

void deParticleEmitterInstance::NotifyLastParticleDied ( )

Notifies the Scripting Module that the last particle died.

◆ NotifyTypeChangedAt()

void deParticleEmitterInstance::NotifyTypeChangedAt ( int  type)

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

◆ NotifyTypeParticlesChangedAt()

void deParticleEmitterInstance::NotifyTypeParticlesChangedAt ( int  type)

Notifies the peers that the particles in a type changed.

◆ RemoveAllIgnoreColliders()

void deParticleEmitterInstance::RemoveAllIgnoreColliders ( )

Remove all colliders to ignore.

Version
1.7

◆ RemoveIgnoreCollider()

void deParticleEmitterInstance::RemoveIgnoreCollider ( deCollider collider)

Remove collider to ignore.

Version
1.7
Exceptions
deeInvalidParamcollider is absent.

◆ ResetBurst()

void deParticleEmitterInstance::ResetBurst ( )

Reset burst particles.

◆ SetBurstTime()

void deParticleEmitterInstance::SetBurstTime ( float  burstTime)

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

◆ SetCollisionFilter()

void deParticleEmitterInstance::SetCollisionFilter ( const decCollisionFilter collisionFilter)

Set collision filter.

◆ SetEmitter()

void deParticleEmitterInstance::SetEmitter ( deParticleEmitter emitter)

Set emitter or NULL to unset it.

◆ SetEnableCasting()

void deParticleEmitterInstance::SetEnableCasting ( bool  enable)

Sets if casting particles is enabled.

◆ SetLayerMask()

void deParticleEmitterInstance::SetLayerMask ( const decLayerMask layerMask)

Set layer mask.

◆ SetLLWorldNext()

void deParticleEmitterInstance::SetLLWorldNext ( deParticleEmitterInstance instance)

Set next particle emitter in the parent world linked list.

◆ SetLLWorldPrev()

void deParticleEmitterInstance::SetLLWorldPrev ( deParticleEmitterInstance instance)

Set next particle emitter in the parent world linked list.

◆ SetOrientation()

void deParticleEmitterInstance::SetOrientation ( const decQuaternion orientation)

Set orientation.

◆ SetParentWorld()

void deParticleEmitterInstance::SetParentWorld ( deWorld world)

Set parent world or NULL.

◆ SetPeerGraphic()

void deParticleEmitterInstance::SetPeerGraphic ( deBaseGraphicParticleEmitterInstance peer)

Set graphic system peer object or NULL if not assigned.

◆ SetPeerPhysics()

void deParticleEmitterInstance::SetPeerPhysics ( deBasePhysicsParticleEmitterInstance peer)

Set physics system peer object or NULL if not assigned.

◆ SetPeerScripting()

void deParticleEmitterInstance::SetPeerScripting ( deBaseScriptingParticleEmitterInstance peer)

Set scripting system peer object or NULL if not assigned.

◆ SetPosition()

void deParticleEmitterInstance::SetPosition ( const decDVector position)

Set position.

◆ SetReferencePosition()

void deParticleEmitterInstance::SetReferencePosition ( const decDVector position)

Set 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.

◆ SetRemoveAfterLastParticleDied()

void deParticleEmitterInstance::SetRemoveAfterLastParticleDied ( bool  remove)

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

◆ SetTimeScale()

void deParticleEmitterInstance::SetTimeScale ( float  scale)

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

◆ SetWarmUpTime()

void deParticleEmitterInstance::SetWarmUpTime ( float  warmUpTime)

Set warm up time used when enabling casting.


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