Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QQuick3DObjectPrivate Class Reference

#include <qquick3dobject_p.h>

+ Inheritance diagram for QQuick3DObjectPrivate:
+ Collaboration diagram for QQuick3DObjectPrivate:

Classes

struct  ChangeListener
 
struct  ConnectionKey
 
struct  ExtraData
 

Public Types

enum  ChangeType {
  Geometry = 0x01 , SiblingOrder = 0x02 , Visibility = 0x04 , Opacity = 0x08 ,
  Destroyed = 0x10 , Parent = 0x20 , Children = 0x40 , Rotation = 0x80 ,
  ImplicitWidth = 0x100 , ImplicitHeight = 0x200 , Enabled = 0x400
}
 
enum  DirtyType {
  TransformOrigin = 0x00000001 , Transform = 0x00000002 , BasicTransform = 0x00000004 , Position = 0x00000008 ,
  Size = 0x00000010 , ZValue = 0x00000020 , Content = 0x00000040 , Smooth = 0x00000080 ,
  OpacityValue = 0x00000100 , ChildrenChanged = 0x00000200 , ChildrenStackingChanged = 0x00000400 , ParentChanged = 0x00000800 ,
  Clip = 0x00001000 , Window = 0x00002000 , EffectReference = 0x00008000 , Visible = 0x00010000 ,
  HideReference = 0x00020000 , Antialiasing = 0x00040000 , InstanceRootChanged = 0x00080000 , TransformUpdateMask = TransformOrigin | Transform | BasicTransform | Position | Window ,
  ComplexTransformUpdateMask = Transform | Window , ContentUpdateMask = Size | Content | Smooth | Window | Antialiasing , ChildrenUpdateMask = ChildrenChanged | ChildrenStackingChanged | EffectReference | Window
}
 
using Type = QSSGRenderGraphObject::Type
 
using ConnectionMap = QHash<ConnectionKey, QMetaObject::Connection>
 
- Public Types inherited from QObjectPrivate
typedef void(* StaticMetaCallFunction) (QObject *, QMetaObject::Call, int, void **)
 
using ConnectionDataPointer = QExplicitlySharedDataPointer<ConnectionData>
 

Public Member Functions

 QQuick3DObjectPrivate (Type t)
 
 ~QQuick3DObjectPrivate () override
 
void init (QQuick3DObject *parent)
 
QQmlListProperty< QObjectdata ()
 
QQmlListProperty< QObjectresources ()
 
QQmlListProperty< QQuick3DObjectchildren ()
 
QQmlListProperty< QQuickStatestates ()
 
QQmlListProperty< QQuickTransitiontransitions ()
 
QString state () const
 
void setState (const QString &)
 
void _q_resourceObjectDeleted (QObject *)
 
void _q_cleanupContentItem2D ()
 
quint64 _q_createJSWrapper (QQmlV4ExecutionEnginePtr engine)
 
void addItemChangeListener (QQuick3DObjectChangeListener *listener, ChangeTypes types)
 
void updateOrAddItemChangeListener (QQuick3DObjectChangeListener *listener, ChangeTypes types)
 
void removeItemChangeListener (QQuick3DObjectChangeListener *, ChangeTypes types)
 
QQuickStateGroup_states ()
 
QString dirtyToString () const
 
void dirty (DirtyType)
 
void addToDirtyList ()
 
void removeFromDirtyList ()
 
void setCulled (bool)
 
void addChild (QQuick3DObject *)
 
void removeChild (QQuick3DObject *)
 
void siblingOrderChanged ()
 
void refSceneManager (QQuick3DSceneManager &)
 
void derefSceneManager ()
 
void updateSubFocusItem (QQuick3DObject *scope, bool focus)
 
void itemChange (QQuick3DObject::ItemChange, const QQuick3DObject::ItemChangeData &)
 
virtual void updatePolish ()
 
- Public Member Functions inherited from QObjectPrivate
void ensureExtraData ()
 
 QObjectPrivate (int version=QObjectPrivateVersion)
 
virtual ~QObjectPrivate ()
 
void deleteChildren ()
 
void clearBindingStorage ()
 
void checkForIncompatibleLibraryVersion (int version) const
 
void setParent_helper (QObject *)
 
void moveToThread_helper ()
 
void setThreadData_helper (QThreadData *currentData, QThreadData *targetData, QBindingStatus *status)
 
QObjectList receiverList (const char *signal) const
 
void ensureConnectionData ()
 
void addConnection (int signal, Connection *c)
 
