From e761b2c2a76b4215334d19921e8e648797a30f5f Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 29 Aug 2019 15:14:35 +0200 Subject: [PATCH] Add support for reading glTF files Contributes to issue CURA-6739. --- plugins/TrimeshReader/TrimeshReader.py | 16 +++++++++++++++- plugins/TrimeshReader/__init__.py | 8 ++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/plugins/TrimeshReader/TrimeshReader.py b/plugins/TrimeshReader/TrimeshReader.py index 65ece039fe..779b0fddf4 100644 --- a/plugins/TrimeshReader/TrimeshReader.py +++ b/plugins/TrimeshReader/TrimeshReader.py @@ -27,7 +27,7 @@ class TrimeshReader(MeshReader): def __init__(self) -> None: super().__init__() - self._supported_extensions = [".dae", ".ply"] + self._supported_extensions = [".dae", ".gltf", ".glb", ".ply"] MimeTypeDatabase.addMimeType( MimeType( name = "model/vnd.collada+xml", @@ -35,6 +35,20 @@ class TrimeshReader(MeshReader): suffixes = ["dae"] ) ) + MimeTypeDatabase.addMimeType( + MimeType( + name = "model/gltf-binary", + comment = "glTF Binary", + suffixes = ["glb"] + ) + ) + MimeTypeDatabase.addMimeType( + MimeType( + name = "model/gltf+json", + comment = "glTF Embedded JSON", + suffixes = ["gltf"] + ) + ) MimeTypeDatabase.addMimeType( MimeType( name = "application/x-ply", # Wikipedia lists the MIME type as "text/plain" but that won't do as it's not unique to PLY files. diff --git a/plugins/TrimeshReader/__init__.py b/plugins/TrimeshReader/__init__.py index debcc632ec..0b1ef72be2 100644 --- a/plugins/TrimeshReader/__init__.py +++ b/plugins/TrimeshReader/__init__.py @@ -14,6 +14,14 @@ def getMetaData(): "extension": "dae", "description": i18n_catalog.i18nc("@item:inlistbox", "COLLADA Digital Asset Exchange") }, + { + "extension": "glb", + "description": i18n_catalog.i18nc("@item:inlistbox", "glTF Binary") + }, + { + "extension": "gltf", + "description": i18n_catalog.i18nc("@item:inlistbox", "glTF Embedded JSON") + }, { "extension": "ply", "description": i18n_catalog.i18nc("@item:inlistbox", "Stanford Triangle Format")