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

#include <qquick3dnode_p.h>

+ Inheritance diagram for QQuick3DNode:
+ Collaboration diagram for QQuick3DNode:

Public Types

enum  TransformSpace { LocalSpace , ParentSpace , SceneSpace }
 
enum  StaticFlags { None }
 

Public Slots

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)
 
- Public Slots inherited from QQuick3DObject
void update ()
 
void setParentItem (QQuick3DObject *parentItem)
 
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 

Signals

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 ()
 
- 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

 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
 
- 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 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 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)
 
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.
 
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
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)
 

Properties

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
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
 

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 27 of file qquick3dnode_p.h.

Member Enumeration Documentation

◆ StaticFlags

Enumerator
None 

Definition at line 59 of file qquick3dnode_p.h.

◆ TransformSpace

Enumerator
LocalSpace 
ParentSpace 
SceneSpace 

Definition at line 52 of file qquick3dnode_p.h.

Constructor & Destructor Documentation

◆ QQuick3DNode() [1/2]

QQuick3DNode::QQuick3DNode ( QQuick3DNode * parent = nullptr)
explicit

\qmltype Node \inherits Object3D \inqmlmodule QtQuick3D

The base component for an object that exists in a 3D scene.

The Node type serves as the base class for other spatial types, such as, \l Model, \l Camera, \l Light. These objects represent an entity that exists in the 3D scene, due to having a position and other properties in the 3D world. With the exception of the root node(s), all Node types are transformed relative to their parent Node, that is, in local coordinates. In many ways the Node type serves the same purpose in Qt Quick 3D scenes as \l Item does for Qt Quick scenes.

In addition to types deriving from Node, it is also possible to parent other types to a Node. This includes QObject instances, where the Node merely serves as the \l{QObject::parent()}{QObject parent}, and \l{Qt Quick 3D Scenes with 2D Content}{Qt Quick items}.

Wrapping other objects for the purpose of grouping them into components or sub-trees can be a convenient way to, for example, animated a group of nodes as a whole. This snippet shows how to use Node to animate a camera:

\qml Node { PerspectiveCamera { position: Qt.vector3d(0, 0, -600) }

SequentialAnimation on eulerRotation.y { loops: Animation.Infinite PropertyAnimation { duration: 5000 from: 0 to: 360 } } } \endqml

Node has to be used also if creating a scene outside of \l View3D, for example for the purpose of switching scenes on the fly, or showing the same scene on multiple views.

\qml Node { id: standAloneScene

DirectionalLight {}

Model { source: "#Sphere" materials: [ DefaultMaterial {} ] }

PerspectiveCamera { z: 600 } }

View3D { importScene: standAloneScene } \endqml

Definition at line 129 of file qquick3dnode.cpp.

◆ ~QQuick3DNode()

QQuick3DNode::~QQuick3DNode ( )
override

Definition at line 145 of file qquick3dnode.cpp.

◆ QQuick3DNode() [2/2]

QQuick3DNode::QQuick3DNode ( QQuick3DNodePrivate & dd,
QQuick3DNode * parent = nullptr )
protected

Definition at line 136 of file qquick3dnode.cpp.

Member Function Documentation

◆ componentComplete()

void QQuick3DNode::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.

Implements QQmlParserStatus.

Reimplemented in QQuick3DParticleAffector, QQuick3DParticleEmitter, QQuick3DParticleSystem, QQuick3DRepeater, QQuick3DRuntimeLoader, QQuick3DXrHandModel, and QQuick3DXrItem.

Definition at line 548 of file qquick3dnode.cpp.

◆ connectNotify()

void QQuick3DNode::connectNotify ( const QMetaMethod & signal)
overrideprotectedvirtual
Since
5.0

This virtual function is called when something has been connected to signal in this object.

If you want to compare signal with a specific signal, you can use QMetaMethod::fromSignal() as follows:

if (signal == QMetaMethod::fromSignal(&MyObject::valueChanged)) {
// signal is valueChanged
}
Warning
This function violates the object-oriented principle of modularity. However, it might be useful when you need to perform expensive initialization only if something is connected to a signal.
This function is called from the thread which performs the connection, which may be a different thread from the thread in which this object lives. This function may also be called with a QObject internal mutex locked. It is therefore not allowed to re-enter any QObject functions, including isSignalConnected(), from your reimplementation. If you lock a mutex in your reimplementation, make sure that you don't call QObject functions with that mutex held in other places or it will result in a deadlock.
See also
connect(), disconnectNotify()

Reimplemented from QObject.

Definition at line 526 of file qquick3dnode.cpp.

