ParticleSysComponent Class Reference

Component wrapper of Irrlicht's IParticleSystemSceneNode. More...

Inheritance diagram for ParticleSysComponent:

Inheritance graph
[legend]
Collaboration diagram for ParticleSysComponent:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ParticleSysComponent (Entity *parent, const vector3df &scale=vector3df(1.0f, 1.0f, 1.0f))
 Constructor (default).
 ~ParticleSysComponent ()
 Deconstructor.
IParticleSystemSceneNode * getParticleSystemSceneNode ()
 Returns a direct pointer to the IParticleSystemSceneNode.
void addAffector (IParticleAffector *affector)
 Adds a new particle effector to the particle system.
void addAttractionAffector (const vector3df &point, f32 speed=1.0f, bool attract=true, bool affectX=true, bool affectY=true, bool affectZ=true)
 Adds a point attraction affector.
void addFadeOutParticleAffector (const SColor &targetColor=SColor(0, 0, 0, 0), u32 timeNeededToFadeOut=1000)
 Adds a fade out particle affector.
void addGravityAffector (const vector3df &gravity=vector3df(0.0f,-0.03f, 0.0f), u32 timeForceLost=1000)
 Adds a gravity affector.
void addRotationAffector (const vector3df &speed=vector3df(5.0f, 5.0f, 5.0f), const vector3df &pivotPoint=vector3df(0.0f, 0.0f, 0.0f))
 Adds a rotation affector.
void addScaleParticleAffector (const dimension2df &scaleTo=dimension2df(1.0f, 1.0f))
 Adds a scale particle affector.
void removeAffectors ()
 Removes all affectors.
IParticleEmitter * getEmitter ()
 Gets the particle emitter, which creates the particles.
void setAnimatedMeshSceneNodeEmitter (IAnimatedMeshSceneNode *node, bool useNormalDirection=true, const vector3df &direction=vector3df(0.0f, 0.03f, 0.0f), f32 normalDirectionModifier=100.0f, bool everyMeshVertex=false, u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const SColor &minStartColor=SColor(255, 0, 0, 0), const SColor &maxStartColor=SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0, const dimension2df &minStartSize=dimension2df(5.0f, 5.0f), const dimension2df &maxStartSize=dimension2df(5.0f, 5.0f))
 Sets a particle emitter for the loaded animated mesh component.
void setBoxEmitter (const aabbox3df &box=aabbox3df(-10, 28,-10, 10, 30, 10), const vector3df &direction=vector3df(0.0f, 0.03f, 0.0f), u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const SColor &minStartColor=SColor(255, 0, 0, 0), const SColor &maxStartColor=SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0, const dimension2df &minStartSize=dimension2df(5.0f, 5.0f), const dimension2df &maxStartSize=dimension2df(5.0f, 5.0f))
 Sets a box particle emitter.
void setCylinderEmitter (const vector3df &center, f32 radius, const vector3df &normal, f32 length, bool outlineOnly=false, const vector3df &direction=vector3df(0.0f, 0.03f, 0.0f), u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const SColor &minStartColor=SColor(255, 0, 0, 0), const SColor &maxStartColor=SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0, const dimension2df &minStartSize=dimension2df(5.0f, 5.0f), const dimension2df &maxStartSize=dimension2df(5.0f, 5.0f))
 Sets a particle emitter for emitting from a cylinder.
void setEmitter (IParticleEmitter *emitter)
 Sets the particle emitter, which creates the particles.
void setMeshEmitter (const std::string &fileName, bool useNormalDirection=true, const vector3df &direction=vector3df(0.0f, 0.03f, 0.0f), f32 normalDirectionModifier=100.0f, bool everyMeshVertex=false, u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const SColor &minStartColor=SColor(255, 0, 0, 0), const SColor &maxStartColor=SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0, const dimension2df &minStartSize=dimension2df(5.0f, 5.0f), const dimension2df &maxStartSize=dimension2df(5.0f, 5.0f))
 Sets a particle emitter for the loaded mesh.
