ParticleEmitterData Class Reference

#include <particleEmitter.h>

Inheritance diagram for ParticleEmitterData:

Inheritance graph
[legend]
List of all members.

Public Types

 BlendUndefined
 BlendNormal
 BlendAdditive
 BlendSubtractive
 BlendPremultAlpha
 BlendUser
 GFXBlendUndefined = GFXBlend_COUNT
enum  BlendStyle {
  BlendUndefined,
  BlendNormal,
  BlendAdditive,
  BlendSubtractive,
  BlendPremultAlpha,
  BlendUser
}
enum  { GFXBlendUndefined = GFXBlend_COUNT }

Public Member Functions

 ParticleEmitterData ()
 DECLARE_CONOBJECT (ParticleEmitterData)
void packData (BitStream *stream)
void unpackData (BitStream *stream)
bool preload (bool server, String &errorStr)
 Called to prepare the datablock for use, after it has been unpacked.
bool onAdd ()
 Called when the object is added to the sim.
void allocPrimBuffer (S32 overrideSize=-1)
bool reload ()

Static Public Member Functions

static void initPersistFields ()
 Register dynamic fields in a subclass of ConsoleObject.

Public Attributes

S32 ejectionPeriodMS
 Time, in Milliseconds, between particle ejection.
S32 periodVarianceMS
 Varience in ejection peroid between 0 and n.
F32 ejectionVelocity
 Ejection velocity.
F32 velocityVariance
 Variance for velocity between 0 and n.
F32 ejectionOffset
 Z offset from emitter point to eject from.
F32 thetaMin
 Minimum angle, from the horizontal plane, to eject from.
F32 thetaMax
 Maximum angle, from the horizontal plane, to eject from.
F32 phiReferenceVel
 Reference angle, from the verticle plane, to eject from.
F32 phiVariance
 Varience from the reference angle, from 0 to n.
U32 lifetimeMS
 Lifetime of particles.
U32 lifetimeVarianceMS
 Varience in lifetime from 0 to n.
bool overrideAdvance
bool orientParticles
 Particles always face the screen.
bool orientOnVelocity
 Particles face the screen at the start.
bool useEmitterSizes
 Use emitter specified sizes instead of datablock sizes.
bool useEmitterColors
 Use emitter specified colors instead of datablock colors.
StringTableEntry particleString
 Used to load particle data directly from a string.
Vector< ParticleData * > particleDataBlocks
 Particle Datablocks.
Vector< U32dataBlockIds
 Datablock IDs (parellel array to particleDataBlocks).
U32 partListInitSize
GFXPrimitiveBufferHandle primBuff
 initial size of particle list calc'd from datablock info
S32 blendStyle
 Pre-define blend factor setting.
S32 srcBlendFactor
 Source blend factor setting.
S32 dstBlendFactor
 Destination blend factor setting.
bool sortParticles
 Particles are sorted back-to-front.
bool reverseOrder
 reverses draw order
StringTableEntry textureName
 Emitter texture file to override particle textures.
GFXTexHandle textureHandle
 Emitter texture handle from txrName.

Private Types

typedef GameBaseData Parent

Member Typedef Documentation

Reimplemented from GameBaseData.


Member Enumeration Documentation

Enumerator:
BlendUndefined 
BlendNormal 
BlendAdditive 
BlendSubtractive 
BlendPremultAlpha 
BlendUser 

anonymous enum

Enumerator:
GFXBlendUndefined 


Constructor & Destructor Documentation

ParticleEmitterData::ParticleEmitterData (  ) 


Member Function Documentation

ParticleEmitterData::DECLARE_CONOBJECT ( ParticleEmitterData   ) 

static void ParticleEmitterData::initPersistFields (  )  [static]

Register dynamic fields in a subclass of ConsoleObject.

See also:
addField(), addFieldV(), addDeprecatedField(), addGroup(), endGroup()

Reimplemented from GameBaseData.

void ParticleEmitterData::packData ( BitStream stream  )  [virtual]

Reimplemented from SimDataBlock.

void ParticleEmitterData::unpackData ( BitStream stream  )  [virtual]

Reimplemented from GameBaseData.

bool ParticleEmitterData::preload ( bool  server,
String errorStr 
) [virtual]

Called to prepare the datablock for use, after it has been unpacked.

Parameters:
server Set if we're running on the server (and therefore don't need to load things like textures or sounds).
errorStr If an error occurs in loading, this is set to a short string describing the error.
Returns:
True if all went well; false if something failed.
See also:
preload() and File Downloading

Reimplemented from GameBaseData.

bool ParticleEmitterData::onAdd (  )  [virtual]

Called when the object is added to the sim.

Reimplemented from GameBaseData.

void ParticleEmitterData::allocPrimBuffer ( S32  overrideSize = -1  ) 

bool ParticleEmitterData::reload (  ) 


Member Data Documentation

Time, in Milliseconds, between particle ejection.

Varience in ejection peroid between 0 and n.

Variance for velocity between 0 and n.

Z offset from emitter point to eject from.

Minimum angle, from the horizontal plane, to eject from.

Maximum angle, from the horizontal plane, to eject from.

Reference angle, from the verticle plane, to eject from.

Varience from the reference angle, from 0 to n.

Lifetime of particles.

Varience in lifetime from 0 to n.

Particles always face the screen.

Particles face the screen at the start.

Use emitter specified sizes instead of datablock sizes.

Use emitter specified colors instead of datablock colors.

Used to load particle data directly from a string.

Datablock IDs (parellel array to particleDataBlocks).

initial size of particle list calc'd from datablock info

Pre-define blend factor setting.

Source blend factor setting.

Destination blend factor setting.

Particles are sorted back-to-front.

Emitter texture file to override particle textures.

Emitter texture handle from txrName.