clean up PyEmb.Point

pull/2/merge
Lex Neva 2016-11-12 14:05:09 -05:00
rodzic 055eb63bec
commit 1fedbc11b5
2 zmienionych plików z 6 dodań i 6 usunięć

Wyświetl plik

@ -34,18 +34,18 @@ class Point:
# dot product
return self.x * other.x + self.y * other.y
elif isinstance(other, (int, float)):
return self.mul(other)
return Point(self.x * other, self.y * other)
else:
raise ValueError("cannot multiply Point by %s" % type(other))
def __rmul__(self, other):
if isinstance(other, (int, float)):
return self.mul(other)
return self.__mul__(other)
else:
raise ValueError("cannot multiply Point by %s" % type(other))
def __repr__(self):
return "Pt(%s,%s)" % (self.x, self.y)
return "Point(%s,%s)" % (self.x, self.y)
def length(self):
return math.sqrt(math.pow(self.x, 2.0) + math.pow(self.y, 2.0))

Wyświetl plik

@ -311,8 +311,8 @@ class Fill(EmbroideryElement):
rows = []
while start < end:
p0 = center + normal.mul(start) + direction.mul(half_length)
p1 = center + normal.mul(start) - direction.mul(half_length)
p0 = center + normal * start + direction * half_length
p1 = center + normal * start - direction * half_length
endpoints = [p0.as_tuple(), p1.as_tuple()]
grating_line = shgeo.LineString(endpoints)
@ -711,7 +711,7 @@ class Stroke(EmbroideryElement):
along = (p1 - p0).unit()
# vector pointing to edge of stroke width
perp = along.rotate_left().mul(stroke_width * 0.5)
perp = along.rotate_left() * (stroke_width * 0.5)
if stroke_width == 0.0 and last_segment_direction is not None:
if abs(1.0 - along * last_segment_direction) > 0.5: