diff options
author | Jaime van Kessel <nallath@gmail.com> | 2016-09-21 18:28:38 +0300 |
---|---|---|
committer | Jaime van Kessel <nallath@gmail.com> | 2016-09-21 18:28:38 +0300 |
commit | a94d98dfed831828811ca61085525c62162ca45e (patch) | |
tree | 05549ecef6ed8cd13962c808ad9046b414d4cfc7 /plugins/X3DReader | |
parent | 51dee95c8f781854e79784f6f8b4c60aeb4ddc7a (diff) |
X3D reader no longer creates critical exceptions in the rest of cura
CURA-2083
Diffstat (limited to 'plugins/X3DReader')
-rw-r--r-- | plugins/X3DReader/X3DReader.py | 19 |
1 files 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 |