int signalIndex (const char *signalName, const QMetaObject **meta=nullptr) const
 
bool isSignalConnected (uint signalIdx, bool checkDeclarative=true) const
 
bool maybeSignalConnected (uint signalIndex) const
 
bool isDeclarativeSignalConnected (uint signalIdx) const
 
void connectNotify (const QMetaMethod &signal)
 
void disconnectNotify (const QMetaMethod &signal)
 
void reinitBindingStorageAfterThreadMove ()
 
virtual std::string flagsForDumping () const
 
virtual void writeToDebugStream (QDebug &) const
 
QtPrivate::QPropertyAdaptorSlotObjectgetPropertyAdaptorSlotObject (const QMetaProperty &property)
 
- Public Member Functions inherited from QObjectData
 QObjectData ()=default
 
virtual ~QObjectData ()=0
 
QMetaObjectdynamicMetaObject () const
 

Static Public Member Functions

template<typename SceneContext , typename CallContext , typename Setter >
static void attachWatcherPriv (SceneContext *sceneContext, CallContext *callContext, Setter setter, QQuick3DObject *newO, QObject *oldO)
 
template<typename Context , typename Setter , typename Object3D >
static void attachWatcher (Context *context, Setter setter, Object3D *newO, Object3D *oldO)
 Attach a object-destroyed-watcher to an object that's not owned.
 
static QQuick3DObjectPrivateget (QQuick3DObject *item)
 
static const QQuick3DObjectPrivateget (const QQuick3DObject *item)
 
static QSSGRenderGraphObjectupdateSpatialNode (QQuick3DObject *o, QSSGRenderGraphObject *n)
 
static void data_append (QQmlListProperty< QObject > *, QObject *)
 
static qsizetype data_count (QQmlListProperty< QObject > *)
 
static QObjectdata_at (QQmlListProperty< QObject > *, qsizetype)
 
static void data_clear (QQmlListProperty< QObject > *)
 
static QObjectresources_at (QQmlListProperty< QObject > *, qsizetype)
 
static void resources_append (QQmlListProperty< QObject > *, QObject *)
 
static qsizetype resources_count (QQmlListProperty< QObject > *)
 
static void resources_clear (QQmlListProperty< QObject > *)
 
static void children_append (QQmlListProperty< QQuick3DObject > *, QQuick3DObject *)
 
static qsizetype children_count (QQmlListProperty< QQuick3DObject > *)
 
static QQuick3DObjectchildren_at (QQmlListProperty< QQuick3DObject > *, qsizetype)
 
static void children_clear (QQmlListProperty< QQuick3DObject > *)
 
static void refSceneManager (QQuick3DObject *obj, QQuick3DSceneManager &mgr)
 
static void derefSceneManager (QQuick3DObject *obj)
 
- Static Public Member Functions inherited from QObjectPrivate
static bool removeConnection (Connection *c)
 
static QObjectPrivateget (QObject *o)
 
static const QObjectPrivateget (const QObject *o)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot)
 
static QMetaObject::Connection connectImpl (const QObject *sender, int signal_index, const QObject *receiver, void **slot, QtPrivate::QSlotObjectBase *slotObj, int type, const int *types, const QMetaObject *senderMetaObject)
 
static QMetaObject::Connection connect (const QObject *sender, int signal_index, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type)
 
static QMetaObject::Connection connect (const QObject *sender, int signal_index, const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type)
 
static bool disconnect (const QObject *sender, int signal_index, void **slot)
 
static bool disconnect (const QObject *sender, int signal_index, const QObject *receiver, void **slot)
 

Public Attributes

QLazilyAllocated< ExtraDataextra
 
QVector< QQuick3DObjectPrivate::ChangeListenerchangeListeners
 
QQuickStateGroup_stateGroup
 
quint32 dirtyAttributes
 
QQuick3DObjectnextDirtyItem
 
QQuick3DObject ** prevDirtyItem
 
QPointer< QQuick3DSceneManagersceneManager
 
int sceneRefCount
 
QQuick3DObjectparentItem
 
QList< QQuick3DObject * > childItems
 
QQuick3DObjectsubFocusItem
 
QSSGRenderGraphObjectspatialNode = nullptr
 
Type type = Type::Unknown
 
bool componentComplete = true
 
bool preSyncNeeded = false
 
bool culled
 
bool sharedResource = false
 
QQuick3DItem2DcontentItem2d = nullptr
 
ConnectionMap connectionMap
 
- Public Attributes inherited from QObjectPrivate
ExtraDataextraData
 
