mirror of https://github.com/KLayout/klayout.git
Fixing DRC fill in tiled mode - must not use overlapping tiles with shifting origin
This commit is contained in:
parent
1a9c12ce18
commit
e48e030521
|
|
@ -5608,8 +5608,14 @@ CODE
|
||||||
tp.frame = RBA::CplxTrans::new(@engine.dbu) * self.data.bbox
|
tp.frame = RBA::CplxTrans::new(@engine.dbu) * self.data.bbox
|
||||||
tp.scale_to_dbu = false
|
tp.scale_to_dbu = false
|
||||||
tp.tile_size(@engine._tx, @engine._ty)
|
tp.tile_size(@engine._tx, @engine._ty)
|
||||||
bx = [ @engine._bx || 0.0, row_step.x ].max
|
if repeat || !origin
|
||||||
by = [ @engine._by || 0.0, column_step.y ].max
|
# can't use an overlap as the pattern may be shifted from tile to tile
|
||||||
|
bx = 0.0
|
||||||
|
by = 0.0
|
||||||
|
else
|
||||||
|
bx = [ fc_box.width, row_step.x ].max
|
||||||
|
by = [ fc_box.height, column_step.y ].max
|
||||||
|
end
|
||||||
tp.tile_border(bx, by)
|
tp.tile_border(bx, by)
|
||||||
tp.threads = (@engine.threads || 1)
|
tp.threads = (@engine.threads || 1)
|
||||||
|
|
||||||
|
|
@ -5623,6 +5629,8 @@ CODE
|
||||||
tp.input("region", self.data)
|
tp.input("region", self.data)
|
||||||
tp.var("top_cell", top_cell)
|
tp.var("top_cell", top_cell)
|
||||||
tp.var("fc_box", fc_box)
|
tp.var("fc_box", fc_box)
|
||||||
|
tp.var("bx", bx)
|
||||||
|
tp.var("by", by)
|
||||||
tp.var("rs", rs)
|
tp.var("rs", rs)
|
||||||
tp.var("cs", cs)
|
tp.var("cs", cs)
|
||||||
tp.var("origin", origin)
|
tp.var("origin", origin)
|
||||||
|
|
@ -5635,7 +5643,7 @@ CODE
|
||||||
var tc_box = _frame.bbox;
|
var tc_box = _frame.bbox;
|
||||||
var tile_box = _tile ? (tc_box & _tile.bbox) : tc_box;
|
var tile_box = _tile ? (tc_box & _tile.bbox) : tc_box;
|
||||||
!tile_box.empty && (
|
!tile_box.empty && (
|
||||||
tile_box = tile_box.enlarged(Vector.new(max(rs.x, fc_box.width), max(cs.y, fc_box.height)));
|
tile_box = tile_box.enlarged(Vector.new(bx, by));
|
||||||
tile_box = tile_box & tc_box;
|
tile_box = tile_box & tc_box;
|
||||||
var left = with_left ? Region.new : nil;
|
var left = with_left ? Region.new : nil;
|
||||||
repeat ?
|
repeat ?
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue