6#include <private/qquickv4particledata_p.h>
7#include <private/qqmlglobal_p.h>
9#include <QtCore/qdebug.h>
61 , m_position(&m_nullVector)
62 , m_velocity(&m_nullVector)
63 , m_acceleration(&m_nullVector)
72 (
const QList<QQuickV4ParticleData> &,
qreal));
78 bool justAffected = (m_acceleration == &m_nullVector
79 && m_velocity == &m_nullVector
80 && m_position == &m_nullVector
90 QList<QQuickParticleData*> toAffect;
101 if (toAffect.isEmpty())
116 QList<QQuickV4ParticleData> particles;
117 particles.reserve(toAffect.size());
121 const auto doAffect = [&](
qreal dt) {
122 affectProperties(toAffect, dt);
142 if (
d->update == 1.0)
149 bool changed =
false;
152 if (m_acceleration != &m_nullVector){
166 if (m_velocity != &m_nullVector){
180 if (m_position != &m_nullVector){
196void QQuickCustomAffector::affectProperties(
const QList<QQuickParticleData*> &particles,
qreal dt)
205#include "moc_qquickcustomaffector_p.cpp"
\inmodule QtCore\reentrant
void affectSystem(qreal dt) override
void affectParticles(const QList< QQuickV4ParticleData > &particles, qreal dt)
QQuickCustomAffector(QQuickItem *parent=nullptr)
\qmlsignal QtQuick.Particles::Affector::affectParticles(Array particles, real dt)
bool affectParticle(QQuickParticleData *d, qreal dt) override
virtual QPointF sample(const QPointF &from)
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
void update()
Schedules a call to updatePaintNode() for this item.
virtual void affectSystem(qreal dt)
static const qreal simulationDelta
void postAffect(QQuickParticleData *datum)
QQuickParticleSystem * m_system
bool shouldAffect(QQuickParticleData *datum)
QSet< QPair< int, int > > m_onceOffed
bool isAffectedConnected()
static const qreal simulationCutoff
void affected(qreal x, qreal y)
QVarLengthArray< QQuickParticleGroupData *, 32 > groupData
Combined button and popup list for selecting options.
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
QT_BEGIN_NAMESPACE constexpr decltype(auto) qMakePair(T1 &&value1, T2 &&value2) noexcept(noexcept(std::make_pair(std::forward< T1 >(value1), std::forward< T2 >(value2))))
#define IS_SIGNAL_CONNECTED(Sender, SenderType, Name, Arguments)
if(qFloatDistance(a, b)<(1<< 7))
[0]