28 Q_PROPERTY(
float magnitude READ magnitude WRITE setMagnitude NOTIFY magnitudeChanged)
29 Q_PROPERTY(QVector3D direction READ direction WRITE setDirection NOTIFY directionChanged)
30 Q_PROPERTY(QVector3D pivotPoint READ pivotPoint WRITE setPivotPoint NOTIFY pivotPointChanged)
31 QML_NAMED_ELEMENT(PointRotator3D)
32 QML_ADDED_IN_VERSION(6, 2)
35 QQuick3DParticlePointRotator(QQuick3DNode *parent =
nullptr);
37 float magnitude()
const;
38 QVector3D direction()
const;
39 QVector3D pivotPoint()
const;
42 void setMagnitude(
float magnitude);
43 void setDirection(
const QVector3D &direction);
44 void setPivotPoint(
const QVector3D &point);
47 void magnitudeChanged();
48 void directionChanged();
49 void pivotPointChanged();
52 void prepareToAffect() override;
53 void affectParticle(
const QQuick3DParticleData &sd, QQuick3DParticleDataCurrent *d,
float time) override;
56 float m_magnitude = 10.0f;
57 QVector3D m_direction = {0.0f, 1.0f, 0.0f};
58 QVector3D m_directionNormalized = {0.0f, 1.0f, 0.0f};
59 QVector3D m_pivotPoint;
60 QMatrix4x4 m_rotationMatrix;