summaryrefslogtreecommitdiff
path: root/Runtime/Graphics/ParticleSystem/Modules/SizeModule.h
blob: 3c92634aaf0afb0a261e193b91e3c7691e3d075f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef SHURIKENMODULESIZE_H
#define SHURIKENMODULESIZE_H

#include "ParticleSystemModule.h"
#include "Runtime/Graphics/ParticleSystem/ParticleSystemCurves.h"

class SizeModule : public ParticleSystemModule
{
public:
	DECLARE_MODULE (SizeModule)	
	
	SizeModule();
	
	void Update (const ParticleSystemParticles& ps, float* tempSize, size_t fromIndex, size_t toIndex);

	void CheckConsistency () {};

	inline MinMaxCurve& GetCurve() { return m_Curve; }

	template<class TransferFunction>
	void Transfer (TransferFunction& transfer);
	
private:	
	MinMaxCurve m_Curve;
};

#endif // SHURIKENMODULESIZE_H