void setMeshEmitter (IMesh *mesh, bool useNormalDirection=true, const vector3df &direction=vector3df(0.0f, 0.03f, 0.0f), f32 normalDirectionModifier=100.0f, bool everyMeshVertex=false, u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const SColor &minStartColor=SColor(255, 0, 0, 0), const SColor &maxStartColor=SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0, const dimension2df &minStartSize=dimension2df(5.0f, 5.0f), const dimension2df &maxStartSize=dimension2df(5.0f, 5.0f))
 Sets a particle emitter for the loaded mesh.
void setPointEmitter (const vector3df &direction=vector3df(0.0f, 0.03f, 0.0f), u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const SColor &minStartColor=SColor(255, 0, 0, 0), const SColor &maxStartColor=SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0, const dimension2df &minStartSize=dimension2df(5.0f, 5.0f), const dimension2df &maxStartSize=dimension2df(5.0f, 5.0f))
 Sets a point particle emitter.
void setRingEmitter (const vector3df &center, f32 radius, f32 ringThickness, const vector3df &direction=vector3df(0.0f, 0.03f, 0.0f), u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const SColor &minStartColor=SColor(255, 0, 0, 0), const SColor &maxStartColor=SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0, const dimension2df &minStartSize=dimension2df(5.0f, 5.0f), const dimension2df &maxStartSize=dimension2df(5.0f, 5.0f))
 Sets a ring particle emitter.
void setSphereEmitter (const vector3df &center, f32 radius, const vector3df &direction=vector3df(0.0f, 0.03f, 0.0f), u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const SColor &minStartColor=SColor(255, 0, 0, 0), const SColor &maxStartColor=SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0, const dimension2df &minStartSize=dimension2df(5.0f, 5.0f), const dimension2df &maxStartSize=dimension2df(5.0f, 5.0f))
 Sets a sphere particle emitter.
void setParticlesAreGlobal (bool value=true)
 Sets if the particles should be global.
void setParticleSize (const dimension2df &size=dimension2df(5.0f, 5.0f))
 Sets the size of all particles.

Static Public Member Functions

static bool parseXML (IXMLReader *file, Entity *entity)
 Parses for a ParticleSysComponent.


Detailed Description

Component wrapper of Irrlicht's IParticleSystemSceneNode.

XML:

 <ParticleSysComponent>
    <!-- Properties -->
 </ParticleSysComponent>

Definition at line 33 of file ParticleSysComponent.h.


Constructor & Destructor Documentation

ParticleSysComponent::ParticleSysComponent ( Entity parent,
const vector3df &  scale = vector3df(1.0f, 1.0f, 1.0f) 
)

Constructor (default).

Parameters:
parent The parent entity to which the component should be added.
scale Initial scale of the component.

Definition at line 23 of file ParticleSysComponent.cpp.

ParticleSysComponent::~ParticleSysComponent (  ) 

Deconstructor.

Definition at line 42 of file ParticleSysComponent.cpp.


Member Function Documentation

void ParticleSysComponent::addAffector ( IParticleAffector *  affector  ) 

Adds a new particle effector to the particle system.

Parameters:
affector New affector.
Note:
Not available in AngelScript.

Definition at line 55 of file ParticleSysComponent.cpp.

void ParticleSysComponent::addAttractionAffector ( const vector3df &  point,
f32  speed = 1.0f,
bool  attract = true,
bool  affectX = true,
bool  affectY = true,
bool  affectZ = true 
)

Adds a point attraction affector.

XML:

     <AttractionAffector>
        <point x="" y="" z="" />
        <speed value="" />
        <attract value="" />
        <affectX value="" />
        <affectY value="" />
        <affectZ value="" />
     </AttractionAffector>

Parameters:
point Point to attract particles to.
speed Speed in units per second, to attract to the specified point.
attract Whether the particles attract or detract from this point.
affectX Whether or not this will affect the X position of the particle.
affectY Whether or not this will affect the Y position of the particle.
affectZ Whether or not this will affect the Z position of the particle.

Definition at line 61 of file ParticleSysComponent.cpp.

void ParticleSysComponent::addFadeOutParticleAffector ( const SColor &  targetColor = SColor(0, 0, 0, 0),
u32  timeNeededToFadeOut = 1000 
)

Adds a fade out particle affector.

