29QVariant QQuick3DRenderStatsMeshesModel::data(
const QModelIndex &index,
int role)
const
34 const uint row = index.row();
35 const uint column = index.column();
37 if (role == Qt::DisplayRole) {
40 return m_data[row].name;
43 return m_data[row].submeshes;
46 return m_data[row].vertices;
49 return m_data[row].vertexBufferSize;
52 return m_data[row].indexBufferSize;
85void QQuick3DRenderStatsMeshesModel::setMeshData(
const QString &newMeshData)
87 if (m_meshData == newMeshData)
90 m_meshData = newMeshData;
91 emit meshDataChanged();
94 QVector<Data> newData;
95 if (!m_meshData.isEmpty()) {
96 auto lines = m_meshData.split(QRegularExpression(QStringLiteral(
"[\r\n]")), Qt::SkipEmptyParts);
97 if (lines.size() > 2) {
98 for (qsizetype i = 2; i < lines.size(); ++i) {
99 const auto &line = lines.at(i);
100 auto fields = line.split(QLatin1Char(
'|'), Qt::SkipEmptyParts);
101 if (fields.size() != 5)
104 bool isUInt64 =
false;
105 data.name = fields[0];
106 data.submeshes = fields[1].toULongLong(&isUInt64);
109 data.vertices = fields[2].toULongLong(&isUInt64);
112 data.vertexBufferSize = fields[3].toULongLong(&isUInt64);
115 data.indexBufferSize = fields[4].toULongLong(&isUInt64);
118 newData.append(data);