From ef01bbf81b6aab94d69c1cbb06f133298752e616 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 31 May 2021 18:24:00 +0200 Subject: [PATCH] Restored merge behavior for DRC 'or' also in deep mode --- src/db/db/dbDeepRegion.cc | 4 ++-- src/drc/drc/built-in-macros/_drc_layer.rb | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/db/db/dbDeepRegion.cc b/src/db/db/dbDeepRegion.cc index b412fedf5..9d4e8fd79 100644 --- a/src/db/db/dbDeepRegion.cc +++ b/src/db/db/dbDeepRegion.cc @@ -665,8 +665,8 @@ DeepRegion::not_with (const Region &other) const RegionDelegate * DeepRegion::or_with (const Region &other) const { - // NOTE: this is somewhat different from the as if flat case because it does not merge - return add (other); + RegionDelegate *res = add (other); + return res->merged_in_place (); } std::pair diff --git a/src/drc/drc/built-in-macros/_drc_layer.rb b/src/drc/drc/built-in-macros/_drc_layer.rb index 041ad60c5..41c645f9d 100644 --- a/src/drc/drc/built-in-macros/_drc_layer.rb +++ b/src/drc/drc/built-in-macros/_drc_layer.rb @@ -1788,9 +1788,6 @@ CODE # @td @img(/images/drc_or2.png) @/td # @/tr # @/table - # - # In deep mode, "or" or "|" does not imply merging. In deep mode, - # "or" is an alias for "+" ("add"). def or(other) @engine._context("or") do