Plasma Engine  2.0
Loading...
Searching...
No Matches
ParticleBehavior_Bounds.h
1#pragma once
2
3#include <ParticlePlugin/Behavior/ParticleBehavior.h>
4
6
7class PL_PARTICLEPLUGIN_DLL plParticleBehaviorFactory_Bounds final : public plParticleBehaviorFactory
8{
10
11public:
13
14 virtual const plRTTI* GetBehaviorType() const override;
15 virtual void CopyBehaviorProperties(plParticleBehavior* pObject, bool bFirstTime) const override;
16
17 virtual void Save(plStreamWriter& inout_stream) const override;
18 virtual void Load(plStreamReader& inout_stream) override;
19
20 plVec3 m_vPositionOffset;
21 plVec3 m_vBoxExtents;
22 plEnum<plParticleOutOfBoundsMode> m_OutOfBoundsMode;
23};
24
25
26class PL_PARTICLEPLUGIN_DLL plParticleBehavior_Bounds final : public plParticleBehavior
27{
28 PL_ADD_DYNAMIC_REFLECTION(plParticleBehavior_Bounds, plParticleBehavior);
29
30public:
31 plVec3 m_vPositionOffset;
32 plVec3 m_vBoxExtents;
33 plEnum<plParticleOutOfBoundsMode> m_OutOfBoundsMode;
34
35protected:
36 virtual void Process(plUInt64 uiNumElements) override;
37
38 virtual void CreateRequiredStreams() override;
39 virtual void QueryOptionalStreams() override;
40
41 plProcessingStream* m_pStreamPosition = nullptr;
42 plProcessingStream* m_pStreamLastPosition = nullptr;
43};
Definition ParticleBehavior_Bounds.h:27
Definition ParticleBehavior_Bounds.h:8
Base class for all particle behaviors.
Definition ParticleBehavior.h:14
Definition ParticleBehavior.h:30
Definition PhysicsWorldModule.h:109
A single stream in a stream group holding contiguous data of a given type.
Definition ProcessingStream.h:8
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
Interface for binary in (read) streams.
Definition Stream.h:22
Interface for binary out (write) streams.
Definition Stream.h:107
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37