Vis 2
Kinetic Visualization for 3D shape and structure
 All Classes Namespaces Functions Pages
ParticleManager.h
1 #pragma once
2 #include "IParticleGroup.h"
3 #include <vector>
4 #include <unordered_map>
5 #include "SurfaceAlignedParticleGroupProperties.h"
6 
7 #include <iostream>
8 #include <string>
9 #include "ParticleRenderer.h"
10 
11 using std::string;
12 using std::cerr;
13 using std::cout;
14 using std::endl;
15 
21 {
22 public:
23  static void Initialize();
24  static void Update();
25  static void AddParticleGroup(IParticleGroup*);
26  static int NumberOfParticles();
27  static SurfaceAlignedParticleGroupProperties* getProperties(string groupName);
28  static void setParticleProperties(string groupName, SurfaceAlignedParticleGroupProperties* props);
29 
30  static int LivingParticles;
31  static int MaximumNumberOfParticles;
32  static double SpawnTimer;
33  static double SpawnFrequency;
34  static double TimeToLive;
35 
36  static int NumberOfParticleGroups();
37 
38  static float repulsionWeight;
39  static float flockingWeight;
40 
41  static bool flockingOn;
42  static bool repulsionOn;
43 
44  //DEBUG particle Motion
45  static int faceNumber;
46 
47 private:
48  ~ParticleManager();
49  static std::vector<IParticleGroup*> ParticleGroups;
50  static std::unordered_map<string, SurfaceAlignedParticleGroupProperties*> ParticleGroupProperties;
51  static ParticleRenderer* ParticleRendererRef;
52 };
53 
Definition: ParticleManager.h:20
Definition: SurfaceAlignedParticleGroupProperties.h:20
Definition: IParticleGroup.h:9
Definition: ParticleRenderer.h:12