Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qquick3dparticledata_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
// Qt-Security score:significant reason:default
4
5
6
#
ifndef
QQUICK3DPARTICLEDATA_H
7
#
define
QQUICK3DPARTICLEDATA_H
8
9
//
10
// W A R N I N G
11
// -------------
12
//
13
// This file is not part of the Qt API. It exists purely as an
14
// implementation detail. This header file may change from version to
15
// version without notice, or even be removed.
16
//
17
// We mean it.
18
//
19
20
#
include
<
QVector3D
>
21
#
include
<
private
/
qglobal_p
.
h
>
22
23
QT_BEGIN_NAMESPACE
24
25
struct
Color4ub {
26
uchar r = 255;
27
uchar g = 255;
28
uchar b = 255;
29
uchar a = 255;
30
};
31
32
struct
Vector3b
{
33
qint8
x
= 0;
34
qint8
y
= 0;
35
qint8
z
= 0;
36
};
37
38
// Current particle data, only used for currently modified data, so one per system
39
struct
QQuick3DParticleDataCurrent
40
{
41
QVector3D
position
;
42
QVector3D
velocity
;
43
QVector3D
rotation
;
44
QVector3D
scale
;
45
Color4ub
color
;
46
};
47
48
// Particle data per particle
49
// Not modified after emits
50
struct
QQuick3DParticleData
51
{
52
QVector3D
startPosition
;
53
QVector3D
startVelocity
;
54
QVector3D
surfaceNormal
;
55
// Use Vector3b to reduce the memory usage, rotations work with less accuracy.
56
// These need to be qint8 and not quint8 as rotations can go either direction.
57
58
Vector3b
startRotation
;
59
Vector3b
startRotationVelocity
;
60
Color4ub
startColor
;
61
// Seconds, system time when this particle was emitted
62
float
startTime
= -1.0f;
63
// Seconds, particle lifetime
64
float
lifetime
= 0.0f;
65
// Unified scaling among axes
66
float
startSize
= 1.0f;
67
float
endSize
= 1.0f;
68
// Seconds, sprite sequence animation total time
69
float
animationTime
= -1.0f;
70
// Index/id of the particle. Used to get unique random values.
71
// Might not be necessary, check later
72
int
index
= 0;
73
// Size: 12+12+3+3+4+4+4+4+4+4 = 54 bytes
74
bool
reversed
=
false
;
75
};
76
77
// Data structure for storing bursts
78
struct
QQuick3DParticleEmitBurstData
{
79
int
amount
= 0;
80
int
time
= 0;
81
int
duration
= 0;
82
QVector3D
position
;
83
};
84
85
QT_END_NAMESPACE
86
87
#
endif
// QQUICK3DPARTICLEDATA_H
Color4ub
Definition
qquickparticlesystem_p.h:206
QQuick3DParticleDataCurrent
Definition
qquick3dparticledata_p.h:40
QQuick3DParticleDataCurrent::color
Color4ub color
Definition
qquick3dparticledata_p.h:45
QQuick3DParticleDataCurrent::velocity
QVector3D velocity
Definition
qquick3dparticledata_p.h:42
QQuick3DParticleDataCurrent::rotation
QVector3D rotation
Definition
qquick3dparticledata_p.h:43
QQuick3DParticleDataCurrent::scale
QVector3D scale
Definition
qquick3dparticledata_p.h:44
QQuick3DParticleDataCurrent::position
QVector3D position
Definition
qquick3dparticledata_p.h:41
QQuick3DParticleData
Definition
qquick3dparticledata_p.h:51
QQuick3DParticleData::startVelocity
QVector3D startVelocity
Definition
qquick3dparticledata_p.h:53
QQuick3DParticleData::startColor
Color4ub startColor
Definition
qquick3dparticledata_p.h:60
QQuick3DParticleData::reversed
bool reversed
Definition
qquick3dparticledata_p.h:74
QQuick3DParticleData::startRotationVelocity
Vector3b startRotationVelocity
Definition
qquick3dparticledata_p.h:59
QQuick3DParticleData::endSize
float endSize
Definition
qquick3dparticledata_p.h:67
QQuick3DParticleData::startSize
float startSize
Definition
qquick3dparticledata_p.h:66
QQuick3DParticleData::lifetime
float lifetime
Definition
qquick3dparticledata_p.h:64
QQuick3DParticleData::index
int index
Definition
qquick3dparticledata_p.h:72
QQuick3DParticleData::animationTime
float animationTime
Definition
qquick3dparticledata_p.h:69
QQuick3DParticleData::startRotation
Vector3b startRotation
Definition
qquick3dparticledata_p.h:58
QQuick3DParticleData::surfaceNormal
QVector3D surfaceNormal
Definition
qquick3dparticledata_p.h:54
QQuick3DParticleData::startPosition
QVector3D startPosition
Definition
qquick3dparticledata_p.h:52
QQuick3DParticleData::startTime
float startTime
Definition
qquick3dparticledata_p.h:62
QQuick3DParticleEmitBurstData
Definition
qquick3dparticledata_p.h:78
QQuick3DParticleEmitBurstData::time
int time
Definition
qquick3dparticledata_p.h:80
QQuick3DParticleEmitBurstData::duration
int duration
Definition
qquick3dparticledata_p.h:81
QQuick3DParticleEmitBurstData::position
QVector3D position
Definition
qquick3dparticledata_p.h:82
QQuick3DParticleEmitBurstData::amount
int amount
Definition
qquick3dparticledata_p.h:79
Vector3b
Definition
qquick3dparticledata_p.h:32
Vector3b::x
qint8 x
Definition
qquick3dparticledata_p.h:33
Vector3b::z
qint8 z
Definition
qquick3dparticledata_p.h:35
Vector3b::y
qint8 y
Definition
qquick3dparticledata_p.h:34
qtquick3d
src
quick3dparticles
qquick3dparticledata_p.h
Generated on
for Qt by
1.16.1