![]() |
Qt 6.x
The Qt SDK
|
#include <qquick3dparticleattractor_p.h>
Inheritance diagram for QQuick3DParticleAttractor:
Collaboration diagram for QQuick3DParticleAttractor:Public Member Functions | |
| QQuick3DParticleAttractor (QQuick3DNode *parent=nullptr) | |
| QVector3D | positionVariation () const |
| \qmlproperty vector3d Attractor3D::positionVariation | |
| QQuick3DParticleAbstractShape * | shape () const |
| \qmlproperty ParticleAbstractShape3D Attractor3D::shape | |
| int | duration () const |
| \qmlproperty int Attractor3D::duration | |
| int | durationVariation () const |
| \qmlproperty int Attractor3D::durationVariation | |
| bool | hideAtEnd () const |
| \qmlproperty bool Attractor3D::hideAtEnd | |
| bool | useCachedPositions () const |
| \qmlproperty bool Attractor3D::useCachedPositions | |
| int | positionsAmount () const |
| \qmlproperty int Attractor3D::positionsAmount | |
Public Member Functions inherited from QQuick3DParticleAffector | |
| QQuick3DParticleAffector (QQuick3DNode *parent=nullptr) | |
| \qmltype Affector3D \inherits Node \inqmlmodule QtQuick3D.Particles3D | |
| ~QQuick3DParticleAffector () override | |
| QQuick3DParticleSystem * | system () const |
| \qmlproperty ParticleSystem3D Affector3D::system | |
| bool | enabled () const |
| \qmlproperty bool Affector3D::enabled | |
| QQmlListProperty< QQuick3DParticle > | particles () |
| void | appendParticle (QQuick3DParticle *) |
| qsizetype | particleCount () const |
| QQuick3DParticle * | particle (qsizetype) const |
| void | clearParticles () |
| void | replaceParticle (qsizetype, QQuick3DParticle *) |
| void | removeLastParticle () |
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 | |
| 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 |
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< 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. | |
Public Member Functions inherited from QQmlParserStatus | |
| 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 | prepareToAffect () override |
| void | affectParticle (const QQuick3DParticleData &sd, QQuick3DParticleDataCurrent *d, float time) override |
Protected Member Functions inherited from QQuick3DNode | |
| 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 |
Protected Member Functions inherited from QQuick3DObject | |
| 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 () |
Protected Member Functions inherited from QObject | |
| 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) | |
Properties | |
| QVector3D | positionVariation |
| QQuick3DParticleAbstractShape * | shape |
| int | duration |
| int | durationVariation |
| bool | hideAtEnd |
| bool | useCachedPositions |
| int | positionsAmount |
Properties inherited from QQuick3DParticleAffector | |
| QQuick3DParticleSystem * | system |
| QQmlListProperty< QQuick3DParticle > | particles |
| \qmlproperty List<Particle3D> Affector3D::particles | |
| bool | enabled |
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 |
Properties inherited from QQuick3DObject | |
| QQuick3DObject * | parent |
| \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 | |
Additional Inherited Members | |
Public Types inherited from QQuick3DNode | |
| enum | TransformSpace { LocalSpace , ParentSpace , SceneSpace } |
| enum | StaticFlags { None } |
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 QQuick3DParticleAffector | |
| QList< QQuick3DParticle * > | m_particles |
| QQuick3DNode * | m_systemSharedParent = nullptr |
Protected Attributes inherited from QObject | |
| QScopedPointer< QObjectData > | d_ptr |
Related Symbols inherited from QObject | |
| 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 23 of file qquick3dparticleattractor_p.h.
| QQuick3DParticleAttractor::QQuick3DParticleAttractor | ( | QQuick3DNode * | parent = nullptr | ) |
Definition at line 27 of file qquick3dparticleattractor.cpp.
|
overrideprotectedvirtual |
Implements QQuick3DParticleAffector.
Definition at line 264 of file qquick3dparticleattractor.cpp.
References QPRand::AttractorDurationV, QPRand::AttractorPosVX, QPRand::AttractorPosVY, QPRand::AttractorPosVZ, d, duration, durationVariation, QQuick3DParticleAbstractShape::getPosition(), QQuick3DParticleData::index, QVector3D::isNull(), QQuick3DParticleData::lifetime, QMatrix4x4::map(), MIN_DURATION, pos, QQuick3DParticleSystem::rand(), QList< T >::size(), QQuick3DParticleAffector::system, time, QVector3D::x(), QVector3D::y(), and QVector3D::z().
Here is the call graph for this function:| int QQuick3DParticleAttractor::duration | ( | ) | const |
\qmlproperty int Attractor3D::duration
This property defines the duration in milliseconds how long it takes for particles to reach the attaction position. When the value is -1, particle lifeSpan is used as the duration.
The default value is -1.
Definition at line 116 of file qquick3dparticleattractor.cpp.
|
signal |
| int QQuick3DParticleAttractor::durationVariation | ( | ) | const |
\qmlproperty int Attractor3D::durationVariation
This property defines the duration variation in milliseconds. The actual duration to reach attractor is between duration - durationVariation and duration + durationVariation.
The default value is 0 (no variation).
Definition at line 139 of file qquick3dparticleattractor.cpp.
|
signal |
| bool QQuick3DParticleAttractor::hideAtEnd | ( | ) | const |
\qmlproperty bool Attractor3D::hideAtEnd
This property defines if the particle should disappear when it reaches the attractor.
The default value is false.
Definition at line 161 of file qquick3dparticleattractor.cpp.
|
signal |
| int QQuick3DParticleAttractor::positionsAmount | ( | ) | const |
\qmlproperty int Attractor3D::positionsAmount
This property defines the amount of possible positions stored within the attractor shape. By default the amount equals the particle count, but a lower amount can be used for a smaller cache. Higher amount can be used for additional randomization.
Definition at line 186 of file qquick3dparticleattractor.cpp.
|
signal |
| QVector3D QQuick3DParticleAttractor::positionVariation | ( | ) | const |
\qmlproperty vector3d Attractor3D::positionVariation
This property defines the variation on attract position. It can be used to not attract into a single point, but randomly towards a wider area. Here is an example how to attract particles into some random point inside (50, 50, 50) cube at position (100, 0, 0) within 2 to 4 seconds:
\qml Attractor3D { position: Qt.vector3d(100, 0, 0) positionVariation: Qt.vector3d(50, 50, 50) duration: 3000 durationVariation: 1000 } \endqml
The default value is (0, 0, 0) (no variation).
Definition at line 55 of file qquick3dparticleattractor.cpp.
|
signal |
|
overrideprotectedvirtual |
Reimplemented from QQuick3DParticleAffector.
Definition at line 256 of file qquick3dparticleattractor.cpp.
References calculateParticleTransform(), QQuick3DParticleAffector::m_systemSharedParent, QQuick3DNode::parentNode(), and QQuick3DNode::position.
Here is the call graph for this function:
|
slot |
Definition at line 121 of file qquick3dparticleattractor.cpp.
References duration, durationChanged(), Q_EMIT, and QQuick3DParticleAffector::update().
Here is the call graph for this function:
|
slot |
Definition at line 144 of file qquick3dparticleattractor.cpp.
References durationVariation, durationVariationChanged(), Q_EMIT, and QQuick3DParticleAffector::update().
Here is the call graph for this function:
|
slot |
Definition at line 191 of file qquick3dparticleattractor.cpp.
References hideAtEnd, hideAtEndChanged(), Q_EMIT, and QQuick3DParticleAffector::update().
Here is the call graph for this function:
|
slot |
Definition at line 211 of file qquick3dparticleattractor.cpp.
References positionsAmount, positionsAmountChanged(), and Q_EMIT.
Here is the call graph for this function:Definition at line 60 of file qquick3dparticleattractor.cpp.
References positionVariation, positionVariationChanged(), Q_EMIT, and QQuick3DParticleAffector::update().
Here is the call graph for this function:
|
slot |
Definition at line 96 of file qquick3dparticleattractor.cpp.
References Q_EMIT, shape, shapeChanged(), and QQuick3DParticleAffector::update().
Here is the call graph for this function:
|
slot |
Definition at line 201 of file qquick3dparticleattractor.cpp.
References Q_EMIT, useCachedPositions, and useCachedPositionsChanged().
Here is the call graph for this function:| QQuick3DParticleAbstractShape * QQuick3DParticleAttractor::shape | ( | ) | const |
\qmlproperty ParticleAbstractShape3D Attractor3D::shape
This property defines a \l ParticleAbstractShape3D for particles attraction. Each particle will be attracted into a random position inside this shape. This is an alternative for defining \l {Node::position}{position} and \l positionVariation. Here is an example how to attract particles into some random point inside sphere by the end of the particles \l {ParticleEmitter3D::}{lifeSpan}:
\qml Attractor3D { position: Qt.vector3d(100, 0, 0) shape: ParticleShape3D { type: ParticleShape3D.Sphere fill: true } } \endqml
Definition at line 91 of file qquick3dparticleattractor.cpp.
|
signal |
| bool QQuick3DParticleAttractor::useCachedPositions | ( | ) | const |
\qmlproperty bool Attractor3D::useCachedPositions
This property defines if the attractor caches possible positions within its shape. Cached positions give less random results but are better for performance.
The default value is true.
Definition at line 174 of file qquick3dparticleattractor.cpp.
|
signal |
|
readwrite |
Definition at line 85 of file qquick3dparticleattractor_p.h.
Referenced by affectParticle(), and setDuration().
|
readwrite |
Definition at line 85 of file qquick3dparticleattractor_p.h.
Referenced by affectParticle(), and setDurationVariation().
|
readwrite |
Definition at line 85 of file qquick3dparticleattractor_p.h.
Referenced by setHideAtEnd().
|
readwrite |
Definition at line 85 of file qquick3dparticleattractor_p.h.
Referenced by setPositionsAmount().
|
readwrite |
Definition at line 85 of file qquick3dparticleattractor_p.h.
Referenced by setPositionVariation().
|
readwrite |
Definition at line 85 of file qquick3dparticleattractor_p.h.
Referenced by setShape().
|
readwrite |
Definition at line 85 of file qquick3dparticleattractor_p.h.
Referenced by setUseCachedPositions().