◆ disconnectNotify()

void QQuick3DNode::disconnectNotify ( const QMetaMethod & signal)
overrideprotectedvirtual
Since
5.0

This virtual function is called when something has been disconnected from signal in this object.

See connectNotify() for an example of how to compare signal with a specific signal.

If all signals were disconnected from this object (e.g., the signal argument to disconnect() was \nullptr), disconnectNotify() is only called once, and the signal will be an invalid QMetaMethod (QMetaMethod::isValid() returns false).

Warning
This function violates the object-oriented principle of modularity. However, it might be useful for optimizing access to expensive resources.
This function is called from the thread which performs the disconnection, which may be a different thread from the thread in which this object lives. This function may also be called with a QObject internal mutex locked. It is therefore not allowed to re-enter any QObject functions, including isSignalConnected(), from your reimplementation. If you lock a mutex in your reimplementation, make sure that you don't call QObject functions with that mutex held in other places or it will result in a deadlock.
See also
disconnect(), connectNotify()

Reimplemented from QObject.

Definition at line 539 of file qquick3dnode.cpp.

◆ eulerRotation()

QVector3D QQuick3DNode::eulerRotation ( ) const

\qmlproperty vector3d QtQuick3D::Node::eulerRotation

This property contains the rotation values for the x, y, and z axis. These values are stored as a vector3d. Rotation order is assumed to be ZXY.

See also
QQuaternion::fromEulerAngles()

Definition at line 1005 of file qquick3dnode.cpp.

◆ eulerRotationChanged

void QQuick3DNode::eulerRotationChanged ( )
signal

◆ forward()

QVector3D QQuick3DNode::forward ( ) const

\qmlproperty vector3d QtQuick3D::Node::forward \readonly

This property returns a normalized vector of the nodes forward direction in scene space.

See also
up, right, mapDirectionToScene

Definition at line 294 of file qquick3dnode.cpp.

◆ forwardChanged

void QQuick3DNode::forwardChanged ( )
signal

◆ itemChange()

void QQuick3DNode::itemChange ( ItemChange change,
const ItemChangeData &  )
overrideprotectedvirtual

Reimplemented from QQuick3DObject.

Reimplemented in QQuick3DModel, QQuick3DReflectionProbe, QQuick3DRepeater, and QQuick3DXrCamera.

Definition at line 1012 of file qquick3dnode.cpp.

◆ localOpacity()

float QQuick3DNode::localOpacity ( ) const

\qmlproperty real QtQuick3D::Node::opacity

This property contains the local opacity value of the Node. Since Node objects are not necessarily visible, this value might not have any effect, but this value is inherited by all children of the Node, which might be visible.

Definition at line 247 of file qquick3dnode.cpp.

◆ localOpacityChanged

void QQuick3DNode::localOpacityChanged ( )
signal

◆ mapDirectionFromNode()

QVector3D QQuick3DNode::mapDirectionFromNode ( const QQuick3DNode * node,
const QVector3D & localDirection ) const

\qmlmethod vector3d QtQuick3D::Node::mapDirectionFromNode(QtQuick3D::Node node, vector3d localDirection)

Transforms localDirection from the local space of node to the local space of this node. The return value is not affected by the (inherited) scale or position of the node.

Note
the return value will have the same length as localDirection (i.e. not normalized).
If node is null, then localDirection is interpreted as it is in scene space coordinates.
See also
mapDirectionToNode, mapDirectionFromScene, mapDirectionToScene

Definition at line 981 of file qquick3dnode.cpp.

◆ mapDirectionFromScene()

QVector3D QQuick3DNode::mapDirectionFromScene ( const QVector3D & sceneDirection) const

\qmlmethod vector3d QtQuick3D::Node::mapDirectionFromScene(vector3d sceneDirection)

Transforms sceneDirection from scene space to local space. The return value is not affected by the (inherited) scale or position of the node.

Note
the return value will have the same length as sceneDirection (i.e not normalized).
See also
mapDirectionToScene, mapDirectionToNode, mapDirectionFromNode

Definition at line 938 of file qquick3dnode.cpp.

◆ mapDirectionToNode()

QVector3D QQuick3DNode::mapDirectionToNode ( const QQuick3DNode * node,
const QVector3D & localDirection ) const

\qmlmethod vector3d QtQuick3D::Node::mapDirectionToNode(QtQuick3D::Node node, vector3d localDirection)

Transforms localDirection from this nodes local space to the local space of node. The return value is not affected by the (inherited) scale or position of the node.

