23class Q_QUICK3D_EXPORT
QQuick3DObject :
public QObject,
public QQmlParserStatus
26 Q_INTERFACES(QQmlParserStatus)
27 Q_DECLARE_PRIVATE(QQuick3DObject)
28 Q_DISABLE_COPY(QQuick3DObject)
30 Q_PROPERTY(QQuick3DObject *parent READ parentItem WRITE setParentItem NOTIFY parentChanged DESIGNABLE
false FINAL)
31 Q_PRIVATE_PROPERTY(QQuick3DObject::d_func(), QQmlListProperty<QObject> data READ data DESIGNABLE
false)
32 Q_PRIVATE_PROPERTY(QQuick3DObject::d_func(), QQmlListProperty<QObject> resources READ resources DESIGNABLE
false)
33 Q_PRIVATE_PROPERTY(QQuick3DObject::d_func(),
34 QQmlListProperty<QQuick3DObject> children READ children NOTIFY childrenChanged DESIGNABLE
false)
36 Q_PRIVATE_PROPERTY(QQuick3DObject::d_func(), QQmlListProperty<QQuickState> states READ states DESIGNABLE
false)
37 Q_PRIVATE_PROPERTY(QQuick3DObject::d_func(), QQmlListProperty<QQuickTransition> transitions READ transitions DESIGNABLE
false)
38 Q_PROPERTY(QString state READ state WRITE setState NOTIFY stateChanged)
40 Q_CLASSINFO(
"DefaultProperty",
"data")
41 Q_CLASSINFO(
"qt_QmlJSWrapperFactoryMethod",
"_q_createJSWrapper(QQmlV4ExecutionEnginePtr)")
43 QML_NAMED_ELEMENT(Object3D)
44 QML_UNCREATABLE(
"Object3D is Abstract")
48 ItemChildRemovedChange,
50 ItemVisibleHasChanged,
52 ItemOpacityHasChanged,
53 ItemActiveFocusHasChanged,
54 ItemRotationHasChanged,
55 ItemAntialiasingHasChanged,
56 ItemDevicePixelRatioHasChanged,
60 union ItemChangeData {
61 ItemChangeData(QQuick3DObject *v) : item(v) {}
62 ItemChangeData(QQuick3DSceneManager *v) : sceneManager(v) {}
63 ItemChangeData(qreal v) : realValue(v) {}
64 ItemChangeData(
bool v) : boolValue(v) {}
67 QQuick3DSceneManager *sceneManager;
72 explicit QQuick3DObject(QQuick3DObject *parent =
nullptr);
73 ~QQuick3DObject() override;
75 QString state()
const;
76 void setState(
const QString &state);
78 QList<QQuick3DObject *> childItems()
const;
80 QQuick3DObject *parentItem()
const;
85 void setParentItem(QQuick3DObject *parentItem);
89 void childrenChanged();
93 virtual QSSGRenderGraphObject *updateSpatialNode(QSSGRenderGraphObject *node);
94 virtual void markAllDirty();
95 virtual void itemChange(ItemChange,
const ItemChangeData &);
96 explicit QQuick3DObject(QQuick3DObjectPrivate &dd, QQuick3DObject *parent =
nullptr);
98 void classBegin() override;
99 void componentComplete() override;
101 bool isComponentComplete()
const;
103 virtual void preSync();
106 Q_PRIVATE_SLOT(d_func(),
void _q_resourceObjectDeleted(QObject *))
107 Q_PRIVATE_SLOT(d_func(), quint64 _q_createJSWrapper(QQmlV4ExecutionEnginePtr))
108 Q_PRIVATE_SLOT(d_func(),
void _q_cleanupContentItem2D())
110 friend class QQuick3DSceneManager;