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) {
|
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) {
|
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);
|
mp_pipe->push (bb, trans, world, 0, target);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2536,9 +2536,13 @@ CODE
|
||||||
end
|
end
|
||||||
|
|
||||||
# clip if a box is specified
|
# clip if a box is specified
|
||||||
if box && clip && (cls == RBA::Region || cls == RBA::Edge)
|
# 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)
|
r &= RBA::Region::new(box)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
Loading…
Reference in New Issue