@@ -709,6 +709,9 @@ class _CollectionWithSizes(Collection):
709
709
"""
710
710
Base class for collections that have an array of sizes.
711
711
"""
712
+ def __init__ (self ):
713
+ self ._sizes = np .array ([])
714
+
712
715
def get_sizes (self ):
713
716
return self ._sizes
714
717
@@ -745,6 +748,9 @@ def set_sizes(self, sizes, dpi=72.0):
745
748
s [:, 0 , 0 ] = scale
746
749
s [:, 1 , 1 ] = scale
747
750
s [:, 2 , 2 ] = 1.0
751
+ if self ._transforms .shape [0 ] < len (self ._sizes ):
752
+ # resize transforms to feat at least the sizes length
753
+ self ._transforms = np .resize (self ._transforms ,(len (self ._sizes ),3 ,3 ))
748
754
for i in xrange (self ._transforms .shape [0 ]):
749
755
self ._transforms [i ,:,:] = np .dot (s [i % len (self ._sizes ),:,:], self ._transforms [i ,:,:])
750
756
@@ -755,6 +761,9 @@ class _CollectionWithAngles(Collection):
755
761
"""
756
762
Base class for collections that have an array of angles.
757
763
"""
764
+ def __init__ (self ):
765
+ self ._angles = np .array ([])
766
+
758
767
def get_angles (self ):
759
768
return self ._angles
760
769
@@ -799,6 +808,9 @@ def set_angles(self, angles):
799
808
r [:, 1 , 1 ] = rot_c
800
809
r [:, 1 , 0 ] = rot_s
801
810
r [:, 2 , 2 ] = 1.0
811
+ if self ._transforms .shape [0 ] < len (self ._angles ):
812
+ # resize transforms to feat at least the angles length
813
+ self ._transforms = np .resize (self ._transforms ,(len (self ._angles ),3 ,3 ))
802
814
for i in xrange (self ._transforms .shape [0 ]):
803
815
self ._transforms [i ,:,:] = np .dot (r [i % len (self ._angles ),:,:], self ._transforms [i ,:,:])
804
816
0 commit comments