ezEngine  Release 25.03
ezParticleBehavior_Raycast Class Referencefinal
Inheritance diagram for ezParticleBehavior_Raycast:

Public Member Functions

virtual void CreateRequiredStreams () override
 
virtual void QueryOptionalStreams () override
 
- Public Member Functions inherited from ezParticleModule
void Reset (ezParticleSystemInstance *pOwner)
 
virtual void OnFinalize ()
 Called after everything is set up.
 
ezParticleSystemInstanceGetOwnerSystem ()
 
const ezParticleSystemInstanceGetOwnerSystem () const
 
ezParticleEffectInstanceGetOwnerEffect () const
 
- Public Member Functions inherited from ezProcessingStreamProcessor
 ezProcessingStreamProcessor ()
 Base constructor.
 
virtual ~ezProcessingStreamProcessor ()
 Base destructor.
 
- Public Member Functions inherited from ezReflectedClass
virtual const ezRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const ezRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
EZ_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Public Attributes

ezEnum< ezParticleRaycastHitReactionm_Reaction
 
ezUInt8 m_uiCollisionLayer = 0
 
ezTempHashedString m_sOnCollideEvent
 
float m_fBounceFactor = 0.5f
 
float m_fSlideFactor = 0.5f
 
float m_fSizeFactor = 0.1f
 
- Public Attributes inherited from ezProcessingStreamProcessor
float m_fPriority = 0.0f
 Used for sorting processors, to ensure a certain order. Lower priority == executed first.
 

Protected Member Functions

virtual void Process (ezUInt64 uiNumElements) override
 The actual method which processes the data, will be called with the number of elements to process. More...
 
void RequestRequiredWorldModulesForCache (ezParticleWorldModule *pParticleModule) override
 Override this to cache world module pointers for later (through ezParticleWorldModule::GetCachedWorldModule()).
 
- Protected Member Functions inherited from ezParticleBehavior
virtual void InitializeElements (ezUInt64 uiStartIndex, ezUInt64 uiNumElements) override
 This method needs to be implemented in order to initialize new elements to specific values.
 
virtual void StepParticleSystem (const ezTime &tDiff, ezUInt32 uiNumNewParticles)
 
- Protected Member Functions inherited from ezParticleModule
virtual void OnReset ()
 Called by Reset()
 
void CreateStream (const char *szName, ezProcessingStream::DataType Type, ezProcessingStream **ppStream, bool bWillInitializeStream)
 
virtual ezResult 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.
 
ezRandomGetRNG () const
 

Protected Attributes

ezPhysicsWorldModuleInterfacem_pPhysicsModule
 
ezProcessingStreamm_pStreamPosition = nullptr
 
ezProcessingStreamm_pStreamLastPosition = nullptr
 
ezProcessingStreamm_pStreamVelocity = nullptr
 
const ezProcessingStreamm_pStreamSize = nullptr
 
- Protected Attributes inherited from ezParticleBehavior
ezTime m_TimeDiff
 
- Protected Attributes inherited from ezProcessingStreamProcessor
ezProcessingStreamGroupm_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 ezParticleBehaviorFactory_Raycast
 

Additional Inherited Members

- Static Public Member Functions inherited from ezNoBase
static const ezRTTIGetStaticRTTI ()
 

Member Function Documentation

◆ Process()

void ezParticleBehavior_Raycast::Process ( ezUInt64  uiNumElements)
overrideprotectedvirtual

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

Todo:
Get current element index from iterator ?

Implements ezProcessingStreamProcessor.


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