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
QQuick3DParticleEmitter Class Reference

#include <qquick3dparticleemitter_p.h>

Inheritance diagram for QQuick3DParticleEmitter:
Collaboration diagram for QQuick3DParticleEmitter:

Public Types

enum  EmitMode { Default = 0 , SurfaceNormal , SurfaceReflected }
Public Types inherited from QQuick3DNode
enum  TransformSpace { LocalSpace , ParentSpace , SceneSpace }
enum  StaticFlags { None }

Public Slots

void setEnabled (bool enabled)
void setVelocity (QQuick3DParticleDirection *velocity)
void setSystem (QQuick3DParticleSystem *system)
void setEmitRate (float emitRate)
void setParticleScale (float particleScale)
void setParticleEndScale (float particleEndScale)
void setParticleScaleVariation (float particleScaleVariation)
void setParticleEndScaleVariation (float particleEndScaleVariation)
void setLifeSpan (int lifeSpan)
void setLifeSpanVariation (int lifeSpanVariation)
void setParticle (QQuick3DParticle *particle)
void setShape (QQuick3DParticleAbstractShape *shape)
void setParticleRotation (const QVector3D &particleRotation)
void setParticleRotationVariation (const QVector3D &particleRotationVariation)
void setParticleRotationVelocity (const QVector3D &particleRotationVelocity)
void setParticleRotationVelocityVariation (const QVector3D &particleRotationVelocityVariation)
void setDepthBias (float bias)
 Q_REVISION (6, 10) void setReversed(bool reversed)
 Q_REVISION (6, 10) void setEmitMode(EmitMode mode)
Public Slots inherited from QQuick3DNode
void setX (float x)
void setY (float y)
void setZ (float z)
void setRotation (const QQuaternion &rotation)
void setEulerRotation (const QVector3D &eulerRotation)
void setPosition (const QVector3D &position)
void setScale (const QVector3D &scale)
void setPivot (const QVector3D &pivot)
void setLocalOpacity (float opacity)
void setVisible (bool visible)
void setStaticFlags (int staticFlags)
void setLayers (int newLayers)
Public Slots inherited from QQuick3DObject
void update ()
void setParentItem (QQuick3DObject *parentItem)
Public Slots inherited from QObject
void deleteLater ()
 \threadsafe

Signals

void velocityChanged ()
void systemChanged ()
void emitRateChanged ()
void particleScaleChanged ()
void particleEndScaleChanged ()
void particleScaleVariationChanged ()
void particleEndScaleVariationChanged ()
void lifeSpanChanged ()
void lifeSpanVariationChanged ()
void particleChanged ()
void shapeChanged ()
void particleRotationChanged ()
void particleRotationVariationChanged ()
void particleRotationVelocityChanged ()
void particleRotationVariationVelocityChanged ()
void enabledChanged ()
void depthBiasChanged ()
 Q_REVISION (6, 10) void reversedChanged()
 Q_REVISION (6, 10) void emitModeChanged()
Signals inherited from QQuick3DNode
void xChanged ()
void yChanged ()
void zChanged ()
void rotationChanged ()
void eulerRotationChanged ()
void positionChanged ()
void scaleChanged ()
void pivotChanged ()
void localOpacityChanged ()
void visibleChanged ()
void forwardChanged ()
void upChanged ()
void rightChanged ()
void sceneTransformChanged ()
void scenePositionChanged ()
void sceneRotationChanged ()
void sceneScaleChanged ()
void staticFlagsChanged ()
void layersChanged ()
Signals inherited from QQuick3DObject
void parentChanged ()
void childrenChanged ()
void stateChanged ()
Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.

Public Member Functions

 QQuick3DParticleEmitter (QQuick3DNode *parent=nullptr)
 ~QQuick3DParticleEmitter () override
bool enabled () const
 \qmlproperty bool ParticleEmitter3D::enabled
QQuick3DParticleDirectionvelocity () const
 \qmlproperty Direction3D ParticleEmitter3D::velocity
QQuick3DParticleSystemsystem () 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
QQuick3DParticleparticle () const
 \qmlproperty Particle3D ParticleEmitter3D::particle
