OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::EmitterDefData Class Referenceabstract

EmitterDefData are per ParticleSystemDef. More...

#include <OgreEmitter2.h>

+ Inheritance diagram for Ogre::EmitterDefData:

Public Member Functions

 EmitterDefData ()
 
virtual void _cloneFrom (const EmitterDefData *original)
 
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

Constructor & Destructor Documentation

◆ EmitterDefData()

Ogre::EmitterDefData::EmitterDefData ( )

Member Function Documentation

◆ _cloneFrom()

virtual void Ogre::EmitterDefData::_cloneFrom ( const EmitterDefData original)
virtual

◆ _getEmissionCount()

unsigned short Ogre::EmitterDefData::_getEmissionCount ( Real  timeElapsed)
finalvirtual

Override so we don't use it accidentally (we use genEmissionCount() instead).

Implements Ogre::ParticleEmitter.

◆ asParticleEmitter() [1/2]

ParticleEmitter* Ogre::EmitterDefData::asParticleEmitter ( )
inline

ParticleEmitter is a protected base class of EmitterDefData.

This is because the new system was designed to be backwards compatible as much as possible with old the system, however it may not map 1:1. Thus in order to access the old interface, one must cast explicitly.

◆ asParticleEmitter() [2/2]

const ParticleEmitter* Ogre::EmitterDefData::asParticleEmitter ( ) const
inline

◆ genEmissionCount()

uint32 Ogre::EmitterDefData::genEmissionCount ( Real  timeSinceLast,
EmitterInstanceData instanceData 
) const

Must be called by 1 thread.

Parameters
timeSinceLast
instanceData[in/out]
Returns
Total number of particles to emit.

◆ getInitialDimensions()

const Vector2& Ogre::EmitterDefData::getInitialDimensions ( ) const
inline

◆ initEmittedParticles()

virtual void Ogre::EmitterDefData::initEmittedParticles ( ParticleCpuData  cpuData,
const EmittedParticle newHandles,
size_t  numParticles 
)
pure virtual

Initializes particles Can be called by multiple threads.

Parameters
cpuData
newHandles
numParticlesNumber of particles to initialize.

Implemented in Ogre::RingEmitter2, Ogre::PointEmitter2, Ogre::HollowEllipsoidEmitter2, Ogre::EllipsoidEmitter2, Ogre::CylinderEmitter2, and Ogre::BoxEmitter2.

◆ setInitialDimensions()

void Ogre::EmitterDefData::setInitialDimensions ( const Vector2 dim)

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