Note
the return value will have the same length as localDirection (i.e. not normalized).
if node is null, then the returned direction will be transformed into scene space coordinates.
See also
mapDirectionFromNode, mapDirectionFromScene, mapDirectionToScene

Definition at line 960 of file qquick3dnode.cpp.

◆ mapDirectionToScene()

QVector3D QQuick3DNode::mapDirectionToScene ( const QVector3D & localDirection) const

\qmlmethod vector3d QtQuick3D::Node::mapDirectionToScene(vector3d localDirection)

Transforms localDirection from local space to scene space. The return value is not affected by the (inherited) scale or position of the node.

Note
the return value will have the same length as localDirection (i.e. not normalized).
See also
mapDirectionFromScene, mapDirectionToNode, mapDirectionFromNode

Definition at line 920 of file qquick3dnode.cpp.

◆ mapPositionFromNode()

QVector3D QQuick3DNode::mapPositionFromNode ( const QQuick3DNode * node,
const QVector3D & localPosition ) const

\qmlmethod vector3d QtQuick3D::Node::mapPositionFromNode(QtQuick3D::Node node, vector3d localPosition)

Transforms localPosition from the local space of node to the local space of this node.

Note
If node is null, then localPosition is interpreted as it is in scene space coordinates.
See also
mapPositionToScene, mapPositionFromScene, mapPositionToNode

Definition at line 902 of file qquick3dnode.cpp.

◆ mapPositionFromScene()

QVector3D QQuick3DNode::mapPositionFromScene ( const QVector3D & scenePosition) const

\qmlmethod vector3d QtQuick3D::Node::mapPositionFromScene(vector3d scenePosition)

Transforms scenePosition from scene space to local space.

See also
mapPositionToScene, mapPositionToNode, mapPositionFromNode

Definition at line 871 of file qquick3dnode.cpp.

◆ mapPositionToNode()

QVector3D QQuick3DNode::mapPositionToNode ( const QQuick3DNode * node,
const QVector3D & localPosition ) const

\qmlmethod vector3d QtQuick3D::Node::mapPositionToNode(QtQuick3D::Node node, vector3d localPosition)

Transforms localPosition from the local space of this node to the local space of node.

Note
If node is null, then localPosition will be transformed into scene space coordinates.
See also
mapPositionToScene, mapPositionFromScene, mapPositionFromNode

Definition at line 886 of file qquick3dnode.cpp.

◆ mapPositionToScene()

QVector3D QQuick3DNode::mapPositionToScene ( const QVector3D & localPosition) const

\qmlmethod vector3d QtQuick3D::Node::mapPositionToScene(vector3d localPosition)

Transforms localPosition from local space to scene space.

Note
"Scene space" is sometimes also referred to as the "global space". But then in the meaning "global in the 3D world", and not "global to the screen or desktop" (which is usually the interpretation in other Qt APIs).
See also
mapPositionFromScene, mapPositionToNode, mapPositionFromNode

Definition at line 859 of file qquick3dnode.cpp.

◆ markAllDirty()

void QQuick3DNode::markAllDirty ( )
overridevirtual

Reimplemented from QQuick3DObject.

Reimplemented in QQuick3DReflectionProbe.

Definition at line 987 of file qquick3dnode.cpp.

◆ parentNode()

QQuick3DNode * QQuick3DNode::parentNode ( ) const

Definition at line 278 of file qquick3dnode.cpp.

◆ pivot()

QVector3D QQuick3DNode::pivot ( ) const

\qmlproperty vector3d QtQuick3D::Node::pivot

This property contains the pivot values for the x, y, and z axis. These values are used as the pivot points when applying rotations to the node.

Definition at line 233 of file qquick3dnode.cpp.

◆ pivotChanged

void QQuick3DNode::pivotChanged ( )
signal

◆ position()

QVector3D QQuick3DNode::position ( ) const

\qmlproperty vector3d QtQuick3D::Node::position

This property contains the position translation in local coordinate space.

See also
x, y, z

Definition at line 208 of file qquick3dnode.cpp.

◆ positionChanged

void QQuick3DNode::positionChanged ( )
signal

◆ right()

QVector3D QQuick3DNode::right ( ) const

\qmlproperty vector3d QtQuick3D::Node::right \readonly

This property returns a normalized vector of the nodes right direction in scene space.

See also
forward, up, mapDirectionToScene

Definition at line 322 of file qquick3dnode.cpp.

Referenced by testing.tools.safetynet_image.ImageLocations::Right().

+ Here is the caller graph for this function:

◆ rightChanged

void QQuick3DNode::rightChanged ( )
signal