QAtomicPointer< QThreadDatathreadData
 
QAtomicPointer< ConnectionDataconnections
 
union { 
 
   QObject *   currentChildBeingDeleted 
 
   QAbstractDeclarativeData *   declarativeData 
 
};  
 
QAtomicPointer< QtSharedPointer::ExternalRefCountDatasharedRefcount
 
- Public Attributes inherited from QObjectData
QObjectq_ptr
 
QObjectparent
 
QObjectList children
 
uint isWidget: 1
 
uint blockSig: 1
 
uint wasDeleted: 1
 
uint isDeletingChildren: 1
 
uint sendChildEvents: 1
 
uint receiveChildEvents: 1
 
uint isWindow: 1
 
uint deleteLaterCalled: 1
 
uint isQuickItem: 1
 
uint willBeWidget: 1
 
uint wasWidget: 1
 
uint receiveParentEvents: 1
 
uint unused: 20
 
QAtomicInt postedEvents
 
QDynamicMetaObjectDatametaObject
 
QBindingStorage bindingStorage
 

Detailed Description

Definition at line 39 of file qquick3dobject_p.h.

Member Typedef Documentation

◆ ConnectionMap

◆ Type

Member Enumeration Documentation

◆ ChangeType

Enumerator
Geometry 
SiblingOrder 
Visibility 
Opacity 
Destroyed 
Parent 
Children 
Rotation 
ImplicitWidth 
ImplicitHeight 
Enabled 

Definition at line 157 of file qquick3dobject_p.h.

◆ DirtyType

Enumerator
TransformOrigin 
Transform 
BasicTransform 
Position 
Size 
ZValue 
Content 
Smooth 
OpacityValue 
ChildrenChanged 
ChildrenStackingChanged 
ParentChanged 
Clip 
Window 
EffectReference 
Visible 
HideReference 
Antialiasing 
InstanceRootChanged 
TransformUpdateMask 
ComplexTransformUpdateMask 
ContentUpdateMask 
ChildrenUpdateMask 

Definition at line 209 of file qquick3dobject_p.h.

Constructor & Destructor Documentation

◆ QQuick3DObjectPrivate()

QQuick3DObjectPrivate::QQuick3DObjectPrivate ( Type t)
explicit

Definition at line 264 of file qquick3dobject.cpp.

◆ ~QQuick3DObjectPrivate()

QQuick3DObjectPrivate::~QQuick3DObjectPrivate ( )
override

Definition at line 277 of file qquick3dobject.cpp.

Member Function Documentation

◆ _q_cleanupContentItem2D()

void QQuick3DObjectPrivate::_q_cleanupContentItem2D ( )

Definition at line 658 of file qquick3dobject.cpp.

References contentItem2d, and QObject::deleteLater().

Referenced by data_append().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _q_createJSWrapper()

quint64 QQuick3DObjectPrivate::_q_createJSWrapper ( QQmlV4ExecutionEnginePtr engine)

Definition at line 1104 of file qquick3dobject.cpp.

References engine.

◆ _q_resourceObjectDeleted()

void QQuick3DObjectPrivate::_q_resourceObjectDeleted ( QObject * object)

Definition at line 652 of file qquick3dobject.cpp.

References extra.

Referenced by resources_append(), and resources_clear().

+ Here is the caller graph for this function:

◆ _states()

QQuickStateGroup * QQuick3DObjectPrivate::_states ( )

Definition at line 688 of file qquick3dobject.cpp.

References _stateGroup, QQuickStateGroup::classBegin(), componentComplete, qmlobject_connect, and SIGNAL.

Referenced by setState(), states(), and transitions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addChild()

void QQuick3DObjectPrivate::addChild ( QQuick3DObject * child)

Definition at line 817 of file qquick3dobject.cpp.

References QList< T >::append(), child, childItems, ChildrenChanged, QListSpecialMethodsBase< T >::contains(), dirty(), emit, itemChange(), and Q_ASSERT.

+ Here is the call graph for this function:

◆ addItemChangeListener()

void QQuick3DObjectPrivate::addItemChangeListener ( QQuick3DObjectChangeListener * listener,
ChangeTypes types )

Definition at line 667 of file qquick3dobject.cpp.

References changeListeners.

◆ addToDirtyList()

void QQuick3DObjectPrivate::addToDirtyList ( )

Definition at line 755 of file qquick3dobject.cpp.

