Voxellancer  0.3
A game about voxels in space
 All Classes Functions Pages
voxelparticlespawnbase.h
1 #pragma once
2 
3 #include <glm/glm.hpp>
4 
5 #include "property/property.h"
6 
7 class Transform;
8 class VoxelCluster;
9 
11 public:
12  void setPosition(const glm::vec3& position);
13  void setOrientation(const glm::quat& orientation);
14  void setScale(float scale, float randomization = 0.0f);
15  void setForce(float force, float randomization = 0.0f);
16  void setLifetime(float lifetime, float randomization = 0.0f);
17  void setColor(int color);
18  void setEmissiveness(float emissiveness);
19  void setImpactVector(const glm::vec3& impactVector);
20 
21 
22 protected:
23  VoxelParticleSpawnBase(const VoxelCluster* creator,
24  char* dampeningName,
25  char* angularDampeningName,
26  char* baseForceName,
27  char* angularBaseForceName);
28 
29  const VoxelCluster* m_creator;
30 
31  glm::vec3 m_position;
32 
33  float m_scale;
34  float m_scaleRandomization;
35 
36  float m_force;
37  float m_forceRandomization;
38 
39  float m_lifetime;
40  float m_lifetimeRandomization;
41 
42  int m_color;
43  float m_emissiveness;
44 
45  glm::vec3 m_impactVector;
46 
47  Property<float> m_particleDampening;
48  Property<float> m_particleAngularDampening;
49  Property<float> m_particleBaseForce;
50  Property<float> m_particleAngularBaseForce;
51 
52 
53  glm::vec3 createDirectionalSpeed();
54  glm::vec3 createAngularSpeed();
55  float createLifetime();
56 };
57 
Definition: voxelcluster.h:21
Definition: transform.h:9
Definition: voxelparticlespawnbase.h:10