Improve consistency of ndarray members

This commit is contained in:
Jan Petykiewicz 2020-05-11 18:49:30 -07:00
parent 9fa527ea11
commit fa8fc52dd6
6 changed files with 9 additions and 9 deletions

View File

@ -49,7 +49,7 @@ class Label:
if val.size != 2: if val.size != 2:
raise PatternError('Offset must be convertible to size-2 ndarray') raise PatternError('Offset must be convertible to size-2 ndarray')
self._offset = val.flatten() self._offset = val.flatten().astype(float)
# layer property # layer property
@property @property
@ -83,7 +83,7 @@ class Label:
self.unlock() self.unlock()
self.identifier = () self.identifier = ()
self.string = string self.string = string
self.offset = numpy.array(offset, dtype=float) self.offset = numpy.array(offset, dtype=float, copy=True)
self.layer = layer self.layer = layer
self.locked = locked self.locked = locked

View File

@ -225,7 +225,7 @@ class GridRepetition:
def mirrored(self, val: List[bool]): def mirrored(self, val: List[bool]):
if is_scalar(val): if is_scalar(val):
raise PatternError('Mirrored must be a 2-element list of booleans') raise PatternError('Mirrored must be a 2-element list of booleans')
self._mirrored = numpy.array(val, dtype=bool) self._mirrored = numpy.array(val, dtype=bool, copy=True)
# a_vector property # a_vector property
@property @property
@ -239,7 +239,7 @@ class GridRepetition:
if val.size != 2: if val.size != 2:
raise PatternError('a_vector must be convertible to size-2 ndarray') raise PatternError('a_vector must be convertible to size-2 ndarray')
self._a_vector = val.flatten() self._a_vector = val.flatten().astype(float)
# b_vector property # b_vector property
@property @property
@ -249,7 +249,7 @@ class GridRepetition:
@b_vector.setter @b_vector.setter
def b_vector(self, val: vector2): def b_vector(self, val: vector2):
if not isinstance(val, numpy.ndarray): if not isinstance(val, numpy.ndarray):
val = numpy.array(val, dtype=float) val = numpy.array(val, dtype=float, copy=True)
if val.size != 2: if val.size != 2:
raise PatternError('b_vector must be convertible to size-2 ndarray') raise PatternError('b_vector must be convertible to size-2 ndarray')

View File

@ -98,7 +98,7 @@ class Path(Shape):
@vertices.setter @vertices.setter
def vertices(self, val: numpy.ndarray): def vertices(self, val: numpy.ndarray):
val = numpy.array(val, dtype=float) val = numpy.array(val, dtype=float) #TODO document that these might not be copied
if len(val.shape) < 2 or val.shape[1] != 2: if len(val.shape) < 2 or val.shape[1] != 2:
raise PatternError('Vertices must be an Nx2 array') raise PatternError('Vertices must be an Nx2 array')
if val.shape[0] < 2: if val.shape[0] < 2:

View File

@ -30,7 +30,7 @@ class Polygon(Shape):
@vertices.setter @vertices.setter
def vertices(self, val: numpy.ndarray): def vertices(self, val: numpy.ndarray):
val = numpy.array(val, dtype=float) val = numpy.array(val, dtype=float) #TODO document that these might not be copied
if len(val.shape) < 2 or val.shape[1] != 2: if len(val.shape) < 2 or val.shape[1] != 2:
raise PatternError('Vertices must be an Nx2 array') raise PatternError('Vertices must be an Nx2 array')
if val.shape[0] < 3: if val.shape[0] < 3:

View File

@ -64,7 +64,7 @@ class Text(Shape):
def mirrored(self, val: List[bool]): def mirrored(self, val: List[bool]):
if is_scalar(val): if is_scalar(val):
raise PatternError('Mirrored must be a 2-element list of booleans') raise PatternError('Mirrored must be a 2-element list of booleans')
self._mirrored = list(val) self._mirrored = numpy.ndarray(val, dtype=bool, copy=True)
def __init__(self, def __init__(self,
string: str, string: str,

View File

@ -153,7 +153,7 @@ class SubPattern:
def mirrored(self, val: List[bool]): def mirrored(self, val: List[bool]):
if is_scalar(val): if is_scalar(val):
raise PatternError('Mirrored must be a 2-element list of booleans') raise PatternError('Mirrored must be a 2-element list of booleans')
self._mirrored = numpy.array(val, dtype=bool) self._mirrored = numpy.array(val, dtype=bool, copy=True)
def as_pattern(self) -> 'Pattern': def as_pattern(self) -> 'Pattern':
""" """