Plasma Engine  2.0
Loading...
Searching...
No Matches
ParticleInitializer_VelocityCone.h
1#pragma once
2
3#include <Foundation/Types/VarianceTypes.h>
4#include <ParticlePlugin/Initializer/ParticleInitializer.h>
5
7{
9
10public:
12
13 virtual const plRTTI* GetInitializerType() const override;
14 virtual void CopyInitializerProperties(plParticleInitializer* pInitializer, bool bFirstTime) const override;
15
16 virtual void Save(plStreamWriter& inout_stream) const override;
17 virtual void Load(plStreamReader& inout_stream) override;
18
19 virtual void QueryFinalizerDependencies(plSet<const plRTTI*>& inout_finalizerDeps) const override;
20
21public:
22 plAngle m_Angle;
23 plVarianceTypeFloat m_Speed;
24};
25
26
27class PL_PARTICLEPLUGIN_DLL plParticleInitializer_VelocityCone final : public plParticleInitializer
28{
30
31public:
32 plAngle m_Angle;
33 plVarianceTypeFloat m_Speed;
34
35 virtual void CreateRequiredStreams() override;
36
37protected:
38 virtual void InitializeElements(plUInt64 uiStartIndex, plUInt64 uiNumElements) override;
39
40 plProcessingStream* m_pStreamVelocity;
41};
Float wrapper struct for a safe usage and conversions of angles.
Definition Angle.h:10
Definition ParticleInitializer_VelocityCone.h:28
Definition ParticleInitializer_VelocityCone.h:7
Base class for all particle emitters.
Definition ParticleInitializer.h:16
Base class for stream spawners that are used by plParticleEmitter's.
Definition ParticleInitializer.h:34
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
Definition Set.h:238
Interface for binary in (read) streams.
Definition Stream.h:22
Interface for binary out (write) streams.
Definition Stream.h:107
Definition VarianceTypes.h:31