def to_segment(s): if isinstance(s, Segment): return s points = s.db_id.points if s.db_id else s.points width = s.db_id.width if s.db_id else s.width start, end = (Point(x, y) for x, y in points) return Segment.from_start_end(start, end, width, layer_of(s))
def test_create_segment(ws, canvas, cleanup): layer = Layer('M2', 'pin') s = Segment.from_start_end(Point(0, 1), Point(10, 1), 2, layer) canvas.append(s) rod, = canvas.draw() assert rod.valid assert segment_equal(s, rod.db)
def test_create_group(ws, canvas, cleanup): r = Rect[0:0.1, 0.2:0.3, Layer('M1', 'drawing')] s = Segment.from_start_end(Point(1, 1), Point(2, 1), 0.1, Layer('M2', 'pin')) g = Group([r, s]) canvas.append(g) db, = canvas.draw() assert db.valid assert rect_equal(g.bbox, db.db) assert rect_equal(db.db.figs[0], r) assert segment_equal(db.db.figs[1], s)