Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qquick3dparticle.cpp
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
5
7
25 : QQuick3DObject(parent)
26 , m_color(255, 255, 255, 255)
27 , m_colorVariation(0, 0, 0, 0)
28{
29}
30
32 : QQuick3DObject(dd, parent)
33 , m_color(255, 255, 255, 255)
34 , m_colorVariation(0, 0, 0, 0)
35{
36
37}
38
40{
41 if (m_system)
42 m_system->unRegisterParticle(this);
43}
44
46{
47 return m_system;
48}
49
51{
52 if (m_system == system)
53 return;
54
55 if (m_system)
56 m_system->unRegisterParticle(this);
57
58 m_system = system;
59 if (m_system)
60 m_system->registerParticle(this);
62}
63
78{
79 return m_maxAmount;
80}
81
83{
85 return;
86
88}
89
91{
92 m_maxAmount = amount;
94}
95
104{
105 return m_color;
106}
107
109{
110 return m_color.alphaF();
111}
112
113
115{
116 if (m_color == color)
117 return;
118
119 m_color = color;
121}
122
123// When setting color to undefined, reset particle
124// to use its own color instead
126{
127 m_color = QColor(255, 255, 255, 255);
128 m_colorVariation = QVector4D(0, 0, 0, 0);
129}
130
154{
155 return m_colorVariation;
156}
157
159{
160 if (m_colorVariation == colorVariation)
161 return;
162
163 m_colorVariation = colorVariation;
165}
166
192{
193 return m_unifiedColorVariation;
194}
195
197{
198 if (m_unifiedColorVariation == unified)
199 return;
200
201 m_unifiedColorVariation = unified;
203}
204
228{
229 return m_fadeInEffect;
230}
231
233{
234 if (m_fadeInEffect == fadeInEffect)
235 return;
236
237 m_fadeInEffect = fadeInEffect;
239}
240
252{
253 return m_fadeOutEffect;
254}
255
257{
258 if (m_fadeOutEffect == fadeOutEffect)
259 return;
260
261 m_fadeOutEffect = fadeOutEffect;
263}
264
280{
281 return m_fadeInDuration;
282}
283
285{
286 if (m_fadeInDuration == fadeInDuration)
287 return;
288
289 m_fadeInDuration = fadeInDuration;
291}
292
303{
304 return m_fadeOutDuration;
305}
306
308{
309 if (m_fadeOutDuration == fadeOutDuration)
310 return;
311
312 m_fadeOutDuration = fadeOutDuration;
314}
315
347
361
376{
377 return m_hasTransparency;
378}
379
381{
382 if (m_hasTransparency == transparency)
383 return;
384
385 m_hasTransparency = transparency;
387}
388
390{
391 if (m_alignMode == alignMode)
392 return;
393
396}
397
399{
400 if (m_alignTarget == alignPosition)
401 return;
402
403 m_alignTarget = alignPosition;
405}
406
432{
433 return m_sortMode;
434}
435
437{
438 if (m_sortMode == mode)
439 return;
440 m_sortMode = mode;
442}
443
445{
446 m_lastBurstIndex += amount;
447}
448
454
456{
458 // Make sure the default amount gets initialized, even if user doesn't set it
460}
461
463 m_currentIndex = -1;
465
466 // Reset all particles data
468}
469
The QColor class provides colors based on RGB, HSV or CMYK values.
Definition qcolor.h:31
float alphaF() const noexcept
Returns the alpha color component of this color.
Definition qcolor.cpp:1497
QList< T > & fill(parameter_type t, qsizetype size=-1)
Definition qlist.h:903
\qmltype Object3D \inqmlmodule QtQuick3D \instantiates QQuick3DObject \inherits QtObject
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
void unRegisterParticle(QQuick3DParticle *particle)
void registerParticle(QQuick3DParticle *particle)
void fadeInDurationChanged()
void colorVariationChanged()
void setFadeInEffect(QQuick3DParticle::FadeType fadeInEffect)
void setColor(QColor color)
void setColorVariation(QVector4D colorVariation)
void sortModeChanged()
void maxAmountChanged()
void hasTransparencyChanged()
QList< QQuick3DParticleData > m_particleData
virtual int nextCurrentIndex(const QQuick3DParticleEmitter *emitter)
void setSystem(QQuick3DParticleSystem *system)
QQuick3DParticleSystem * system() const
void setHasTransparency(bool transparency)
void setMaxAmount(int maxAmount)
void setAlignMode(QQuick3DParticle::AlignMode alignMode)
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
void setFadeInDuration(int fadeInDuration)
void fadeOutDurationChanged()
void setFadeOutDuration(int fadeOutDuration)
QQuick3DParticle(QQuick3DObject *parent=nullptr)
\qmltype Particle3D \inherits Object3D \inqmlmodule QtQuick3D.Particles3D
void alignTargetPositionChanged()
void setFadeOutEffect(QQuick3DParticle::FadeType fadeOutEffect)
~QQuick3DParticle() override
void setUnifiedColorVariation(bool unified)
void setSortMode(QQuick3DParticle::SortMode sortMode)
void updateBurstIndex(int amount)
void unifiedColorVariationChanged()
void alignModeChanged()
void fadeInEffectChanged()
void setAlignTargetPosition(const QVector3D &alignPosition)
void fadeOutEffectChanged()
QVector3D alignTargetPosition
virtual void doSetMaxAmount(int amount)
The QVector3D class represents a vector or vertex in 3D space.
Definition qvectornd.h:171
The QVector4D class represents a vector or vertex in 4D space.
Definition qvectornd.h:330
Combined button and popup list for selecting options.
GLenum mode
GLuint color
[2]
#define Q_EMIT