QQuick3DParticleAbstractShapeshape () 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
 Q_REVISION (6, 10) bool reversed() const
 Q_REVISION (6, 10) EmitMode emitMode() const
QQmlListProperty< QQuick3DParticleEmitBurstemitBursts ()
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)
Public Member Functions inherited from QQuick3DNode
 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
QQuick3DNodeparentNode () 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
int layers () const
 \qmlproperty int QtQuick3D::Node::layers
Public Member Functions inherited from QObject
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< QStringbindableObjectName ()
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 isQmlObjectType () const
 Returns whether the object has been created by the QML engine or ownership has been explicitly set via QJSEngine::setObjectOwnership().
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).
QThreadthread () const
 Returns the thread in which the object lives.
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
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::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
void killTimer (int id)
 Kills the timer with timer identifier, id.
void killTimer (Qt::TimerId id)
template<typename T>
findChild (QAnyStringView aName, 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 (QAnyStringView 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>
findChild (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.
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 QObjectListchildren () 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< QByteArraydynamicPropertyNames () const
QBindingStoragebindingStorage ()
const QBindingStoragebindingStorage () const
QObjectparent () 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.
Public Member Functions inherited from QQmlParserStatus
 QQmlParserStatus ()
virtual ~QQmlParserStatus ()

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 &centerPos, int index=-1, const QVector3D &velocity=QVector3D(), const QVector3D &normal=QVector3D())
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
QQuick3DParticleEmitBurstemitBurst (qsizetype) const
void clearEmitBursts ()
void replaceEmitBurst (qsizetype, QQuick3DParticleEmitBurst *)
void removeLastEmitBurst ()
Protected Member Functions inherited from QQuick3DNode
void connectNotify (const QMetaMethod &signal) override
void disconnectNotify (const QMetaMethod &signal) override
 QQuick3DNode (QQuick3DNodePrivate &dd, QQuick3DNode *parent=nullptr)
QSSGRenderGraphObjectupdateSpatialNode (QSSGRenderGraphObject *node) override
virtual void itemChange (ItemChange, const ItemChangeData &) override
Protected Member Functions inherited from QQuick3DObject
 QQuick3DObject (QQuick3DObjectPrivate &dd, QQuick3DObject *parent=nullptr)
void classBegin () override
 Invoked after class creation, but before any properties have been set.
bool isComponentComplete () const
virtual void preSync ()
Protected Member Functions inherited from QObject
QObjectsender () 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.
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)

Static Protected Member Functions

static void appendEmitBurst (QQmlListProperty< QQuick3DParticleEmitBurst > *, QQuick3DParticleEmitBurst *)
static qsizetype emitBurstCount (QQmlListProperty< QQuick3DParticleEmitBurst > *)
static QQuick3DParticleEmitBurstemitBurst (QQmlListProperty< QQuick3DParticleEmitBurst > *, qsizetype)
static void clearEmitBursts (QQmlListProperty< QQuick3DParticleEmitBurst > *)
static void replaceEmitBurst (QQmlListProperty< QQuick3DParticleEmitBurst > *, qsizetype, QQuick3DParticleEmitBurst *)
static void removeLastEmitBurst (QQmlListProperty< QQuick3DParticleEmitBurst > *)

Properties

QQuick3DParticleSystemsystem
QQmlListProperty< QQuick3DParticleEmitBurstemitBursts
 \qmlproperty List<EmitBurst3D> ParticleEmitter3D::emitBursts
QQuick3DParticleDirectionvelocity
QQuick3DParticleparticle
bool enabled
QQuick3DParticleAbstractShapeshape
float emitRate
int lifeSpan
int lifeSpanVariation
float particleScale
float particleEndScale
float particleScaleVariation
float particleEndScaleVariation
QVector3D particleRotation
QVector3D particleRotationVariation
QVector3D particleRotationVelocity
QVector3D particleRotationVelocityVariation
float depthBias
bool reversed
 \qmlproperty bool ParticleEmitter3D::reversed
EmitMode emitMode
 \qmlproperty EmitType ParticleEmitter3D::emitType
Properties inherited from QQuick3DNode
float x
float y
float z
QQuaternion rotation
QVector3D eulerRotation
QVector3D position
QVector3D scale
QVector3D pivot
float opacity
bool visible
QVector3D forward
QVector3D up
QVector3D right
QVector3D scenePosition
QQuaternion sceneRotation
QVector3D sceneScale
QMatrix4x4 sceneTransform
int staticFlags
int layers
Properties inherited from QQuick3DObject
QQuick3DObjectparent
 \qmlproperty Object3D QtQuick3D::Object3D::parent This property holds the parent of the Object3D in a 3D scene.
Properties inherited from QObject
QString objectName
 the name of this object

Friends

class QQuick3DParticleSystem
class QQuick3DParticleEmitBurst
class QQuick3DParticleTrailEmitter

Additional Inherited Members

Static Public Member Functions inherited from QObject
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)
Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr

