-
Notifications
You must be signed in to change notification settings - Fork 0
/
ParticleEngineBuilder.cpp
50 lines (46 loc) · 2.84 KB
/
ParticleEngineBuilder.cpp
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "ParticleEngineBuilder.h"
float gBuilder;
float rMinBuilder;
float blackHoleMassBuilder;
float blackHoleRadiusBuilder;
float disappearingRadiusBuilder;
bool collisionsBuilder;
int numberOfThreadsBuilder;
float minSpawnRadiusBuilder;
int maxSpawnRadiusBuilder;
float spawnVelocityBuilder;
int maxZSpawnDistanceBuilder;
int numberOfParticlesBuilder;
int integratorBuilder;
float gravityCutOffBuilder;
ParticleEngineBuilder::ParticleEngineBuilder(){
gBuilder=30.0f;
rMinBuilder = 5.0f;
blackHoleMassBuilder = 0.0f;
blackHoleRadiusBuilder = 5.0f;
disappearingRadiusBuilder = 100000.0f;
collisionsBuilder = true;
numberOfThreadsBuilder = 1;
numberOfParticlesBuilder=150;
minSpawnRadiusBuilder = 70;
maxSpawnRadiusBuilder = 270;
spawnVelocityBuilder = 12.0f;
maxZSpawnDistanceBuilder = 10;
integratorBuilder = 4;
gravityCutOffBuilder = .0001f;
}
ParticleEngineBuilder* ParticleEngineBuilder::setGravitationalConstant(float value){gBuilder=value; return this;}
ParticleEngineBuilder* ParticleEngineBuilder::setMinimumRadius(float value){rMinBuilder = value; return this;}
ParticleEngineBuilder* ParticleEngineBuilder::setBlackHoleMass(float value){blackHoleMassBuilder = value; return this;}
ParticleEngineBuilder* ParticleEngineBuilder::setBlackHoleRadius(float value){blackHoleRadiusBuilder = value; return this;}
ParticleEngineBuilder* ParticleEngineBuilder::setDisappearingRadius(float value){disappearingRadiusBuilder = value; return this;}
ParticleEngineBuilder* ParticleEngineBuilder::setCollisions(bool value){collisionsBuilder = value; return this;}
ParticleEngineBuilder* ParticleEngineBuilder::setNumberOfThreads(int value){numberOfThreadsBuilder= value; return this;}
ParticleEngineBuilder* ParticleEngineBuilder::setMinSpawnRadius(float value){minSpawnRadiusBuilder = value; return this;}
ParticleEngineBuilder* ParticleEngineBuilder::setmaxSpawnRadius(int value){maxSpawnRadiusBuilder = value; return this;}
ParticleEngineBuilder* ParticleEngineBuilder::setspawnVelocity(float value){spawnVelocityBuilder = value; return this;}
ParticleEngineBuilder* ParticleEngineBuilder::setmaxZSpawnDistance(int value){maxZSpawnDistanceBuilder = value; return this;}
ParticleEngineBuilder* ParticleEngineBuilder::setnumberOfParticles(int value){numberOfParticlesBuilder = value; return this;}
ParticleEngineBuilder* ParticleEngineBuilder::setIntegrator(int value){integratorBuilder = value; return this;}
ParticleEngineBuilder* ParticleEngineBuilder::setGravityCutOff(float value){gravityCutOffBuilder = value; return this;}
ParticleEngine ParticleEngineBuilder::Build(){ return ParticleEngine(gBuilder,rMinBuilder,blackHoleMassBuilder,blackHoleRadiusBuilder,disappearingRadiusBuilder,minSpawnRadiusBuilder,maxSpawnRadiusBuilder,spawnVelocityBuilder,maxZSpawnDistanceBuilder,numberOfThreadsBuilder,numberOfParticlesBuilder,collisionsBuilder,integratorBuilder, gravityCutOffBuilder);}