28 Q_PROPERTY(QQuick3DInstancing *instancingTable READ instancing WRITE setInstancing NOTIFY instancingChanged)
29 QML_NAMED_ELEMENT(InstanceModel)
30 QML_ADDED_IN_VERSION(6, 4)
33 explicit InstanceModel(QObject *parent =
nullptr);
35 QVariant data(
const QModelIndex &index,
int role)
const override;
36 int rowCount(
const QModelIndex &parent)
const override;
38 QQuick3DInstancing *instancing()
const {
return m_instancing; }
39 void setInstancing(QQuick3DInstancing *instancing);
41 const QQuick3DInstancing::InstanceTableEntry *instanceData(
int index)
const;
44 PositionRole, RotationRole, ScaleRole, ColorRole, CustomDataRole
47 QHash<
int, QByteArray> roleNames()
const override {
49 { ColorRole,
"modelColor" },
50 { PositionRole,
"modelPosition" },
51 { RotationRole,
"modelRotation"},
52 { ScaleRole,
"modelScale"},
53 { CustomDataRole,
"modelData"}
61 void instancingChanged();
64 void ensureTable()
const;
66 QQuick3DInstancing *m_instancing =
nullptr;
68 QByteArray m_instanceData;
70 QMetaObject::Connection m_tableConnection;
76 Q_PROPERTY(QQuick3DInstancing *instancingTable READ instancing WRITE setInstancing NOTIFY instancingChanged)
77 QML_NAMED_ELEMENT(InstanceRepeater)
78 QML_ADDED_IN_VERSION(6, 4)
81 explicit InstanceRepeater(QQuick3DNode *parent =
nullptr);
82 QQuick3DInstancing *instancing()
const;
83 void setInstancing(QQuick3DInstancing *instancing);
85 void instancingChanged();
87 void initDelegate(
int index, QQuick3DNode *node) override;
89 InstanceModel *m_model =
nullptr;