References QQuick3DSceneManager::dirtyExtensions, QQuick3DSceneManager::dirtyItem(), QQuick3DSceneManager::dirtyNodes, QQuick3DSceneManager::dirtyResources, QQuick3DSceneManager::extensionListIndex(), get(), QSSGRenderGraphObject::isExtension(), QSSGRenderGraphObject::isNodeType(), QQuick3DSceneManager::ModelWithInstanceRoot, nextDirtyItem, QQuick3DSceneManager::nodeListIndex(), prevDirtyItem, Q_ASSERT, QQuick3DSceneManager::resourceListIndex(), and sceneManager.

Referenced by dirty().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ attachWatcher()

template<typename Context , typename Setter , typename Object3D >
static void QQuick3DObjectPrivate::attachWatcher ( Context * context,
Setter setter,
Object3D * newO,
Object3D * oldO )
inlinestatic

Attach a object-destroyed-watcher to an object that's not owned.

There are few checks here just to keep it simple (The compiler should still fail with a varying degree of helpful messages when used incorrectly).

sceneContext - ususally the same as the callContext and only different if the calledContext is a non-QQuick3DObject class (as is the case for QQuick3DShaderUtilsTextureInput)! callContext - The object watching another object setter - The function/slot that is called for the object (context). newO - The new object being watched oldO - The previous object that should no longer be watched.

Note: The setter is a function that takes one argument with a discardable return value.

Definition at line 112 of file qquick3dobject_p.h.

References context.

Referenced by QQuick3DSpecularGlossyMaterial::setAlbedoMap(), QQuick3DPrincipledMaterial::setBaseColorMap(), QQuick3DDefaultMaterial::setBumpMap(), QQuick3DSpecularGlossyMaterial::setClearcoatMap(), QQuick3DSpecularGlossyMaterial::setClearcoatNormalMap(), QQuick3DSpecularGlossyMaterial::setClearcoatRoughnessMap(), QQuick3DParticleSpriteParticle::setColorTable(), SceneEffectEnvironment::setDeptOfFieldEffect(), QQuick3DDefaultMaterial::setDiffuseMap(), QQuick3DDefaultMaterial::setEmissiveMap(), QQuick3DPrincipledMaterial::setEmissiveMap(), QQuick3DSpecularGlossyMaterial::setEmissiveMap(), SceneEffectBase::setEnvironment(), QQuick3DModel::setGeometry(), QQuick3DSpecularGlossyMaterial::setGlossinessMap(), QQuick3DSpecularGlossyMaterial::setHeightMap(), QQuick3DModel::setInstanceRoot(), QQuick3DModel::setInstancing(), QQuick3DRuntimeLoader::setInstancing(), QQuick3DMaterial::setLightProbe(), QQuick3DSceneEnvironment::setLightProbe(), SceneEffectEnvironment::setMainSceneEffect(), QQuick3DPrincipledMaterial::setMetalnessMap(), QQuick3DDefaultMaterial::setNormalMap(), QQuick3DPrincipledMaterial::setNormalMap(), QQuick3DSpecularGlossyMaterial::setNormalMap(), QQuick3DPrincipledMaterial::setOcclusionMap(), QQuick3DSpecularGlossyMaterial::setOcclusionMap(), QQuick3DDefaultMaterial::setOpacityMap(), QQuick3DPrincipledMaterial::setOpacityMap(), QQuick3DSpecularGlossyMaterial::setOpacityMap(), QQuick3DDefaultMaterial::setRoughnessMap(), QQuick3DPrincipledMaterial::setRoughnessMap(), QQuick3DModel::setSkeleton(), QQuick3DJoint::setSkeletonRoot(), QQuick3DDefaultMaterial::setSpecularMap(), QQuick3DPrincipledMaterial::setSpecularMap(), QQuick3DSpecularGlossyMaterial::setSpecularMap(), QQuick3DDefaultMaterial::setSpecularReflectionMap(), QQuick3DPrincipledMaterial::setSpecularReflectionMap(), QQuick3DParticleSpriteParticle::setSprite(), QQuick3DTexture::setTextureData(), QQuick3DSpecularGlossyMaterial::setThicknessMap(), QQuick3DDefaultMaterial::setTranslucencyMap(), and QQuick3DSpecularGlossyMaterial::setTransmissionMap().

+ Here is the caller graph for this function:

◆ attachWatcherPriv()

template<typename SceneContext , typename CallContext , typename Setter >
static void QQuick3DObjectPrivate::attachWatcherPriv ( SceneContext * sceneContext,
CallContext * callContext,
Setter setter,
QQuick3DObject * newO,
QObject * oldO )
inlinestatic

Definition at line 55 of file qquick3dobject_p.h.