XML:

     <FadeOutParticleAffector>
        <targetColor a="" r="" g="" b="" />
        <timeNeededToFadeOut value="" />
     </FadeOutParticleAffector>

Parameters:
targetColor Color where to the color of the particle is changed.
timeNeededToFadeOut How much time in milli seconds should the affector need to change the color to the targetColor.

Definition at line 71 of file ParticleSysComponent.cpp.

void ParticleSysComponent::addGravityAffector ( const vector3df &  gravity = vector3df(0.0f,-0.03f, 0.0f),
u32  timeForceLost = 1000 
)

Adds a gravity affector.

XML:

     <GravityAffector>
        <gravity x="" y="" z="" />
        <timeForceLost value="" />
     </GravityAffector>
Parameters:
gravity Direction and force of gravity.
timeForceLost Time in milliseconds when the force of the emitter is totally lost and the particle does not move any more

Definition at line 81 of file ParticleSysComponent.cpp.

void ParticleSysComponent::addRotationAffector ( const vector3df &  speed = vector3df(5.0f, 5.0f, 5.0f),
const vector3df &  pivotPoint = vector3df(0.0f, 0.0f, 0.0f) 
)

Adds a rotation affector.

XML:

     <RotationAffector>
        <speed x="" y="" z="" />
        <pivotPoint x="" y="" z="" />
     </RotationAffector>

Parameters:
speed Rotation in degrees per second.
pivotPoint Point to rotate the particles around.

Definition at line 89 of file ParticleSysComponent.cpp.

void ParticleSysComponent::addScaleParticleAffector ( const dimension2df &  scaleTo = dimension2df(1.0f, 1.0f)  ) 

Adds a scale particle affector.

XML:

     <ScaleParticleAffector>
        <scaleTo width="" height="" />
     </ScaleParticleAffector>

Parameters:
scaleTo Multiple of the size which the particle will be scaled to until deletion.

Definition at line 97 of file ParticleSysComponent.cpp.

IParticleEmitter * ParticleSysComponent::getEmitter (  ) 

Gets the particle emitter, which creates the particles.

Note:
Not available in AngelScript.

Definition at line 111 of file ParticleSysComponent.cpp.

IParticleSystemSceneNode * ParticleSysComponent::getParticleSystemSceneNode (  ) 

Returns a direct pointer to the IParticleSystemSceneNode.

Note:
Not available in AngelScript.

Definition at line 49 of file ParticleSysComponent.cpp.

bool ParticleSysComponent::parseXML ( IXMLReader *  file,
Entity entity 
) [static]

Parses for a ParticleSysComponent.

Note:
For internal use only!

Reimplemented from SceneComponent.

Definition at line 288 of file ParticleSysComponent.cpp.

void ParticleSysComponent::removeAffectors (  ) 

Removes all affectors.

Definition at line 105 of file ParticleSysComponent.cpp.

void ParticleSysComponent::setAnimatedMeshSceneNodeEmitter ( IAnimatedMeshSceneNode *  node,
bool  useNormalDirection = true,
const vector3df &  direction = vector3df(0.0f, 0.03f, 0.0f),
f32  normalDirectionModifier = 100.0f,
bool  everyMeshVertex = false,
u32  minParticlesPerSecond = 5,
u32  maxParticlesPerSecond = 10,
const SColor &  minStartColor = SColor(255, 0, 0, 0),
const SColor &  maxStartColor = SColor(255, 255, 255, 255),
u32  lifeTimeMin = 2000,
u32  lifeTimeMax = 4000,
s32  maxAngleDegrees = 0,
const dimension2df &  minStartSize = dimension2df(5.0f, 5.0f),
const dimension2df &  maxStartSize = dimension2df(5.0f, 5.0f) 
)

Sets a particle emitter for the loaded animated mesh component.

