30 Q_PROPERTY(QQuick3DInstancing *instancingTable READ instancing WRITE setInstancing NOTIFY instancingChanged)
31 QML_NAMED_ELEMENT(InstanceModel)
32 QML_ADDED_IN_VERSION(6, 4)
35 explicit InstanceModel(QObject *parent =
nullptr);
37 QVariant data(
const QModelIndex &index,
int role)
const override;
38 int rowCount(
const QModelIndex &parent)
const override;
40 QQuick3DInstancing *instancing()
const {
return m_instancing; }
41 void setInstancing(QQuick3DInstancing *instancing);
43 const QQuick3DInstancing::InstanceTableEntry *instanceData(
int index)
const;
46 PositionRole, RotationRole, ScaleRole, ColorRole, CustomDataRole
49 QHash<
int, QByteArray> roleNames()
const override {
51 { ColorRole,
"modelColor" },
52 { PositionRole,
"modelPosition" },
53 { RotationRole,
"modelRotation"},
54 { ScaleRole,
"modelScale"},
55 { CustomDataRole,
"modelData"}
63 void instancingChanged();
66 void ensureTable()
const;
68 QQuick3DInstancing *m_instancing =
nullptr;
70 QByteArray m_instanceData;
72 QMetaObject::Connection m_tableConnection;
78 Q_PROPERTY(QQuick3DInstancing *instancingTable READ instancing WRITE setInstancing NOTIFY instancingChanged)
79 QML_NAMED_ELEMENT(InstanceRepeater)
80 QML_ADDED_IN_VERSION(6, 4)
83 explicit InstanceRepeater(QQuick3DNode *parent =
nullptr);
84 QQuick3DInstancing *instancing()
const;
85 void setInstancing(QQuick3DInstancing *instancing);
87 void instancingChanged();
89 void initDelegate(
int index, QQuick3DNode *node) override;
91 InstanceModel *m_model =
nullptr;