Tun2dDrawer.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. import core
  2. from drawer.BaseDrawer import BaseDrawer
  3. from entity.primitives import Tun2d
  4. class Tun2dDrawer(BaseDrawer):
  5. def __init__(self, tun_2d, msp, style):
  6. super().__init__(tun_2d, msp,style)
  7. def initialize_data(self):
  8. assert isinstance(self.obj, Tun2d)
  9. def draw_agg(self):
  10. assert isinstance(self.obj, Tun2d)
  11. vec_list = [vec.agg_line for vec in self.obj.vec_list]
  12. self.draw_tun(vec_list, self.obj.middle_line.agg_line)
  13. def draw_div(self):
  14. assert isinstance(self.obj, Tun2d)
  15. vec_list = [vec.div_line for vec in self.obj.vec_list]
  16. self.draw_tun(vec_list, self.obj.middle_line.div_line)
  17. def draw_tun(self, vec_list, middle_line):
  18. assert isinstance(self.obj, Tun2d)
  19. for vec in vec_list:
  20. line = self.msp.add_line(vec[0], vec[1], dxfattribs={
  21. 'layer': f'图层{self.obj.layer_id}'
  22. })
  23. line.rgb = self.obj.color
  24. # line = self.msp.add_line(middle_line[0], middle_line[1], dxfattribs={
  25. # 'layer': f'图层{self.obj.layer_id}'
  26. # })