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-06-06 10:51:06 +0300
committerJaime van Kessel <nallath@gmail.com>2019-06-06 10:51:06 +0300
commit37b904a3c4859e1fb01fa68c59559373152cca3c (patch)
treee14c1f99ddf355d062e319a2a1fa3344d97deca7 /cura/Snapshot.py
parentd0cf7f04bf350a889dd02c79c5aaeeb9013004e3 (diff)
Clean up snapshot code
Diffstat (limited to 'cura/Snapshot.py')
-rw-r--r--cura/Snapshot.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/cura/Snapshot.py b/cura/Snapshot.py
index 04e13165ef..a81cfc18d5 100644
--- a/cura/Snapshot.py
+++ b/cura/Snapshot.py
@@ -73,10 +73,11 @@ class Snapshot:
satisfied = False
size = None
fovy = 30
+ min_x, min_y, max_x, max_y = 0, 0, 0, 0
while not satisfied:
if size is not None:
- satisfied = True # always be satisfied after second try
+ satisfied = True # Always be satisfied after second try
projection_matrix = Matrix()
# Somehow the aspect ratio is also influenced in reverse by the screen width/height
# So you have to set it to render_width/render_height to get 1
@@ -92,16 +93,18 @@ class Snapshot:
if size > 0.5 or satisfied:
satisfied = True
else:
- # make it big and allow for some empty space around
+ # Make it big and allow for some empty space around
fovy *= 0.5 # strangely enough this messes up the aspect ratio: fovy *= size * 1.1
-
- # make it a square
- if max_x - min_x >= max_y - min_y:
+ width = max_x - min_x
+ height = max_y - min_y
+ # Make it a square
+ if width >= height:
# make y bigger
- min_y, max_y = int((max_y + min_y) / 2 - (max_x - min_x) / 2), int((max_y + min_y) / 2 + (max_x - min_x) / 2)
+ min_y, max_y = int(height / 2 - width / 2), int(height / 2 + width / 2)
else:
# make x bigger
- min_x, max_x = int((max_x + min_x) / 2 - (max_y - min_y) / 2), int((max_x + min_x) / 2 + (max_y - min_y) / 2)
+ min_x, max_x = int(width / 2 - height / 2), int(width / 2 + height / 2)
+
cropped_image = pixel_output.copy(min_x, min_y, max_x - min_x, max_y - min_y)
# Scale it to the correct size