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 ()
void setObjectNameWithoutBindings (const QString &name)
 QObjectPrivate (decltype(QObjectPrivateVersion) version=QObjectPrivateVersion)
virtual ~QObjectPrivate ()
void deleteChildren ()
void clearBindingStorage ()
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
const 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 334 of file qquick3dobject.cpp.

◆ ~QQuick3DObjectPrivate()

QQuick3DObjectPrivate::~QQuick3DObjectPrivate ( )
override

Definition at line 347 of file qquick3dobject.cpp.

Member Function Documentation

◆ _q_cleanupContentItem2D()

void QQuick3DObjectPrivate::_q_cleanupContentItem2D ( )

Definition at line 728 of file qquick3dobject.cpp.

◆ _q_createJSWrapper()

quint64 QQuick3DObjectPrivate::_q_createJSWrapper ( QQmlV4ExecutionEnginePtr engine)

Definition at line 1174 of file qquick3dobject.cpp.

◆ _q_resourceObjectDeleted()

void QQuick3DObjectPrivate::_q_resourceObjectDeleted ( QObject * object)

Definition at line 722 of file qquick3dobject.cpp.

◆ _states()

QQuickStateGroup * QQuick3DObjectPrivate::_states ( )

Definition at line 758 of file qquick3dobject.cpp.

◆ addChild()

void QQuick3DObjectPrivate::addChild ( QQuick3DObject * child)

Definition at line 887 of file qquick3dobject.cpp.

◆ addItemChangeListener()

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

Definition at line 737 of file qquick3dobject.cpp.

◆ addToDirtyList()

void QQuick3DObjectPrivate::addToDirtyList ( )

Definition at line 825 of file qquick3dobject.cpp.

◆ attachWatcher()

template<typename Context, typename Setter, typename Object3D>
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>
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 445 of file qquick3dobject.cpp.

◆ children_append()

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

Definition at line 687 of file qquick3dobject.cpp.

◆ children_at()

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

Definition at line 705 of file qquick3dobject.cpp.

◆ children_clear()

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

Definition at line 714 of file qquick3dobject.cpp.

◆ children_count()

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

Definition at line 699 of file qquick3dobject.cpp.

◆ data()

QQmlListProperty< QObject > QQuick3DObjectPrivate::data ( )

Definition at line 398 of file qquick3dobject.cpp.

◆ data_append()

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

Definition at line 580 of file qquick3dobject.cpp.

◆ data_at()

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

Definition at line 620 of file qquick3dobject.cpp.

◆ data_clear()

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

Definition at line 636 of file qquick3dobject.cpp.

◆ data_count()

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

Definition at line 610 of file qquick3dobject.cpp.

◆ derefSceneManager() [1/2]

void QQuick3DObjectPrivate::derefSceneManager ( )

Definition at line 991 of file qquick3dobject.cpp.

◆ derefSceneManager() [2/2]

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 809 of file qquick3dobject.cpp.

◆ dirtyToString()

QString QQuick3DObjectPrivate::dirtyToString ( ) const

Definition at line 774 of file qquick3dobject.cpp.

◆ get() [1/2]

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

Definition at line 118 of file qquick3dobject_p.h.

◆ get() [2/2]

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

Definition at line 117 of file qquick3dobject_p.h.

◆ init()

void QQuick3DObjectPrivate::init ( QQuick3DObject * parent)

Definition at line 351 of file qquick3dobject.cpp.

◆ itemChange()

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

Definition at line 1054 of file qquick3dobject.cpp.

◆ refSceneManager() [1/2]

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 931 of file qquick3dobject.cpp.

◆ removeChild()

void QQuick3DObjectPrivate::removeChild ( QQuick3DObject * child)

Definition at line 902 of file qquick3dobject.cpp.

◆ removeFromDirtyList()

void QQuick3DObjectPrivate::removeFromDirtyList ( )

Definition at line 864 of file qquick3dobject.cpp.

◆ removeItemChangeListener()

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

Definition at line 752 of file qquick3dobject.cpp.

◆ resources()

QQmlListProperty< QObject > QQuick3DObjectPrivate::resources ( )

Definition at line 412 of file qquick3dobject.cpp.

◆ resources_append()

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

Definition at line 653 of file qquick3dobject.cpp.

◆ resources_at()

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

Definition at line 647 of file qquick3dobject.cpp.

◆ resources_clear()

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

Definition at line 672 of file qquick3dobject.cpp.

◆ resources_count()

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

Definition at line 666 of file qquick3dobject.cpp.

◆ setCulled()

void QQuick3DObjectPrivate::setCulled ( bool cull)

Definition at line 877 of file qquick3dobject.cpp.

◆ setState()

void QQuick3DObjectPrivate::setState ( const QString & state)

Definition at line 575 of file qquick3dobject.cpp.

◆ siblingOrderChanged()

void QQuick3DObjectPrivate::siblingOrderChanged ( )

Definition at line 918 of file qquick3dobject.cpp.

◆ state()

QString QQuick3DObjectPrivate::state ( ) const

Definition at line 570 of file qquick3dobject.cpp.

◆ states()

QQmlListProperty< QQuickState > QQuick3DObjectPrivate::states ( )

Definition at line 500 of file qquick3dobject.cpp.

◆ transitions()

QQmlListProperty< QQuickTransition > QQuick3DObjectPrivate::transitions ( )

Definition at line 542 of file qquick3dobject.cpp.

◆ updateOrAddItemChangeListener()

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

Definition at line 742 of file qquick3dobject.cpp.

◆ updatePolish()

virtual void QQuick3DObjectPrivate::updatePolish ( )
inlinevirtual

Definition at line 281 of file qquick3dobject_p.h.

◆ updateSpatialNode()

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 1025 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: