|
@@ -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()
|
|
|
|