4#ifndef QQUICK3DMODELBLENDPARTICLE_H
5#define QQUICK3DMODELBLENDPARTICLE_H
22#include <QtQuick3DParticles/private/qquick3dparticle_p.h>
23#include <QtQuick3DParticles/private/qquick3dparticlesystem_p.h>
24#include <QtQuick3DParticles/private/qquick3dparticledata_p.h>
25#include <QtQuick3D/private/qquick3dmodel_p.h>
26#include <QtQuick3D/private/qquick3dgeometry_p.h>
37 Q_PROPERTY(
int endTime READ endTime WRITE setEndTime NOTIFY endTimeChanged)
38 Q_PROPERTY(
QQuick3DNode *activationNode READ activationNode WRITE setActivationNode NOTIFY activationNodeChanged)
65 ModelBlendMode modelBlendMode()
const;
68 ModelBlendEmitMode emitMode()
const;
73 void setEndTime(
int endTime);
74 void setModelBlendMode(ModelBlendMode
mode);
76 void setEmitMode(ModelBlendEmitMode emitMode);
88 void itemChange(ItemChange,
const ItemChangeData &)
override;
89 void reset()
override;
90 bool lastParticle()
const;
94 void setParticleData(
int particleIndex,
98 float size,
float age);
99 QVector3D particleCenter(
int particleIndex)
const;
100 QVector3D particleEndPosition(
int particleIndex)
const;
101 QVector3D particleEndRotation(
int particleIndex)
const;
102 int randomIndex(
int particleIndex);
113 struct TriangleParticleData
121 int emitterIndex = -1;
124 struct PerEmitterData
126 int particleCount = 0;
127 int emitterIndex = -1;
134 void updateParticles();
135 void handleEndNodeChanged();
136 PerEmitterData &perEmitterData(
int emitterIndex);
143 PerEmitterData n_noPerEmitterData;
144 int m_nextEmitterIndex = 0;
145 bool m_bufferUpdated =
false;
154 int m_particleCount = 0;
155 ModelBlendMode m_modelBlendMode = Explode;
157 bool m_dataChanged =
true;
158 ModelBlendEmitMode m_emitMode = Sequential;
160 float m_maxTriangleRadius = 0.f;
DarwinBluetooth::DeviceInquiryDelegate * m_delegate
The QMatrix4x4 class represents a 4x4 transformation matrix in 3D space.
The QQmlComponent class encapsulates a QML component definition.
\qmltype Geometry \inherits Object3D \inqmlmodule QtQuick3D \instantiates QQuick3DGeometry
virtual void itemChange(ItemChange, const ItemChangeData &)
virtual void markAllDirty()
void activationNodeChanged()
void modelBlendModeChanged()
void blendFactorChanged()
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
virtual int nextCurrentIndex(const QQuick3DParticleEmitter *emitter)
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
virtual void doSetMaxAmount(int amount)
The QVector3D class represents a vector or vertex in 3D space.
The QVector4D class represents a vector or vertex in 4D space.
Combined button and popup list for selecting options.
GLenum GLuint GLintptr GLsizeiptr size
[1]
#define QML_NAMED_ELEMENT(NAME)
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
rect sceneTransform().map(QPointF(0
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent