4#ifndef QQUICK3DPARTICLEEMITTER_H
5#define QQUICK3DPARTICLEEMITTER_H
18#include <QtQuick3D/private/qquick3dnode_p.h>
19#include <QtQuick3DParticles/private/qquick3dparticledirection_p.h>
20#include <QtQuick3DParticles/private/qquick3dparticlesystem_p.h>
21#include <QtQuick3DParticles/private/qquick3dparticlemodelparticle_p.h>
22#include <QtQuick3DParticles/private/qquick3dparticleabstractshape_p.h>
23#include <QtQuick3DParticles/private/qquick3dparticleemitburst_p.h>
24#include <QtQuick3DParticles/private/qquick3dparticledynamicburst_p.h>
37 Q_PROPERTY(
float emitRate READ emitRate WRITE setEmitRate NOTIFY emitRateChanged)
38 Q_PROPERTY(
int lifeSpan READ lifeSpan WRITE setLifeSpan NOTIFY lifeSpanChanged)
39 Q_PROPERTY(
int lifeSpanVariation READ lifeSpanVariation WRITE setLifeSpanVariation NOTIFY lifeSpanVariationChanged)
40 Q_PROPERTY(
float particleScale READ particleScale WRITE setParticleScale NOTIFY particleScaleChanged)
41 Q_PROPERTY(
float particleEndScale READ particleEndScale WRITE setParticleEndScale NOTIFY particleEndScaleChanged)
42 Q_PROPERTY(
float particleScaleVariation READ particleScaleVariation WRITE setParticleScaleVariation NOTIFY particleScaleVariationChanged)
43 Q_PROPERTY(
float particleEndScaleVariation READ particleEndScaleVariation WRITE setParticleEndScaleVariation NOTIFY particleEndScaleVariationChanged)
44 Q_PROPERTY(
QVector3D particleRotation READ particleRotation WRITE setParticleRotation NOTIFY particleRotationChanged)
45 Q_PROPERTY(
QVector3D particleRotationVariation READ particleRotationVariation WRITE setParticleRotationVariation NOTIFY particleRotationVariationChanged)
46 Q_PROPERTY(
QVector3D particleRotationVelocity READ particleRotationVelocity WRITE setParticleRotationVelocity NOTIFY particleRotationVelocityChanged)
47 Q_PROPERTY(
QVector3D particleRotationVelocityVariation READ particleRotationVelocityVariation WRITE setParticleRotationVelocityVariation NOTIFY particleRotationVariationVelocityChanged)
48 Q_PROPERTY(
float depthBias READ depthBias WRITE setDepthBias NOTIFY depthBiasChanged)
60 float emitRate()
const;
61 float particleScale()
const;
62 float particleEndScale()
const;
63 float particleScaleVariation()
const;
64 float particleEndScaleVariation()
const;
66 int lifeSpanVariation()
const;
70 QVector3D particleRotationVariation()
const;
71 QVector3D particleRotationVelocity()
const;
72 QVector3D particleRotationVelocityVariation()
const;
73 float depthBias()
const;
85 void setEmitRate(
float emitRate);
86 void setParticleScale(
float particleScale);
87 void setParticleEndScale(
float particleEndScale);
88 void setParticleScaleVariation(
float particleScaleVariation);
89 void setParticleEndScaleVariation(
float particleEndScaleVariation);
90 void setLifeSpan(
int lifeSpan);
91 void setLifeSpanVariation(
int lifeSpanVariation);
94 void setParticleRotation(
const QVector3D &particleRotation);
95 void setParticleRotationVariation(
const QVector3D &particleRotationVariation);
96 void setParticleRotationVelocity(
const QVector3D &particleRotationVelocity);
97 void setParticleRotationVelocityVariation(
const QVector3D &particleRotationVelocityVariation);
98 void setDepthBias(
float bias);
127 void generateEmitBursts();
129 void emitParticles();
133 int getEmitAmountFromDynamicBursts(
int triggerType = 0);
141 void clearEmitBursts();
143 void removeLastEmitBurst();
164 float m_emitRate = 0.0f;
166 int m_prevEmitTime = 0;
168 int m_prevBurstTime = 0;
169 float m_particleScale = 1.0f;
170 float m_particleEndScale = -1.0f;
171 float m_particleScaleVariation = 0.0f;
172 float m_particleEndScaleVariation = -1.0f;
173 int m_lifeSpan = 1000;
174 int m_lifeSpanVariation = 0;
175 float m_unemittedF = 0.0f;
176 float m_depthBias = 0.0f;
182 QVector3D m_particleRotationVelocityVariation;
183 bool m_enabled =
true;
185 bool m_burstGenerated =
false;
The QMatrix4x4 class represents a 4x4 transformation matrix in 3D space.
The QQmlListProperty class allows applications to expose list-like properties of QObject-derived clas...
The QQuaternion class represents a quaternion consisting of a vector and scalar.
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
void particleEndScaleChanged()
void particleRotationVariationChanged()
void lifeSpanVariationChanged()
void particleRotationVelocityChanged()
void particleScaleVariationChanged()
QQmlListProperty< QQuick3DParticleEmitBurst > emitBursts()
void particleEndScaleVariationChanged()
void particleScaleChanged()
void particleRotationChanged()
void particleRotationVariationVelocityChanged()
The QVector3D class represents a vector or vertex in 3D space.
Combined button and popup list for selecting options.
GLenum GLenum GLsizei count
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLuint GLenum GLenum transform
#define QML_NAMED_ELEMENT(NAME)
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent