- Qt 6.11
- Qt Quick 3D
- C++ Classes
- QQuick3DObject
- Qt Quick 3D | Commercial or GPLv3

# QQuick3DObject Class

Base class of all 3D nodes and resources. More...

Header: | `#include <QQuick3DObject>`
In QML: | Object3D
Inherits: | QObject and QQmlParserStatus
Inherited By: | QQuick3DGeometry, QQuick3DInstancing, QQuick3DRenderExtension, and QQuick3DTextureData

- List of all members, including inherited members

## Properties

- parent : QQuick3DObject*
- state : QString

## Public Functions

QQuick3DObject * | parentItem() const
void | setState(const QString &state)
QString | state() const

## Public Slots

void | setParentItem(QQuick3DObject *parentItem)

## Signals

void | parentChanged()
void | stateChanged()

## Reimplemented Protected Functions

virtual void | classBegin() override
virtual void | componentComplete() override

## Detailed Description

Object3D is the base class for all Qt Quick 3D scene objects. Currently the types available in C++ are:

- QQuick3DGeometry
- QQuick3DTextureData

Both of these types are resource objects which directly inherit QQuick3DObject.

It should not be necessary to use QQuick3DObject directly anywhere currently because it is just an interface for supporting spatial items and resources in a 3D scene, as well as exposing similar functionality as QQuickItem for 3D scene content.

## Property Documentation

### parent : QQuick3DObject*

This property holds the parent of the Object3D in a 3D scene.

Note: An Object3D's parent may not necessarily be the same as its object parent. This is necessary because the object parent may be an item that is not of type Object3D, for example the root object in a scene.

Note: Currently for 3D items to be correctly handled by the scene manager when parenting 3D objects from C++ it is necessary to call QQuick3DObject::setParentItem before the QObject::setParent. This requirement is likely to change in a future release though.

     QQuick3DObject *newItem = new QQuick3DObject();
     newItem->setParentItem(parentItem);
     newItem->setParent(parentItem);

Access functions:

QQuick3DObject * | parentItem() const
void | setParentItem(QQuick3DObject *parentItem)

Notifier signal:

void | parentChanged()

### state : QString

This property holds the name of the current state of the object.

If the item is in its default state, that is, no explicit state has been set, then this property holds an empty string. Likewise, you can return an item to its default state by setting this property to an empty string.

Access functions:

QString | state() const
void | setState(const QString &state)

Notifier signal:

void | stateChanged()

See also Qt Quick States.