Only reset transformation/ position if there is a bounding box.

If a node has no bounding box, it's because it has no data to change.

CURA-2925
This commit is contained in:
Jaime van Kessel 2016-11-18 12:56:07 +01:00
parent a71bb63318
commit d2a50cada1

View file

@ -777,7 +777,8 @@ class CuraApplication(QtApplication):
for node in nodes: for node in nodes:
# Ensure that the object is above the build platform # Ensure that the object is above the build platform
node.removeDecorator(ZOffsetDecorator.ZOffsetDecorator) node.removeDecorator(ZOffsetDecorator.ZOffsetDecorator)
op.addOperation(SetTransformOperation(node, Vector(0, node.getWorldPosition().y - node.getBoundingBox().bottom, 0))) if node.getBoundingBox():
op.addOperation(SetTransformOperation(node, Vector(0, node.getWorldPosition().y - node.getBoundingBox().bottom, 0)))
op.push() op.push()
## Reset all transformations on nodes with mesh data. ## Reset all transformations on nodes with mesh data.
@ -799,10 +800,9 @@ class CuraApplication(QtApplication):
for node in nodes: for node in nodes:
# Ensure that the object is above the build platform # Ensure that the object is above the build platform
node.removeDecorator(ZOffsetDecorator.ZOffsetDecorator) node.removeDecorator(ZOffsetDecorator.ZOffsetDecorator)
if node.getBoundingBox():
center_y = node.getWorldPosition().y - node.getBoundingBox().bottom center_y = node.getWorldPosition().y - node.getBoundingBox().bottom
op.addOperation(SetTransformOperation(node, Vector(0, center_y, 0), Quaternion(), Vector(1, 1, 1)))
op.addOperation(SetTransformOperation(node, Vector(0, center_y, 0), Quaternion(), Vector(1, 1, 1)))
op.push() op.push()
## Reload all mesh data on the screen from file. ## Reload all mesh data on the screen from file.