◆ rotate()

void QQuick3DNode::rotate ( qreal degrees,
const QVector3D & axis,
QQuick3DNode::TransformSpace space )

\qmlmethod QtQuick3D::Node::rotate(real degrees, vector3d axis, enumeration space)

Rotates this node around an axis by the given degrees. The specified rotation will be added to the node's current rotation. The axis can be specified relative to different {space}s.

\value Node.LocalSpace Axis is relative to the local orientation of this node. \value Node.ParentSpace Axis is relative to the local orientation of the parent node. \value Node.SceneSpace Axis is relative to the scene.

Definition at line 753 of file qquick3dnode.cpp.

◆ rotation()

QQuaternion QQuick3DNode::rotation ( ) const

\qmlproperty quaternion QtQuick3D::Node::rotation

This property contains the rotation values for the node. These values are stored as a quaternion.

Definition at line 195 of file qquick3dnode.cpp.

◆ rotationChanged

void QQuick3DNode::rotationChanged ( )
signal

◆ scale()

QVector3D QQuick3DNode::scale ( ) const

\qmlproperty vector3d QtQuick3D::Node::scale

This property contains the scale values for the x, y, and z axis.

Definition at line 220 of file qquick3dnode.cpp.

◆ scaleChanged

void QQuick3DNode::scaleChanged ( )
signal

◆ scenePosition()

QVector3D QQuick3DNode::scenePosition ( ) const

\qmlproperty vector3d QtQuick3D::Node::scenePosition \readonly

This property returns the position of the node in scene space.

Note
This is sometimes also referred to as the global position. But then in the meaning "global in the 3D world", and not "global to the screen or desktop" (which is usually the interpretation in other Qt APIs).
the position will be reported in the same orientation as the node.
See also
mapPositionToScene

Definition at line 339 of file qquick3dnode.cpp.

◆ scenePositionChanged

void QQuick3DNode::scenePositionChanged ( )
signal

◆ sceneRotation()

QQuaternion QQuick3DNode::sceneRotation ( ) const

\qmlproperty quaternion QtQuick3D::Node::sceneRotation \readonly

This property returns the rotation of the node in scene space.

Definition at line 350 of file qquick3dnode.cpp.

◆ sceneRotationChanged

void QQuick3DNode::sceneRotationChanged ( )
signal

◆ sceneScale()

QVector3D QQuick3DNode::sceneScale ( ) const

\qmlproperty vector3d QtQuick3D::Node::sceneScale \readonly

This property returns the scale of the node in scene space.

Definition at line 362 of file qquick3dnode.cpp.

◆ sceneScaleChanged

void QQuick3DNode::sceneScaleChanged ( )
signal

◆ sceneTransform()

QMatrix4x4 QQuick3DNode::sceneTransform ( ) const

\qmlproperty matrix4x4 QtQuick3D::Node::sceneTransform \readonly

This property returns the global transform matrix for this node.

Note
the return value will be in right-handed coordinates.

Definition at line 374 of file qquick3dnode.cpp.

◆ sceneTransformChanged

void QQuick3DNode::sceneTransformChanged ( )
signal

◆ setEulerRotation

void QQuick3DNode::setEulerRotation ( const QVector3D & eulerRotation)
slot

Definition at line 723 of file qquick3dnode.cpp.

◆ setLocalOpacity

void QQuick3DNode::setLocalOpacity ( float opacity)
slot

Definition at line 690 of file qquick3dnode.cpp.

◆ setPivot

void QQuick3DNode::setPivot ( const QVector3D & pivot)
slot

Definition at line 677 of file qquick3dnode.cpp.

◆ setPosition

void QQuick3DNode::setPosition ( const QVector3D & position)
slot

Definition at line 638 of file qquick3dnode.cpp.

◆ setRotation

void QQuick3DNode::setRotation ( const QQuaternion & rotation)
slot

Definition at line 623 of file qquick3dnode.cpp.

◆ setScale

void QQuick3DNode::setScale ( const QVector3D & scale)
slot

Definition at line 664 of file qquick3dnode.cpp.

◆ setStaticFlags

void QQuick3DNode::setStaticFlags ( int staticFlags)
slot

Definition at line 712 of file qquick3dnode.cpp.

◆ setVisible

void QQuick3DNode::setVisible ( bool visible)
slot

Definition at line 701 of file qquick3dnode.cpp.

◆ setX

void QQuick3DNode::setX ( float x)
slot

Definition at line 584 of file qquick3dnode.cpp.

◆ setY

void QQuick3DNode::setY ( float y)
slot

