mirror of https://github.com/KLayout/klayout.git
DRC: deep mode region input does not flatten the layout on clip
This commit is contained in:
parent
866ee9bd81
commit
1ae109f90d
|
|
@ -534,9 +534,12 @@ ClippingHierarchyBuilderShapeReceiver::insert_clipped (const db::Box &box, const
|
|||
|
||||
if (complex_region) {
|
||||
for (db::RecursiveShapeReceiver::box_tree_type::overlapping_iterator cr = complex_region->begin_overlapping (bb, db::box_convert<db::Box> ()); ! cr.at_end (); ++cr) {
|
||||
mp_pipe->push (*cr & bb, trans, world, 0, target);
|
||||
db::Box bc = *cr & bb;
|
||||
if (! bc.empty ()) {
|
||||
mp_pipe->push (bc, trans, world, 0, target);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
} else if (! bb.empty ()) {
|
||||
mp_pipe->push (bb, trans, world, 0, target);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2536,8 +2536,12 @@ CODE
|
|||
end
|
||||
|
||||
# clip if a box is specified
|
||||
if box && clip && (cls == RBA::Region || cls == RBA::Edge)
|
||||
r &= RBA::Region::new(box)
|
||||
# TODO: the whole clip thing could be a part of the Region constructor
|
||||
if cls == RBA::Region && clip && box
|
||||
# HACK: deep regions will always clip in the constructor, so skip this
|
||||
if ! @deep
|
||||
r &= RBA::Region::new(box)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Reference in New Issue