Skylicht Engine
Loading...
Searching...
No Matches
Skylicht::Particle::CFactory Class Reference

Factory class for creating emitters, zones, and renderers. More...

#include <ParticleSystem/Particles/CFactory.h>

Public Member Functions

CRandomEmittercreateRandomEmitter ()
 Creates a new Random emitter.
CStraightEmittercreateStraightEmitter (const core::vector3df &direction)
 Creates a new Straight emitter with a fixed direction.
CSphericEmittercreateSphericEmitter (const core::vector3df &direction, float angleA, float angleB)
 Creates a new Spheric (cone) emitter.
CNormalEmittercreateNormalEmitter (bool inverted)
 Creates a new Normal emitter shooting along zone surfaces.
void deleteEmitter (CEmitter *e)
 Deletes and removes an emitter.
CQuadRenderercreateQuadRenderer ()
 Creates a GPU instanced quad renderer.
CCPURenderercreateCPURenderer ()
 Creates a CPU-based quad renderer.
CMeshParticleRenderercreateMeshParticleRenderer ()
 Creates a GPU mesh instancing renderer.
void deleteRenderer (IRenderer *r)
 Deletes and removes a renderer.
CZonecreateZone (EZone type)
 Creates a zone based on type enum.
CPointcreatePointZone ()
 Creates a Point zone at origin.
CPointcreatePointZone (const core::vector3df &pos)
 Creates a Point zone at specific position.
CSpherecreateSphereZone (const core::vector3df &pos, float radius)
 Creates a Sphere zone.
CAABoxcreateAABoxZone (const core::vector3df &pos, const core::vector3df &dimension)
 Creates an Axis-Aligned Box zone.
CCylindercreateCylinderZone (const core::vector3df &pos, const core::vector3df &direction, float radius, float length)
 Creates a Cylinder zone.
CLinecreateLineZone (const core::vector3df &p1, const core::vector3df &p2)
 Creates a Line segment zone.
CPolyLinecreatePolyLineZone (const core::array< core::vector3df > &points)
 Creates a multi-segment PolyLine zone.
CRingcreateRingZone (const core::vector3df &pos, const core::vector3df &normal, float minRadius, float maxRadius)
 Creates a 2D Ring zone in 3D space.
void deleteZone (CZone *z)
 Deletes and removes a zone.
CEmittercreateEmitter (const std::wstring &attributeName)
 Creates an emitter by its class name (for XML loading).
CZonecreateZone (const std::wstring &attributeName)
 Creates a zone by its class name (for XML loading).
IRenderercreateRenderer (const std::wstring &attributeName)
 Creates a renderer by its class name (for XML loading).

Protected Attributes

std::vector< IRenderer * > m_renderers
std::vector< CZone * > m_zones
std::vector< CEmitter * > m_emitters

Detailed Description

Factory class for creating emitters, zones, and renderers.

Accessed via CParticleComponent::getParticleFactory().


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