References QSet< T >::cend(), QObject::connect(), connection, QSet< T >::constFind(), derefSceneManager(), QObject::destroyed(), QObject::disconnect(), get(), it, nullptr, and refSceneManager().

Referenced by QQuick3DViewport::setCamera(), and QQuick3DShaderUtilsTextureInput::setTexture().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ children()

QQmlListProperty< QQuick3DObject > QQuick3DObjectPrivate::children ( )

Definition at line 375 of file qquick3dobject.cpp.

References children_append(), children_at(), children_clear(), and children_count().

Referenced by QQuick3DNodePrivate::markSceneTransformDirty().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ children_append()

void QQuick3DObjectPrivate::children_append ( QQmlListProperty< QQuick3DObject > * prop,
QQuick3DObject * o )
static

Definition at line 617 of file qquick3dobject.cpp.

References o.

Referenced by children().

+ Here is the caller graph for this function:

◆ children_at()

QQuick3DObject * QQuick3DObjectPrivate::children_at ( QQmlListProperty< QQuick3DObject > * prop,
qsizetype index )
static

Definition at line 635 of file qquick3dobject.cpp.

References get().

Referenced by children(), and data_at().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ children_clear()

void QQuick3DObjectPrivate::children_clear ( QQmlListProperty< QQuick3DObject > * prop)
static

Definition at line 644 of file qquick3dobject.cpp.

References get().

Referenced by children(), and data_clear().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ children_count()

qsizetype QQuick3DObjectPrivate::children_count ( QQmlListProperty< QQuick3DObject > * prop)
static

Definition at line 629 of file qquick3dobject.cpp.

References get().

Referenced by children(), data_at(), and data_count().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ data()

QQmlListProperty< QObject > QQuick3DObjectPrivate::data ( )

Definition at line 328 of file qquick3dobject.cpp.

References data_append(), data_at(), data_clear(), and data_count().

Referenced by QOpenXRItemPrivate::initParentItem().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ data_append()

void QQuick3DObjectPrivate::data_append ( QQmlListProperty< QObject > * prop,
QObject * o )
static

Definition at line 510 of file qquick3dobject.cpp.

References _q_cleanupContentItem2D(), get(), item, o, qmlobject_connect, qobject_cast< QQuickItem * >(), resources_append(), QGraphicsItem::setParentItem(), SIGNAL, and SLOT.

Referenced by data().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ data_at()

QObject * QQuick3DObjectPrivate::data_at ( QQmlListProperty< QObject > * property,
qsizetype i )
static

Definition at line 550 of file qquick3dobject.cpp.

References children_at(), children_count(), get(), i, item, j, resources_at(), and resources_count().

Referenced by data().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ data_clear()

void QQuick3DObjectPrivate::data_clear ( QQmlListProperty< QObject > * property)
static

Definition at line 566 of file qquick3dobject.cpp.

References children_clear(), get(), item, and resources_clear().

Referenced by data().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ data_count()

qsizetype QQuick3DObjectPrivate::data_count ( QQmlListProperty< QObject > * property)
static

Definition at line 540 of file qquick3dobject.cpp.

References children_count(), get(), item, and resources_count().

Referenced by data().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ derefSceneManager() [1/2]

void QQuick3DObjectPrivate::derefSceneManager ( )

Definition at line 921 of file qquick3dobject.cpp.

References QList< T >::at(), child, childItems, QQuick3DSceneManager::cleanup(), QPointer< T >::data(), derefSceneManager(), dirty(), QQuick3DSceneManager::dirtyBoundingBoxList, itemChange(), parentItem, QQuick3DSceneManager::parentlessItems, QSet< T >::remove(), QList< T >::removeAll(), removeFromDirtyList(), sceneManager, sceneRefCount, QList< T >::size(), and spatialNode.

Referenced by QQuick3DObject::~QQuick3DObject(), attachWatcherPriv(), derefSceneManager(), QQuick3DTexture::itemChange(), QQuick3DCustomMaterial::itemChange(), and QQuick3DObject::setParentItem().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ derefSceneManager() [2/2]

static void QQuick3DObjectPrivate::derefSceneManager ( QQuick3DObject * obj)
inlinestatic

Definition at line 270 of file qquick3dobject_p.h.

References get().

+ Here is the call graph for this function:

◆ dirty()

void QQuick3DObjectPrivate::dirty ( QQuick3DObjectPrivate::DirtyType type)

Definition at line 739 of file qquick3dobject.cpp.

