![]() |
Qt 6.x
The Qt SDK
|
#include <qquick3dscenemanager_p.h>
Inheritance diagram for QQuick3DSceneManager:
Collaboration diagram for QQuick3DSceneManager:Public Types | |
| enum class | NodePriority { Skeleton , Other , ModelWithInstanceRoot , Lights , Count } |
| enum class | ResourcePriority { TextureData , Texture , Other , Count } |
| enum class | ExtensionPriority { RenderExtension , Count } |
Signals | |
| void | needsUpdate () |
| void | windowChanged () |
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 | |
| QQuick3DSceneManager (QObject *parent=nullptr) | |
| ~QQuick3DSceneManager () override | |
| void | setWindow (QQuickWindow *window) |
| QQuickWindow * | window () |
| void | dirtyItem (QQuick3DObject *item) |
| void | requestUpdate () |
| void | cleanup (QSSGRenderGraphObject *item) |
| void | polishItems () |
| void | forcePolish () |
| void | sync () |
| void | preSync () |
| bool | cleanupNodes () |
| bool | updateDirtyResourceNodes () |
| void | updateDirtySpatialNodes () |
| void | updateDiryExtensions () |
| void | updateDirtyResource (QQuick3DObject *resourceObject) |
| void | updateDirtySpatialNode (QQuick3DNode *spatialNode) |
| void | updateBoundingBoxes (QSSGBufferManager &mgr) |
| QQuick3DObject * | lookUpNode (const QSSGRenderGraphObject *node) const |
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. | |
Static Public Member Functions | |
| static size_t | resourceListIndex (QSSGRenderGraphObject::Type type) |
| static size_t | nodeListIndex (QSSGRenderGraphObject::Type type) |
| static constexpr size_t | extensionListIndex (QSSGRenderGraphObject::Type type) |
| static QQuick3DWindowAttachment * | getOrSetWindowAttachment (QQuickWindow &window) |
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) |
Public Attributes | |
| QQuick3DObject * | dirtyResources [size_t(ResourcePriority::Count)] {} |
| QQuick3DObject * | dirtyNodes [size_t(NodePriority::Count)] {} |
| QQuick3DObject * | dirtyExtensions [size_t(ExtensionPriority::Count)] {} |
| QList< QQuick3DObject * > | dirtyBoundingBoxList |
| QList< QSSGRenderGraphObject * > | cleanupNodeList |
| QList< QSSGRenderGraphObject * > | resourceCleanupQueue |
| QSet< QQuick3DObject * > | parentlessItems |
| QVector< QSGDynamicTexture * > | qsgDynamicTextures |
| QHash< const QSSGRenderGraphObject *, QQuick3DObject * > | m_nodeMap |
| QSet< QSSGRenderGraphObject * > | resourceLoaders |
| QQuickWindow * | m_window = nullptr |
| QPointer< QQuick3DWindowAttachment > | wattached |
| int | inputHandlingEnabled = 0 |
| bool | sharedResourceRemoved = false |
| friend | QQuick3DObject |
Additional Inherited Members | |
Public Slots inherited from QObject | |
| void | deleteLater () |
| \threadsafe | |
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) | |
Protected Attributes inherited from QObject | |
| QScopedPointer< QObjectData > | d_ptr |
Properties inherited from QObject | |
| QString | objectName |
| the name of this object | |
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 72 of file qquick3dscenemanager_p.h.
|
strong |
| Enumerator | |
|---|---|
| RenderExtension | |
| Count | |
Definition at line 109 of file qquick3dscenemanager_p.h.
|
strong |
| Enumerator | |
|---|---|
| Skeleton | |
| Other | |
| ModelWithInstanceRoot | |
| Lights | |
| Count | |
Definition at line 107 of file qquick3dscenemanager_p.h.
|
strong |
| Enumerator | |
|---|---|
| TextureData | |
| Texture | |
| Other | |
| Count | |
Definition at line 108 of file qquick3dscenemanager_p.h.
Definition at line 21 of file qquick3dscenemanager.cpp.
|
override |
Definition at line 28 of file qquick3dscenemanager.cpp.
References cleanupNodes(), QQuick3DWindowAttachment::unregisterSceneManager(), and wattached.
Here is the call graph for this function:| void QQuick3DSceneManager::cleanup | ( | QSSGRenderGraphObject * | item | ) |
Definition at line 73 of file qquick3dscenemanager.cpp.
References QList< T >::append(), cleanupNodeList, QListSpecialMethodsBase< T >::contains(), QQuick3DObjectPrivate::get(), item, m_nodeMap, Q_ASSERT, and sharedResourceRemoved.
Referenced by QQuick3DObjectPrivate::derefSceneManager().
Here is the call graph for this function:
Here is the caller graph for this function:| bool QQuick3DSceneManager::cleanupNodes | ( | ) |
Definition at line 262 of file qquick3dscenemanager.cpp.
References cleanupNodeList, QList< T >::clear(), QSSGRenderGraphObject::hasGraphicsResources(), inputHandlingEnabled, QSSGRenderGraphObject::isNodeType(), m_nodeMap, QQuick3DWindowAttachment::queueForCleanup(), QHash< Key, T >::remove(), QSet< T >::remove(), QSSGRenderNode::removeFromGraph(), resourceLoaders, ret, sharedResourceRemoved, and wattached.
Referenced by ~QQuick3DSceneManager().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQuick3DSceneManager::dirtyItem | ( | QQuick3DObject * | item | ) |
Definition at line 62 of file qquick3dscenemanager.cpp.
References emit, item, needsUpdate(), and Q_UNUSED.
Referenced by QQuick3DObjectPrivate::addToDirtyList().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestaticconstexpr |
Definition at line 137 of file qquick3dscenemanager_p.h.
References QSSGRenderGraphObject::isExtension(), and Q_ASSERT.
Referenced by QQuick3DObjectPrivate::addToDirtyList().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQuick3DSceneManager::forcePolish | ( | ) |
Definition at line 94 of file qquick3dscenemanager.cpp.
|
static |
Definition at line 244 of file qquick3dscenemanager.cpp.
References QVariant::fromValue(), QObject::property(), qtQQ3DWAPropName, QObject::setProperty(), and window().
Referenced by QQuick3DViewport::createRenderer(), setWindow(), and QQuick3DSceneRenderer::synchronize().
Here is the call graph for this function:
Here is the caller graph for this function:| QQuick3DObject * QQuick3DSceneManager::lookUpNode | ( | const QSSGRenderGraphObject * | node | ) | const |
Definition at line 239 of file qquick3dscenemanager.cpp.
References m_nodeMap.
|
signal |
Referenced by QQuick3DViewport::QQuick3DViewport(), dirtyItem(), requestUpdate(), and QQuick3DViewport::setImportScene().
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 124 of file qquick3dscenemanager_p.h.
References QSSGRenderGraphObject::isLight(), QSSGRenderGraphObject::isNodeType(), and Q_ASSERT.
Referenced by QQuick3DObjectPrivate::addToDirtyList().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQuick3DSceneManager::polishItems | ( | ) |
Definition at line 89 of file qquick3dscenemanager.cpp.
| void QQuick3DSceneManager::preSync | ( | ) |
Definition at line 381 of file qquick3dscenemanager.cpp.
References dirtyExtensions, dirtyNodes, dirtyResources, QQuick3DObjectPrivate::get(), it, next, and QQuick3DObjectPrivate::nextDirtyItem.
Here is the call graph for this function:| void QQuick3DSceneManager::requestUpdate | ( | ) |
Definition at line 68 of file qquick3dscenemanager.cpp.
References emit, and needsUpdate().
Here is the call graph for this function:
|
inlinestatic |
Definition at line 111 of file qquick3dscenemanager_p.h.
References QSSGRenderGraphObject::isNodeType(), QSSGRenderGraphObject::isTexture(), and Q_ASSERT.
Referenced by QQuick3DObjectPrivate::addToDirtyList().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQuick3DSceneManager::setWindow | ( | QQuickWindow * | window | ) |
Definition at line 35 of file qquick3dscenemanager.cpp.
References emit, getOrSetWindowAttachment(), m_window, QQuick3DWindowAttachment::registerSceneManager(), QQuick3DWindowAttachment::unregisterSceneManager(), wattached, window(), and windowChanged().
Referenced by QQuick3DViewport::itemChange().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQuick3DSceneManager::sync | ( | ) |
Definition at line 99 of file qquick3dscenemanager.cpp.
| void QQuick3DSceneManager::updateBoundingBoxes | ( | QSSGBufferManager & | mgr | ) |
Definition at line 104 of file qquick3dscenemanager.cpp.
References dirtyBoundingBoxList, QQuick3DObjectPrivate::get(), QSSGBufferManager::getModelBounds(), QSSGBounds3::maximum, QSSGBounds3::minimum, model, QList< T >::removeOne(), QQuick3DObjectPrivate::sceneManager, and QQuick3DObjectPrivate::spatialNode.
Here is the call graph for this function:| void QQuick3DSceneManager::updateDirtyResource | ( | QQuick3DObject * | resourceObject | ) |
Definition at line 147 of file qquick3dscenemanager.cpp.
References QQuick3DObjectPrivate::dirtyAttributes, QQuick3DObjectPrivate::get(), inputHandlingEnabled, QHash< Key, T >::insert(), QSet< T >::insert(), m_nodeMap, Q_UNUSED, resourceLoaders, QQuick3DObjectPrivate::spatialNode, QSSGRenderGraphObject::type, and QQuick3DObject::updateSpatialNode().
Here is the call graph for this function:| bool QQuick3DSceneManager::updateDirtyResourceNodes | ( | ) |
Definition at line 120 of file qquick3dscenemanager.cpp.
References dirtyResources, it, and ret.
| void QQuick3DSceneManager::updateDirtySpatialNode | ( | QQuick3DNode * | spatialNode | ) |
Definition at line 180 of file qquick3dscenemanager.cpp.
References QSSGRenderNode::addChild(), QQuick3DObjectPrivate::dirtyAttributes, QQuick3DObjectPrivate::get(), inputHandlingEnabled, QHash< Key, T >::insert(), m_nodeMap, QQuick3DObject::parent, QSSGRenderNode::parent, QQuick3DObjectPrivate::ParentChanged, QSSGRenderNode::removeChild(), QQuick3DViewport::scene, QQuick3DObjectPrivate::spatialNode, QQuick3DObjectPrivate::type, and QQuick3DNode::updateSpatialNode().
Here is the call graph for this function:| void QQuick3DSceneManager::updateDirtySpatialNodes | ( | ) |
Definition at line 131 of file qquick3dscenemanager.cpp.
References dirtyNodes, and it.
| void QQuick3DSceneManager::updateDiryExtensions | ( | ) |
Definition at line 139 of file qquick3dscenemanager.cpp.
References dirtyExtensions, and it.
| QQuickWindow * QQuick3DSceneManager::window | ( | ) |
Definition at line 57 of file qquick3dscenemanager.cpp.
References m_window.
Referenced by getOrSetWindowAttachment(), QQuick3DObjectPrivate::refSceneManager(), setWindow(), QQuick3DSceneRenderer::synchronize(), and QQuick3DTexture::updateSpatialNode().
Here is the caller graph for this function:
|
signal |
Referenced by QQuick3DTexture::itemChange(), and setWindow().
Here is the caller graph for this function:| QList<QSSGRenderGraphObject *> QQuick3DSceneManager::cleanupNodeList |
Definition at line 151 of file qquick3dscenemanager_p.h.
Referenced by cleanup(), and cleanupNodes().
| QList<QQuick3DObject *> QQuick3DSceneManager::dirtyBoundingBoxList |
Definition at line 150 of file qquick3dscenemanager_p.h.
Referenced by QQuick3DObjectPrivate::derefSceneManager(), QQuick3DModel::setSource(), and updateBoundingBoxes().
| QQuick3DObject* QQuick3DSceneManager::dirtyExtensions[size_t(ExtensionPriority::Count)] {} |
Definition at line 148 of file qquick3dscenemanager_p.h.
Referenced by QQuick3DObjectPrivate::addToDirtyList(), preSync(), and updateDiryExtensions().
| QQuick3DObject* QQuick3DSceneManager::dirtyNodes[size_t(NodePriority::Count)] {} |
Definition at line 147 of file qquick3dscenemanager_p.h.
Referenced by QQuick3DObjectPrivate::addToDirtyList(), preSync(), and updateDirtySpatialNodes().
| QQuick3DObject* QQuick3DSceneManager::dirtyResources[size_t(ResourcePriority::Count)] {} |
Definition at line 146 of file qquick3dscenemanager_p.h.
Referenced by QQuick3DObjectPrivate::addToDirtyList(), preSync(), and updateDirtyResourceNodes().
| int QQuick3DSceneManager::inputHandlingEnabled = 0 |
Definition at line 160 of file qquick3dscenemanager_p.h.
Referenced by cleanupNodes(), updateDirtyResource(), updateDirtySpatialNode(), and QQuick3DViewport::updatePaintNode().
| QHash<const QSSGRenderGraphObject *, QQuick3DObject *> QQuick3DSceneManager::m_nodeMap |
Definition at line 156 of file qquick3dscenemanager_p.h.
Referenced by cleanup(), cleanupNodes(), lookUpNode(), updateDirtyResource(), and updateDirtySpatialNode().
| QQuickWindow* QQuick3DSceneManager::m_window = nullptr |
Definition at line 158 of file qquick3dscenemanager_p.h.
Referenced by setWindow(), and window().
| QSet<QQuick3DObject *> QQuick3DSceneManager::parentlessItems |
Definition at line 154 of file qquick3dscenemanager_p.h.
Referenced by QQuick3DObjectPrivate::derefSceneManager(), and QQuick3DObjectPrivate::refSceneManager().
| friend QQuick3DSceneManager::QQuick3DObject |
Definition at line 162 of file qquick3dscenemanager_p.h.
| QVector<QSGDynamicTexture *> QQuick3DSceneManager::qsgDynamicTextures |
Definition at line 155 of file qquick3dscenemanager_p.h.
Referenced by QQuick3DTexture::~QQuick3DTexture(), and QQuick3DTexture::itemChange().
| QList<QSSGRenderGraphObject *> QQuick3DSceneManager::resourceCleanupQueue |
Definition at line 152 of file qquick3dscenemanager_p.h.
| QSet<QSSGRenderGraphObject *> QQuick3DSceneManager::resourceLoaders |
Definition at line 157 of file qquick3dscenemanager_p.h.
Referenced by cleanupNodes(), and updateDirtyResource().
| bool QQuick3DSceneManager::sharedResourceRemoved = false |
Definition at line 161 of file qquick3dscenemanager_p.h.
Referenced by cleanup(), and cleanupNodes().
| QPointer<QQuick3DWindowAttachment> QQuick3DSceneManager::wattached |
Definition at line 159 of file qquick3dscenemanager_p.h.
Referenced by ~QQuick3DSceneManager(), cleanupNodes(), setWindow(), QQuick3DSceneRenderer::synchronize(), QQuick3DCustomMaterial::updateSpatialNode(), and QQuick3DEffect::updateSpatialNode().