From 71e94ee161447b84c0eaabf6567f8fa62262cd3e Mon Sep 17 00:00:00 2001 From: Mirrorbot Date: Sat, 27 Dec 2025 17:53:06 -0600 Subject: Inital commit --- .../_i_particle_system_scene_node_8h_source.html | 303 +++++++++++++++++++++ 1 file changed, 303 insertions(+) create mode 100644 doc/html/_i_particle_system_scene_node_8h_source.html (limited to 'doc/html/_i_particle_system_scene_node_8h_source.html') diff --git a/doc/html/_i_particle_system_scene_node_8h_source.html b/doc/html/_i_particle_system_scene_node_8h_source.html new file mode 100644 index 0000000..3e10cc0 --- /dev/null +++ b/doc/html/_i_particle_system_scene_node_8h_source.html @@ -0,0 +1,303 @@ + + + + +Irrlicht 3D Engine: IParticleSystemSceneNode.h Source File + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + +
+
Irrlicht 3D Engine + +
+ +
+ + + + + + +
+
+
+ + + + +
+
+ +
+
+
+ +
+
+
+
IParticleSystemSceneNode.h
+
+
+Go to the documentation of this file.
00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt
+00002 // This file is part of the "Irrlicht Engine".
+00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
+00004 
+00005 #ifndef __I_PARTICLE_SYSTEM_SCENE_NODE_H_INCLUDED__
+00006 #define __I_PARTICLE_SYSTEM_SCENE_NODE_H_INCLUDED__
+00007 
+00008 #include "ISceneNode.h"
+00009 #include "IParticleAnimatedMeshSceneNodeEmitter.h"
+00010 #include "IParticleBoxEmitter.h"
+00011 #include "IParticleCylinderEmitter.h"
+00012 #include "IParticleMeshEmitter.h"
+00013 #include "IParticleRingEmitter.h"
+00014 #include "IParticleSphereEmitter.h"
+00015 #include "IParticleAttractionAffector.h"
+00016 #include "IParticleFadeOutAffector.h"
+00017 #include "IParticleGravityAffector.h"
+00018 #include "IParticleRotationAffector.h"
+00019 #include "dimension2d.h"
+00020 
+00021 namespace irr
+00022 {
+00023 namespace scene
+00024 {
+00025 
+00027 
+00046 class IParticleSystemSceneNode : public ISceneNode
+00047 {
+00048 public:
+00049 
+00051     IParticleSystemSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id,
+00052         const core::vector3df& position = core::vector3df(0,0,0),
+00053         const core::vector3df& rotation = core::vector3df(0,0,0),
+00054         const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f))
+00055             : ISceneNode(parent, mgr, id, position, rotation, scale) {}
+00056 
+00058     virtual void setParticleSize(
+00059         const core::dimension2d<f32> &size = core::dimension2d<f32>(5.0f, 5.0f)) = 0;
+00060 
+00062 
+00065     virtual void setParticlesAreGlobal(bool global=true) = 0;
+00066 
+00068     virtual void clearParticles() = 0;
+00069 
+00073     virtual void doParticleSystem(u32 time) = 0;
+00074 
+00076 
+00077     virtual IParticleEmitter* getEmitter() =0;
+00078 
+00080 
+00086     virtual void setEmitter(IParticleEmitter* emitter) = 0;
+00087 
+00089 
+00100     virtual void addAffector(IParticleAffector* affector) = 0;
+00101 
+00103 
+00104     virtual const core::list<IParticleAffector*>& getAffectors() const = 0;
+00105 
+00107     virtual void removeAllAffectors() = 0;
+00108 
+00110 
+00153     virtual IParticleAnimatedMeshSceneNodeEmitter* createAnimatedMeshSceneNodeEmitter(
+00154         scene::IAnimatedMeshSceneNode* node, bool useNormalDirection = true,
+00155         const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
+00156         f32 normalDirectionModifier = 100.0f, s32 mbNumber = -1,
+00157         bool everyMeshVertex = false,
+00158         u32 minParticlesPerSecond = 5, u32 maxParticlesPerSecond = 10,
+00159         const video::SColor& minStartColor = video::SColor(255,0,0,0),
+00160         const video::SColor& maxStartColor = video::SColor(255,255,255,255),
+00161         u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000,
+00162         s32 maxAngleDegrees = 0,
+00163         const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
+00164         const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) ) = 0;
+00165 
+00167 
+00193     virtual IParticleBoxEmitter* createBoxEmitter(
+00194         const core::aabbox3df& box = core::aabbox3df(-10,28,-10,10,30,10),
+00195         const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
+00196         u32 minParticlesPerSecond = 5,
+00197         u32 maxParticlesPerSecond = 10,
+00198         const video::SColor& minStartColor = video::SColor(255,0,0,0),
+00199         const video::SColor& maxStartColor = video::SColor(255,255,255,255),
+00200         u32 lifeTimeMin=2000, u32 lifeTimeMax=4000,
+00201         s32 maxAngleDegrees=0,
+00202         const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
+00203         const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) ) = 0;
+00204 
+00206 
+00237     virtual IParticleCylinderEmitter* createCylinderEmitter(
+00238         const core::vector3df& center, f32 radius,
+00239         const core::vector3df& normal, f32 length,
+00240         bool outlineOnly = false,
+00241         const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
+00242         u32 minParticlesPerSecond = 5, u32 maxParticlesPerSecond = 10,
+00243         const video::SColor& minStartColor = video::SColor(255,0,0,0),
+00244         const video::SColor& maxStartColor = video::SColor(255,255,255,255),
+00245         u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000,
+00246         s32 maxAngleDegrees = 0,
+00247         const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
+00248         const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) ) = 0;
+00249 
+00251 
+00293     virtual IParticleMeshEmitter* createMeshEmitter(
+00294         scene::IMesh* mesh, bool useNormalDirection = true,
+00295         const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
+00296         f32 normalDirectionModifier = 100.0f, s32 mbNumber = -1,
+00297         bool everyMeshVertex = false,
+00298         u32 minParticlesPerSecond = 5, u32 maxParticlesPerSecond = 10,
+00299         const video::SColor& minStartColor = video::SColor(255,0,0,0),
+00300         const video::SColor& maxStartColor = video::SColor(255,255,255,255),
+00301         u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000,
+00302         s32 maxAngleDegrees = 0,
+00303         const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
+00304         const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) ) = 0;
+00305 
+00307 
+00332     virtual IParticlePointEmitter* createPointEmitter(
+00333         const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
+00334         u32 minParticlesPerSecond = 5,
+00335         u32 maxParticlesPerSecond = 10,
+00336         const video::SColor& minStartColor = video::SColor(255,0,0,0),
+00337         const video::SColor& maxStartColor = video::SColor(255,255,255,255),
+00338         u32 lifeTimeMin=2000, u32 lifeTimeMax=4000,
+00339         s32 maxAngleDegrees=0,
+00340         const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
+00341         const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) ) = 0;
+00342 
+00344 
+00374     virtual IParticleRingEmitter* createRingEmitter(
+00375         const core::vector3df& center, f32 radius, f32 ringThickness,
+00376         const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
+00377         u32 minParticlesPerSecond = 5,
+00378         u32 maxParticlesPerSecond = 10,
+00379         const video::SColor& minStartColor = video::SColor(255,0,0,0),
+00380         const video::SColor& maxStartColor = video::SColor(255,255,255,255),
+00381         u32 lifeTimeMin=2000, u32 lifeTimeMax=4000,
+00382         s32 maxAngleDegrees=0,
+00383         const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
+00384         const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) ) = 0;
+00385 
+00387 
+00414     virtual IParticleSphereEmitter* createSphereEmitter(
+00415         const core::vector3df& center, f32 radius,
+00416         const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
+00417         u32 minParticlesPerSecond = 5,
+00418         u32 maxParticlesPerSecond = 10,
+00419         const video::SColor& minStartColor = video::SColor(255,0,0,0),
+00420         const video::SColor& maxStartColor = video::SColor(255,255,255,255),
+00421         u32 lifeTimeMin=2000, u32 lifeTimeMax=4000,
+00422         s32 maxAngleDegrees=0,
+00423         const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
+00424         const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) ) = 0;
+00425 
+00427 
+00444     virtual IParticleAttractionAffector* createAttractionAffector(
+00445         const core::vector3df& point, f32 speed = 1.0f, bool attract = true,
+00446         bool affectX = true, bool affectY = true, bool affectZ = true) = 0;
+00447 
+00449 
+00457     virtual IParticleAffector* createScaleParticleAffector(const core::dimension2df& scaleTo = core::dimension2df(1.0f, 1.0f)) = 0;
+00458 
+00460 
+00472     virtual IParticleFadeOutAffector* createFadeOutParticleAffector(
+00473         const video::SColor& targetColor = video::SColor(0,0,0,0),
+00474         u32 timeNeededToFadeOut = 1000) = 0;
+00475 
+00477 
+00489     virtual IParticleGravityAffector* createGravityAffector(
+00490         const core::vector3df& gravity = core::vector3df(0.0f,-0.03f,0.0f),
+00491         u32 timeForceLost = 1000) = 0;
+00492 
+00494 
+00502     virtual IParticleRotationAffector* createRotationAffector(
+00503         const core::vector3df& speed = core::vector3df(5.0f,5.0f,5.0f),
+00504         const core::vector3df& pivotPoint = core::vector3df(0.0f,0.0f,0.0f) ) = 0;
+00505 };
+00506 
+00507 } // end namespace scene
+00508 } // end namespace irr
+00509 
+00510 
+00511 #endif
+00512 
+
+
+ + + + + -- cgit v1.2.3-70-g09d2