References addToDirtyList(), componentComplete, dirtyAttributes, InstanceRootChanged, prevDirtyItem, removeFromDirtyList(), sceneManager, and type.

Referenced by addChild(), derefSceneManager(), refSceneManager(), removeChild(), and setCulled().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dirtyToString()

◆ get() [1/2]

static const QQuick3DObjectPrivate * QQuick3DObjectPrivate::get ( const QQuick3DObject * item)
inlinestatic

Definition at line 118 of file qquick3dobject_p.h.

References item.

◆ get() [2/2]

static QQuick3DObjectPrivate * QQuick3DObjectPrivate::get ( QQuick3DObject * item)
inlinestatic

Definition at line 117 of file qquick3dobject_p.h.

References item.

Referenced by QQuick3DViewport::QQuick3DViewport(), QQuick3DViewport::~QQuick3DViewport(), addToDirtyList(), attachWatcherPriv(), bfs(), children_at(), children_clear(), children_count(), QQuick3DSceneManager::cleanup(), QSSGRuntimeUtils::createScene(), data_append(), data_at(), data_clear(), data_count(), derefSceneManager(), QQuick3DExtensionHelpers::getCameraId(), QQuick3DExtensionHelpers::getExtensionId(), QQuick3DExtensionHelpers::getNodeId(), QQuick3DTexture::getRenderImage(), QQuick3DExtensionHelpers::getResourceId(), QQuick3DTexture::itemChange(), QQuick3DViewport::itemChange(), QQuick3DCamera::mapFromViewport(), QQuick3DCamera::mapFromViewport(), QQuick3DCamera::mapToViewport(), QQuick3DCamera::mapToViewport(), QV4::Heap::QSSGItemWrapper::markObjects(), QQuick3DNodePrivate::markSceneTransformDirty(), QQuick3DSceneManager::preSync(), QQuick3DItem2D::preSync(), refSceneManager(), refSceneManager(), removeFromDirtyList(), resources_append(), resources_at(), resources_clear(), resources_count(), QQuick3DViewport::setImportScene(), QQuick3DObject::setParentItem(), QQuick3DModel::setSource(), QQuick3DTexture::setSourceItem(), ssgn_append(), ssgn_at(), ssgn_clear(), ssgn_count(), QQuick3DSceneRenderer::synchronize(), QQuick3DSceneManager::updateBoundingBoxes(), QQuick3DSceneManager::updateDirtyResource(), QQuick3DSceneManager::updateDirtyResourceSecondPass(), QQuick3DSceneManager::updateDirtySpatialNode(), QQuick3DCamera::updateGlobalVariables(), QQuick3DRenderLayerHelpers::updateLayerNodeHelper(), QQuick3DViewport::updatePaintNode(), QQuick3DParticleSpriteParticle::updateParticleNode(), QQuick3DAbstractLight::updateSpatialNode(), QQuick3DCamera::updateSpatialNode(), QQuick3DCustomMaterial::updateSpatialNode(), QQuick3DEffect::updateSpatialNode(), QQuick3DItem2D::updateSpatialNode(), QQuick3DJoint::updateSpatialNode(), QQuick3DModel::updateSpatialNode(), QQuick3DResourceLoader::updateSpatialNode(), QQuick3DTexture::updateSpatialNode(), QQuick3DParticleModelBlendParticle::updateSpatialNode(), and updateSubFocusItem().

◆ init()

void QQuick3DObjectPrivate::init ( QQuick3DObject * parent)

Definition at line 281 of file qquick3dobject.cpp.

References QObjectData::parent.

◆ itemChange()

void QQuick3DObjectPrivate::itemChange ( QQuick3DObject::ItemChange change,
const QQuick3DObject::ItemChangeData & data )

Definition at line 984 of file qquick3dobject.cpp.

References changeListeners, Children, Enabled, listeners, Opacity, Parent, qWarning, and Visibility.

Referenced by addChild(), derefSceneManager(), refSceneManager(), and removeChild().

+ Here is the caller graph for this function:

◆ refSceneManager() [1/2]

static void QQuick3DObjectPrivate::refSceneManager ( QQuick3DObject * obj,
QQuick3DSceneManager & mgr )
inlinestatic

Definition at line 265 of file qquick3dobject_p.h.

References get().

+ Here is the call graph for this function:

◆ refSceneManager() [2/2]

void QQuick3DObjectPrivate::refSceneManager ( QQuick3DSceneManager & c)

Definition at line 861 of file qquick3dobject.cpp.

