[Ellipse] force radii to float dtype
This commit is contained in:
parent
4b07bb9e25
commit
f1e25debec
2 changed files with 7 additions and 1 deletions
|
|
@ -42,7 +42,7 @@ class Ellipse(PositionableImpl, Shape):
|
|||
|
||||
@radii.setter
|
||||
def radii(self, val: ArrayLike) -> None:
|
||||
val = numpy.array(val).flatten()
|
||||
val = numpy.array(val, dtype=float).flatten()
|
||||
if not val.size == 2:
|
||||
raise PatternError('Radii must have length 2')
|
||||
if not val.min() >= 0:
|
||||
|
|
|
|||
|
|
@ -122,6 +122,12 @@ def test_curve_polygonizers_clamp_large_max_arclen() -> None:
|
|||
assert len(polys[0].vertices) >= 3
|
||||
|
||||
|
||||
def test_ellipse_integer_radii_scale_cleanly() -> None:
|
||||
ellipse = Ellipse(radii=(10, 20))
|
||||
ellipse.scale_by(0.5)
|
||||
assert_allclose(ellipse.radii, [5, 10])
|
||||
|
||||
|
||||
def test_path_edge_cases() -> None:
|
||||
# Zero-length segments
|
||||
p = MPath(vertices=[[0, 0], [0, 0], [10, 0]], width=2)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue