29 #ifndef __PARTICLESYSTEM_H__
30 #define __PARTICLESYSTEM_H__
194 Inst< SFGeometryNode > _geometry = 0,
195 Inst< SFHapticGeometry > _hapticGeometry = 0,
196 Inst< SFNode > _metadata = 0,
197 Inst< SFBound > _bound = 0,
198 Inst< SFVec3f > _bboxCenter = 0,
199 Inst< SFVec3f > _bboxSize = 0,
200 Inst< DisplayList > _displayList = 0,
201 Inst< SFBool > _createParticles = 0,
202 Inst< SFBool > _enabled = 0,
203 Inst< SFFloat > _lifetimeVariation = 0,
204 Inst< SFInt32 > _maxParticles = 0,
205 Inst< SFFloat > _particleLifetime = 0,
206 Inst< SFVec2f > _particleSize = 0,
207 Inst< SFBool > _isActive = 0,
208 Inst< SFColorNode > _colorRamp = 0,
209 Inst< MFFloat > _colorKey = 0,
210 Inst< SFEmitterNode > _emitter = 0,
211 Inst< SFString > _geometryType = 0,
212 Inst< MFPhysicsModelNode > _physics = 0,
213 Inst< SFTextureCoordinate> _texCoordRamp = 0,
214 Inst< MFFloat > _texCoordKey = 0
216 virtual void initialize();
219 virtual void render();
226 X3DParticleEmitterNode::Particle::ParticleType getCurrentParticleType();
235 static Vec3f getRandomPointOnUnitSphere();
389 typedef std::list< X3DParticleEmitterNode::Particle > Particles;
391 typedef list< ParticleSystem * > ParticleSystemList;
395 return particlesystems;
403 static ParticleSystemList particlesystems;
Contains the MFFloat field class.
Contains the SFInt32 field class.
Contains the SFString field class.
Contains the SFVec2f field class.
Header file for TextureCoordinate, X3D scene-graph node.
Header file for X3DColorNode, X3D scene-graph node.
Header file for X3DParticleEmitterNode, X3D scene-graph node.
Header file for X3DParticlePhysicsModelNode, X3D scene-graph node.
Header file for X3DShapeNode, X3D scene-graph node.
The ParticleSystem node specifies a complete particle system.
Definition: ParticleSystem.h:184
H3DUniquePtr< SFColorNode > colorRamp
The colorRamp field holds a series of colour values to be used at the given colorKey points in time f...
Definition: ParticleSystem.h:328
H3DUniquePtr< MFFloat > texCoordKey
The colorKey field represents the time of the particle in seconds and are the keys to use for the tex...
Definition: ParticleSystem.h:384
static const ParticleSystemList & getAllParticleSystems()
Returns a list of all current ParticleSystem instances.
Definition: ParticleSystem.h:394
H3DUniquePtr< SFBool > isActive
The isActive field indicates whether the particle system is currently running, based on the setup of ...
Definition: ParticleSystem.h:315
H3DUniquePtr< SFString > geometryType
The geometryType field specifies the type of geometry that should be used to represent individual par...
Definition: ParticleSystem.h:359
H3DUniquePtr< SFVec2f > particleSize
The particleSize field describes the dimensions in metres of the width and height of each particle.
Definition: ParticleSystem.h:307
H3DUniquePtr< SFFloat > lifetimeVariation
The lifetimeVariation field controls the variation in a particles lifetime.
Definition: ParticleSystem.h:276
H3DUniquePtr< SFInt32 > maxParticles
The maximum number of particles to be generated.
Definition: ParticleSystem.h:284
H3DUniquePtr< MFPhysicsModelNode > physics
The physics field contains the physics models that should affect the particles after they have been c...
Definition: ParticleSystem.h:368
H3DUniquePtr< SFTextureCoordinate > texCoordRamp
The texCoordRamp fields control the texture coordinates of the provided texture(s) in the Appearance ...
Definition: ParticleSystem.h:376
H3DUniquePtr< SFFloat > particleLifetime
The particleLifetime field controls the lifetime of a particle i.e.
Definition: ParticleSystem.h:294
H3DUniquePtr< SFBool > createParticles
The createParticles field is used to control whether any further new particles should be created.
Definition: ParticleSystem.h:248
H3DUniquePtr< MFFloat > colorKey
The colorKey field represents the time of the particle in seconds and are the keys to use for the col...
Definition: ParticleSystem.h:336
H3DUniquePtr< SFBool > enabled
The enabled field controls whether this ParticleSystem is currently active and rendering particles th...
Definition: ParticleSystem.h:264
static H3DNodeDatabase database
The H3DNodeDatabase for this node.
Definition: ParticleSystem.h:387
H3DUniquePtr< SFEmitterNode > emitter
The emitter field specifies the type of emitter geometry and properties that the particles are given ...
Definition: ParticleSystem.h:346
TraverseInfo is a structure that is passed along when traversing the scene graph.
Definition: TraverseInfo.h:57
Template to make sure that the Nodes that are added to a MFNode are of a specified Node type.
Definition: MFNode.h:221
Template to make sure that the Node that is set in a SFNode is of a specified Node type.
Definition: SFNode.h:97
This is the base node type for all Shape nodes.
Definition: X3DShapeNode.h:50
H3D API namespace.
Definition: Anchor.h:38
The H3DNodeDatabase contains a mapping between a name of a Node and the constructor for the Node with...
Definition: H3DNodeDatabase.h:194