- fixed the scale, mirror, rotate, skew functions to work with Geometry Objects of multi-geometry type.

This commit is contained in:
Marius Stanciu
2019-01-29 15:56:49 +02:00
committed by Marius
parent 32aa37d793
commit 5a0390f2a4
3 changed files with 44 additions and 12 deletions

View File

@@ -1354,11 +1354,17 @@ class Geometry(object):
return affinity.scale(obj, xscale, yscale, origin=(px,py))
try:
self.solid_geometry = mirror_geom(self.solid_geometry)
if self.multigeo is True:
for tool in self.tools:
self.tools[tool]['solid_geometry'] = mirror_geom(self.tools[tool]['solid_geometry'])
else:
self.solid_geometry = mirror_geom(self.solid_geometry)
self.app.inform.emit('[success]Object was mirrored ...')
except AttributeError:
self.app.inform.emit("[error_notcl] Failed to mirror. No object selected")
def rotate(self, angle, point):
"""
Rotate an object by an angle (in degrees) around the provided coordinates.
@@ -1388,7 +1394,11 @@ class Geometry(object):
return affinity.rotate(obj, angle, origin=(px, py))
try:
self.solid_geometry = rotate_geom(self.solid_geometry)
if self.multigeo is True:
for tool in self.tools:
self.tools[tool]['solid_geometry'] = rotate_geom(self.tools[tool]['solid_geometry'])
else:
self.solid_geometry = rotate_geom(self.solid_geometry)
self.app.inform.emit('[success]Object was rotated ...')
except AttributeError:
self.app.inform.emit("[error_notcl] Failed to rotate. No object selected")
@@ -1420,7 +1430,11 @@ class Geometry(object):
return affinity.skew(obj, angle_x, angle_y, origin=(px, py))
try:
self.solid_geometry = skew_geom(self.solid_geometry)
if self.multigeo is True:
for tool in self.tools:
self.tools[tool]['solid_geometry'] = skew_geom(self.tools[tool]['solid_geometry'])
else:
self.solid_geometry = skew_geom(self.solid_geometry)
self.app.inform.emit('[success]Object was skewed ...')
except AttributeError:
self.app.inform.emit("[error_notcl] Failed to skew. No object selected")