diff options
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/sceneparsers/gltf/gltfimporter.cpp | 18 | ||||
-rw-r--r-- | src/plugins/sceneparsers/gltfexport/gltfexporter.cpp | 13 |
2 files changed, 11 insertions, 20 deletions
diff --git a/src/plugins/sceneparsers/gltf/gltfimporter.cpp b/src/plugins/sceneparsers/gltf/gltfimporter.cpp index bd87f7da8..a03afec59 100644 --- a/src/plugins/sceneparsers/gltf/gltfimporter.cpp +++ b/src/plugins/sceneparsers/gltf/gltfimporter.cpp @@ -1817,23 +1817,17 @@ void GLTFImporter::processJSONMesh(const QString &id, const QJsonObject &json) } else { QGeometryRenderer *mesh = nullptr; if (meshType == QStringLiteral("cone")) { - mesh = new QGeometryRenderer; - mesh->setView(new QConeMesh); + mesh = new QConeMesh; } else if (meshType == QStringLiteral("cuboid")) { - mesh = new QGeometryRenderer; - mesh->setView(new QCuboidMesh); + mesh = new QCuboidMesh; } else if (meshType == QStringLiteral("cylinder")) { - mesh = new QGeometryRenderer; - mesh->setView(new QCylinderMesh); + mesh = new QCylinderMesh; } else if (meshType == QStringLiteral("plane")) { - mesh = new QGeometryRenderer; - mesh->setView(new QPlaneMesh); + mesh = new QPlaneMesh; } else if (meshType == QStringLiteral("sphere")) { - mesh = new QGeometryRenderer; - mesh->setView(new QSphereMesh); + mesh = new QSphereMesh; } else if (meshType == QStringLiteral("torus")) { - mesh = new QGeometryRenderer; - mesh->setView(new QTorusMesh); + mesh = new QTorusMesh; } else { qCWarning(GLTFImporterLog, "Invalid mesh type: %ls for mesh: %ls", diff --git a/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp b/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp index d7424831a..a8eb10116 100644 --- a/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp +++ b/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp @@ -734,13 +734,10 @@ void GLTFExporter::parseMeshes() int meshCount = 0; for (auto it = m_meshMap.constBegin(); it != m_meshMap.constEnd(); ++it) { Node *node = it.key(); - QGeometryRenderer *renderer = it.value(); - QGeometryView *mesh = renderer->view(); - if (!mesh) - continue; + QGeometryRenderer *mesh = it.value(); MeshInfo meshInfo; - meshInfo.originalName = mesh->objectName().isEmpty() ? renderer->objectName() : mesh->objectName(); + meshInfo.originalName = mesh->objectName(); meshInfo.name = newMeshName(); meshInfo.materialName = m_materialInfo.value(m_materialMap.value(node)).name; @@ -767,7 +764,7 @@ void GLTFExporter::parseMeshes() } if (meshInfo.meshType != TypeNone) { - meshInfo.meshComponent = renderer; + meshInfo.meshComponent = mesh; cacheDefaultProperties(meshInfo.meshType); if (GLTFExporterLog().isDebugEnabled()) { @@ -976,7 +973,7 @@ void GLTFExporter::parseMeshes() } meshCount++; - m_meshInfo.insert(renderer, meshInfo); + m_meshInfo.insert(mesh, meshInfo); } qCDebug(GLTFExporterLog, "Total buffer size: %i", m_buffer.size()); @@ -1252,7 +1249,7 @@ bool GLTFExporter::saveScene() mesh["name"] = meshInfo.originalName; if (meshInfo.meshType != TypeNone) { QJsonObject properties; - exportGenericProperties(properties, meshInfo.meshType, meshInfo.meshComponent->view()); + exportGenericProperties(properties, meshInfo.meshType, meshInfo.meshComponent); mesh["type"] = meshInfo.meshTypeStr; mesh["properties"] = properties; mesh["material"] = meshInfo.materialName; |