Detailed Description

Definition at line 30 of file qquick3dparticleemitter_p.h.

Member Enumeration Documentation

◆ EmitMode

Enumerator
Default 
SurfaceNormal 
SurfaceReflected 

Definition at line 59 of file qquick3dparticleemitter_p.h.

Constructor & Destructor Documentation

◆ QQuick3DParticleEmitter()

QQuick3DParticleEmitter::QQuick3DParticleEmitter ( QQuick3DNode * parent = nullptr)

Definition at line 41 of file qquick3dparticleemitter.cpp.

◆ ~QQuick3DParticleEmitter()

QQuick3DParticleEmitter::~QQuick3DParticleEmitter ( )
override

Definition at line 46 of file qquick3dparticleemitter.cpp.

Member Function Documentation

◆ appendEmitBurst() [1/2]

void QQuick3DParticleEmitter::appendEmitBurst ( QQmlListProperty< QQuick3DParticleEmitBurst > * list,
QQuick3DParticleEmitBurst * p )
staticprotected

Definition at line 1182 of file qquick3dparticleemitter.cpp.

◆ appendEmitBurst() [2/2]

void QQuick3DParticleEmitter::appendEmitBurst ( QQuick3DParticleEmitBurst * n)
protected

Definition at line 1153 of file qquick3dparticleemitter.cpp.

◆ burst() [1/3]

void QQuick3DParticleEmitter::burst ( int count)
virtual

\qmlmethod vector3d ParticleEmitter3D::burst(int count)

This method emits count amount of particles from this emitter immediately.

Reimplemented in QQuick3DParticleTrailEmitter.

Definition at line 619 of file qquick3dparticleemitter.cpp.

◆ burst() [2/3]

void QQuick3DParticleEmitter::burst ( int count,
int duration )
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 630 of file qquick3dparticleemitter.cpp.

◆ burst() [3/3]

void QQuick3DParticleEmitter::burst ( int count,
int duration,
const QVector3D & position )
virtual

\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 642 of file qquick3dparticleemitter.cpp.

◆ clearEmitBursts() [1/2]

void QQuick3DParticleEmitter::clearEmitBursts ( )
protected

Definition at line 1167 of file qquick3dparticleemitter.cpp.

◆ clearEmitBursts() [2/2]

void QQuick3DParticleEmitter::clearEmitBursts ( QQmlListProperty< QQuick3DParticleEmitBurst > * list)
staticprotected

Definition at line 1186 of file qquick3dparticleemitter.cpp.

◆ componentComplete()

void QQuick3DParticleEmitter::componentComplete ( )
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 1102 of file qquick3dparticleemitter.cpp.

◆ depthBias()

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 531 of file qquick3dparticleemitter.cpp.

◆ depthBiasChanged

void QQuick3DParticleEmitter::depthBiasChanged ( )
signal

◆ emitActivationNodeParticles()

void QQuick3DParticleEmitter::emitActivationNodeParticles ( QQuick3DParticleModelBlendParticle * particle)
protected

Definition at line 1070 of file qquick3dparticleemitter.cpp.

◆ emitBurst() [1/2]

QQuick3DParticleEmitBurst * QQuick3DParticleEmitter::emitBurst ( QQmlListProperty< QQuick3DParticleEmitBurst > * list,
qsizetype i )
staticprotected

Definition at line 1200 of file qquick3dparticleemitter.cpp.

◆ emitBurst() [2/2]

QQuick3DParticleEmitBurst * QQuick3DParticleEmitter::emitBurst ( qsizetype index) const
protected