Parameters:
node Pointer to the loaded scene node.
useNormalDirection If true, the direction of each particle created will be the normal of the vertex that it's emitting from. The normal is divided by the normalDirectionModifier parameter, which defaults to 100.0f.
direction Direction and speed of particle emission.
normalDirectionModifier If the emitter is using the normal direction then the normal of the vertex that is being emitted from is divided by this number.
everyMeshVertex If true, the emitter will emit between min/max particles every second, for every vertex in the mesh, if false, it will emit between min/max particles from random vertices in the mesh.
minParticlesPerSecond Minimal amount of particles emitted per second.
maxParticlesPerSecond Maximal amount of particles emitted per second.
minStartColor Minimal initial start color of a particle.
maxStartColor Maximal initial start color of a particle.
lifeTimeMin Minimal lifetime of a particle, in milliseconds.
lifeTimeMax Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees Maximal angle in degrees, the emitting direction of the particle will differ from the original direction.
minStartSize Minimal initial start size of a particle.
maxStartSize Maximal initial start size of a particle.
Note:
Not available in AngelScript.

Definition at line 117 of file ParticleSysComponent.cpp.

void ParticleSysComponent::setBoxEmitter ( const aabbox3df &  box = aabbox3df(-10, 28,-10, 10, 30, 10),
const vector3df &  direction = vector3df(0.0f, 0.03f, 0.0f),
u32  minParticlesPerSecond = 5,
u32  maxParticlesPerSecond = 10,
const SColor &  minStartColor = SColor(255, 0, 0, 0),
const SColor &  maxStartColor = SColor(255, 255, 255, 255),
u32  lifeTimeMin = 2000,
u32  lifeTimeMax = 4000,
s32  maxAngleDegrees = 0,
const dimension2df &  minStartSize = dimension2df(5.0f, 5.0f),
const dimension2df &  maxStartSize = dimension2df(5.0f, 5.0f) 
)

Sets a box particle emitter.

XML:

     <BoxEmitter>
        <box minX="" minY="" minZ="" maxX="" maxY="" maxZ="" />
        <direction x="" y="" z="" />
        <minParticlesPerSecond value="" />
        <maxParticlesPerSecond value="" />
        <minStartColor a="" r="" g="" b="" />
        <maxStartColor a="" r="" g="" b="" />
        <lifeTimeMin value="" />
        <lifeTimeMax value="" />
        <maxAngleDegrees value="" />
        <minStartSize width="" height="" />
        <maxStartSize width="" height="" />
     </BoxEmitter>

Parameters:
box The box for the emitter.
direction Direction and speed of particle emission.
minParticlesPerSecond Minimal amount of particles emitted per second.
maxParticlesPerSecond Maximal amount of particles emitted per second.
minStartColor Minimal initial start color of a particle.
maxStartColor Maximal initial start color of a particle.
lifeTimeMin Minimal lifetime of a particle, in milliseconds.
lifeTimeMax Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees Maximal angle in degrees, the emitting direction of the particle will differ from the original direction.
minStartSize Minimal initial start size of a particle.
maxStartSize Maximal initial start size of a particle.

Definition at line 141 of file ParticleSysComponent.cpp.

void ParticleSysComponent::setCylinderEmitter ( const vector3df &  center,
f32  radius,
const vector3df &  normal,
f32  length,
bool  outlineOnly = false,
const vector3df &  direction = vector3df(0.0f, 0.03f, 0.0f),
u32  minParticlesPerSecond = 5,
u32  maxParticlesPerSecond = 10,
const SColor &  minStartColor = SColor(255, 0, 0, 0),
const SColor &  maxStartColor = SColor(255, 255, 255, 255),
u32  lifeTimeMin = 2000,
u32  lifeTimeMax = 4000,
s32  maxAngleDegrees = 0,
const dimension2df &  minStartSize = dimension2df(5.0f, 5.0f),
const dimension2df &  maxStartSize = dimension2df(5.0f, 5.0f) 
)

Sets a particle emitter for emitting from a cylinder.

XML:

     <CylinderEmitter>
        <center x="" y="" z="" />
        <radius value="" />
        <normal x="" y="" z="" />
        <length value="" />
        <outlineOnly value="" />
        <direction x="" y="" z="" />
        <minParticlesPerSecond value="" />
        <maxParticlesPerSecond value="" />
        <minStartColor a="" r="" g="" b="" />
        <maxStartColor a="" r="" g="" b="" />
        <lifeTimeMin value="" />
        <lifeTimeMax value="" />
        <maxAngleDegrees value="" />
        <minStartSize width="" height="" />
        <maxStartSize width="" height="" />
     </CylinderEmitter>

