OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::AreaEmitter2 Class Reference

Particle emitter which emits particles randomly from points inside an area (box, sphere, ellipsoid whatever subclasses choose to be). More...

#include <OgreAreaEmitter2.h>

+ Inheritance diagram for Ogre::AreaEmitter2:

Public Member Functions

void _cloneFrom (const EmitterDefData *original) override
 
Real getDepth () const
 Gets the depth (local y size) of the emitter. More...
 
Real getHeight () const
 Gets the height (local y size) of the emitter. More...
 
Real getWidth () const
 Gets the width (local x size) of the emitter. More...
 
void setDepth (Real Depth)
 Sets the depth (local y size) of the emitter. More...
 
void setDirection (const Vector3 &direction) override
 Overloaded to update the trans. More...
 
void setHeight (Real Height)
 Sets the height (local y size) of the emitter. More...
 
void setSize (const Vector3 &size)
 Sets the size of the area from which particles are emitted. More...
 
void setSize (Real x, Real y, Real z)
 Sets the size of the area from which particles are emitted. More...
 
void setWidth (Real width)
 Sets the width (local x size) of the emitter. More...
 
- Public Member Functions inherited from Ogre::EmitterDefData
 EmitterDefData ()
 
unsigned short _getEmissionCount (Real timeElapsed) final
 Override so we don't use it accidentally (we use genEmissionCount() instead). More...
 
ParticleEmitterasParticleEmitter ()
 ParticleEmitter is a protected base class of EmitterDefData. More...
 
const ParticleEmitterasParticleEmitter () const
 
uint32 genEmissionCount (Real timeSinceLast, EmitterInstanceData &instanceData) const
 Must be called by 1 thread. More...
 
const Vector2getInitialDimensions () const
 
virtual void initEmittedParticles (ParticleCpuData cpuData, const EmittedParticle *newHandles, size_t numParticles)=0
 Initializes particles Can be called by multiple threads. More...
 
void setInitialDimensions (const Vector2 &dim)
 

Detailed Description

Particle emitter which emits particles randomly from points inside an area (box, sphere, ellipsoid whatever subclasses choose to be).

Remarks
This is an empty superclass and needs to be subclassed. Basic particle emitter emits particles from/in an (unspecified) area. The initial direction of these particles can either be a single direction (i.e. a line), a random scattering inside a cone, or a random scattering in all directions, depending the 'angle' parameter, which is the angle across which to scatter the particles either side of the base direction of the emitter.

Member Function Documentation

◆ _cloneFrom()

void Ogre::AreaEmitter2::_cloneFrom ( const EmitterDefData original)
overridevirtual

Reimplemented from Ogre::EmitterDefData.

Reimplemented in Ogre::RingEmitter2, and Ogre::HollowEllipsoidEmitter2.

◆ getDepth()

Real Ogre::AreaEmitter2::getDepth ( ) const

Gets the depth (local y size) of the emitter.

◆ getHeight()

Real Ogre::AreaEmitter2::getHeight ( ) const

Gets the height (local y size) of the emitter.

◆ getWidth()

Real Ogre::AreaEmitter2::getWidth ( ) const

Gets the width (local x size) of the emitter.

◆ setDepth()

void Ogre::AreaEmitter2::setDepth ( Real  Depth)

Sets the depth (local y size) of the emitter.

◆ setDirection()

void Ogre::AreaEmitter2::setDirection ( const Vector3 direction)
overridevirtual

Overloaded to update the trans.

matrix

Reimplemented from Ogre::ParticleEmitter.

◆ setHeight()

void Ogre::AreaEmitter2::setHeight ( Real  Height)

Sets the height (local y size) of the emitter.

◆ setSize() [1/2]

void Ogre::AreaEmitter2::setSize ( const Vector3 size)

Sets the size of the area from which particles are emitted.

Parameters
sizeVector describing the size of the area. The area extends around the center point by half the x, y and z components of this vector. The box is aligned such that it's local Z axis points along it's direction (see setDirection)

◆ setSize() [2/2]

void Ogre::AreaEmitter2::setSize ( Real  x,
Real  y,
Real  z 
)

Sets the size of the area from which particles are emitted.

Parameters
x,y,zIndividual axis lengths describing the size of the area. The area extends around the center point by half the x, y and z components of this vector. The box is aligned such that it's local Z axis points along it's direction (see setDirection)

◆ setWidth()

void Ogre::AreaEmitter2::setWidth ( Real  width)

Sets the width (local x size) of the emitter.


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