XII Release 0.1.0
Loading...
Searching...
No Matches
xiiProcessingStreamProcessor Class Referenceabstract

Base class for all stream processor implementations. More...

#include <ProcessingStreamProcessor.h>

Inheritance diagram for xiiProcessingStreamProcessor:
[legend]

Public Member Functions

 xiiProcessingStreamProcessor ()
 Base constructor.
virtual ~xiiProcessingStreamProcessor ()
 Base destructor.
Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTI * GetDynamicRTTI () const
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.

Public Attributes

float m_fPriority = 0.0f
 Used for sorting processors, to ensure a certain order. Lower priority == executed first.

Protected Member Functions

virtual xiiResult UpdateStreamBindings ()=0
virtual void InitializeElements (xiiUInt64 uiStartIndex, xiiUInt64 uiNumElements)=0
 This method needs to be implemented in order to initialize new elements to specific values.
virtual void Process (xiiUInt64 uiNumElements)=0
 The actual method which processes the data, will be called with the number of elements to process.

Protected Attributes

xiiProcessingStreamGroup * m_pStreamGroup = nullptr

Friends

class xiiProcessingStreamGroup

Additional Inherited Members

Static Public Member Functions inherited from xiiNoBase
static const xiiRTTI * GetStaticRTTI ()

Detailed Description

Base class for all stream processor implementations.

Member Function Documentation

◆ InitializeElements()

virtual void xiiProcessingStreamProcessor::InitializeElements ( xiiUInt64 uiStartIndex,
xiiUInt64 uiNumElements )
protectedpure virtual

This method needs to be implemented in order to initialize new elements to specific values.

Implemented in xiiProcessingStreamSpawnerZeroInitialized.

◆ Process()

virtual void xiiProcessingStreamProcessor::Process ( xiiUInt64 uiNumElements)
protectedpure virtual

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

Implemented in xiiProcessingStreamSpawnerZeroInitialized.

◆ UpdateStreamBindings()

virtual xiiResult xiiProcessingStreamProcessor::UpdateStreamBindings ( )
protectedpure virtual

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.

Implemented in xiiProcessingStreamSpawnerZeroInitialized.

Member Data Documentation

◆ m_pStreamGroup

xiiProcessingStreamGroup* xiiProcessingStreamProcessor::m_pStreamGroup = nullptr
protected

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();


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/Foundation/DataProcessing/Stream/ProcessingStreamProcessor.h
  • /home/runner/work/XII/XII/Source/Engine/Foundation/DataProcessing/Stream/Implementation/ProcessingStreamProcessor.cpp