Plasma Engine
2.0
Loading...
Searching...
No Matches
ParticleBehavior_SizeCurve.h
1
#pragma once
2
3
#include <Core/Curves/Curve1DResource.h>
4
#include <ParticlePlugin/Behavior/ParticleBehavior.h>
5
6
class
PL_PARTICLEPLUGIN_DLL
plParticleBehaviorFactory_SizeCurve
final :
public
plParticleBehaviorFactory
7
{
8
PL_ADD_DYNAMIC_REFLECTION(
plParticleBehaviorFactory_SizeCurve
,
plParticleBehaviorFactory
);
9
10
public
:
11
virtual
const
plRTTI
* GetBehaviorType()
const override
;
12
virtual
void
CopyBehaviorProperties(
plParticleBehavior
* pObject,
bool
bFirstTime)
const override
;
13
14
virtual
void
Save(
plStreamWriter
& inout_stream)
const override
;
15
virtual
void
Load(
plStreamReader
& inout_stream)
override
;
16
17
void
SetSizeCurveFile(
const
char
* szFile);
18
const
char
* GetSizeCurveFile()
const
;
19
20
float
m_fBaseSize;
21
float
m_fCurveScale;
22
plCurve1DResourceHandle
m_hCurve;
23
};
24
25
class
PL_PARTICLEPLUGIN_DLL
plParticleBehavior_SizeCurve
final :
public
plParticleBehavior
26
{
27
PL_ADD_DYNAMIC_REFLECTION(
plParticleBehavior_SizeCurve
,
plParticleBehavior
);
28
29
public
:
30
float
m_fBaseSize;
31
float
m_fCurveScale;
32
plCurve1DResourceHandle
m_hCurve;
33
34
virtual
void
CreateRequiredStreams()
override
;
35
36
protected
:
37
virtual
void
InitializeElements(plUInt64 uiStartIndex, plUInt64 uiNumElements)
override
;
38
virtual
void
Process(plUInt64 uiNumElements)
override
;
39
40
plProcessingStream
* m_pStreamLifeTime =
nullptr
;
41
plProcessingStream
* m_pStreamSize =
nullptr
;
42
plUInt8 m_uiFirstToUpdate = 0;
43
plUInt8 m_uiCurrentUpdateInterval = 8;
44
};
plParticleBehavior_SizeCurve
Definition
ParticleBehavior_SizeCurve.h:26
plParticleBehaviorFactory_SizeCurve
Definition
ParticleBehavior_SizeCurve.h:7
plParticleBehaviorFactory
Base class for all particle behaviors.
Definition
ParticleBehavior.h:14
plParticleBehavior
Definition
ParticleBehavior.h:30
plProcessingStream
A single stream in a stream group holding contiguous data of a given type.
Definition
ProcessingStream.h:8
plRTTI
This class holds information about reflected types. Each instance represents one type that is known t...
Definition
RTTI.h:30
plStreamReader
Interface for binary in (read) streams.
Definition
Stream.h:22
plStreamWriter
Interface for binary out (write) streams.
Definition
Stream.h:107
plTypedResourceHandle< class plCurve1DResource >
Code
EnginePlugins
ParticlePlugin
Behavior
ParticleBehavior_SizeCurve.h
Generated by
1.11.0