Definition at line 1162 of file qquick3dparticleemitter.cpp.

◆ emitBurstCount() [1/2]

qsizetype QQuick3DParticleEmitter::emitBurstCount ( ) const
protected

Definition at line 1157 of file qquick3dparticleemitter.cpp.

◆ emitBurstCount() [2/2]

qsizetype QQuick3DParticleEmitter::emitBurstCount ( QQmlListProperty< QQuick3DParticleEmitBurst > * list)
staticprotected

Definition at line 1204 of file qquick3dparticleemitter.cpp.

◆ emitBursts()

QQmlListProperty< QQuick3DParticleEmitBurst > QQuick3DParticleEmitter::emitBursts ( )

◆ emitParticle()

void QQuick3DParticleEmitter::emitParticle ( QQuick3DParticle * particle,
float startTime,
const QMatrix4x4 & transform,
const QQuaternion & parentRotation,
const QVector3D & centerPos,
int index = -1,
const QVector3D & velocity = QVector3D(),
const QVector3D & normal = QVector3D() )
protected

Definition at line 754 of file qquick3dparticleemitter.cpp.

◆ emitParticles()

void QQuick3DParticleEmitter::emitParticles ( )
protected

Definition at line 1015 of file qquick3dparticleemitter.cpp.

◆ emitParticlesBurst()

void QQuick3DParticleEmitter::emitParticlesBurst ( const QQuick3DParticleEmitBurstData & burst)
protected

Definition at line 991 of file qquick3dparticleemitter.cpp.

◆ emitRate()

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 158 of file qquick3dparticleemitter.cpp.

◆ emitRateChanged

void QQuick3DParticleEmitter::emitRateChanged ( )
signal

◆ enabled()

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 64 of file qquick3dparticleemitter.cpp.

◆ enabledChanged

void QQuick3DParticleEmitter::enabledChanged ( )
signal

◆ generateEmitBursts()

void QQuick3DParticleEmitter::generateEmitBursts ( )
protected

Definition at line 654 of file qquick3dparticleemitter.cpp.

◆ getEmitAmount()

int QQuick3DParticleEmitter::getEmitAmount ( )
protected

Definition at line 963 of file qquick3dparticleemitter.cpp.

◆ getEmitAmountFromDynamicBursts()

int QQuick3DParticleEmitter::getEmitAmountFromDynamicBursts ( int triggerType = 0)
protected

Definition at line 898 of file qquick3dparticleemitter.cpp.

◆ lifeSpan()

int QQuick3DParticleEmitter::lifeSpan ( ) const

\qmlproperty int ParticleEmitter3D::lifeSpan

This property defines the lifespan of a single particle in milliseconds.

The default value is 1000.

See also
lifeSpanVariation

Definition at line 306 of file qquick3dparticleemitter.cpp.

◆ lifeSpanChanged

void QQuick3DParticleEmitter::lifeSpanChanged ( )
signal

◆ lifeSpanVariation()

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.

See also
lifeSpan

Definition at line 339 of file qquick3dparticleemitter.cpp.

◆ lifeSpanVariationChanged

void QQuick3DParticleEmitter::lifeSpanVariationChanged ( )
signal

◆ particle()

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 360 of file qquick3dparticleemitter.cpp.

◆ particleChanged

void QQuick3DParticleEmitter::particleChanged ( )
signal

◆ particleEndScale()

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.

See also
particleScale, particleScaleVariation

Definition at line 215 of file qquick3dparticleemitter.cpp.

◆ particleEndScaleChanged

void QQuick3DParticleEmitter::particleEndScaleChanged ( )
signal

◆ particleEndScaleVariation()

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.

See also
particleEndScale

Definition at line 283 of file qquick3dparticleemitter.cpp.

◆ particleEndScaleVariationChanged

void QQuick3DParticleEmitter::particleEndScaleVariationChanged ( )
signal

◆ particleRotation()

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.

See also
particleRotationVariation

Definition at line 423 of file qquick3dparticleemitter.cpp.

◆ particleRotationChanged

void QQuick3DParticleEmitter::particleRotationChanged ( )
signal

◆ particleRotationVariation()

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

See also
particleRotation

