def draw(self, dc, f, **key):
dc.SetPen(wx.Pen(Setting['color'], width=1, style=wx.SOLID))
dc.SetTextForeground(Setting['tcolor'])
linefont = wx.Font(10, wx.FONTFAMILY_DEFAULT,
wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False)
dc.SetFont(linefont)
if len(self.buf)>1:
dc.DrawLines([f(*i) for i in self.buf])
for i in self.buf:dc.DrawCircle(f(*i),2)
for line in self.body:
dc.DrawLines([f(*i) for i in line])
for i in line:dc.DrawCircle(f(*i),2)
pts = np.array(line)
mid = (pts[:-1]+pts[1:])/2
dxy = (pts[:-1]-pts[1:])
dis = norm(dxy, axis=1)
unit = 1 if self.unit is None else self.unit[0]
for i,j in zip(dis, mid):
dc.DrawText('%.2f'%(i*unit), f(*j))
评论列表
文章目录