![]() |
Plasma Engine
2.0
|
Base class for all particle streams. More...
#include <ParticleStream.h>
Protected Member Functions | |
virtual void | Initialize (plParticleSystemInstance *pOwner) |
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. | |
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 void | InitializeElements (plUInt64 uiStartIndex, plUInt64 uiNumElements) override |
The default implementation initializes all data with zero. | |
Protected Attributes | |
plProcessingStream * | m_pStream |
![]() | |
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();. | |
Friends | |
class | plParticleSystemInstance |
class | plParticleStreamFactory |
Additional Inherited Members | |
![]() | |
plProcessingStreamProcessor () | |
Base constructor. | |
virtual | ~plProcessingStreamProcessor () |
Base destructor. | |
![]() | |
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 const plRTTI * | GetStaticRTTI () |
![]() | |
float | m_fPriority = 0.0f |
Used for sorting processors, to ensure a certain order. Lower priority == executed first. | |
Base class for all particle streams.
|
overrideprotectedvirtual |
The default implementation initializes all data with zero.
Implements plProcessingStreamProcessor.
Reimplemented in plParticleStream_Axis, plParticleStream_Color, plParticleStream_Position, plParticleStream_Size, plParticleStream_Variation, and plParticleStream_Velocity.
|
inlinefinaloverrideprotectedvirtual |
The actual method which processes the data, will be called with the number of elements to process.
Implements plProcessingStreamProcessor.
|
finaloverrideprotectedvirtual |
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.
Implements plProcessingStreamProcessor.