![]() |
Qt 6.x
The Qt SDK
|
#include <qquick3dparticleemitter_p.h>
Public Member Functions | |
QQuick3DParticleEmitter (QQuick3DNode *parent=nullptr) | |
\qmltype ParticleEmitter3D \inherits Node \inqmlmodule QtQuick3D.Particles3D | |
~QQuick3DParticleEmitter () override | |
bool | enabled () const |
\qmlproperty bool ParticleEmitter3D::enabled | |
QQuick3DParticleDirection * | velocity () const |
\qmlproperty Direction3D ParticleEmitter3D::velocity | |
QQuick3DParticleSystem * | system () const |
\qmlproperty ParticleSystem3D ParticleEmitter3D::system | |
float | emitRate () const |
\qmlproperty real ParticleEmitter3D::emitRate | |
float | particleScale () const |
\qmlproperty real ParticleEmitter3D::particleScale | |
float | particleEndScale () const |
\qmlproperty real ParticleEmitter3D::particleEndScale | |
float | particleScaleVariation () const |
\qmlproperty real ParticleEmitter3D::particleScaleVariation | |
float | particleEndScaleVariation () const |
\qmlproperty real ParticleEmitter3D::particleEndScaleVariation | |
int | lifeSpan () const |
\qmlproperty int ParticleEmitter3D::lifeSpan | |
int | lifeSpanVariation () const |
\qmlproperty int ParticleEmitter3D::lifeSpanVariation | |
QQuick3DParticle * | particle () const |
\qmlproperty Particle3D ParticleEmitter3D::particle | |
QQuick3DParticleAbstractShape * | shape () const |
\qmlproperty ParticleAbstractShape3D ParticleEmitter3D::shape | |
QVector3D | particleRotation () const |
\qmlproperty vector3d ParticleEmitter3D::particleRotation | |
QVector3D | particleRotationVariation () const |
\qmlproperty vector3d ParticleEmitter3D::particleRotationVariation | |
QVector3D | particleRotationVelocity () const |
\qmlproperty vector3d ParticleEmitter3D::particleRotationVelocity | |
QVector3D | particleRotationVelocityVariation () const |
\qmlproperty vector3d ParticleEmitter3D::particleRotationVelocityVariation | |
float | depthBias () const |
\qmlproperty real ParticleEmitter3D::depthBias | |
QQmlListProperty< QQuick3DParticleEmitBurst > | emitBursts () |
virtual Q_INVOKABLE void | burst (int count) |
\qmlmethod vector3d ParticleEmitter3D::burst(int count) | |
virtual Q_INVOKABLE void | burst (int count, int duration) |
\qmlmethod vector3d ParticleEmitter3D::burst(int count, int duration) | |
virtual Q_INVOKABLE void | burst (int count, int duration, const QVector3D &position) |
\qmlmethod vector3d ParticleEmitter3D::burst(int count, int duration, vector3d position) | |
![]() | |
QQuick3DNode (QQuick3DNode *parent=nullptr) | |
\qmltype Node \inherits Object3D \inqmlmodule QtQuick3D | |
~QQuick3DNode () override | |
float | x () const |
\qmlproperty real QtQuick3D::Node::x | |
float | y () const |
\qmlproperty real QtQuick3D::Node::y | |
float | z () const |
\qmlproperty real QtQuick3D::Node::z | |
QQuaternion | rotation () const |
\qmlproperty quaternion QtQuick3D::Node::rotation | |
QVector3D | eulerRotation () const |
\qmlproperty vector3d QtQuick3D::Node::eulerRotation | |
QVector3D | position () const |
\qmlproperty vector3d QtQuick3D::Node::position | |
QVector3D | scale () const |
\qmlproperty vector3d QtQuick3D::Node::scale | |
QVector3D | pivot () const |
\qmlproperty vector3d QtQuick3D::Node::pivot | |
float | localOpacity () const |
\qmlproperty real QtQuick3D::Node::opacity | |
bool | visible () const |
\qmlproperty bool QtQuick3D::Node::visible | |
int | staticFlags () const |
\qmlproperty int QtQuick3D::Node::staticFlags | |
QQuick3DNode * | parentNode () const |
QVector3D | forward () const |
\qmlproperty vector3d QtQuick3D::Node::forward \readonly | |
QVector3D | up () const |
\qmlproperty vector3d QtQuick3D::Node::up \readonly | |
QVector3D | right () const |
\qmlproperty vector3d QtQuick3D::Node::right \readonly | |
QVector3D | scenePosition () const |
\qmlproperty vector3d QtQuick3D::Node::scenePosition \readonly | |
QQuaternion | sceneRotation () const |
\qmlproperty quaternion QtQuick3D::Node::sceneRotation \readonly | |
QVector3D | sceneScale () const |
\qmlproperty vector3d QtQuick3D::Node::sceneScale \readonly | |
QMatrix4x4 | sceneTransform () const |
\qmlproperty matrix4x4 QtQuick3D::Node::sceneTransform \readonly | |
Q_INVOKABLE void | rotate (qreal degrees, const QVector3D &axis, QQuick3DNode::TransformSpace space) |
\qmlmethod QtQuick3D::Node::rotate(real degrees, vector3d axis, enumeration space) | |
Q_INVOKABLE QVector3D | mapPositionToScene (const QVector3D &localPosition) const |
\qmlmethod vector3d QtQuick3D::Node::mapPositionToScene(vector3d localPosition) | |
Q_INVOKABLE QVector3D | mapPositionFromScene (const QVector3D &scenePosition) const |
\qmlmethod vector3d QtQuick3D::Node::mapPositionFromScene(vector3d scenePosition) | |
Q_INVOKABLE QVector3D | mapPositionToNode (const QQuick3DNode *node, const QVector3D &localPosition) const |
\qmlmethod vector3d QtQuick3D::Node::mapPositionToNode(QtQuick3D::Node node, vector3d localPosition) | |
Q_INVOKABLE QVector3D | mapPositionFromNode (const QQuick3DNode *node, const QVector3D &localPosition) const |
\qmlmethod vector3d QtQuick3D::Node::mapPositionFromNode(QtQuick3D::Node node, vector3d localPosition) | |
Q_INVOKABLE QVector3D | mapDirectionToScene (const QVector3D &localDirection) const |
\qmlmethod vector3d QtQuick3D::Node::mapDirectionToScene(vector3d localDirection) | |
Q_INVOKABLE QVector3D | mapDirectionFromScene (const QVector3D &sceneDirection) const |
\qmlmethod vector3d QtQuick3D::Node::mapDirectionFromScene(vector3d sceneDirection) | |
Q_INVOKABLE QVector3D | mapDirectionToNode (const QQuick3DNode *node, const QVector3D &localDirection) const |
\qmlmethod vector3d QtQuick3D::Node::mapDirectionToNode(QtQuick3D::Node node, vector3d localDirection) | |
Q_INVOKABLE QVector3D | mapDirectionFromNode (const QQuick3DNode *node, const QVector3D &localDirection) const |
\qmlmethod vector3d QtQuick3D::Node::mapDirectionFromNode(QtQuick3D::Node node, vector3d localDirection) | |
void | markAllDirty () override |
![]() | |
Q_INVOKABLE | QObject (QObject *parent=nullptr) |
Constructs an object with parent object parent. | |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. | |
virtual bool | event (QEvent *event) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
Filters events if this object has been installed as an event filter for the watched object. | |
QString | objectName () const |
Q_WEAK_OVERLOAD void | setObjectName (const QString &name) |
Sets the object's name to name. | |
void | setObjectName (QAnyStringView name) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QBindable< QString > | bindableObjectName () |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false . | |
bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false . | |
bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false . | |
bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false . | |
bool | blockSignals (bool b) noexcept |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. | |
int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
template<typename T > | |
T | findChild (const QString &aName=QString(), Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
template<typename T > | |
QList< T > | findChildren (const QString &aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
template<typename T > | |
QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
const QObjectList & | children () const |
Returns a list of child objects. | |
void | setParent (QObject *parent) |
Makes the object a child of parent. | |
void | installEventFilter (QObject *filterObj) |
Installs an event filter filterObj on this object. | |
void | removeEventFilter (QObject *obj) |
Removes an event filter object obj from this object. | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
void | dumpObjectTree () const |
Dumps a tree of children to the debug output. | |
void | dumpObjectInfo () const |
Dumps information about signal connections, etc. | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. | |
bool | setProperty (const char *name, QVariant &&value) |
QVariant | property (const char *name) const |
Returns the value of the object's name property. | |
QList< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () const |
Returns a pointer to the parent object. | |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false . | |
![]() | |
QQmlParserStatus () | |
virtual | ~QQmlParserStatus () |
virtual void | classBegin ()=0 |
Invoked after class creation, but before any properties have been set. | |
virtual void | componentComplete ()=0 |
Invoked after the root component that caused this instantiation has completed construction. | |
Protected Member Functions | |
void | componentComplete () override |
Invoked after the root component that caused this instantiation has completed construction. | |
void | registerEmitBurst (QQuick3DParticleEmitBurst *emitBurst) |
void | unRegisterEmitBurst (QQuick3DParticleEmitBurst *emitBurst) |
void | generateEmitBursts () |
void | emitParticle (QQuick3DParticle *particle, float startTime, const QMatrix4x4 &transform, const QQuaternion &parentRotation, const QVector3D ¢erPos, int index=-1) |
void | emitParticles () |
void | emitActivationNodeParticles (QQuick3DParticleModelBlendParticle *particle) |
void | emitParticlesBurst (const QQuick3DParticleEmitBurstData &burst) |
int | getEmitAmount () |
int | getEmitAmountFromDynamicBursts (int triggerType=0) |
void | reset () |
void | appendEmitBurst (QQuick3DParticleEmitBurst *) |
qsizetype | emitBurstCount () const |
QQuick3DParticleEmitBurst * | emitBurst (qsizetype) const |
void | clearEmitBursts () |
void | replaceEmitBurst (qsizetype, QQuick3DParticleEmitBurst *) |
void | removeLastEmitBurst () |
![]() | |
void | connectNotify (const QMetaMethod &signal) override |
void | disconnectNotify (const QMetaMethod &signal) override |
void | componentComplete () override |
Invoked after the root component that caused this instantiation has completed construction. | |
QQuick3DNode (QQuick3DNodePrivate &dd, QQuick3DNode *parent=nullptr) | |
QSSGRenderGraphObject * | updateSpatialNode (QSSGRenderGraphObject *node) override |
virtual void | itemChange (ItemChange, const ItemChangeData &) override |
![]() | |
virtual QSSGRenderGraphObject * | updateSpatialNode (QSSGRenderGraphObject *node) |
virtual void | markAllDirty () |
virtual void | itemChange (ItemChange, const ItemChangeData &) |
QQuick3DObject (QQuick3DObjectPrivate &dd, QQuick3DObject *parent=nullptr) | |
void | classBegin () override |
Invoked after class creation, but before any properties have been set. | |
void | componentComplete () override |
Invoked after the root component that caused this instantiation has completed construction. | |
bool | isComponentComplete () const |
virtual void | preSync () |
![]() | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. | |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
This event handler can be reimplemented in a subclass to receive timer events for the object. | |
virtual void | childEvent (QChildEvent *event) |
This event handler can be reimplemented in a subclass to receive child events. | |
virtual void | customEvent (QEvent *event) |
This event handler can be reimplemented in a subclass to receive custom events. | |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
Static Protected Member Functions | |
static void | appendEmitBurst (QQmlListProperty< QQuick3DParticleEmitBurst > *, QQuick3DParticleEmitBurst *) |
static qsizetype | emitBurstCount (QQmlListProperty< QQuick3DParticleEmitBurst > *) |
static QQuick3DParticleEmitBurst * | emitBurst (QQmlListProperty< QQuick3DParticleEmitBurst > *, qsizetype) |
static void | clearEmitBursts (QQmlListProperty< QQuick3DParticleEmitBurst > *) |
static void | replaceEmitBurst (QQmlListProperty< QQuick3DParticleEmitBurst > *, qsizetype, QQuick3DParticleEmitBurst *) |
static void | removeLastEmitBurst (QQmlListProperty< QQuick3DParticleEmitBurst > *) |
Friends | |
class | QQuick3DParticleSystem |
class | QQuick3DParticleEmitBurst |
class | QQuick3DParticleTrailEmitter |
Additional Inherited Members | |
![]() | |
enum | TransformSpace { LocalSpace , ParentSpace , SceneSpace } |
enum | StaticFlags { None } |
![]() | |
static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
\threadsafe | |
static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
\threadsafe | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static bool | disconnect (const QMetaObject::Connection &) |
Disconnect a connection. | |
template<typename Func1 , typename Func2 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
template<typename Func1 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
![]() | |
QScopedPointer< QObjectData > | d_ptr |
![]() | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
Definition at line 28 of file qquick3dparticleemitter_p.h.
QT_BEGIN_NAMESPACE QQuick3DParticleEmitter::QQuick3DParticleEmitter | ( | QQuick3DNode * | parent = nullptr | ) |
\qmltype ParticleEmitter3D \inherits Node \inqmlmodule QtQuick3D.Particles3D
Emitter for logical particles.
This element emits logical particles into the \l ParticleSystem3D, with the given starting attributes.
At least one emitter is required to have particles in the \l ParticleSystem3D. There are a few different ways to control the emitting amount: \list
Definition at line 31 of file qquick3dparticleemitter.cpp.
|
override |
Definition at line 36 of file qquick3dparticleemitter.cpp.
References QList< T >::clear(), qDeleteAll(), and QQuick3DParticleSystem::unRegisterParticleEmitter().
|
staticprotected |
Definition at line 1046 of file qquick3dparticleemitter.cpp.
References appendEmitBurst(), QList< T >::data(), and list.
|
protected |
Definition at line 1017 of file qquick3dparticleemitter.cpp.
References QList< T >::append().
Referenced by appendEmitBurst().
|
virtual |
\qmlmethod vector3d ParticleEmitter3D::burst(int count)
This method emits count amount of particles from this emitter immediately.
Reimplemented in QQuick3DParticleTrailEmitter.
Definition at line 549 of file qquick3dparticleemitter.cpp.
References burst().
Referenced by burst(), burst(), burst(), emitParticlesBurst(), and getEmitAmountFromDynamicBursts().
|
virtual |
\qmlmethod vector3d ParticleEmitter3D::burst(int count, int duration)
This method emits count amount of particles from this emitter during the next duration milliseconds.
Definition at line 560 of file qquick3dparticleemitter.cpp.
References burst().
\qmlmethod vector3d ParticleEmitter3D::burst(int count, int duration, vector3d position)
This method emits count amount of particles from this emitter during the next duration milliseconds. The particles are emitted as if the emitter was at position but all other properties are the same.
Definition at line 572 of file qquick3dparticleemitter.cpp.
References burst(), QQuick3DParticleSystem::currentTime(), emitParticlesBurst(), and QQuick3DNode::position.
|
protected |
Definition at line 1031 of file qquick3dparticleemitter.cpp.
References QList< T >::clear().
Referenced by clearEmitBursts().
|
staticprotected |
Definition at line 1050 of file qquick3dparticleemitter.cpp.
References clearEmitBursts(), QList< T >::data(), and list.
|
overrideprotectedvirtual |
Invoked after the root component that caused this instantiation has completed construction.
At this point all static values and binding values have been assigned to the class.
Reimplemented from QQuick3DNode.
Definition at line 966 of file qquick3dparticleemitter.cpp.
References QQuick3DNode::componentComplete(), QQuick3DParticleSystem::currentTime(), and setSystem().
float QQuick3DParticleEmitter::depthBias | ( | ) | const |
\qmlproperty real ParticleEmitter3D::depthBias
Holds the depth bias of the emitter. Depth bias is added to the object distance from camera when sorting objects. This can be used to force rendering order between objects close to each other, that might otherwise be rendered in different order in different frames. Negative values cause the sorting value to move closer to the camera while positive values move it further from the camera.
Definition at line 521 of file qquick3dparticleemitter.cpp.
|
signal |
|
protected |
Definition at line 934 of file qquick3dparticleemitter.cpp.
References calculateParticleRotation(), calculateParticleTransform(), QMatrix4x4::column(), QQuick3DParticleSystem::currentTime(), d, QVector3D::dotProduct(), emitParticle(), i, QMatrix4x4::inverted(), QQuick3DParticle::m_particleData, QQuick3DParticle::maxAmount, QQuick3DNode::parentNode(), particle, pos, QQuick3DNode::position, QQuick3DNode::rotation, QQuick3DNode::sceneTransform, startTime, and QVector4D::toVector3D().
Referenced by emitParticles().
|
staticprotected |
Definition at line 1064 of file qquick3dparticleemitter.cpp.
References QList< T >::data(), emitBurst(), i, and list.
|
protected |
Definition at line 1026 of file qquick3dparticleemitter.cpp.
References QList< T >::at().
Referenced by emitBurst(), generateEmitBursts(), registerEmitBurst(), and unRegisterEmitBurst().
|
protected |
Definition at line 1021 of file qquick3dparticleemitter.cpp.
References QList< T >::size().
Referenced by emitBurstCount().
|
staticprotected |
Definition at line 1068 of file qquick3dparticleemitter.cpp.
References QList< T >::data(), emitBurstCount(), and list.
QQmlListProperty< QQuick3DParticleEmitBurst > QQuick3DParticleEmitter::emitBursts | ( | ) |
|
protected |
Definition at line 640 of file qquick3dparticleemitter.cpp.
References QColor::alpha(), QColor::blue(), QQuick3DParticle::color, QPRand::ColorAV, QPRand::ColorBV, QPRand::ColorGV, QPRand::ColorRV, QQuick3DParticle::colorVariation, QQuick3DParticleModelBlendParticle::Construct, d, QQuick3DParticleModelBlendParticle::emitMode, QQuick3DParticleAbstractShape::getPosition(), QColor::green(), QVector3D::isNull(), QQuick3DParticleModelBlendParticle::lastParticle(), QPRand::LifeSpanV, QQuick3DParticle::m_particleData, QQuick3DParticle::m_spriteSequence, MIN_DURATION, QQuick3DParticleModelBlendParticle::modelBlendMode, QQuick3DParticle::nextCurrentIndex(), particle, QQuick3DParticleModelBlendParticle::particleCenter(), pos, qint8, QQuick3DParticleSystem::rand(), QQuick3DParticleModelBlendParticle::Random, QQuick3DParticleModelBlendParticle::randomIndex(), QColor::red(), QQuick3DNode::rotation, QPRand::RotXV, QPRand::RotXVV, QPRand::RotYV, QPRand::RotYVV, QPRand::RotZV, QPRand::RotZVV, QQuick3DParticleDirection::sample(), QPRand::ScaleEV, QPRand::ScaleV, sign(), QPRand::SpriteAnimationV, startTime, QQuick3DParticle::unifiedColorVariation, QVector4D::w(), QVector3D::x(), QVector4D::x(), Vector3b::x, QVector3D::y(), QVector4D::y(), Vector3b::y, QVector3D::z(), QVector4D::z(), and Vector3b::z.
Referenced by emitActivationNodeParticles(), emitParticles(), emitParticlesBurst(), QQuick3DParticleTrailEmitter::emitTrailParticles(), and generateEmitBursts().
|
protected |
Definition at line 879 of file qquick3dparticleemitter.cpp.
References QQuick3DParticleModelBlendParticle::Activation, calculateParticleRotation(), calculateParticleTransform(), QQuick3DParticleSystem::currentTime(), emitActivationNodeParticles(), emitParticle(), generateEmitBursts(), getEmitAmount(), getEmitAmountFromDynamicBursts(), i, QQuick3DParticle::maxAmount, QQuick3DNode::parentNode(), QQuick3DNode::position, QQuick3DNode::rotation, and startTime.
|
protected |
Definition at line 855 of file qquick3dparticleemitter.cpp.
References burst(), calculateParticleRotation(), calculateParticleTransform(), emitParticle(), i, QQuick3DParticle::maxAmount, QQuick3DNode::parentNode(), QQuick3DNode::position, QQuick3DNode::rotation, and startTime.
Referenced by burst().
float QQuick3DParticleEmitter::emitRate | ( | ) | const |
\qmlproperty real ParticleEmitter3D::emitRate
This property defines the constant emitting rate in particles per second. For example, if the emitRate is 120 and system animates at 60 frames per second, 2 new particles are emitted at every frame.
The default value is 0
.
Definition at line 148 of file qquick3dparticleemitter.cpp.
|
signal |
bool QQuick3DParticleEmitter::enabled | ( | ) | const |
\qmlproperty bool ParticleEmitter3D::enabled
If enabled is set to false
, this emitter will not emit any particles. Usually this is used to conditionally turn an emitter on or off. If you want to continue emitting burst, keep \l emitRate at 0 instead of toggling this to false
.
The default value is true
.
Definition at line 54 of file qquick3dparticleemitter.cpp.
|
signal |
|
protected |
Definition at line 584 of file qquick3dparticleemitter.cpp.
References QQuick3DParticleEmitBurst::amount, calculateParticleRotation(), calculateParticleTransform(), QQuick3DParticleEmitBurst::duration, emitBurst(), emitParticle(), i, QList< T >::isEmpty(), QQuick3DNode::parentNode(), QQuick3DNode::position, QQuick3DParticle::reset(), QQuick3DNode::rotation, startTime, QQuick3DParticleEmitBurst::time, and QQuick3DParticle::updateBurstIndex().
Referenced by emitParticles().
|
protected |
Definition at line 827 of file qquick3dparticleemitter.cpp.
References QQuick3DParticleSystem::currentTime().
Referenced by emitParticles().
|
protected |
Definition at line 762 of file qquick3dparticleemitter.cpp.
References burst(), currentTime(), QPRand::get(), QQuick3DParticleSystem::rand(), QList< T >::removeAt(), QList< T >::size(), and QQuick3DParticleSystem::time.
Referenced by emitParticles(), and QQuick3DParticleTrailEmitter::emitTrailParticles().
int QQuick3DParticleEmitter::lifeSpan | ( | ) | const |
\qmlproperty int ParticleEmitter3D::lifeSpan
This property defines the lifespan of a single particle in milliseconds.
The default value is 1000
.
Definition at line 296 of file qquick3dparticleemitter.cpp.
|
signal |
int QQuick3DParticleEmitter::lifeSpanVariation | ( | ) | const |
\qmlproperty int ParticleEmitter3D::lifeSpanVariation
This property defines the lifespan variation of a single particle in milliseconds.
For example, to emit particles which will exist between 3 and 4 seconds:
\qml ParticleEmitter3D { ... lifeSpan: 3500 lifeSpanVariation: 500 } \endqml
The default value is 0
.
Definition at line 329 of file qquick3dparticleemitter.cpp.
|
signal |
QQuick3DParticle * QQuick3DParticleEmitter::particle | ( | ) | const |
\qmlproperty Particle3D ParticleEmitter3D::particle
This property defines the logical particle which this emitter emits. Emitter must have a particle defined, or it doesn't emit anything. Particle can be either \l SpriteParticle3D or \l ModelParticle3D.
Definition at line 350 of file qquick3dparticleemitter.cpp.
|
signal |
float QQuick3DParticleEmitter::particleEndScale | ( | ) | const |
\qmlproperty real ParticleEmitter3D::particleEndScale
This property defines the scale multiplier of the particles at the end of particle \l lifeSpan. To have variation in the particle end sizes, use \l particleEndScaleVariation. When the value is negative, end scale is the same as the \l particleScale, so scale doesn't change during the particle \l lifeSpan.
The default value is -1.0
.
Definition at line 205 of file qquick3dparticleemitter.cpp.
|
signal |
float QQuick3DParticleEmitter::particleEndScaleVariation | ( | ) | const |
\qmlproperty real ParticleEmitter3D::particleEndScaleVariation
This property defines the scale variation of the particles in the end. When the value is negative, \l particleScaleVariation is used also for the end scale. For example, to emit particles which start at scale 0.5 - 1.5 and end at scale 1.0 - 5.0:
\qml ParticleEmitter3D { ... particleScale: 1.0 particleScaleVariation: 0.5 particleEndScale: 3.0 particleEndScaleVariation: 2.0 } \endqml
The default value is -1.0
.
Definition at line 273 of file qquick3dparticleemitter.cpp.
|
signal |
QVector3D QQuick3DParticleEmitter::particleRotation | ( | ) | const |
\qmlproperty vector3d ParticleEmitter3D::particleRotation
This property defines the rotation of the particles in the beginning. Rotation is defined as degrees in euler angles.
Definition at line 413 of file qquick3dparticleemitter.cpp.
|
signal |
QVector3D QQuick3DParticleEmitter::particleRotationVariation | ( | ) | const |
\qmlproperty vector3d ParticleEmitter3D::particleRotationVariation
This property defines the rotation variation of the particles in the beginning. Rotation variation is defined as degrees in euler angles.
For example, to emit particles in fully random rotations:
\qml ParticleEmitter3D { ... particleRotationVariation: Qt.vector3d(180, 180, 180) } \endqml
Definition at line 444 of file qquick3dparticleemitter.cpp.
|
signal |
|
signal |
QVector3D QQuick3DParticleEmitter::particleRotationVelocity | ( | ) | const |
\qmlproperty vector3d ParticleEmitter3D::particleRotationVelocity
This property defines the rotation velocity of the particles in the beginning. Rotation velocity is defined as degrees per second in euler angles.
Definition at line 466 of file qquick3dparticleemitter.cpp.
|
signal |
QVector3D QQuick3DParticleEmitter::particleRotationVelocityVariation | ( | ) | const |
\qmlproperty vector3d ParticleEmitter3D::particleRotationVelocityVariation
This property defines the rotation velocity variation of the particles. Rotation velocity variation is defined as degrees per second in euler angles.
For example, to emit particles in random rotations which have random rotation velocity between -100 and 100 degrees per second into any directions:
\qml ParticleEmitter3D { ... particleRotationVariation: Qt.vector3d(180, 180, 180) particleRotationVelocityVariation: Qt.vector3d(100, 100, 100) } \endqml
Definition at line 499 of file qquick3dparticleemitter.cpp.
float QQuick3DParticleEmitter::particleScale | ( | ) | const |
\qmlproperty real ParticleEmitter3D::particleScale
This property defines the scale multiplier of the particles at the beginning. To have variation in the particle sizes, use \l particleScaleVariation.
The default value is 1.0
.
Definition at line 178 of file qquick3dparticleemitter.cpp.
|
signal |
float QQuick3DParticleEmitter::particleScaleVariation | ( | ) | const |
\qmlproperty real ParticleEmitter3D::particleScaleVariation
This property defines the scale variation of the particles. For example, to emit particles at scale 0.5 - 1.5:
\qml ParticleEmitter3D { ... particleScale: 1.0 particleScaleVariation: 0.5 } \endqml
The default value is 0.0
.
Definition at line 237 of file qquick3dparticleemitter.cpp.
|
signal |
|
protected |
Definition at line 627 of file qquick3dparticleemitter.cpp.
References emitBurst(), and QList< T >::removeAll().
Referenced by QQuick3DParticleEmitBurst::componentComplete().
|
protected |
Definition at line 1040 of file qquick3dparticleemitter.cpp.
References QList< T >::removeLast().
Referenced by removeLastEmitBurst().
|
staticprotected |
Definition at line 1059 of file qquick3dparticleemitter.cpp.
References QList< T >::data(), list, and removeLastEmitBurst().
|
staticprotected |
Definition at line 1054 of file qquick3dparticleemitter.cpp.
References QList< T >::data(), i, list, and replaceEmitBurst().
|
protected |
Definition at line 1035 of file qquick3dparticleemitter.cpp.
Referenced by replaceEmitBurst().
|
protected |
Definition at line 536 of file qquick3dparticleemitter.cpp.
References QList< T >::clear().
|
slot |
Definition at line 526 of file qquick3dparticleemitter.cpp.
References depthBiasChanged(), emit, and qFuzzyCompare().
|
slot |
Definition at line 153 of file qquick3dparticleemitter.cpp.
References QQuick3DParticleSystem::currentTime(), emitRate, emitRateChanged(), Q_EMIT, and qFuzzyCompare().
|
slot |
Definition at line 58 of file qquick3dparticleemitter.cpp.
References QQuick3DParticleSystem::currentTime(), enabled, enabledChanged(), and Q_EMIT.
|
slot |
Definition at line 301 of file qquick3dparticleemitter.cpp.
References lifeSpan, lifeSpanChanged(), and Q_EMIT.
|
slot |
Definition at line 334 of file qquick3dparticleemitter.cpp.
References lifeSpanVariation, lifeSpanVariationChanged(), and Q_EMIT.
|
slot |
Definition at line 355 of file qquick3dparticleemitter.cpp.
References QObject::connect(), depthBiasChanged(), QQuick3DParticleSystem::isShared(), particle, particleChanged(), Q_EMIT, qWarning, QQuick3DParticle::setDepthBias(), QQuick3DParticle::setSystem(), QQuick3DParticle::system(), and system.
|
slot |
Definition at line 210 of file qquick3dparticleemitter.cpp.
References particleEndScale, particleEndScaleChanged(), Q_EMIT, and qFuzzyCompare().
|
slot |
Definition at line 278 of file qquick3dparticleemitter.cpp.
References particleEndScaleVariation, particleEndScaleVariationChanged(), Q_EMIT, and qFuzzyCompare().
Definition at line 418 of file qquick3dparticleemitter.cpp.
References particleRotation, particleRotationChanged(), and Q_EMIT.
|
slot |
Definition at line 449 of file qquick3dparticleemitter.cpp.
References particleRotationVariation, particleRotationVariationChanged(), and Q_EMIT.
|
slot |
Definition at line 471 of file qquick3dparticleemitter.cpp.
References particleRotationVelocity, particleRotationVelocityChanged(), and Q_EMIT.
|
slot |
Definition at line 504 of file qquick3dparticleemitter.cpp.
References particleRotationVariationVelocityChanged(), particleRotationVelocityVariation, and Q_EMIT.
|
slot |
Definition at line 183 of file qquick3dparticleemitter.cpp.
References particleScale, particleScaleChanged(), Q_EMIT, and qFuzzyCompare().
|
slot |
Definition at line 242 of file qquick3dparticleemitter.cpp.
References particleScaleVariation, particleScaleVariationChanged(), Q_EMIT, and qFuzzyCompare().
|
slot |
Definition at line 394 of file qquick3dparticleemitter.cpp.
References QQuick3DParticleAbstractShape::m_system, Q_EMIT, shape, and shapeChanged().
|
slot |
Definition at line 109 of file qquick3dparticleemitter.cpp.
References QQuick3DParticleSystem::currentTime(), getSharedParentNode(), QQuick3DParticleAbstractShape::m_system, QQuick3DParticleDirection::m_system, Q_EMIT, QQuick3DParticleSystem::registerParticleEmitter(), QQuick3DParticle::setSystem(), system, systemChanged(), and QQuick3DParticleSystem::unRegisterParticleEmitter().
Referenced by componentComplete().
|
slot |
Definition at line 86 of file qquick3dparticleemitter.cpp.
References QQuick3DParticleDirection::m_system, Q_EMIT, velocity, and velocityChanged().
QQuick3DParticleAbstractShape * QQuick3DParticleEmitter::shape | ( | ) | const |
\qmlproperty ParticleAbstractShape3D ParticleEmitter3D::shape
This property defines optional shape for the emitting area. It can be either \l ParticleShape3D or \l ParticleModelShape3D. Shape is scaled, positioned and rotated based on the emitter node properties. When the Shape \l {ParticleShape3D::fill}{fill} property is set to false, emitting happens only from the surface of the shape.
When the shape is not defined, emitting is done from the center point of the emitter node.
Definition at line 389 of file qquick3dparticleemitter.cpp.
|
signal |
QQuick3DParticleSystem * QQuick3DParticleEmitter::system | ( | ) | const |
\qmlproperty ParticleSystem3D ParticleEmitter3D::system
This property defines the \l ParticleSystem3D for the emitter. If system is direct parent of the emitter, this property does not need to be defined.
Definition at line 104 of file qquick3dparticleemitter.cpp.
|
signal |
|
protected |
Definition at line 634 of file qquick3dparticleemitter.cpp.
References emitBurst(), and QList< T >::removeAll().
Referenced by QQuick3DParticleEmitBurst::~QQuick3DParticleEmitBurst().
QQuick3DParticleDirection * QQuick3DParticleEmitter::velocity | ( | ) | const |
\qmlproperty Direction3D ParticleEmitter3D::velocity
This property can be used to set a starting velocity for emitted particles. If velocity is not set, particles start motionless and velocity comes from \l {Affector3D}{affectors} if they are used.
Definition at line 81 of file qquick3dparticleemitter.cpp.
|
signal |
|
friend |
Definition at line 121 of file qquick3dparticleemitter_p.h.
|
friend |
Definition at line 120 of file qquick3dparticleemitter_p.h.
|
friend |
Definition at line 122 of file qquick3dparticleemitter_p.h.
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
|
read |
\qmlproperty List<EmitBurst3D> ParticleEmitter3D::emitBursts
This property takes a list of \l EmitBurst3D elements, to declaratively define bursts. If the burst starting time, amount, and duration are known beforehand, it is better to use this property than e.g. calling \l burst() with a \l Timer.
For example, to emit 100 particles at the beginning, and 50 particles at 2 seconds:
\qml ParticleEmitter3D { emitBursts: [ EmitBurst3D { time: 0 amount: 100 }, EmitBurst3D { time: 2000 amount: 50 } ] } \endqml
Definition at line 192 of file qquick3dparticleemitter_p.h.
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by setEmitRate().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by QQuick3DParticleTrailEmitter::emitTrailParticles(), and setEnabled().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by setLifeSpan().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by setLifeSpanVariation().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by emitActivationNodeParticles(), emitParticle(), QQuick3DParticleTrailEmitter::emitTrailParticles(), and setParticle().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by setParticleEndScale().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by setParticleEndScaleVariation().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by setParticleRotation().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by setParticleRotationVariation().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by setParticleRotationVelocity().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by setParticleRotationVelocityVariation().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by setParticleScale().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by setParticleScaleVariation().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by setShape().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by QQuick3DParticleTrailEmitter::burst(), QQuick3DParticleTrailEmitter::emitTrailParticles(), setParticle(), and setSystem().
|
readwrite |
Definition at line 192 of file qquick3dparticleemitter_p.h.
Referenced by setVelocity().