References QList< T >::at(), child, childItems, dirty(), get(), QSet< T >::insert(), QPointer< T >::isNull(), itemChange(), parentItem, QQuick3DSceneManager::parentlessItems, Q_ASSERT, qWarning, refSceneManager(), sceneManager, sceneRefCount, sharedResource, QList< T >::size(), and QQuick3DSceneManager::window().

Referenced by attachWatcherPriv(), QQuick3DTexture::itemChange(), QQuick3DCustomMaterial::itemChange(), refSceneManager(), and QQuick3DObject::setParentItem().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeChild()

void QQuick3DObjectPrivate::removeChild ( QQuick3DObject * child)

Definition at line 832 of file qquick3dobject.cpp.

References child, childItems, ChildrenChanged, QListSpecialMethodsBase< T >::contains(), dirty(), emit, itemChange(), Q_ASSERT, and QList< T >::removeOne().

Referenced by QQuick3DObject::setParentItem().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeFromDirtyList()

void QQuick3DObjectPrivate::removeFromDirtyList ( )

Definition at line 794 of file qquick3dobject.cpp.

References get(), nextDirtyItem, prevDirtyItem, and Q_ASSERT.

Referenced by derefSceneManager(), and dirty().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeItemChangeListener()

void QQuick3DObjectPrivate::removeItemChangeListener ( QQuick3DObjectChangeListener * listener,
ChangeTypes types )

Definition at line 682 of file qquick3dobject.cpp.

References changeListeners.

◆ resources()

QQmlListProperty< QObject > QQuick3DObjectPrivate::resources ( )

Definition at line 342 of file qquick3dobject.cpp.

References resources_append(), resources_at(), resources_clear(), and resources_count().

+ Here is the call graph for this function:

◆ resources_append()

void QQuick3DObjectPrivate::resources_append ( QQmlListProperty< QObject > * prop,
QObject * object )
static

Definition at line 583 of file qquick3dobject.cpp.

References _q_resourceObjectDeleted(), get(), qmlobject_connect, SIGNAL, and SLOT.

Referenced by data_append(), and resources().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resources_at()

QObject * QQuick3DObjectPrivate::resources_at ( QQmlListProperty< QObject > * prop,
qsizetype index )
static

Definition at line 577 of file qquick3dobject.cpp.

References get().

Referenced by data_at(), and resources().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resources_clear()

void QQuick3DObjectPrivate::resources_clear ( QQmlListProperty< QObject > * prop)
static

Definition at line 602 of file qquick3dobject.cpp.

References _q_resourceObjectDeleted(), get(), qmlobject_disconnect, SIGNAL, and SLOT.

Referenced by data_clear(), and resources().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resources_count()

qsizetype QQuick3DObjectPrivate::resources_count ( QQmlListProperty< QObject > * prop)
static

Definition at line 596 of file qquick3dobject.cpp.

References get().

Referenced by data_at(), data_count(), and resources().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setCulled()

void QQuick3DObjectPrivate::setCulled ( bool cull)

Definition at line 807 of file qquick3dobject.cpp.

References culled, dirty(), extra, and HideReference.

+ Here is the call graph for this function:

◆ setState()

void QQuick3DObjectPrivate::setState ( const QString & state)

Definition at line 505 of file qquick3dobject.cpp.

References _states(), QQuickStateGroup::setState(), and state().

+ Here is the call graph for this function:

◆ siblingOrderChanged()

void QQuick3DObjectPrivate::siblingOrderChanged ( )

Definition at line 848 of file qquick3dobject.cpp.

References changeListeners, listeners, and SiblingOrder.

◆ state()

QString QQuick3DObjectPrivate::state ( ) const

Definition at line 500 of file qquick3dobject.cpp.

References _stateGroup, and QQuickStateGroup::state.

Referenced by setState().

+ Here is the caller graph for this function:

◆ states()

QQmlListProperty< QQuickState > QQuick3DObjectPrivate::states ( )

Definition at line 430 of file qquick3dobject.cpp.

References _states(), and QQuickStateGroup::statesProperty().

+ Here is the call graph for this function:

◆ transitions()

QQmlListProperty< QQuickTransition > QQuick3DObjectPrivate::transitions ( )

Definition at line 472 of file qquick3dobject.cpp.

References _states(), and QQuickStateGroup::transitionsProperty().

+ Here is the call graph for this function:

◆ updateOrAddItemChangeListener()

void QQuick3DObjectPrivate::updateOrAddItemChangeListener ( QQuick3DObjectChangeListener * listener,
ChangeTypes types )

◆ updatePolish()

