28 Q_PROPERTY(
float minSize READ minSize WRITE setMinSize NOTIFY minSizeChanged)
29 Q_PROPERTY(
float maxSize READ maxSize WRITE setMaxSize NOTIFY maxSizeChanged)
30 Q_PROPERTY(
int duration READ duration WRITE setDuration NOTIFY durationChanged)
31 Q_PROPERTY(ScalingType type READ type WRITE setType NOTIFY typeChanged)
32 Q_PROPERTY(QEasingCurve easingCurve READ easingCurve WRITE setEasingCurve NOTIFY easingCurveChanged)
33 QML_NAMED_ELEMENT(ScaleAffector3D)
34 QML_ADDED_IN_VERSION(6, 4)
36 QQuick3DParticleScaleAffector(QQuick3DNode *parent =
nullptr);
49 float minSize()
const;
50 float maxSize()
const;
52 ScalingType type()
const;
53 QEasingCurve easingCurve()
const;
56 void setMinSize(
float size);
57 void setMaxSize(
float size);
58 void setDuration(
int duration);
59 void setType(ScalingType type);
60 void setEasingCurve(
const QEasingCurve &curve);
63 void minSizeChanged();
64 void maxSizeChanged();
65 void durationChanged();
67 void easingCurveChanged();
70 void prepareToAffect() override;
71 void affectParticle(
const QQuick3DParticleData &, QQuick3DParticleDataCurrent *d,
float time) override;
74 float m_minSize = 1.0f;
75 float m_maxSize = 1.0f;
76 int m_duration = 1000;
77 ScalingType m_type = Linear;
78 QEasingCurve m_easing;