26 Q_PROPERTY(
float magnitude READ magnitude WRITE setMagnitude NOTIFY magnitudeChanged)
27 Q_PROPERTY(QVector3D direction READ direction WRITE setDirection NOTIFY directionChanged)
28 Q_PROPERTY(QVector3D pivotPoint READ pivotPoint WRITE setPivotPoint NOTIFY pivotPointChanged)
29 QML_NAMED_ELEMENT(PointRotator3D)
30 QML_ADDED_IN_VERSION(6, 2)
33 QQuick3DParticlePointRotator(QQuick3DNode *parent =
nullptr);
35 float magnitude()
const;
36 QVector3D direction()
const;
37 QVector3D pivotPoint()
const;
40 void setMagnitude(
float magnitude);
41 void setDirection(
const QVector3D &direction);
42 void setPivotPoint(
const QVector3D &point);
45 void magnitudeChanged();
46 void directionChanged();
47 void pivotPointChanged();
50 void prepareToAffect() override;
51 void affectParticle(
const QQuick3DParticleData &sd, QQuick3DParticleDataCurrent *d,
float time) override;
54 float m_magnitude = 10.0f;
55 QVector3D m_direction = {0.0f, 1.0f, 0.0f};
56 QVector3D m_directionNormalized = {0.0f, 1.0f, 0.0f};
57 QVector3D m_pivotPoint;
58 QMatrix4x4 m_rotationMatrix;