Qt
6.x
The Qt SDK
Loading...
Searching...
No Matches
qquick3dparticlegravity_p.h
Go to the documentation of this file.
1
// Copyright (C) 2021 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4
#ifndef QQUICK3DPARTICLEGRAVITY_H
5
#define QQUICK3DPARTICLEGRAVITY_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 <QObject>
19
#include <QtQuick3DParticles/private/qquick3dparticleaffector_p.h>
20
21
QT_BEGIN_NAMESPACE
22
23
class
Q_QUICK3DPARTICLES_EXPORT
QQuick3DParticleGravity
:
public
QQuick3DParticleAffector
24
{
25
Q_OBJECT
26
Q_PROPERTY
(
float
magnitude READ magnitude WRITE setMagnitude NOTIFY magnitudeChanged)
27
Q_PROPERTY
(
QVector3D
direction
READ
direction
WRITE setDirection NOTIFY directionChanged)
28
QML_NAMED_ELEMENT
(Gravity3D)
29
QML_ADDED_IN_VERSION
(6, 2)
30
31
public
:
32
QQuick3DParticleGravity
(
QQuick3DNode
*
parent
=
nullptr
);
33
34
float
magnitude()
const
;
35
const
QVector3D
&
direction
()
const
;
36
37
public
Q_SLOTS
:
38
void
setDirection(
const
QVector3D
&
direction
);
39
void
setMagnitude(
float
magnitude);
40
41
Q_SIGNALS
:
42
void
magnitudeChanged
();
43
void
directionChanged
();
44
45
protected
:
46
void
affectParticle
(
const
QQuick3DParticleData
&sd,
QQuick3DParticleDataCurrent
*
d
,
float
time
)
override
;
47
48
private
:
49
float
m_magnitude = 100.0f;
50
QVector3D
m_direction = {0.0f, -1.0f, 0.0f};
51
QVector3D
m_directionNormalized = {0.0f, -1.0f, 0.0f};
52
};
53
54
QT_END_NAMESPACE
55
56
#endif
// QQUICK3DPARTICLEGRAVITY_H
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
QQuick3DParticleGravity
Definition
qquick3dparticlegravity_p.h:24
QQuick3DParticleGravity::directionChanged
void directionChanged()
QQuick3DParticleGravity::magnitudeChanged
void magnitudeChanged()
QVector3D
The QVector3D class represents a vector or vertex in 3D space.
Definition
qvectornd.h:171
direction
direction
Definition
doc_src_styles.cpp:42
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1545
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
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
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
qquick3dparticlegravity_p.h
Generated by
1.9.7