kaolin icon indicating copy to clipboard operation
kaolin copied to clipboard

AttributeError raised when loading glTF with mesh primitives that aren't type 4 / triangles

Open artgillespie opened this issue 7 months ago • 1 comments

In io/gltf.py:293 skip_mesh is left as True when encountering a mesh primitive that isn't type 4/triangles.

As a result, at io/gltf.py:338 None is appended to meshes.

At io/gltf.py:375 the returned meshes list is enumerated and has_attribute is called on each item without checking whether it's None, leading to an AttributeError exception raised to the caller.

How best to handle this is really a design question for the library maintainers, but I think clients should either get a sensible exception explaining that the glTF has unsupported primitive modes, or be given the opportunity to handle None meshes.

artgillespie avatar Jul 17 '24 17:07 artgillespie