Definition at line 597 of file qquick3dnode.cpp.

◆ setZ

void QQuick3DNode::setZ ( float z)
slot

Definition at line 610 of file qquick3dnode.cpp.

◆ staticFlags()

int QQuick3DNode::staticFlags ( ) const

\qmlproperty int QtQuick3D::Node::staticFlags

Since
5.15

This property defines the static flags that are used to evaluate how the node is rendered. Currently doesn't do anything but act as a placeholder for a future implementation.

Definition at line 272 of file qquick3dnode.cpp.

◆ staticFlagsChanged

void QQuick3DNode::staticFlagsChanged ( )
signal

◆ up()

QVector3D QQuick3DNode::up ( ) const

\qmlproperty vector3d QtQuick3D::Node::up \readonly

This property returns a normalized vector of the nodes up direction in scene space.

See also
forward, right, mapDirectionToScene

Definition at line 308 of file qquick3dnode.cpp.

◆ upChanged

void QQuick3DNode::upChanged ( )
signal

◆ updateSpatialNode()

◆ visible()

bool QQuick3DNode::visible ( ) const

\qmlproperty bool QtQuick3D::Node::visible

When this property is true, the Node (and its children) can be visible.

Definition at line 259 of file qquick3dnode.cpp.

◆ visibleChanged

void QQuick3DNode::visibleChanged ( )
signal

◆ x()

float QQuick3DNode::x ( ) const

\qmlproperty real QtQuick3D::Node::x

This property contains the x value of the position translation in local coordinate space.

See also
position

Definition at line 155 of file qquick3dnode.cpp.

◆ xChanged

void QQuick3DNode::xChanged ( )
signal

◆ y()

float QQuick3DNode::y ( ) const

\qmlproperty real QtQuick3D::Node::y

This property contains the y value of the position translation in local coordinate space.

See also
position

Definition at line 169 of file qquick3dnode.cpp.

◆ yChanged

void QQuick3DNode::yChanged ( )
signal

◆ z()

float QQuick3DNode::z ( ) const

\qmlproperty real QtQuick3D::Node::z

This property contains the z value of the position translation in local coordinate space.

See also
position

Definition at line 183 of file qquick3dnode.cpp.

◆ zChanged

void QQuick3DNode::zChanged ( )
signal

Property Documentation

◆ eulerRotation

QVector3D QQuick3DNode::eulerRotation
readwrite

Definition at line 34 of file qquick3dnode_p.h.

◆ forward

QVector3D QQuick3DNode::forward
read

Definition at line 40 of file qquick3dnode_p.h.

◆ opacity

float QQuick3DNode::opacity
readwrite

Definition at line 38 of file qquick3dnode_p.h.

◆ pivot

QVector3D QQuick3DNode::pivot
readwrite

Definition at line 37 of file qquick3dnode_p.h.

◆ position

QVector3D QQuick3DNode::position
readwrite

Definition at line 35 of file qquick3dnode_p.h.

◆ right

QVector3D QQuick3DNode::right
read

◆ rotation

QQuaternion QQuick3DNode::rotation
readwrite

Definition at line 33 of file qquick3dnode_p.h.

◆ scale

QVector3D QQuick3DNode::scale
readwrite

Definition at line 36 of file qquick3dnode_p.h.

◆ scenePosition

QVector3D QQuick3DNode::scenePosition
read

Definition at line 43 of file qquick3dnode_p.h.

◆ sceneRotation

QQuaternion QQuick3DNode::sceneRotation
read

Definition at line 44 of file qquick3dnode_p.h.

◆ sceneScale

QVector3D QQuick3DNode::sceneScale
read

Definition at line 45 of file qquick3dnode_p.h.

◆ sceneTransform

QMatrix4x4 QQuick3DNode::sceneTransform
read

Definition at line 46 of file qquick3dnode_p.h.

◆ staticFlags

int QQuick3DNode::staticFlags
readwrite

Definition at line 47 of file qquick3dnode_p.h.

◆ up

QVector3D QQuick3DNode::up
read

Definition at line 41 of file qquick3dnode_p.h.

◆ visible

bool QQuick3DNode::visible
readwrite

Definition at line 39 of file qquick3dnode_p.h.

◆ x

float QQuick3DNode::x
readwrite

Definition at line 30 of file qquick3dnode_p.h.

◆ y

float QQuick3DNode::y
readwrite

Definition at line 31 of file qquick3dnode_p.h.

◆ z

float QQuick3DNode::z
readwrite

Definition at line 32 of file qquick3dnode_p.h.


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