![]() |
Plasma Engine
2.0
|
Base class for stream spawners that are used by plParticleEmitter's. More...
#include <ParticleEmitter.h>

Protected Member Functions | |
| virtual bool | IsContinuous () const |
| virtual void | Process (plUInt64 uiNumElements) final override |
| The actual method which processes the data, will be called with the number of elements to process. | |
| virtual plUInt32 | ComputeSpawnCount (const plTime &tDiff)=0 |
| Called once per update. Must return how many new particles are to be spawned. | |
| virtual plParticleEmitterState | IsFinished ()=0 |
| Called before ComputeSpawnCount(). Should return true, if the emitter will never spawn any more particles. | |
| virtual void | ProcessEventQueue (plParticleEventQueue queue) |
Protected Member Functions inherited from plParticleModule | |
| virtual void | OnReset () |
| Called by Reset() | |
| void | CreateStream (const char *szName, plProcessingStream::DataType Type, plProcessingStream **ppStream, bool bWillInitializeStream) |
| virtual plResult | UpdateStreamBindings () final override |
| Internal method which needs to be implemented, gets the concrete stream bindings. This is called every time the streams are resized. Implementations should check that their required streams exist and are of the correct data types. | |
| plRandom & | GetRNG () const |
Protected Member Functions inherited from plProcessingStreamProcessor | |
| virtual void | InitializeElements (plUInt64 uiStartIndex, plUInt64 uiNumElements)=0 |
| This method needs to be implemented in order to initialize new elements to specific values. | |
Friends | |
| class | plParticleSystemInstance |
| class | plParticleEmitterFactory |
Additional Inherited Members | |
Public Member Functions inherited from plParticleModule | |
| virtual void | CreateRequiredStreams ()=0 |
| virtual void | QueryOptionalStreams () |
| void | Reset (plParticleSystemInstance *pOwner) |
| virtual void | OnFinalize () |
| Called after everything is set up. | |
| plParticleSystemInstance * | GetOwnerSystem () |
| const plParticleSystemInstance * | GetOwnerSystem () const |
| plParticleEffectInstance * | GetOwnerEffect () const |
| virtual void | RequestRequiredWorldModulesForCache (plParticleWorldModule *pParticleModule) |
| Override this to cache world module pointers for later (through plParticleWorldModule::GetCachedWorldModule()). | |
Public Member Functions inherited from plProcessingStreamProcessor | |
| plProcessingStreamProcessor () | |
| Base constructor. | |
| virtual | ~plProcessingStreamProcessor () |
| Base destructor. | |
Public Member Functions inherited from plReflectedClass | |
| virtual const plRTTI * | GetDynamicRTTI () const |
| bool | IsInstanceOf (const plRTTI *pType) const |
| Returns whether the type of this instance is of the given type or derived from it. | |
| template<typename T > | |
| PL_ALWAYS_INLINE bool | IsInstanceOf () const |
| Returns whether the type of this instance is of the given type or derived from it. | |
Static Public Member Functions inherited from plNoBase | |
| static const plRTTI * | GetStaticRTTI () |
Public Attributes inherited from plProcessingStreamProcessor | |
| float | m_fPriority = 0.0f |
| Used for sorting processors, to ensure a certain order. Lower priority == executed first. | |
Protected Attributes inherited from plProcessingStreamProcessor | |
| plProcessingStreamGroup * | m_pStreamGroup = nullptr |
| Back pointer to the stream group - will be set to the owner stream group when adding the stream processor to the group. Can be used to get stream pointers in UpdateStreamBindings();. | |
Base class for stream spawners that are used by plParticleEmitter's.
|
protectedpure virtual |
Called once per update. Must return how many new particles are to be spawned.
Implemented in plParticleEmitter_Burst, plParticleEmitter_Continuous, plParticleEmitter_Distance, and plParticleEmitter_OnEvent.
|
protectedpure virtual |
Called before ComputeSpawnCount(). Should return true, if the emitter will never spawn any more particles.
Implemented in plParticleEmitter_Burst, plParticleEmitter_Continuous, plParticleEmitter_Distance, and plParticleEmitter_OnEvent.
|
finaloverrideprotectedvirtual |
The actual method which processes the data, will be called with the number of elements to process.
Implements plProcessingStreamProcessor.