From a94d98dfed831828811ca61085525c62162ca45e Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 21 Sep 2016 17:28:38 +0200 Subject: [PATCH] X3D reader no longer creates critical exceptions in the rest of cura CURA-2083 --- plugins/X3DReader/X3DReader.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/plugins/X3DReader/X3DReader.py b/plugins/X3DReader/X3DReader.py index f1c217da9d..4ce21f3f8c 100644 --- a/plugins/X3DReader/X3DReader.py +++ b/plugins/X3DReader/X3DReader.py @@ -78,12 +78,17 @@ class X3DReader(MeshReader): builder.setIndices(numpy.concatenate([shape.faces for shape in self.shapes])) builder.calculateNormals() builder.setFileName(file_name) - - scene = SceneNode() - scene.setMeshData(builder.build()) - scene.setSelectable(True) - scene.setName(file_name) - scene.getBoundingBox() + mesh_data = builder.build() + + # Manually try and get the extents of the mesh_data. This should prevent nasty NaN issues from + # leaving the reader. + mesh_data.getExtents() + + node = SceneNode() + node.setMeshData(mesh_data) + node.setSelectable(True) + node.setName(file_name) + else: return None @@ -91,7 +96,7 @@ class X3DReader(MeshReader): Logger.logException("e", "Exception in X3D reader") return None - return scene + return node # ------------------------- XML tree traversal