4#ifndef QQUICK3DPPARTICLESYSTEM_H
5#define QQUICK3DPPARTICLESYSTEM_H
18#include <QtQuick3DParticles/qtquick3dparticlesglobal.h>
19#include <QtQuick3D/private/qquick3dnode_p.h>
20#include <QtQuick3D/private/qquick3ddefaultmaterial_p.h>
21#include <QtQuick3D/private/qquick3dprincipledmaterial_p.h>
22#include <QtQuick3D/private/qquick3dloader_p.h>
23#include <QtQuick3DParticles/private/qquick3dparticlesystemlogging_p.h>
24#include <QtQuick3DParticles/private/qquick3dparticlerandomizer_p.h>
25#include <QtQuick3DParticles/private/qquick3dparticledata_p.h>
26#include <QElapsedTimer>
31#include <QAbstractAnimation>
32#include <QtQml/qqml.h>
33#include <QElapsedTimer>
44class QQuick3DParticleStatelessAffector;
55 Q_PROPERTY(
bool paused READ isPaused WRITE setPaused NOTIFY pausedChanged)
58 Q_PROPERTY(
bool useRandomSeed READ useRandomSeed WRITE setUseRandomSeed NOTIFY useRandomSeedChanged)
60 Q_PROPERTY(
bool logging READ logging WRITE setLogging NOTIFY loggingChanged)
70 bool isPaused()
const;
73 bool useRandomSeed()
const;
76 int particleCount()
const;
103 void setPaused(
bool paused);
105 void setTime(
int time);
106 void setUseRandomSeed(
bool randomize);
107 void setSeed(
int seed);
108 void setLogging(
bool logging);
110 void setEditorTime(
int time);
128 void updateLoggingData();
129 void resetLoggingVariables();
130 void doSeedRandomization();
139 static bool isGloballyDisabled();
140 static bool isEditorModeOn();
152 bool m_componentComplete;
168 int m_currentTime = 0;
171 int m_editorTime = 0;
175 qint64 m_timeAnimation = 0;
176 int m_particlesMax = 0;
177 int m_particlesUsed = 0;
179 bool m_useRandomSeed =
true;
184 int m_particleIdIndex = 0;
198 if (!m_system->isEditorModeOn() && !m_system->isGloballyDisabled())
241 bool m_dirty =
false;
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
void updateCurrentTime(int t) override
This pure virtual function is called every time the animation's currentTime changes.
int duration() const override
This pure virtual function returns the duration of the animation, and defines for how long QAbstractA...
QQuick3DParticleSystemAnimation(QQuick3DParticleSystem *system)
void updateCurrentTime(int t) override
This pure virtual function is called every time the animation's currentTime changes.
int duration() const override
This pure virtual function returns the duration of the animation, and defines for how long QAbstractA...
void setDirty(bool dirty)
QQuick3DParticleSystemUpdate(QQuick3DParticleSystem *system)
void loggingDataChanged()
void updateCurrentTime(int currentTime)
void useRandomSeedChanged()
Combined button and popup list for selecting options.
static Q_CONSTINIT QBasicAtomicInt running
GLboolean GLboolean GLboolean GLboolean a
[7]
#define QML_NAMED_ELEMENT(NAME)
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
static Q_CONSTINIT QBasicAtomicInteger< unsigned > seed
static double currentTime()
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent