21class Q_QUICK3D_EXPORT
QQuick3DObject :
public QObject,
public QQmlParserStatus
24 Q_INTERFACES(QQmlParserStatus)
25 Q_DECLARE_PRIVATE(QQuick3DObject)
26 Q_DISABLE_COPY(QQuick3DObject)
28 Q_PROPERTY(QQuick3DObject *parent READ parentItem WRITE setParentItem NOTIFY parentChanged DESIGNABLE
false FINAL)
29 Q_PRIVATE_PROPERTY(QQuick3DObject::d_func(), QQmlListProperty<QObject> data READ data DESIGNABLE
false)
30 Q_PRIVATE_PROPERTY(QQuick3DObject::d_func(), QQmlListProperty<QObject> resources READ resources DESIGNABLE
false)
31 Q_PRIVATE_PROPERTY(QQuick3DObject::d_func(),
32 QQmlListProperty<QQuick3DObject> children READ children NOTIFY childrenChanged DESIGNABLE
false)
34 Q_PRIVATE_PROPERTY(QQuick3DObject::d_func(), QQmlListProperty<QQuickState> states READ states DESIGNABLE
false)
35 Q_PRIVATE_PROPERTY(QQuick3DObject::d_func(), QQmlListProperty<QQuickTransition> transitions READ transitions DESIGNABLE
false)
36 Q_PROPERTY(QString state READ state WRITE setState NOTIFY stateChanged)
38 Q_CLASSINFO(
"DefaultProperty",
"data")
39 Q_CLASSINFO(
"qt_QmlJSWrapperFactoryMethod",
"_q_createJSWrapper(QQmlV4ExecutionEnginePtr)")
41 QML_NAMED_ELEMENT(Object3D)
42 QML_UNCREATABLE(
"Object3D is Abstract")
46 ItemChildRemovedChange,
48 ItemVisibleHasChanged,
50 ItemOpacityHasChanged,
51 ItemActiveFocusHasChanged,
52 ItemRotationHasChanged,
53 ItemAntialiasingHasChanged,
54 ItemDevicePixelRatioHasChanged,
58 union ItemChangeData {
59 ItemChangeData(QQuick3DObject *v) : item(v) {}
60 ItemChangeData(QQuick3DSceneManager *v) : sceneManager(v) {}
61 ItemChangeData(qreal v) : realValue(v) {}
62 ItemChangeData(
bool v) : boolValue(v) {}
65 QQuick3DSceneManager *sceneManager;
70 explicit QQuick3DObject(QQuick3DObject *parent =
nullptr);
71 ~QQuick3DObject() override;
73 QString state()
const;
74 void setState(
const QString &state);
76 QList<QQuick3DObject *> childItems()
const;
78 QQuick3DObject *parentItem()
const;
83 void setParentItem(QQuick3DObject *parentItem);
87 void childrenChanged();
91 virtual QSSGRenderGraphObject *updateSpatialNode(QSSGRenderGraphObject *node);
92 virtual void markAllDirty();
93 virtual void itemChange(ItemChange,
const ItemChangeData &);
94 explicit QQuick3DObject(QQuick3DObjectPrivate &dd, QQuick3DObject *parent =
nullptr);
96 void classBegin() override;
97 void componentComplete() override;
99 bool isComponentComplete()
const;
101 virtual void preSync();
104 Q_PRIVATE_SLOT(d_func(),
void _q_resourceObjectDeleted(QObject *))
105 Q_PRIVATE_SLOT(d_func(), quint64 _q_createJSWrapper(QQmlV4ExecutionEnginePtr))
106 Q_PRIVATE_SLOT(d_func(),
void _q_cleanupContentItem2D())
108 friend class QQuick3DSceneManager;
114 QML_NAMED_ELEMENT(ContentLayer)
115 QML_ADDED_IN_VERSION(6, 11)
118 explicit QQuick3DContentLayer(QObject *parent =
nullptr);
119 ~QQuick3DContentLayer() override;
121 enum LayerFlag : quint32 {
154 Layer28 = 0x10000000,
155 Layer29 = 0x20000000,
156 Layer30 = 0x40000000,
157 Layer31 = 0x80000000,
158 ReservedLayerMask = 0xFF000000
160 Q_DECLARE_FLAGS(LayerFlags, LayerFlag)