mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 23:46:22 -06:00
Properly report Layer data processing progress
Contributes to CURA-224
This commit is contained in:
parent
75b8466065
commit
653b46d825
1 changed files with 25 additions and 10 deletions
|
@ -54,6 +54,20 @@ class ProcessSlicedObjectListJob(Job):
|
||||||
|
|
||||||
mesh = MeshData()
|
mesh = MeshData()
|
||||||
layer_data = LayerData.LayerData()
|
layer_data = LayerData.LayerData()
|
||||||
|
|
||||||
|
#Add layerdata decorator to scene node to indicate that the node has layerdata
|
||||||
|
decorator = LayerDataDecorator.LayerDataDecorator()
|
||||||
|
decorator.setLayerData(layer_data)
|
||||||
|
new_node.addDecorator(decorator)
|
||||||
|
|
||||||
|
new_node.setMeshData(mesh)
|
||||||
|
new_node.setParent(self._scene.getRoot())
|
||||||
|
|
||||||
|
layer_count = 0
|
||||||
|
for object in self._message.objects:
|
||||||
|
layer_count += len(object.layers)
|
||||||
|
|
||||||
|
current_layer = 0
|
||||||
for object in self._message.objects:
|
for object in self._message.objects:
|
||||||
try:
|
try:
|
||||||
node = objectIdMap[object.id]
|
node = objectIdMap[object.id]
|
||||||
|
@ -73,23 +87,24 @@ class ProcessSlicedObjectListJob(Job):
|
||||||
|
|
||||||
points[:,2] *= -1
|
points[:,2] *= -1
|
||||||
|
|
||||||
points -= numpy.array(center)
|
points -= center
|
||||||
|
|
||||||
layer_data.addPolygon(layer.id, polygon.type, points, polygon.line_width)
|
layer_data.addPolygon(layer.id, polygon.type, points, polygon.line_width)
|
||||||
|
|
||||||
|
current_layer += 1
|
||||||
|
progress = (current_layer / layer_count) * 100
|
||||||
|
# TODO: Rebuild the layer data mesh once the layer has been processed.
|
||||||
|
# This needs some work in LayerData so we can add the new layers instead of recreating the entire mesh.
|
||||||
|
|
||||||
|
if self._progress:
|
||||||
|
self._progress.setProgress(progress)
|
||||||
|
|
||||||
# We are done processing all the layers we got from the engine, now create a mesh out of the data
|
# We are done processing all the layers we got from the engine, now create a mesh out of the data
|
||||||
layer_data.build()
|
layer_data.build()
|
||||||
|
|
||||||
|
if self._progress:
|
||||||
#Add layerdata decorator to scene node to indicate that the node has layerdata
|
self._progress.setProgress(100)
|
||||||
decorator = LayerDataDecorator.LayerDataDecorator()
|
|
||||||
decorator.setLayerData(layer_data)
|
|
||||||
new_node.addDecorator(decorator)
|
|
||||||
|
|
||||||
new_node.setMeshData(mesh)
|
|
||||||
new_node.setParent(self._scene.getRoot())
|
|
||||||
|
|
||||||
view = Application.getInstance().getController().getActiveView()
|
view = Application.getInstance().getController().getActiveView()
|
||||||
if view.getPluginId() == "LayerView":
|
if view.getPluginId() == "LayerView":
|
||||||
view.resetLayerData()
|
view.resetLayerData()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue