81 return PointsParticleSystemInternal::isEnabled();
97 return PointsParticleSystemInternal::getEmitter();
101 return PointsParticleSystemInternal::getEffectColorAdd();
109 return PointsParticleSystemInternal::getEffectColorMul();
116 inline const string&
getId()
override {
117 return PointsParticleSystemInternal::getId();
121 return PointsParticleSystemInternal::isPickable();
125 PointsParticleSystemInternal::setPickable(
pickable);
129 return PointsParticleSystemInternal::isContributesShadows();
137 return PointsParticleSystemInternal::isReceivesShadows();
219 return PointsParticleSystemInternal::isActive();
223 return PointsParticleSystemInternal::isAutoEmit();
227 return PointsParticleSystemInternal::emitParticles();
234 return PointsParticleSystemInternal::getLocalTransform();
237 PointsParticleSystemInternal::setLocalTransform(transform);
240 return PointsParticleSystemInternal::getTexture();
Color 4 definition class.
@ ENTITYTYPE_POINTSPARTICLESYSTEM
Particle system group, which combines several particle systems into a group, to be used with engine c...
Point particle system entity to be used with engine class.
BoundingBox * getBoundingBox() override
const Vector3 & getTranslation() const override
void updateParticles() override
Updates the particle entity.
const Transform & getTransform() const override
void setLocalTransform(const Transform &transform) override
Set local transform.
RenderPass getRenderPass() const override
void dispose() override
Dispose this entity.
void setTranslation(const Vector3 &translation) override
Set translation.
void removeRotation(const int idx) override
Remove rotation.
Rotation & getRotation(const int idx) override
Get rotation at given index.
const int getRotationCount() const override
const Vector3 & getRotationAxis(const int idx) const override
void initialize() override
Initiates this entity.
bool isReceivesShadows() override
void setRenderPass(RenderPass renderPass) override
Set render pass.
void setReceivesShadows(bool receivesShadows) override
Enable/disable receives shadows.
void addRotation(const Vector3 &axis, const float angle) override
Add rotation.
void update() override
Update transform.
void setPickable(bool pickable) override
Set this entity pickable.
void setEffectColorMul(const Color4 &effectColorMul) override
Set effect color that will be multiplied with fragment color.
PointsParticleSystem(const string &id, ParticleEmitter *emitter, int32_t maxPoints, float pointSize, bool autoEmit, Texture *texture=nullptr, int32_t textureHorizontalSprites=1, int32_t textureVerticalSprites=1, float fps=10.0f)
Public constructor.
bool isPickable() override
ParticleEmitter * getEmitter() override
void setTransform(const Transform &transform) override
Set transform.
bool isAutoEmit() override
const Quaternion & getRotationsQuaternion() const override
void setScale(const Vector3 &scale) override
Set scale.
bool isContributesShadows() override
const Vector3 & getScale() const override
const float getRotationAngle(const int idx) const override
BoundingBox * getWorldBoundingBox() override
const Color4 & getEffectColorMul() const override
The effect color will be multiplied with fragment color.
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.
const Transform & getParentTransform() const override
const Matrix4x4 & getTransformMatrix() const override
const string & getId() override
int emitParticles() override
Adds particles to this particle entity at given position.
EntityType getEntityType() override
void setContributesShadows(bool contributesShadows) override
Enable/disable contributes shadows.
void setRotationAxis(const int idx, const Vector3 &axis) override
Set rotation axis.
bool isFrustumCulling() override
bool isEnabled() override
void setEffectColorAdd(const Color4 &effectColorAdd) override
Set effect color that will be added to fragment color.
const Color4 & getEffectColorAdd() const override
The effect color will be added to fragment color.
void setParentTransform(const Transform &parentTransform) override
Set parent transform.
const Transform & getLocalTransform() override
void setRenderer(Renderer *renderer) override
Set up renderer.
void setRotationAngle(const int idx, const float angle) override
Axis aligned bounding box used for frustum, this is not directly connectable with physics engine.
Transform parentTransform
unique_ptr< ParticleEmitter > emitter
BoundingBox worldBoundingBox
int32_t textureHorizontalSprites
int32_t textureVerticalSprites
Matrix4x4 entityTransformMatrix
Matrix4x4 class representing matrix4x4 mathematical structure and operations for 3d space.
Quaternion class representing quaternion mathematical structure and operations with x,...
Vector3 class representing vector3 mathematical structure and operations with x, y,...
Particle system entity interface.
Particle emitter interface.
#define FORBID_CLASS_COPY(CLASS)