![]() |
Qt 6.x
The Qt SDK
|
#include <qquick3dparticleattractor_p.h>
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 | |
![]() | |
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 () |
![]() | |
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 | prepareToAffect () override |
void | affectParticle (const QQuick3DParticleData &sd, QQuick3DParticleDataCurrent *d, float time) override |
![]() | |
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) | |
Properties | |
QVector3D | positionVariation |
QQuick3DParticleAbstractShape * | shape |
int | duration |
int | durationVariation |
bool | hideAtEnd |
bool | useCachedPositions |
int | positionsAmount |
![]() | |
QQuick3DParticleSystem * | system |
QQmlListProperty< QQuick3DParticle > | particles |
\qmlproperty List<Particle3D> Affector3D::particles | |
bool | enabled |
![]() | |
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 |
![]() | |
QQuick3DObject * | parent |
\qmlproperty Object3D QtQuick3D::Object3D::parent This property holds the parent of the Object3D in a 3D scene. | |
![]() | |
QString | objectName |
the name of this object | |
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) |
![]() | |
QList< QQuick3DParticle * > | m_particles |
QQuick3DNode * | m_systemSharedParent = nullptr |
![]() | |
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 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().
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.
|
slot |
Definition at line 121 of file qquick3dparticleattractor.cpp.
References duration, durationChanged(), Q_EMIT, and QQuick3DParticleAffector::update().
|
slot |
Definition at line 144 of file qquick3dparticleattractor.cpp.
References durationVariation, durationVariationChanged(), Q_EMIT, and QQuick3DParticleAffector::update().
|
slot |
Definition at line 191 of file qquick3dparticleattractor.cpp.
References hideAtEnd, hideAtEndChanged(), Q_EMIT, and QQuick3DParticleAffector::update().
|
slot |
Definition at line 211 of file qquick3dparticleattractor.cpp.
References positionsAmount, positionsAmountChanged(), and Q_EMIT.
Definition at line 60 of file qquick3dparticleattractor.cpp.
References positionVariation, positionVariationChanged(), Q_EMIT, and QQuick3DParticleAffector::update().
|
slot |
Definition at line 96 of file qquick3dparticleattractor.cpp.
References Q_EMIT, shape, shapeChanged(), and QQuick3DParticleAffector::update().
|
slot |
Definition at line 201 of file qquick3dparticleattractor.cpp.
References Q_EMIT, useCachedPositions, and useCachedPositionsChanged().
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().