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
qquick3dparticlegravity.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
24
34{
35 return m_magnitude;
36}
37
39{
40 if (qFuzzyCompare(m_magnitude, magnitude))
41 return;
42
43 m_magnitude = magnitude;
45 Q_EMIT update();
46}
47
57{
58 return m_direction;
59}
60
62{
63 if (m_direction == direction)
64 return;
65
66 m_direction = direction;
67 m_directionNormalized = m_direction.normalized();
69 Q_EMIT update();
70}
71
73{
74 Q_UNUSED(sd);
75 float velocity = 0.5f * m_magnitude * (time * time);
76 d->position += velocity * m_directionNormalized;
77}
78
QQuick3DParticleGravity(QQuick3DNode *parent=nullptr)
\qmltype Gravity3D \inherits Affector3D \inqmlmodule QtQuick3D.Particles3D
void setMagnitude(float magnitude)
void setDirection(const QVector3D &direction)
void affectParticle(const QQuick3DParticleData &sd, QQuick3DParticleDataCurrent *d, float time) override
The QVector3D class represents a vector or vertex in 3D space.
Definition qvectornd.h:171
QVector3D normalized() const noexcept
Returns the normalized unit vector form of this vector.
Definition qvectornd.h:695
direction
Combined button and popup list for selecting options.
bool qFuzzyCompare(qfloat16 p1, qfloat16 p2) noexcept
Definition qfloat16.h:333
#define Q_EMIT
#define Q_UNUSED(x)