Simulant
21.12-1292
A portable game engine for Windows, OSX, Linux, Dreamcast, and PSP
simulant
assets
particles
size_manipulator.h
1
#pragma once
2
3
#include "../particle_script.h"
4
#include "curves.h"
5
6
namespace
smlt
{
7
8
class
SizeManipulator
:
public
Manipulator
{
9
public
:
10
SizeManipulator
(
ParticleScript
* script):
11
Manipulator
(script,
"scalar"
) {}
12
13
void
set_bell_curve(
float
peak,
float
deviation)
override
{
14
is_bell_curve_ =
true
;
15
is_linear_curve_ =
false
;
16
peak_ = peak;
17
deviation_ = deviation;
18
19
Manipulator::set_bell_curve(peak, deviation);
20
}
21
22
void
set_linear_curve(
float
rate)
override
{
23
is_linear_curve_ =
true
;
24
is_bell_curve_ =
false
;
25
26
rate_ = rate;
27
28
Manipulator::set_linear_curve(rate);
29
}
30
31
private
:
32
void
do_manipulate(
ParticleSystem
* system,
Particle
* particles, std::size_t particle_count,
float
dt)
const override
;
33
34
bool
is_bell_curve_ =
false
;
35
bool
is_linear_curve_ =
false
;
36
37
float
peak_ = 0.0f;
38
float
rate_ = 0.0f;
39
float
deviation_ = 0.0f;
40
};
41
42
}
smlt::SizeManipulator
Definition:
size_manipulator.h:8
smlt::Manipulator
Definition:
particle_script.h:38
smlt
Definition:
animation.cpp:25
smlt::ParticleSystem
Definition:
particle_system.h:30
smlt::Particle
Definition:
particle.h:9
smlt::ParticleScript
Definition:
particle_script.h:71
Generated by
1.8.20