Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime van Kessel <nallath@gmail.com>2019-05-29 16:53:23 +0300
committerJaime van Kessel <nallath@gmail.com>2019-05-29 16:53:23 +0300
commit07ff08f6bbba692abca59044357d3f6a296ee949 (patch)
tree65e2e4cd85fb815ed6092a09d195457f72d9af07 /cura/PreviewPass.py
parentf6627daa49ecde38df115a88c8bfc61c834518e8 (diff)
Ensure that objects outside build volume are not added to thumbnail
CURA-6545
Diffstat (limited to 'cura/PreviewPass.py')
-rw-r--r--cura/PreviewPass.py47
1 files changed, 24 insertions, 23 deletions
diff --git a/cura/PreviewPass.py b/cura/PreviewPass.py
index befb52ee5e..49e2befd28 100644
--- a/cura/PreviewPass.py
+++ b/cura/PreviewPass.py
@@ -84,29 +84,30 @@ class PreviewPass(RenderPass):
# Fill up the batch with objects that can be sliced.
for node in DepthFirstIterator(self._scene.getRoot()): #type: ignore #Ignore type error because iter() should get called automatically by Python syntax.
- if node.callDecoration("isSliceable") and node.getMeshData() and node.isVisible():
- per_mesh_stack = node.callDecoration("getStack")
- if node.callDecoration("isNonThumbnailVisibleMesh"):
- # Non printing mesh
- continue
- elif per_mesh_stack is not None and per_mesh_stack.getProperty("support_mesh", "value"):
- # Support mesh
- uniforms = {}
- shade_factor = 0.6
- diffuse_color = node.getDiffuseColor()
- diffuse_color2 = [
- diffuse_color[0] * shade_factor,
- diffuse_color[1] * shade_factor,
- diffuse_color[2] * shade_factor,
- 1.0]
- uniforms["diffuse_color"] = prettier_color(diffuse_color)
- uniforms["diffuse_color_2"] = diffuse_color2
- batch_support_mesh.addItem(node.getWorldTransformation(), node.getMeshData(), uniforms = uniforms)
- else:
- # Normal scene node
- uniforms = {}
- uniforms["diffuse_color"] = prettier_color(node.getDiffuseColor())
- batch.addItem(node.getWorldTransformation(), node.getMeshData(), uniforms = uniforms)
+ if hasattr(node, "_outside_buildarea") and not node._outside_buildarea:
+ if node.callDecoration("isSliceable") and node.getMeshData() and node.isVisible():
+ per_mesh_stack = node.callDecoration("getStack")
+ if node.callDecoration("isNonThumbnailVisibleMesh"):
+ # Non printing mesh
+ continue
+ elif per_mesh_stack is not None and per_mesh_stack.getProperty("support_mesh", "value"):
+ # Support mesh
+ uniforms = {}
+ shade_factor = 0.6
+ diffuse_color = node.getDiffuseColor()
+ diffuse_color2 = [
+ diffuse_color[0] * shade_factor,
+ diffuse_color[1] * shade_factor,
+ diffuse_color[2] * shade_factor,
+ 1.0]
+ uniforms["diffuse_color"] = prettier_color(diffuse_color)
+ uniforms["diffuse_color_2"] = diffuse_color2
+ batch_support_mesh.addItem(node.getWorldTransformation(), node.getMeshData(), uniforms = uniforms)
+ else:
+ # Normal scene node
+ uniforms = {}
+ uniforms["diffuse_color"] = prettier_color(node.getDiffuseColor())
+ batch.addItem(node.getWorldTransformation(), node.getMeshData(), uniforms = uniforms)
self.bind()