From 049f3c25ffdbb5d5fefd9ae0ea63541ed64a6e70 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Mon, 22 Jun 2015 17:04:30 +0200 Subject: [PATCH] Performance: Only calculate the platform center once, not for every poly Contributes to #52 --- .../CuraEngineBackend/ProcessSlicedObjectListJob.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/CuraEngineBackend/ProcessSlicedObjectListJob.py b/plugins/CuraEngineBackend/ProcessSlicedObjectListJob.py index 6113da78a0..27ba592c78 100644 --- a/plugins/CuraEngineBackend/ProcessSlicedObjectListJob.py +++ b/plugins/CuraEngineBackend/ProcessSlicedObjectListJob.py @@ -32,6 +32,12 @@ class ProcessSlicedObjectListJob(Job): settings = Application.getInstance().getActiveMachine() layerHeight = settings.getSettingValueByKey("layer_height") + center = None + if not settings.getSettingValueByKey("machine_center_is_zero"): + center = numpy.array([settings.getSettingValueByKey("machine_width") / 2, 0.0, -settings.getSettingValueByKey("machine_depth") / 2]) + else: + center = numpy.array([0.0, 0.0, 0.0]) + mesh = MeshData() for object in self._message.objects: try: @@ -53,9 +59,7 @@ class ProcessSlicedObjectListJob(Job): points[:,2] *= -1 - if not settings.getSettingValueByKey("machine_center_is_zero"): - center = [settings.getSettingValueByKey("machine_width") / 2, 0.0, -settings.getSettingValueByKey("machine_depth") / 2] - points -= numpy.array(center) + points -= numpy.array(center) layerData.addPolygon(layer.id, polygon.type, points, polygon.line_width)