|
| enum class | Flags : quint32 { None = 0x0
, RequiresSecondaryUpdate = 0x1
} |
| 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 | FlagsT = std::underlying_type_t<Flags> |
| | Flags::RequiresSecondaryUpdate indicates that the object needs a secondary update, meaning an additional call to updateSpatialNode() will be made after the first one.
|
| using | ConnectionMap = QHash<ConnectionKey, QMetaObject::Connection> |
| typedef void(* | StaticMetaCallFunction) (QObject *, QMetaObject::Call, int, void **) |
| using | ConnectionDataPointer = QExplicitlySharedDataPointer<ConnectionData> |
|
| | QQuick3DObjectPrivate (Type t, FlagsT f) |
| | QQuick3DObjectPrivate (Type t, Flags f) |
| | QQuick3DObjectPrivate (Type t) |
| | ~QQuick3DObjectPrivate () override |
| void | init (QQuick3DObject *parent) |
| QQmlListProperty< QObject > | data () |
| QQmlListProperty< QObject > | resources () |
| QQmlListProperty< QQuick3DObject > | children () |
| QQmlListProperty< QQuickState > | states () |
| QQmlListProperty< QQuickTransition > | transitions () |
| 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 () |
| bool | hasFlag (Flags flag) |
| 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 () |
| void | requestSecondaryUpdate () |
| 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::QPropertyAdaptorSlotObject * | getPropertyAdaptorSlotObject (const QMetaProperty &property) |
| | QObjectData ()=default |
| virtual | ~QObjectData ()=0 |
| const QMetaObject * | dynamicMetaObject () const |
|
| 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 QQuick3DObjectPrivate * | get (QQuick3DObject *item) |
| static const QQuick3DObjectPrivate * | get (const QQuick3DObject *item) |
| static QSSGRenderGraphObject * | updateSpatialNode (QQuick3DObject *o, QSSGRenderGraphObject *n) |
| static void | data_append (QQmlListProperty< QObject > *, QObject *) |
| static qsizetype | data_count (QQmlListProperty< QObject > *) |
| static QObject * | data_at (QQmlListProperty< QObject > *, qsizetype) |
| static void | data_clear (QQmlListProperty< QObject > *) |
| static QObject * | resources_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 QQuick3DObject * | children_at (QQmlListProperty< QQuick3DObject > *, qsizetype) |
| static void | children_clear (QQmlListProperty< QQuick3DObject > *) |
| static void | refSceneManager (QQuick3DObject *obj, QQuick3DSceneManager &mgr) |
| static void | derefSceneManager (QQuick3DObject *obj) |
| static bool | removeConnection (Connection *c) |
| static QObjectPrivate * | get (QObject *o) |
| static const QObjectPrivate * | get (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) |
Definition at line 41 of file qquick3dobject_p.h.
Flags::RequiresSecondaryUpdate indicates that the object needs a secondary update, meaning an additional call to updateSpatialNode() will be made after the first one.
This is useful for objects that depend on other objects being fully updated before they can update themselves properly, as when the second call happens all objects have had their first updateSpatialNode() called. In addition to setting this flag the object must also call requestSecondaryUpdate() when it knows that it needs the secondary update!
NOTE: This flag is only relevant for resource objects, spatial nodes will be ignored.
Definition at line 64 of file qquick3dobject_p.h.
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 133 of file qquick3dobject_p.h.