Definition at line 454 of file qquick3dparticleemitter.cpp.

◆ particleRotationVariationChanged

void QQuick3DParticleEmitter::particleRotationVariationChanged ( )
signal

◆ particleRotationVariationVelocityChanged

void QQuick3DParticleEmitter::particleRotationVariationVelocityChanged ( )
signal

◆ particleRotationVelocity()

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.

See also
particleRotationVelocityVariation

Definition at line 476 of file qquick3dparticleemitter.cpp.

◆ particleRotationVelocityChanged

void QQuick3DParticleEmitter::particleRotationVelocityChanged ( )
signal

◆ particleRotationVelocityVariation()

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

See also
particleRotationVelocity

Definition at line 509 of file qquick3dparticleemitter.cpp.

◆ particleScale()

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.

See also
particleEndScale, particleScaleVariation

Definition at line 188 of file qquick3dparticleemitter.cpp.

◆ particleScaleChanged

void QQuick3DParticleEmitter::particleScaleChanged ( )
signal

◆ particleScaleVariation()

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.

See also
particleScale, particleEndScaleVariation

Definition at line 247 of file qquick3dparticleemitter.cpp.

◆ particleScaleVariationChanged

void QQuick3DParticleEmitter::particleScaleVariationChanged ( )
signal

◆ Q_REVISION() [1/6]

QQuick3DParticleEmitter::Q_REVISION ( 6 ,
10  ) const

◆ Q_REVISION() [2/6]

QQuick3DParticleEmitter::Q_REVISION ( 6 ,
10  ) const

◆ Q_REVISION [3/6]

QQuick3DParticleEmitter::Q_REVISION ( 6 ,
10  )
signal

◆ Q_REVISION [4/6]

QQuick3DParticleEmitter::Q_REVISION ( 6 ,
10  )
signal

◆ Q_REVISION [5/6]

QQuick3DParticleEmitter::Q_REVISION ( 6 ,
10  )
slot

◆ Q_REVISION [6/6]

QQuick3DParticleEmitter::Q_REVISION ( 6 ,
10  )
slot

◆ registerEmitBurst()

void QQuick3DParticleEmitter::registerEmitBurst ( QQuick3DParticleEmitBurst * emitBurst)
protected

Definition at line 697 of file qquick3dparticleemitter.cpp.

◆ removeLastEmitBurst() [1/2]

void QQuick3DParticleEmitter::removeLastEmitBurst ( )
protected

Definition at line 1176 of file qquick3dparticleemitter.cpp.

◆ removeLastEmitBurst() [2/2]

void QQuick3DParticleEmitter::removeLastEmitBurst ( QQmlListProperty< QQuick3DParticleEmitBurst > * list)
staticprotected

Definition at line 1195 of file qquick3dparticleemitter.cpp.

◆ replaceEmitBurst() [1/2]

void QQuick3DParticleEmitter::replaceEmitBurst ( QQmlListProperty< QQuick3DParticleEmitBurst > * list,
qsizetype i,
QQuick3DParticleEmitBurst * p )
staticprotected

Definition at line 1190 of file qquick3dparticleemitter.cpp.

◆ replaceEmitBurst() [2/2]

void QQuick3DParticleEmitter::replaceEmitBurst ( qsizetype index,
QQuick3DParticleEmitBurst * n )
protected

Definition at line 1171 of file qquick3dparticleemitter.cpp.

◆ reset()

void QQuick3DParticleEmitter::reset ( )
protected

Definition at line 606 of file qquick3dparticleemitter.cpp.

◆ setDepthBias

void QQuick3DParticleEmitter::setDepthBias ( float bias)
slot

Definition at line 536 of file qquick3dparticleemitter.cpp.

◆ setEmitRate

void QQuick3DParticleEmitter::setEmitRate ( float emitRate)
slot

Definition at line 163 of file qquick3dparticleemitter.cpp.

◆ setEnabled

void QQuick3DParticleEmitter::setEnabled ( bool enabled)
slot

Definition at line 68 of file qquick3dparticleemitter.cpp.

◆ setLifeSpan

void QQuick3DParticleEmitter::setLifeSpan ( int lifeSpan)
slot

Definition at line 311 of file qquick3dparticleemitter.cpp.

◆ setLifeSpanVariation

void QQuick3DParticleEmitter::setLifeSpanVariation ( int lifeSpanVariation)
slot

Definition at line 344 of file qquick3dparticleemitter.cpp.

◆ setParticle

void QQuick3DParticleEmitter::setParticle ( QQuick3DParticle * particle)
slot

Definition at line 365 of file qquick3dparticleemitter.cpp.

◆ setParticleEndScale

void QQuick3DParticleEmitter::setParticleEndScale ( float particleEndScale)
slot

Definition at line 220 of file qquick3dparticleemitter.cpp.

◆ setParticleEndScaleVariation

void QQuick3DParticleEmitter::setParticleEndScaleVariation ( float particleEndScaleVariation)
slot

Definition at line 288 of file qquick3dparticleemitter.cpp.

◆ setParticleRotation

void QQuick3DParticleEmitter::setParticleRotation ( const QVector3D & particleRotation)
slot

Definition at line 428 of file qquick3dparticleemitter.cpp.

◆ setParticleRotationVariation

void QQuick3DParticleEmitter::setParticleRotationVariation ( const QVector3D & particleRotationVariation)
slot

Definition at line 459 of file qquick3dparticleemitter.cpp.

◆ setParticleRotationVelocity

void QQuick3DParticleEmitter::setParticleRotationVelocity ( const QVector3D & particleRotationVelocity)
slot

Definition at line 481 of file qquick3dparticleemitter.cpp.

◆ setParticleRotationVelocityVariation

void QQuick3DParticleEmitter::setParticleRotationVelocityVariation ( const QVector3D & particleRotationVelocityVariation)
slot

Definition at line 514 of file qquick3dparticleemitter.cpp.

◆ setParticleScale

void QQuick3DParticleEmitter::setParticleScale ( float particleScale)
slot

Definition at line 193 of file qquick3dparticleemitter.cpp.

◆ setParticleScaleVariation

void QQuick3DParticleEmitter::setParticleScaleVariation ( float particleScaleVariation)
slot

Definition at line 252 of file qquick3dparticleemitter.cpp.

◆ setShape

void QQuick3DParticleEmitter::setShape ( QQuick3DParticleAbstractShape * shape)
slot

Definition at line 404 of file qquick3dparticleemitter.cpp.

◆ setSystem

void QQuick3DParticleEmitter::setSystem ( QQuick3DParticleSystem * system)
slot

Definition at line 119 of file qquick3dparticleemitter.cpp.

◆ setVelocity

void QQuick3DParticleEmitter::setVelocity ( QQuick3DParticleDirection * velocity)
slot

Definition at line 96 of file qquick3dparticleemitter.cpp.

◆ shape()

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 399 of file qquick3dparticleemitter.cpp.

◆ shapeChanged

void QQuick3DParticleEmitter::shapeChanged ( )
signal

◆ system()

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 114 of file qquick3dparticleemitter.cpp.

◆ systemChanged

void QQuick3DParticleEmitter::systemChanged ( )
signal

◆ unRegisterEmitBurst()

void QQuick3DParticleEmitter::unRegisterEmitBurst ( QQuick3DParticleEmitBurst * emitBurst)
protected

Definition at line 704 of file qquick3dparticleemitter.cpp.

◆ velocity()

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 91 of file qquick3dparticleemitter.cpp.

◆ velocityChanged

void QQuick3DParticleEmitter::velocityChanged ( )
signal

◆ QQuick3DParticleEmitBurst

friend class QQuick3DParticleEmitBurst
friend

Definition at line 135 of file qquick3dparticleemitter_p.h.

◆ QQuick3DParticleSystem

friend class QQuick3DParticleSystem
friend

Definition at line 134 of file qquick3dparticleemitter_p.h.

◆ QQuick3DParticleTrailEmitter

friend class QQuick3DParticleTrailEmitter
friend

Definition at line 136 of file qquick3dparticleemitter_p.h.

Property Documentation

◆ depthBias

float QQuick3DParticleEmitter::depthBias
readwrite

Definition at line 50 of file qquick3dparticleemitter_p.h.

◆ emitBursts

