def add_part(self, part):
if len(self.segs) < 1:
s = None
else:
s = self.segs[-1]
# start a new slab
if s is None:
if part.type == 'S_SEG':
p = Vector((0, 0))
v = part.length * Vector((cos(part.a0), sin(part.a0)))
s = StraightSlab(p, v)
elif part.type == 'C_SEG':
c = -part.radius * Vector((cos(part.a0), sin(part.a0)))
s = CurvedSlab(c, part.radius, part.a0, part.da)
else:
if part.type == 'S_SEG':
s = s.straight_slab(part.a0, part.length)
elif part.type == 'C_SEG':
s = s.curved_slab(part.a0, part.da, part.radius)
self.segs.append(s)
self.last_type = part.type
评论列表
文章目录