Parameters:
center The center of the circle at the base of the cylinder.
radius The thickness of the cylinder
normal Direction of the length of the cylinder
length The length of the the cylinder
outlineOnly Whether or not to put points inside the cylinder or on the outline only
direction Direction and speed of particle emission.
minParticlesPerSecond Minimal amount of particles emitted per second.
maxParticlesPerSecond Maximal amount of particles emitted per second.
minStartColor Minimal initial start color of a particle.
maxStartColor Maximal initial start color of a particle.
lifeTimeMin Minimal lifetime of a particle, in milliseconds.
lifeTimeMax Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees Maximal angle in degrees, the emitting direction of the particle will differ from the original direction.
minStartSize Minimal initial start size of a particle.
maxStartSize Maximal initial start size of a particle.

Definition at line 157 of file ParticleSysComponent.cpp.

void ParticleSysComponent::setEmitter ( IParticleEmitter *  emitter  ) 

Sets the particle emitter, which creates the particles.

Note:
Not available in AngelScript.

Definition at line 176 of file ParticleSysComponent.cpp.

void ParticleSysComponent::setMeshEmitter ( IMesh *  mesh,
bool  useNormalDirection = true,
const vector3df &  direction = vector3df(0.0f, 0.03f, 0.0f),
f32  normalDirectionModifier = 100.0f,
bool  everyMeshVertex = false,
u32  minParticlesPerSecond = 5,
u32  maxParticlesPerSecond = 10,
const SColor &  minStartColor = SColor(255, 0, 0, 0),
const SColor &  maxStartColor = SColor(255, 255, 255, 255),
u32  lifeTimeMin = 2000,
u32  lifeTimeMax = 4000,
s32  maxAngleDegrees = 0,
const dimension2df &  minStartSize = dimension2df(5.0f, 5.0f),
const dimension2df &  maxStartSize = dimension2df(5.0f, 5.0f) 
)

Sets a particle emitter for the loaded mesh.

Parameters:
mesh Pointer to the loaded mesh.
useNormalDirection If true, the direction of each particle created will be the normal of the vertex that it's emitting from. The normal is divided by the normalDirectionModifier parameter, which defaults to 100.0f.
direction Direction and speed of particle emission.
normalDirectionModifier If the emitter is using the normal direction then the normal of the vertex that is being emitted from is divided by this number.
everyMeshVertex If true, the emitter will emit between min/max particles every second, for every vertex in the mesh, if false, it will emit between min/max particles from random vertices in the mesh.
minParticlesPerSecond Minimal amount of particles emitted per second.
maxParticlesPerSecond Maximal amount of particles emitted per second.
minStartColor Minimal initial start color of a particle.
maxStartColor Maximal initial start color of a particle.
lifeTimeMin Minimal lifetime of a particle, in milliseconds.
lifeTimeMax Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees Maximal angle in degrees, the emitting direction of the particle will differ from the original direction.
minStartSize Minimal initial start size of a particle.
maxStartSize Maximal initial start size of a particle.
Note:
Not available in AngelScript.

Definition at line 206 of file ParticleSysComponent.cpp.

void ParticleSysComponent::setMeshEmitter ( const std::string &  fileName,
bool  useNormalDirection = true,
const vector3df &  direction = vector3df(0.0f, 0.03f, 0.0f),
f32  normalDirectionModifier = 100.0f,
bool  everyMeshVertex = false,
u32  minParticlesPerSecond = 5,
u32  maxParticlesPerSecond = 10,
const SColor &  minStartColor = SColor(255, 0, 0, 0),
const SColor &  maxStartColor = SColor(255, 255, 255, 255),
u32  lifeTimeMin = 2000,
u32  lifeTimeMax = 4000,
s32  maxAngleDegrees = 0,
const dimension2df &  minStartSize = dimension2df(5.0f, 5.0f),
const dimension2df &  maxStartSize = dimension2df(5.0f, 5.0f) 
)

Sets a particle emitter for the loaded mesh.

