26 Q_PROPERTY(
float minSize READ minSize WRITE setMinSize NOTIFY minSizeChanged)
27 Q_PROPERTY(
float maxSize READ maxSize WRITE setMaxSize NOTIFY maxSizeChanged)
28 Q_PROPERTY(
int duration READ duration WRITE setDuration NOTIFY durationChanged)
29 Q_PROPERTY(ScalingType type READ type WRITE setType NOTIFY typeChanged)
30 Q_PROPERTY(QEasingCurve easingCurve READ easingCurve WRITE setEasingCurve NOTIFY easingCurveChanged)
31 QML_NAMED_ELEMENT(ScaleAffector3D)
32 QML_ADDED_IN_VERSION(6, 4)
34 QQuick3DParticleScaleAffector(QQuick3DNode *parent =
nullptr);
47 float minSize()
const;
48 float maxSize()
const;
50 ScalingType type()
const;
51 QEasingCurve easingCurve()
const;
54 void setMinSize(
float size);
55 void setMaxSize(
float size);
56 void setDuration(
int duration);
57 void setType(ScalingType type);
58 void setEasingCurve(
const QEasingCurve &curve);
61 void minSizeChanged();
62 void maxSizeChanged();
63 void durationChanged();
65 void easingCurveChanged();
68 void prepareToAffect() override;
69 void affectParticle(
const QQuick3DParticleData &, QQuick3DParticleDataCurrent *d,
float time) override;
72 float m_minSize = 1.0f;
73 float m_maxSize = 1.0f;
74 int m_duration = 1000;
75 ScalingType m_type = Linear;
76 QEasingCurve m_easing;