mirror of
https://github.com/KLayout/klayout.git
synced 2026-08-22 05:57:41 +02:00
DRC: deep mode region input does not flatten the layout on clip
This commit is contained in:
@@ -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
|
||||
|
||||
BIN
Binary file not shown.
Reference in New Issue
Block a user