XML:

     <MeshEmitter>
        <fileName value="" />
        <useNormalDirection value="" />
        <direction x="" y="" z="" />
        <normalDirectionModifier value="" />
        <everyMeshVertex value="" />
        <minParticlesPerSecond value="" />
        <maxParticlesPerSecond value="" />
        <minStartColor a="" r="" g="" b="" />
        <maxStartColor a="" r="" g="" b="" />
        <lifeTimeMin value="" />
        <lifeTimeMax value="" />
        <maxAngleDegrees value="" />
        <minStartSize width="" height="" />
        <maxStartSize width="" height="" />
     </MeshEmitter>

Parameters:
fileName Filename of the mesh to load.
useNormalDirection If true, the direction of each particle created will be the normal of the vertex that it's emitting from. The normal is divided by the normalDirectionModifier parameter, which defaults to 100.0f.
direction Direction and speed of particle emission.
normalDirectionModifier If the emitter is using the normal direction then the normal of the vertex that is being emitted from is divided by this number.
everyMeshVertex If true, the emitter will emit between min/max particles every second, for every vertex in the mesh, if false, it will emit between min/max particles from random vertices in the mesh.
minParticlesPerSecond Minimal amount of particles emitted per second.
maxParticlesPerSecond Maximal amount of particles emitted per second.
minStartColor Minimal initial start color of a particle.
maxStartColor Maximal initial start color of a particle.
lifeTimeMin Minimal lifetime of a particle, in milliseconds.
lifeTimeMax Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees Maximal angle in degrees, the emitting direction of the particle will differ from the original direction.
minStartSize Minimal initial start size of a particle.
maxStartSize Maximal initial start size of a particle.

Definition at line 182 of file ParticleSysComponent.cpp.

void ParticleSysComponent::setParticlesAreGlobal ( bool  value = true  ) 

Sets if the particles should be global.

Parameters:
value Value to enable or disable this option.

Definition at line 276 of file ParticleSysComponent.cpp.

void ParticleSysComponent::setParticleSize ( const dimension2df &  size = dimension2df(5.0f, 5.0f)  ) 

Sets the size of all particles.

Parameters:
size Global particle size.

Definition at line 282 of file ParticleSysComponent.cpp.

void ParticleSysComponent::setPointEmitter ( const vector3df &  direction = vector3df(0.0f, 0.03f, 0.0f),
u32  minParticlesPerSecond = 5,
u32  maxParticlesPerSecond = 10,
const SColor &  minStartColor = SColor(255, 0, 0, 0),
const SColor &  maxStartColor = SColor(255, 255, 255, 255),
u32  lifeTimeMin = 2000,
u32  lifeTimeMax = 4000,
s32  maxAngleDegrees = 0,
const dimension2df &  minStartSize = dimension2df(5.0f, 5.0f),
const dimension2df &  maxStartSize = dimension2df(5.0f, 5.0f) 
)

Sets a point particle emitter.

XML:

     <PointEmitter>
        <direction x="" y="" z="" />
        <minParticlesPerSecond value="" />
        <maxParticlesPerSecond value="" />
        <minStartColor a="" r="" g="" b="" />
        <maxStartColor a="" r="" g="" b="" />
        <lifeTimeMin value="" />
        <lifeTimeMax value="" />
        <maxAngleDegrees value="" />
        <minStartSize width="" height="" />
        <maxStartSize width="" height="" />
     </PointEmitter>

Parameters:
direction Direction and speed of particle emission.
minParticlesPerSecond Minimal amount of particles emitted per second.
maxParticlesPerSecond Maximal amount of particles emitted per second.
minStartColor Minimal initial start color of a particle.
maxStartColor Maximal initial start color of a particle.
lifeTimeMin Minimal lifetime of a particle, in milliseconds.
lifeTimeMax Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees Maximal angle in degrees, the emitting direction of the particle will differ from the original direction.
minStartSize Minimal initial start size of a particle.
maxStartSize Maximal initial start size of a particle.

Definition at line 225 of file ParticleSysComponent.cpp.

