27QVariant QQuick3DRenderStatsMeshesModel::data(
const QModelIndex &index,
int role)
const
32 const uint row = index.row();
33 const uint column = index.column();
35 if (role == Qt::DisplayRole) {
38 return m_data[row].name;
41 return m_data[row].submeshes;
44 return m_data[row].vertices;
47 return m_data[row].vertexBufferSize;
50 return m_data[row].indexBufferSize;
83void QQuick3DRenderStatsMeshesModel::setMeshData(
const QString &newMeshData)
85 if (m_meshData == newMeshData)
88 m_meshData = newMeshData;
89 emit meshDataChanged();
92 QVector<Data> newData;
93 if (!m_meshData.isEmpty()) {
94 auto lines = m_meshData.split(QRegularExpression(QStringLiteral(
"[\r\n]")), Qt::SkipEmptyParts);
95 if (lines.size() > 2) {
96 for (qsizetype i = 2; i < lines.size(); ++i) {
97 const auto &line = lines.at(i);
98 auto fields = line.split(QLatin1Char(
'|'), Qt::SkipEmptyParts);
99 if (fields.size() != 5)
102 bool isUInt64 =
false;
103 data.name = fields[0];
104 data.submeshes = fields[1].toULongLong(&isUInt64);
107 data.vertices = fields[2].toULongLong(&isUInt64);
110 data.vertexBufferSize = fields[3].toULongLong(&isUInt64);
113 data.indexBufferSize = fields[4].toULongLong(&isUInt64);
116 newData.append(data);