From 6801ee7fc0737f5744d286109731d2fa7d5d493a Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Sat, 25 May 2019 12:41:51 -0700 Subject: [PATCH] Account for rotation/mirror in Pattern.dfs() --- masque/pattern.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/masque/pattern.py b/masque/pattern.py index c47d933..6b1ff2e 100644 --- a/masque/pattern.py +++ b/masque/pattern.py @@ -224,9 +224,13 @@ class Pattern: for subpattern in self.subpatterns: if transform is not False: + sign = numpy.ones(2) + if transform[3]: + sign[1] = -1 + xy = numpy.dot(rotation_matrix_2d(transform[2]), subpattern.offset * sign) mirror_x, angle = normalize_mirror(subpattern.mirrored) angle += subpattern.rotation - sp_transform = transform + numpy.hstack((subpattern.offset, angle, mirror_x)) + sp_transform = transform + (xy[0], xy[1], angle, mirror_x) sp_transform[3] %= 2 else: sp_transform = False