31 ParticleSystemGroup::ParticleSystemGroup(
const string&
id,
bool autoEmit,
bool contributesShadows,
bool receivesShadows,
const vector<ParticleSystem*>& particleSystems) :
32 id(id), autoEmit(autoEmit), contributesShadows(contributesShadows), receivesShadows(receivesShadows), particleSystems(particleSystems)
38 this->contributesShadows =
false;
39 this->receivesShadows =
false;
89 if (this->enabled ==
enabled)
return;
114 for (
auto particleSystem:
particleSystems) particleSystem->updateParticles();
124 if (this->frustumCulling ==
true) {
void set(float r, float g, float b, float a)
Sets this color by its components.
unique_ptr< Partition > partition
void updateEntityRegistration(Entity *entity)
Updates registration of engine by performing deregisterEntity() and registerEntity()
void deregisterEntity(Entity *entity)
Removes a entity from internal lists, those entities can also be sub entities from entity hierarchy o...
void registerEntity(Entity *entity)
Adds a entity to internal lists, those entities can also be sub entities from entity hierarchy or par...
void setParentEntity(Entity *entity)
Set parent entity, needs to be called before adding to engine.
Fog particle system entity to be used with engine class.
Object particle system entity to be used with engine class.
Object to be used with engine class.
Particle system group, which combines several particle systems into a group, to be used with engine c...
BoundingBox * getBoundingBox() override
void updateParticles() override
Updates the particle entity.
void dispose() override
Dispose this entity.
vector< ParticleSystem * > particleSystems
Transform parentTransform
BoundingBox worldBoundingBox
void initialize() override
Initiates this entity.
void update() override
Computes transform matrix.
Matrix4x4 entityTransformMatrix
void setTransform(const Transform &transform) override
Set transform.
~ParticleSystemGroup()
Destructor.
void setFrustumCulling(bool frustumCulling) override
Set frustum culling.
void setAutoEmit(bool autoEmit) override
Set auto emit.
void setEngine(Engine *engine) override
Set up engine.
void setEnabled(bool enabled) override
Enable/disable rendering.
void setRenderer(Renderer *renderer) override
Set up renderer.
Point particle system entity to be used with engine class.
Axis aligned bounding box used for frustum, this is not directly connectable with physics engine.
void fromBoundingVolumeWithTransformMatrix(BoundingBox *original, const Matrix4x4 &transformMatrix)
Create bounding volume from given original(of same type) with applied transform matrix.
Matrix4x4 & identity()
Creates identity matrix.
Particle system entity interface.