| Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members |
#include <IParticleSystemSceneNode.h>
Inheritance diagram for irr::scene::IParticleSystemSceneNode:

Public Member Functions | |
| virtual void | addAffector (IParticleAffector *affector)=0 |
| Adds new particle effector to the particle system. | |
| virtual IParticleAnimatedMeshSceneNodeEmitter * | createAnimatedMeshSceneNodeEmitter (scene::IAnimatedMeshSceneNode *node, bool useNormalDirection=true, const core::vector3df &direction=core::vector3df(0.0f, 0.0f, 0.0f), f32 normalDirectionModifier=100.0f, s32 mbNumber=-1, bool everyMeshVertex=false, u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const video::SColor &minStartColor=video::SColor(255, 0, 0, 0), const video::SColor &maxStartColor=video::SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0)=0 |
| Creates a particle emitter for an animated mesh scene node. | |
| virtual IParticleAttractionAffector * | createAttractionAffector (const core::vector3df &point, f32 speed=1.0f, bool attract=true, bool affectX=true, bool affectY=true, bool affectZ=true)=0 |
| Creates a point attraction affector. | |
| virtual IParticleBoxEmitter * | createBoxEmitter (const core::aabbox3df &box=core::aabbox3df(-10, 28,-10, 10, 30, 10), const core::vector3df &direction=core::vector3df(0.0f, 0.03f, 0.0f), u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const video::SColor &minStartColor=video::SColor(255, 0, 0, 0), const video::SColor &maxStartColor=video::SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0)=0 |
| Creates a box particle emitter. | |
| virtual IParticleCylinderEmitter * | createCylinderEmitter (const core::vector3df ¢er, f32 radius, const core::vector3df &normal, f32 length, bool outlineOnly=false, const core::vector3df &direction=core::vector3df(0.0f, 0.0f, 0.0f), u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const video::SColor &minStartColor=video::SColor(255, 0, 0, 0), const video::SColor &maxStartColor=video::SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0)=0 |
| Creates a particle emitter for emitting from a cylinder. | |
| virtual IParticleFadeOutAffector * | createFadeOutParticleAffector (const video::SColor &targetColor=video::SColor(0, 0, 0, 0), u32 timeNeededToFadeOut=1000)=0 |
| Creates a fade out particle affector. | |
| virtual IParticleGravityAffector * | createGravityAffector (const core::vector3df &gravity=core::vector3df(0.0f,-0.03f, 0.0f), u32 timeForceLost=1000)=0 |
| Creates a gravity affector. | |
| virtual IParticleMeshEmitter * | createMeshEmitter (scene::IMesh *mesh, bool useNormalDirection=true, const core::vector3df &direction=core::vector3df(0.0f, 0.0f, 0.0f), f32 normalDirectionModifier=100.0f, s32 mbNumber=-1, bool everyMeshVertex=false, u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const video::SColor &minStartColor=video::SColor(255, 0, 0, 0), const video::SColor &maxStartColor=video::SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0)=0 |
| Creates a mesh particle emitter. | |
| virtual IParticlePointEmitter * | createPointEmitter (const core::vector3df &direction=core::vector3df(0.0f, 0.03f, 0.0f), u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const video::SColor &minStartColor=video::SColor(255, 0, 0, 0), const video::SColor &maxStartColor=video::SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0)=0 |
| Creates a point particle emitter. | |
| virtual IParticleRingEmitter * | createRingEmitter (const core::vector3df ¢er, f32 radius, f32 ringThickness, const core::vector3df &direction=core::vector3df(0.0f, 0.03f, 0.0f), u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const video::SColor &minStartColor=video::SColor(255, 0, 0, 0), const video::SColor &maxStartColor=video::SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0)=0 |
| Creates a ring particle emitter. | |
| virtual IParticleRotationAffector * | createRotationAffector (const core::vector3df &speed=core::vector3df(5.0f, 5.0f, 5.0f), const core::vector3df &pivotPoint=core::vector3df(0.0f, 0.0f, 0.0f))=0 |
| Creates a rotation affector. | |
| virtual IParticleSphereEmitter * | createSphereEmitter (const core::vector3df ¢er, f32 radius, const core::vector3df &direction=core::vector3df(0.0f, 0.03f, 0.0f), u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const video::SColor &minStartColor=video::SColor(255, 0, 0, 0), const video::SColor &maxStartColor=video::SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0)=0 |
| Creates a sphere particle emitter. | |
| IParticleSystemSceneNode (ISceneNode *parent, ISceneManager *mgr, s32 id, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f)) | |
| Constructor. | |
| virtual void | removeAllAffectors ()=0 |
| Removes all particle affectors in the particle system. | |
| virtual void | setEmitter (IParticleEmitter *emitter)=0 |
| Sets the particle emitter, which creates the particles. | |
| virtual void | setParticlesAreGlobal (bool global)=0 |
| Sets if the particles should be global. | |
| virtual void | setParticleSize (const core::dimension2d< f32 > &size=core::dimension2d< f32 >(5.0f, 5.0f))=0 |
| Sets the size of all particles. | |
A scene node controlling a particle System. The behavior of the particles can be controlling by setting the right particle emitters and effectors. You can for example easily a campfire by doing this:
scene::IParticleSystemSceneNode* p = scenemgr->addParticleSystemSceneNode();
p->setParticleSize(core::dimension2d<f32>(20.0f, 10.0f));
scene::IParticleEmitter* em = p->createBoxEmitter(
core::aabbox3d<f32>(-5,0,-5,5,1,5),
core::vector3df(0.0f,0.03f,0.0f),
40,80, video::SColor(0,255,255,255),video::SColor(0,255,255,255), 1100,2000);
p->setEmitter(em);
em->drop();
scene::IParticleAffector* paf = p->createFadeOutParticleAffector();
p->addAffector(paf);
paf->drop();
Definition at line 46 of file IParticleSystemSceneNode.h.
|
||||||||||||||||||||||||||||
|
Constructor.
Definition at line 51 of file IParticleSystemSceneNode.h. |
|
|
Adds new particle effector to the particle system. A particle affector modifies the particles. For example, the FadeOut affector lets all particles fade out after some time. It is created and used in this way: IParticleAffector* p = createFadeOutParticleAffector(); addAffector(p); p->drop();
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Creates a particle emitter for an animated mesh scene node.
|
|
||||||||||||||||||||||||||||
|
Creates a point attraction affector. This affector modifies the positions of the particles and attracts them to a specified point at a specified speed per second.
|
|
||||||||||||||||||||||||||||||||||||||||
|
Creates a box particle emitter.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Creates a particle emitter for emitting from a cylinder.
|
|
||||||||||||
|
Creates a fade out particle affector. This affector modifies the color of every particle and and reaches the final color when the particle dies. This affector looks really good, if the EMT_TRANSPARENT_VERTEX_ALPHA material is used and the targetColor is video::SColor(0,0,0,0): Particles are fading out into void with this setting.
|
|
||||||||||||
|
Creates a gravity affector. This affector modifies the direction of the particle. It assumes that the particle is fired out of the emitter with huge force, but is loosing this after some time and is catched by the gravity then. This affector is ideal for creating things like fountains.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Creates a mesh particle emitter.
|
|
||||||||||||||||||||||||||||||||||||
|
Creates a point particle emitter.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
Creates a ring particle emitter.
|
|
||||||||||||
|
Creates a rotation affector. This affector modifies the positions of the particles and attracts them to a specified point at a specified speed per second.
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
Creates a sphere particle emitter.
|
|
|
Removes all particle affectors in the particle system.
|
|
|
Sets the particle emitter, which creates the particles. A particle emitter can be created using one of the methods. For example to create and use a simple PointEmitter, call IParticleEmitter* p = createPointEmitter(); setEmitter(p); p->drop();
|
|
|
Sets if the particles should be global. If it is, the particles are affected by the movement of the particle system scene node too, otherwise they completely ignore it. Default is true. |
|
|
Sets the size of all particles.
|
| The Irrlicht
Engine Documentation © 2003-2008 by Nikolaus Gebhardt. Generated
on Sun Jun 1 07:59:19 2008 by Doxygen
(1.4.2) |