Qt
6.x
The Qt SDK
Loading...
Searching...
No Matches
qquickgroupgoal.cpp
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#include "
qquickgroupgoal_p.h
"
5
#include <private/qquickspriteengine_p.h>
6
#include <private/qquicksprite_p.h>
7
#include "
qquickimageparticle_p.h
"
8
#include <QDebug>
9
10
QT_BEGIN_NAMESPACE
11
41
QQuickGroupGoalAffector::QQuickGroupGoalAffector
(
QQuickItem
*
parent
) :
42
QQuickParticleAffector
(
parent
), m_jump(
false
)
43
{
44
m_ignoresTime
=
true
;
45
}
46
47
void
QQuickGroupGoalAffector::setGoalState
(
const
QString
&
arg
)
48
{
49
if
(m_goalState !=
arg
) {
50
m_goalState =
arg
;
51
emit
goalStateChanged
(
arg
);
52
}
53
}
54
55
bool
QQuickGroupGoalAffector::affectParticle
(
QQuickParticleData
*
d
,
qreal
dt)
56
{
57
Q_UNUSED
(dt);
58
QQuickStochasticEngine
*
engine
=
m_system
->
stateEngine
;
59
int
index
=
d
->systemIndex;
60
int
goalIdx =
m_system
->
groupIds
[m_goalState];
61
if
(!
engine
){
//no stochastic states defined. So cut out the engine
62
//TODO: It's possible to move to a group that is intermediate and not used by painters or emitters - but right now that will redirect to the default group
63
m_system
->
moveGroups
(
d
, goalIdx);
64
return
true
;
65
}
else
if
(
engine
->curState(
index
) != goalIdx){
66
engine
->setGoal(goalIdx,
index
, m_jump);
67
return
true
;
68
}
69
return
false
;
70
}
71
72
QT_END_NAMESPACE
73
74
#include "moc_qquickgroupgoal_p.cpp"
QQuickGroupGoalAffector::affectParticle
bool affectParticle(QQuickParticleData *d, qreal dt) override
Definition
qquickgroupgoal.cpp:55
QQuickGroupGoalAffector::QQuickGroupGoalAffector
QQuickGroupGoalAffector(QQuickItem *parent=nullptr)
\qmltype GroupGoal \instantiates QQuickGroupGoalAffector \inqmlmodule QtQuick.Particles\inherits Affe...
Definition
qquickgroupgoal.cpp:41
QQuickGroupGoalAffector::setGoalState
void setGoalState(const QString &arg)
Definition
qquickgroupgoal.cpp:47
QQuickGroupGoalAffector::goalStateChanged
void goalStateChanged(const QString &arg)
QQuickItem
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
Definition
qquickitem.h:64
QQuickParticleAffector
Definition
qquickparticleaffector_p.h:27
QQuickParticleAffector::m_system
QQuickParticleSystem * m_system
Definition
qquickparticleaffector_p.h:153
QQuickParticleAffector::m_ignoresTime
bool m_ignoresTime
Definition
qquickparticleaffector_p.h:149
QQuickParticleData
Definition
qquickparticlesystem_p.h:211
QQuickParticleSystem::stateEngine
QQuickStochasticEngine * stateEngine
Definition
qquickparticlesystem_p.h:382
QQuickParticleSystem::groupIds
QHash< QString, int > groupIds
Definition
qquickparticlesystem_p.h:384
QQuickParticleSystem::moveGroups
void moveGroups(QQuickParticleData *d, int newGIdx)
Definition
qquickparticlesystem.cpp:921
QQuickStochasticEngine
Definition
qquickspriteengine_p.h:151
QString
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition
qstring.h:127
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1545
index
GLuint index
[2]
Definition
qopengles2ext.h:331
qquickgroupgoal_p.h
qquickimageparticle_p.h
arg
SSL_CTX int(*) void arg)
Definition
qsslsocket_openssl_symbols.cpp:404
emit
#define emit
Definition
qtmetamacros.h:49
Q_UNUSED
#define Q_UNUSED(x)
Definition
qtpreprocessorsupport.h:20
qreal
double qreal
Definition
qtypes.h:92
d
double d
Definition
src_corelib_text_qlocale.cpp:9
false
return false
Definition
src_corelib_thread_qatomic.cpp:23
engine
QJSEngine engine
[0]
Definition
src_script_qjsvalue.cpp:14
parent
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent
Definition
uiaclientinterfaces_p.h:209
qtdeclarative
src
particles
qquickgroupgoal.cpp
Generated by
1.9.7