Plasma Engine  2.0
Loading...
Searching...
No Matches
plParticleStream Class Reference

Base class for all particle streams. More...

#include <ParticleStream.h>

Inheritance diagram for plParticleStream:

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

plProcessingStreamm_pStream
 
- Protected Attributes inherited from plProcessingStreamProcessor
plProcessingStreamGroupm_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

- Public Member Functions inherited from plProcessingStreamProcessor
 plProcessingStreamProcessor ()
 Base constructor.
 
virtual ~plProcessingStreamProcessor ()
 Base destructor.
 
- Public Member Functions inherited from plReflectedClass
virtual const plRTTIGetDynamicRTTI () 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 plRTTIGetStaticRTTI ()
 
- Public Attributes inherited from plProcessingStreamProcessor
float m_fPriority = 0.0f
 Used for sorting processors, to ensure a certain order. Lower priority == executed first.
 

Detailed Description

Base class for all particle streams.

Member Function Documentation

◆ InitializeElements()

void plParticleStream::InitializeElements ( plUInt64 uiStartIndex,
plUInt64 uiNumElements )
overrideprotectedvirtual

◆ Process()

virtual void plParticleStream::Process ( plUInt64 uiNumElements)
inlinefinaloverrideprotectedvirtual

The actual method which processes the data, will be called with the number of elements to process.

Implements plProcessingStreamProcessor.

◆ UpdateStreamBindings()

plResult plParticleStream::UpdateStreamBindings ( )
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.


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