QQmlListProperty< QQuick3DParticleEmitBurst > QQuick3DParticleEmitter::emitBursts
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

See also
burst()

Definition at line 34 of file qquick3dparticleemitter_p.h.

◆ emitMode

QQuick3DParticleEmitter::EmitMode QQuick3DParticleEmitter::emitMode
readwrite

\qmlproperty EmitType ParticleEmitter3D::emitType

Since
6.10

This property defines the type of the shape.

\default ParticleEmitter3D.Default

\qmlproperty enumeration ParticleEmitter3D::EmitType

Since
6.10

Defines the emit type of the emitter with shape.

\value ParticleEmitter3D.Default Default emit behavior. \value ParticleEmitter3D.SurfaceNormal The particles are emitted along the surface normal. Requires a particle shape. If the emitter is a trail emitter, the surface normal is inherited from the followed particle. \value ParticleEmitter3D.SurfaceReflected The particles are emitted along the reflection of the velocity vector and the surface normal. If the emitter is a trail emitter, the surface normal and the velocity are inherited from the followed particle. Requires particle shape.

Definition at line 53 of file qquick3dparticleemitter_p.h.

◆ emitRate

float QQuick3DParticleEmitter::emitRate
readwrite

Definition at line 39 of file qquick3dparticleemitter_p.h.

◆ enabled

bool QQuick3DParticleEmitter::enabled
readwrite

Definition at line 37 of file qquick3dparticleemitter_p.h.

◆ lifeSpan

int QQuick3DParticleEmitter::lifeSpan
readwrite

Definition at line 40 of file qquick3dparticleemitter_p.h.

◆ lifeSpanVariation

int QQuick3DParticleEmitter::lifeSpanVariation
readwrite

Definition at line 41 of file qquick3dparticleemitter_p.h.

◆ particle

QQuick3DParticle * QQuick3DParticleEmitter::particle
readwrite

Definition at line 36 of file qquick3dparticleemitter_p.h.

◆ particleEndScale

float QQuick3DParticleEmitter::particleEndScale
readwrite

Definition at line 43 of file qquick3dparticleemitter_p.h.

◆ particleEndScaleVariation

float QQuick3DParticleEmitter::particleEndScaleVariation
readwrite

Definition at line 45 of file qquick3dparticleemitter_p.h.

◆ particleRotation

QVector3D QQuick3DParticleEmitter::particleRotation
readwrite

Definition at line 46 of file qquick3dparticleemitter_p.h.

◆ particleRotationVariation

QVector3D QQuick3DParticleEmitter::particleRotationVariation
readwrite

Definition at line 47 of file qquick3dparticleemitter_p.h.

◆ particleRotationVelocity

QVector3D QQuick3DParticleEmitter::particleRotationVelocity
readwrite

Definition at line 48 of file qquick3dparticleemitter_p.h.

◆ particleRotationVelocityVariation

QVector3D QQuick3DParticleEmitter::particleRotationVelocityVariation
readwrite

Definition at line 49 of file qquick3dparticleemitter_p.h.

◆ particleScale

float QQuick3DParticleEmitter::particleScale
readwrite

Definition at line 42 of file qquick3dparticleemitter_p.h.

◆ particleScaleVariation

float QQuick3DParticleEmitter::particleScaleVariation
readwrite

Definition at line 44 of file qquick3dparticleemitter_p.h.

◆ reversed

bool QQuick3DParticleEmitter::reversed
readwrite

\qmlproperty bool ParticleEmitter3D::reversed

Since
6.10

This property reverses the particle time i.e. emitted particles are run from the end time to the start time. \default false

Definition at line 51 of file qquick3dparticleemitter_p.h.

◆ shape

QQuick3DParticleAbstractShape * QQuick3DParticleEmitter::shape
readwrite

Definition at line 38 of file qquick3dparticleemitter_p.h.

◆ system

QQuick3DParticleSystem * QQuick3DParticleEmitter::system
readwrite

Definition at line 33 of file qquick3dparticleemitter_p.h.

◆ velocity

QQuick3DParticleDirection * QQuick3DParticleEmitter::velocity
readwrite

Definition at line 35 of file qquick3dparticleemitter_p.h.


The documentation for this class was generated from the following files: