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

◆ _q_createJSWrapper()

quint64 QQuick3DObjectPrivate::_q_createJSWrapper ( QQmlV4ExecutionEnginePtr engine)

Definition at line 1104 of file qquick3dobject.cpp.

◆ _q_resourceObjectDeleted()

void QQuick3DObjectPrivate::_q_resourceObjectDeleted ( QObject * object)

Definition at line 652 of file qquick3dobject.cpp.

◆ _states()

QQuickStateGroup * QQuick3DObjectPrivate::_states ( )

Definition at line 688 of file qquick3dobject.cpp.

◆ addChild()

void QQuick3DObjectPrivate::addChild ( QQuick3DObject * child)

Definition at line 817 of file qquick3dobject.cpp.

◆ addItemChangeListener()

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

Definition at line 667 of file qquick3dobject.cpp.

◆ addToDirtyList()

void QQuick3DObjectPrivate::addToDirtyList ( )

Definition at line 755 of file qquick3dobject.cpp.

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

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

◆ children()

QQmlListProperty< QQuick3DObject > QQuick3DObjectPrivate::children ( )

Definition at line 375 of file qquick3dobject.cpp.

◆ children_append()

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

Definition at line 617 of file qquick3dobject.cpp.

◆ children_at()

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

Definition at line 635 of file qquick3dobject.cpp.

◆ children_clear()

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

Definition at line 644 of file qquick3dobject.cpp.

◆ children_count()

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

Definition at line 629 of file qquick3dobject.cpp.

◆ data()

QQmlListProperty< QObject > QQuick3DObjectPrivate::data ( )

Definition at line 328 of file qquick3dobject.cpp.

◆ data_append()

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

Definition at line 510 of file qquick3dobject.cpp.

◆ data_at()

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

Definition at line 550 of file qquick3dobject.cpp.

◆ data_clear()

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

Definition at line 566 of file qquick3dobject.cpp.

◆ data_count()

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

Definition at line 540 of file qquick3dobject.cpp.

◆ derefSceneManager() [1/2]

void QQuick3DObjectPrivate::derefSceneManager ( )

Definition at line 921 of file qquick3dobject.cpp.

◆ derefSceneManager() [2/2]

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

Definition at line 270 of file qquick3dobject_p.h.

◆ dirty()

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

Definition at line 739 of file qquick3dobject.cpp.

◆ dirtyToString()

QString QQuick3DObjectPrivate::dirtyToString ( ) const

Definition at line 704 of file qquick3dobject.cpp.

◆ get() [1/2]

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

Definition at line 118 of file qquick3dobject_p.h.

◆ get() [2/2]

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

Definition at line 117 of file qquick3dobject_p.h.

◆ init()

void QQuick3DObjectPrivate::init ( QQuick3DObject * parent)

Definition at line 281 of file qquick3dobject.cpp.

◆ itemChange()

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

Definition at line 984 of file qquick3dobject.cpp.

◆ refSceneManager() [1/2]

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

Definition at line 265 of file qquick3dobject_p.h.

◆ refSceneManager() [2/2]

void QQuick3DObjectPrivate::refSceneManager ( QQuick3DSceneManager & c)

Definition at line 861 of file qquick3dobject.cpp.

◆ removeChild()

void QQuick3DObjectPrivate::removeChild ( QQuick3DObject * child)

Definition at line 832 of file qquick3dobject.cpp.

◆ removeFromDirtyList()

void QQuick3DObjectPrivate::removeFromDirtyList ( )

Definition at line 794 of file qquick3dobject.cpp.

◆ removeItemChangeListener()

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

Definition at line 682 of file qquick3dobject.cpp.

◆ resources()

QQmlListProperty< QObject > QQuick3DObjectPrivate::resources ( )

Definition at line 342 of file qquick3dobject.cpp.

◆ resources_append()

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

Definition at line 583 of file qquick3dobject.cpp.

◆ resources_at()

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

Definition at line 577 of file qquick3dobject.cpp.

◆ resources_clear()

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

Definition at line 602 of file qquick3dobject.cpp.

◆ resources_count()

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

Definition at line 596 of file qquick3dobject.cpp.

◆ setCulled()

void QQuick3DObjectPrivate::setCulled ( bool cull)

Definition at line 807 of file qquick3dobject.cpp.

◆ setState()

void QQuick3DObjectPrivate::setState ( const QString & state)

Definition at line 505 of file qquick3dobject.cpp.

◆ siblingOrderChanged()

void QQuick3DObjectPrivate::siblingOrderChanged ( )

Definition at line 848 of file qquick3dobject.cpp.

◆ state()

QString QQuick3DObjectPrivate::state ( ) const

Definition at line 500 of file qquick3dobject.cpp.

◆ states()

QQmlListProperty< QQuickState > QQuick3DObjectPrivate::states ( )

Definition at line 430 of file qquick3dobject.cpp.

◆ transitions()

QQmlListProperty< QQuickTransition > QQuick3DObjectPrivate::transitions ( )

Definition at line 472 of file qquick3dobject.cpp.

◆ updateOrAddItemChangeListener()

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

Definition at line 672 of file qquick3dobject.cpp.

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

◆ updateSubFocusItem()

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

Definition at line 955 of file qquick3dobject.cpp.

Member Data Documentation

◆ _stateGroup

QQuickStateGroup* QQuick3DObjectPrivate::_stateGroup

Definition at line 207 of file qquick3dobject_p.h.

◆ changeListeners

QVector<QQuick3DObjectPrivate::ChangeListener> QQuick3DObjectPrivate::changeListeners

Definition at line 200 of file qquick3dobject_p.h.

◆ childItems

QList<QQuick3DObject *> QQuick3DObjectPrivate::childItems

Definition at line 257 of file qquick3dobject_p.h.

◆ componentComplete

bool QQuick3DObjectPrivate::componentComplete = true

Definition at line 286 of file qquick3dobject_p.h.

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

◆ culled

bool QQuick3DObjectPrivate::culled

Definition at line 288 of file qquick3dobject_p.h.

◆ dirtyAttributes

quint32 QQuick3DObjectPrivate::dirtyAttributes

Definition at line 242 of file qquick3dobject_p.h.

◆ extra

QLazilyAllocated<ExtraData> QQuick3DObjectPrivate::extra

Definition at line 198 of file qquick3dobject_p.h.

◆ nextDirtyItem

QQuick3DObject* QQuick3DObjectPrivate::nextDirtyItem

Definition at line 247 of file qquick3dobject_p.h.

◆ parentItem

QQuick3DObject* QQuick3DObjectPrivate::parentItem

Definition at line 255 of file qquick3dobject_p.h.

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

◆ sceneManager

QPointer<QQuick3DSceneManager> QQuick3DObjectPrivate::sceneManager

Definition at line 252 of file qquick3dobject_p.h.

◆ sceneRefCount

int QQuick3DObjectPrivate::sceneRefCount

Definition at line 253 of file qquick3dobject_p.h.

◆ sharedResource

bool QQuick3DObjectPrivate::sharedResource = false

Definition at line 289 of file qquick3dobject_p.h.

◆ spatialNode

QSSGRenderGraphObject* QQuick3DObjectPrivate::spatialNode = nullptr

Definition at line 283 of file qquick3dobject_p.h.

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


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