Qt
6.x
The Qt SDK
Loading...
Searching...
No Matches
qquick3dparticlescaleaffector_p.h
Go to the documentation of this file.
1
// Copyright (C) 2022 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4
#ifndef QQUICK3DPARTICLESCALEAFFECTOR_H
5
#define QQUICK3DPARTICLESCALEAFFECTOR_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#include <QtQuick3DParticles/private/qquick3dparticleaffector_p.h>
19
#include <
qeasingcurve.h
>
20
21
QT_BEGIN_NAMESPACE
22
23
class
Q_QUICK3DPARTICLES_EXPORT
QQuick3DParticleScaleAffector
:
public
QQuick3DParticleAffector
24
{
25
Q_OBJECT
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)
33
public
:
34
QQuick3DParticleScaleAffector
(
QQuick3DNode
*
parent
=
nullptr
);
35
36
enum
ScalingType
37
{
38
Linear
,
39
SewSaw
,
40
SineWave
,
41
AbsSineWave
,
42
Step
,
43
SmoothStep
,
44
};
45
Q_ENUM
(ScalingType)
46
47
float
minSize()
const
;
48
float
maxSize()
const
;
49
int
duration()
const
;
50
ScalingType
type
()
const
;
51
QEasingCurve
easingCurve()
const
;
52
53
public
Q_SLOTS
:
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);
59
60
Q_SIGNALS
:
61
void
minSizeChanged
();
62
void
maxSizeChanged
();
63
void
durationChanged
();
64
void
typeChanged
();
65
void
easingCurveChanged
();
66
67
protected
:
68
void
prepareToAffect
()
override
;
69
void
affectParticle
(
const
QQuick3DParticleData
&,
QQuick3DParticleDataCurrent
*
d
,
float
time
)
override
;
70
71
private
:
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;
77
};
78
79
QT_END_NAMESPACE
80
81
#endif
QEasingCurve
\inmodule QtCore
Definition
qeasingcurve.h:19
QQuick3DNode
Definition
qquick3dnode_p.h:30
QQuick3DParticleAffector
Definition
qquick3dparticleaffector_p.h:29
QQuick3DParticleAffector::affectParticle
virtual void affectParticle(const QQuick3DParticleData &sd, QQuick3DParticleDataCurrent *d, float time)=0
QQuick3DParticleAffector::prepareToAffect
virtual void prepareToAffect()
Definition
qquick3dparticleaffector.cpp:94
QQuick3DParticleScaleAffector
Definition
qquick3dparticlescaleaffector_p.h:24
QQuick3DParticleScaleAffector::durationChanged
void durationChanged()
QQuick3DParticleScaleAffector::typeChanged
void typeChanged()
QQuick3DParticleScaleAffector::ScalingType
ScalingType
Definition
qquick3dparticlescaleaffector_p.h:37
QQuick3DParticleScaleAffector::SewSaw
@ SewSaw
Definition
qquick3dparticlescaleaffector_p.h:39
QQuick3DParticleScaleAffector::SmoothStep
@ SmoothStep
Definition
qquick3dparticlescaleaffector_p.h:43
QQuick3DParticleScaleAffector::SineWave
@ SineWave
Definition
qquick3dparticlescaleaffector_p.h:40
QQuick3DParticleScaleAffector::Linear
@ Linear
Definition
qquick3dparticlescaleaffector_p.h:38
QQuick3DParticleScaleAffector::Step
@ Step
Definition
qquick3dparticlescaleaffector_p.h:42
QQuick3DParticleScaleAffector::AbsSineWave
@ AbsSineWave
Definition
qquick3dparticlescaleaffector_p.h:41
QQuick3DParticleScaleAffector::minSizeChanged
void minSizeChanged()
QQuick3DParticleScaleAffector::maxSizeChanged
void maxSizeChanged()
QQuick3DParticleScaleAffector::easingCurveChanged
void easingCurveChanged()
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1545
qeasingcurve.h
size
GLenum GLuint GLintptr GLsizeiptr size
[1]
Definition
qopengles2ext.h:660
type
GLenum type
Definition
qopengles2ext.h:150
QML_NAMED_ELEMENT
#define QML_NAMED_ELEMENT(NAME)
Definition
qqmlintegration.h:52
QML_ADDED_IN_VERSION
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
Definition
qqmlintegration.h:86
QSSGRenderTextureFilterOp::Linear
@ Linear
Q_ENUM
#define Q_ENUM(x)
Definition
qtmetamacros.h:68
Q_PROPERTY
#define Q_PROPERTY(...)
Definition
qtmetamacros.h:56
Q_OBJECT
#define Q_OBJECT
Definition
qtmetamacros.h:117
Q_SLOTS
#define Q_SLOTS
Definition
qtmetamacros.h:44
Q_SIGNALS
#define Q_SIGNALS
Definition
qtmetamacros.h:45
d
double d
Definition
src_corelib_text_qlocale.cpp:9
time
QTime time
[5]
Definition
src_corelib_time_qdatetime.cpp:52
setEasingCurve
animation setEasingCurve(QEasingCurve::InOutQuad)
setDuration
animation setDuration(1000)
setType
proxy setType(QNetworkProxy::Socks5Proxy)
QQuick3DParticleDataCurrent
Definition
qquick3dparticledata_p.h:38
QQuick3DParticleData
Definition
qquick3dparticledata_p.h:49
parent
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent
Definition
uiaclientinterfaces_p.h:209
qtquick3d
src
quick3dparticles
qquick3dparticlescaleaffector_p.h
Generated by
1.9.7