virtual void QQuick3DObjectPrivate::updatePolish ( )
inlinevirtual

Definition at line 281 of file qquick3dobject_p.h.

◆ updateSpatialNode()

static QSSGRenderGraphObject * QQuick3DObjectPrivate::updateSpatialNode ( QQuick3DObject * o,
QSSGRenderGraphObject * n )
inlinestatic

Definition at line 119 of file qquick3dobject_p.h.

References o.

Referenced by QQuick3DParticleModelBlendParticle::updateSpatialNode().

+ Here is the caller graph for this function:

◆ updateSubFocusItem()

void QQuick3DObjectPrivate::updateSubFocusItem ( QQuick3DObject * scope,
bool focus )

Definition at line 955 of file qquick3dobject.cpp.

References focus, get(), and Q_ASSERT.

+ Here is the call graph for this function:

Member Data Documentation

◆ _stateGroup

QQuickStateGroup* QQuick3DObjectPrivate::_stateGroup

Definition at line 207 of file qquick3dobject_p.h.

Referenced by _states(), and state().

◆ changeListeners

◆ childItems

QList<QQuick3DObject *> QQuick3DObjectPrivate::childItems

Definition at line 257 of file qquick3dobject_p.h.

Referenced by addChild(), derefSceneManager(), refSceneManager(), and removeChild().

◆ componentComplete

bool QQuick3DObjectPrivate::componentComplete = true

Definition at line 286 of file qquick3dobject_p.h.

Referenced by _states(), dirty(), and QOpenXRItemPrivate::updateContent().

◆ connectionMap

ConnectionMap QQuick3DObjectPrivate::connectionMap

Definition at line 291 of file qquick3dobject_p.h.

◆ contentItem2d

QQuick3DItem2D* QQuick3DObjectPrivate::contentItem2d = nullptr

Definition at line 290 of file qquick3dobject_p.h.

Referenced by _q_cleanupContentItem2D().

◆ culled

bool QQuick3DObjectPrivate::culled

Definition at line 288 of file qquick3dobject_p.h.

Referenced by setCulled().

◆ dirtyAttributes

quint32 QQuick3DObjectPrivate::dirtyAttributes

Definition at line 242 of file qquick3dobject_p.h.

Referenced by dirty().

◆ extra

QLazilyAllocated<ExtraData> QQuick3DObjectPrivate::extra

Definition at line 198 of file qquick3dobject_p.h.

Referenced by _q_resourceObjectDeleted(), and setCulled().

◆ nextDirtyItem

QQuick3DObject* QQuick3DObjectPrivate::nextDirtyItem

Definition at line 247 of file qquick3dobject_p.h.

Referenced by addToDirtyList(), and removeFromDirtyList().

◆ parentItem

QQuick3DObject* QQuick3DObjectPrivate::parentItem

Definition at line 255 of file qquick3dobject_p.h.

Referenced by derefSceneManager(), and refSceneManager().

◆ preSyncNeeded

bool QQuick3DObjectPrivate::preSyncNeeded = false

Definition at line 287 of file qquick3dobject_p.h.

◆ prevDirtyItem

QQuick3DObject** QQuick3DObjectPrivate::prevDirtyItem

Definition at line 248 of file qquick3dobject_p.h.

Referenced by addToDirtyList(), dirty(), and removeFromDirtyList().

◆ sceneManager

QPointer<QQuick3DSceneManager> QQuick3DObjectPrivate::sceneManager

Definition at line 252 of file qquick3dobject_p.h.

Referenced by addToDirtyList(), derefSceneManager(), dirty(), and refSceneManager().

◆ sceneRefCount

int QQuick3DObjectPrivate::sceneRefCount

Definition at line 253 of file qquick3dobject_p.h.

Referenced by derefSceneManager(), and refSceneManager().

◆ sharedResource

bool QQuick3DObjectPrivate::sharedResource = false

Definition at line 289 of file qquick3dobject_p.h.

Referenced by refSceneManager().

◆ spatialNode

QSSGRenderGraphObject* QQuick3DObjectPrivate::spatialNode = nullptr

Definition at line 283 of file qquick3dobject_p.h.

Referenced by derefSceneManager().

◆ subFocusItem

QQuick3DObject* QQuick3DObjectPrivate::subFocusItem

Definition at line 276 of file qquick3dobject_p.h.

◆ type

Type QQuick3DObjectPrivate::type = Type::Unknown

Definition at line 285 of file qquick3dobject_p.h.

Referenced by QQuick3DNode::QQuick3DNode(), and dirty().


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