void ParticleSysComponent::setRingEmitter ( const vector3df &  center,
f32  radius,
f32  ringThickness,
const vector3df &  direction = vector3df(0.0f, 0.03f, 0.0f),
u32  minParticlesPerSecond = 5,
u32  maxParticlesPerSecond = 10,
const SColor &  minStartColor = SColor(255, 0, 0, 0),
const SColor &  maxStartColor = SColor(255, 255, 255, 255),
u32  lifeTimeMin = 2000,
u32  lifeTimeMax = 4000,
s32  maxAngleDegrees = 0,
const dimension2df &  minStartSize = dimension2df(5.0f, 5.0f),
const dimension2df &  maxStartSize = dimension2df(5.0f, 5.0f) 
)

Sets a ring particle emitter.

XML:

     <RingEmitter>
        <center x="" y="" z="" />
        <radius value="" />
        <ringThickness value="" />
        <direction x="" y="" z="" />
        <minParticlesPerSecond value="" />
        <maxParticlesPerSecond value="" />
        <minStartColor a="" r="" g="" b="" />
        <maxStartColor a="" r="" g="" b="" />
        <lifeTimeMin value="" />
        <lifeTimeMax value="" />
        <maxAngleDegrees value="" />
        <minStartSize width="" height="" />
        <maxStartSize width="" height="" />
     </RingEmitter>

Parameters:
center Center of ring.
radius Distance of points from center, points will be rotated around the Y axis at a random 360 degrees and will then be shifted by the provided ringThickness values in each axis.
ringThickness Thickness of the ring.
direction Direction and speed of particle emission.
minParticlesPerSecond Minimal amount of particles emitted per second.
maxParticlesPerSecond Maximal amount of particles emitted per second.
minStartColor Minimal initial start color of a particle.
maxStartColor Maximal initial start color of a particle.
lifeTimeMin Minimal lifetime of a particle, in milliseconds.
lifeTimeMax Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees Maximal angle in degrees, the emitting direction of the particle will differ from the original direction.
minStartSize Minimal initial start size of a particle.
maxStartSize Maximal initial start size of a particle.

Definition at line 241 of file ParticleSysComponent.cpp.

void ParticleSysComponent::setSphereEmitter ( const vector3df &  center,
f32  radius,
const vector3df &  direction = vector3df(0.0f, 0.03f, 0.0f),
u32  minParticlesPerSecond = 5,
u32  maxParticlesPerSecond = 10,
const SColor &  minStartColor = SColor(255, 0, 0, 0),
const SColor &  maxStartColor = SColor(255, 255, 255, 255),
u32  lifeTimeMin = 2000,
u32  lifeTimeMax = 4000,
s32  maxAngleDegrees = 0,
const dimension2df &  minStartSize = dimension2df(5.0f, 5.0f),
const dimension2df &  maxStartSize = dimension2df(5.0f, 5.0f) 
)

Sets a sphere particle emitter.

XML:

     <SphereEmitter>
        <center x="" y="" z="" />
        <radius value="" />
        <direction x="" y="" z="" />
        <minParticlesPerSecond value="" />
        <maxParticlesPerSecond value="" />
        <minStartColor a="" r="" g="" b="" />
        <maxStartColor a="" r="" g="" b="" />
        <lifeTimeMin value="" />
        <lifeTimeMax value="" />
        <maxAngleDegrees value="" />
        <minStartSize width="" height="" />
        <maxStartSize width="" height="" />
     </SphereEmitter>

Parameters:
center Center of the sphere.
radius Radius of the sphere.
direction Direction and speed of particle emission.
minParticlesPerSecond Minimal amount of particles emitted per second.
maxParticlesPerSecond Maximal amount of particles emitted per second.
minStartColor Minimal initial start color of a particle.
maxStartColor Maximal initial start color of a particle.
lifeTimeMin Minimal lifetime of a particle, in milliseconds.
lifeTimeMax Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees Maximal angle in degrees, the emitting direction of the particle will differ from the original direction.
minStartSize Minimal initial start size of a particle.
maxStartSize Maximal initial start size of a particle.

Definition at line 258 of file ParticleSysComponent.cpp.


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

Generated on Fri Aug 21 23:55:16 2009 for Sirrf - Simple Irrlicht Framework by  doxygen 1.5.8