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>.
|
#include <qquick3dobject_p.h>
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> |
Definition at line 39 of file qquick3dobject_p.h.
Definition at line 52 of file qquick3dobject_p.h.
Definition at line 43 of file qquick3dobject_p.h.
Enumerator | |
---|---|
Geometry | |
SiblingOrder | |
Visibility | |
Opacity | |
Destroyed | |
Parent | |
Children | |
Rotation | |
ImplicitWidth | |
ImplicitHeight | |
Enabled |
Definition at line 157 of file qquick3dobject_p.h.
Definition at line 209 of file qquick3dobject_p.h.
|
explicit |
Definition at line 264 of file qquick3dobject.cpp.
|
override |
Definition at line 277 of file qquick3dobject.cpp.
void QQuick3DObjectPrivate::_q_cleanupContentItem2D | ( | ) |
Definition at line 658 of file qquick3dobject.cpp.
References contentItem2d, and QObject::deleteLater().
Referenced by data_append().
quint64 QQuick3DObjectPrivate::_q_createJSWrapper | ( | QQmlV4ExecutionEnginePtr | engine | ) |
Definition at line 1104 of file qquick3dobject.cpp.
References engine.
Definition at line 652 of file qquick3dobject.cpp.
References extra.
Referenced by resources_append(), and resources_clear().
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().
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.
void QQuick3DObjectPrivate::addItemChangeListener | ( | QQuick3DObjectChangeListener * | listener, |
ChangeTypes | types ) |
Definition at line 667 of file qquick3dobject.cpp.
References changeListeners.
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().
|
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().
|
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().
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().
|
static |
Definition at line 617 of file qquick3dobject.cpp.
References o.
Referenced by children().
|
static |
Definition at line 635 of file qquick3dobject.cpp.
References get().
Referenced by children(), and data_at().
|
static |
Definition at line 644 of file qquick3dobject.cpp.
References get().
Referenced by children(), and data_clear().
|
static |
Definition at line 629 of file qquick3dobject.cpp.
References get().
Referenced by children(), data_at(), and data_count().
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().
|
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().
|
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().
|
static |
Definition at line 566 of file qquick3dobject.cpp.
References children_clear(), get(), item, and resources_clear().
Referenced by data().
|
static |
Definition at line 540 of file qquick3dobject.cpp.
References children_count(), get(), item, and resources_count().
Referenced by data().
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().
|
inlinestatic |
Definition at line 270 of file qquick3dobject_p.h.
References get().
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().
QString QQuick3DObjectPrivate::dirtyToString | ( | ) | const |
Definition at line 704 of file qquick3dobject.cpp.
References Antialiasing, BasicTransform, ChildrenChanged, ChildrenStackingChanged, Clip, Content, DIRTY_TO_STRING, EffectReference, HideReference, InstanceRootChanged, OpacityValue, ParentChanged, Smooth, Transform, TransformOrigin, Visible, and ZValue.
|
inlinestatic |
Definition at line 118 of file qquick3dobject_p.h.
References 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().
void QQuick3DObjectPrivate::init | ( | QQuick3DObject * | parent | ) |
Definition at line 281 of file qquick3dobject.cpp.
References QObjectData::parent.
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().
|
inlinestatic |
Definition at line 265 of file qquick3dobject_p.h.
References get().
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().
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().
void QQuick3DObjectPrivate::removeFromDirtyList | ( | ) |
Definition at line 794 of file qquick3dobject.cpp.
References get(), nextDirtyItem, prevDirtyItem, and Q_ASSERT.
Referenced by derefSceneManager(), and dirty().
void QQuick3DObjectPrivate::removeItemChangeListener | ( | QQuick3DObjectChangeListener * | listener, |
ChangeTypes | types ) |
Definition at line 682 of file qquick3dobject.cpp.
References changeListeners.
QQmlListProperty< QObject > QQuick3DObjectPrivate::resources | ( | ) |
Definition at line 342 of file qquick3dobject.cpp.
References resources_append(), resources_at(), resources_clear(), and resources_count().
|
static |
Definition at line 583 of file qquick3dobject.cpp.
References _q_resourceObjectDeleted(), get(), qmlobject_connect, SIGNAL, and SLOT.
Referenced by data_append(), and resources().
|
static |
Definition at line 577 of file qquick3dobject.cpp.
References get().
Referenced by data_at(), and resources().
|
static |
Definition at line 602 of file qquick3dobject.cpp.
References _q_resourceObjectDeleted(), get(), qmlobject_disconnect, SIGNAL, and SLOT.
Referenced by data_clear(), and resources().
|
static |
Definition at line 596 of file qquick3dobject.cpp.
References get().
Referenced by data_at(), data_count(), and resources().
void QQuick3DObjectPrivate::setCulled | ( | bool | cull | ) |
Definition at line 807 of file qquick3dobject.cpp.
References culled, dirty(), extra, and HideReference.
Definition at line 505 of file qquick3dobject.cpp.
References _states(), QQuickStateGroup::setState(), and state().
void QQuick3DObjectPrivate::siblingOrderChanged | ( | ) |
Definition at line 848 of file qquick3dobject.cpp.
References changeListeners, listeners, and SiblingOrder.
QString QQuick3DObjectPrivate::state | ( | ) | const |
Definition at line 500 of file qquick3dobject.cpp.
References _stateGroup, and QQuickStateGroup::state.
Referenced by setState().
QQmlListProperty< QQuickState > QQuick3DObjectPrivate::states | ( | ) |
Definition at line 430 of file qquick3dobject.cpp.
References _states(), and QQuickStateGroup::statesProperty().
QQmlListProperty< QQuickTransition > QQuick3DObjectPrivate::transitions | ( | ) |
Definition at line 472 of file qquick3dobject.cpp.
References _states(), and QQuickStateGroup::transitionsProperty().
void QQuick3DObjectPrivate::updateOrAddItemChangeListener | ( | QQuick3DObjectChangeListener * | listener, |
ChangeTypes | types ) |
Definition at line 672 of file qquick3dobject.cpp.
References changeListeners, and QQuick3DObjectPrivate::ChangeListener::types.
|
inlinevirtual |
Definition at line 281 of file qquick3dobject_p.h.
|
inlinestatic |
Definition at line 119 of file qquick3dobject_p.h.
References o.
Referenced by QQuick3DParticleModelBlendParticle::updateSpatialNode().
void QQuick3DObjectPrivate::updateSubFocusItem | ( | QQuick3DObject * | scope, |
bool | focus ) |
Definition at line 955 of file qquick3dobject.cpp.
References focus, get(), and Q_ASSERT.
QQuickStateGroup* QQuick3DObjectPrivate::_stateGroup |
Definition at line 207 of file qquick3dobject_p.h.
QVector<QQuick3DObjectPrivate::ChangeListener> QQuick3DObjectPrivate::changeListeners |
Definition at line 200 of file qquick3dobject_p.h.
Referenced by addItemChangeListener(), itemChange(), removeItemChangeListener(), siblingOrderChanged(), and updateOrAddItemChangeListener().
QList<QQuick3DObject *> QQuick3DObjectPrivate::childItems |
Definition at line 257 of file qquick3dobject_p.h.
Referenced by addChild(), derefSceneManager(), refSceneManager(), and removeChild().
bool QQuick3DObjectPrivate::componentComplete = true |
Definition at line 286 of file qquick3dobject_p.h.
Referenced by _states(), dirty(), and QOpenXRItemPrivate::updateContent().
ConnectionMap QQuick3DObjectPrivate::connectionMap |
Definition at line 291 of file qquick3dobject_p.h.
QQuick3DItem2D* QQuick3DObjectPrivate::contentItem2d = nullptr |
Definition at line 290 of file qquick3dobject_p.h.
Referenced by _q_cleanupContentItem2D().
bool QQuick3DObjectPrivate::culled |
Definition at line 288 of file qquick3dobject_p.h.
Referenced by setCulled().
quint32 QQuick3DObjectPrivate::dirtyAttributes |
Definition at line 242 of file qquick3dobject_p.h.
Referenced by dirty().
QLazilyAllocated<ExtraData> QQuick3DObjectPrivate::extra |
Definition at line 198 of file qquick3dobject_p.h.
Referenced by _q_resourceObjectDeleted(), and setCulled().
QQuick3DObject* QQuick3DObjectPrivate::nextDirtyItem |
Definition at line 247 of file qquick3dobject_p.h.
Referenced by addToDirtyList(), and removeFromDirtyList().
QQuick3DObject* QQuick3DObjectPrivate::parentItem |
Definition at line 255 of file qquick3dobject_p.h.
Referenced by derefSceneManager(), and refSceneManager().
bool QQuick3DObjectPrivate::preSyncNeeded = false |
Definition at line 287 of file qquick3dobject_p.h.
QQuick3DObject** QQuick3DObjectPrivate::prevDirtyItem |
Definition at line 248 of file qquick3dobject_p.h.
Referenced by addToDirtyList(), dirty(), and removeFromDirtyList().
QPointer<QQuick3DSceneManager> QQuick3DObjectPrivate::sceneManager |
Definition at line 252 of file qquick3dobject_p.h.
Referenced by addToDirtyList(), derefSceneManager(), dirty(), and refSceneManager().
int QQuick3DObjectPrivate::sceneRefCount |
Definition at line 253 of file qquick3dobject_p.h.
Referenced by derefSceneManager(), and refSceneManager().
bool QQuick3DObjectPrivate::sharedResource = false |
Definition at line 289 of file qquick3dobject_p.h.
Referenced by refSceneManager().
QSSGRenderGraphObject* QQuick3DObjectPrivate::spatialNode = nullptr |
Definition at line 283 of file qquick3dobject_p.h.
Referenced by derefSceneManager().
QQuick3DObject* QQuick3DObjectPrivate::subFocusItem |
Definition at line 276 of file qquick3dobject_p.h.
Type QQuick3DObjectPrivate::type = Type::Unknown |
Definition at line 285 of file qquick3dobject_p.h.
Referenced by QQuick3DNode::QQuick3DNode(), and dirty().