Better handling of degenerate convex hull cases.

Contributes to CURA-1504
This commit is contained in:
Simon Edwards 2016-05-26 14:39:22 +02:00
parent 7e3dd3d443
commit 5f638f6e69
2 changed files with 42 additions and 38 deletions

View file

@ -39,9 +39,10 @@ class ConvexHullNode(SceneNode):
self._convex_hull_head_mesh = None
self._hull = hull
hull_mesh = self.createHullMesh(self._hull.getPoints())
if hull_mesh:
self.setMeshData(hull_mesh)
if self._hull:
hull_mesh = self.createHullMesh(self._hull.getPoints())
if hull_mesh:
self.setMeshData(hull_mesh)
convex_hull_head = self._node.callDecoration("getConvexHullHead")
if convex_hull_head:
self._convex_hull_head_mesh = self.createHullMesh(convex_hull_head.getPoints())
@ -76,9 +77,10 @@ class ConvexHullNode(SceneNode):
self._shader.setUniformValue("u_color", self._color)
if self.getParent():
renderer.queueNode(self, transparent = True, shader = self._shader, backface_cull = True, sort = -8)
if self._convex_hull_head_mesh:
renderer.queueNode(self, shader = self._shader, transparent = True, mesh = self._convex_hull_head_mesh, backface_cull = True, sort = -8)
if self.getMeshData():
renderer.queueNode(self, transparent = True, shader = self._shader, backface_cull = True, sort = -8)
if self._convex_hull_head_mesh:
renderer.queueNode(self, shader = self._shader, transparent = True, mesh = self._convex_hull_head_mesh, backface_cull = True, sort = -8)
return True