From 5ff187a56d0cfc8483f340e6aac060ea4eb09c0c Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 17 Jan 2023 12:37:12 +0100 Subject: [PATCH] WIP: fixed unit tests --- src/db/db/dbOriginalLayerRegion.cc | 7 ++++--- src/db/db/dbRegion.h | 2 +- testdata/algo/deep_region_au40.gds | Bin 7352 -> 7280 bytes testdata/algo/flat_region_au40.gds | Bin 11498 -> 11390 bytes 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/db/db/dbOriginalLayerRegion.cc b/src/db/db/dbOriginalLayerRegion.cc index cb5c02737..d87da0dca 100644 --- a/src/db/db/dbOriginalLayerRegion.cc +++ b/src/db/db/dbOriginalLayerRegion.cc @@ -153,7 +153,6 @@ OriginalLayerRegion::OriginalLayerRegion (const OriginalLayerRegion &other) OriginalLayerRegion::OriginalLayerRegion (const RecursiveShapeIterator &si, bool is_merged) : AsIfFlatRegion (), m_merged_polygons (false), m_iter (si) { - tl_assert (si.layout ()); init (); m_is_merged = is_merged; @@ -162,7 +161,6 @@ OriginalLayerRegion::OriginalLayerRegion (const RecursiveShapeIterator &si, bool OriginalLayerRegion::OriginalLayerRegion (const RecursiveShapeIterator &si, const db::ICplxTrans &trans, bool merged_semantics, bool is_merged) : AsIfFlatRegion (), m_merged_polygons (false), m_iter (si), m_iter_trans (trans) { - tl_assert (si.layout ()); init (); m_is_merged = is_merged; @@ -423,7 +421,10 @@ OriginalLayerRegion::insert_into (Layout *layout, db::cell_index_type into_cell, db::Shapes &sh = layout->cell (into_cell).shapes (into_layer); - db::PropertyMapper pm (*layout, *m_iter.layout ()); + db::PropertyMapper pm; + if (m_iter.layout ()) { + pm = db::PropertyMapper (*layout, *m_iter.layout ()); + } // NOTE: if the source (r) is from the same layout than the shapes live in, we better // lock the layout against updates while inserting diff --git a/src/db/db/dbRegion.h b/src/db/db/dbRegion.h index e891e4af5..d267b7707 100644 --- a/src/db/db/dbRegion.h +++ b/src/db/db/dbRegion.h @@ -1166,7 +1166,7 @@ public: * * The first region delivered will be the AND result, the second one the NOT result. */ - std::pair andnot (const Region &other, PropertyConstraint prop_constraint = db::NoPropertyConstraint) const + std::pair andnot (const Region &other, PropertyConstraint prop_constraint = db::IgnoreProperties) const { std::pair res = mp_delegate->andnot_with (other, prop_constraint); return std::make_pair (Region (res.first), Region (res.second)); diff --git a/testdata/algo/deep_region_au40.gds b/testdata/algo/deep_region_au40.gds index 2999bb97977c808237482ec34f152ea0ed6c6033..c6764b0b6ded75064a5afbbe372528d39ccf0949 100644 GIT binary patch delta 189 zcmdmC`N2YofsKKQDS|_aAVXLuE|}j#*=%wc_({8 zX)Z8rGFg&^2Q2Q#tv)#t$lfc-F`1V)157XE@tJ&+oo6zq6z}9yto9&!^EuvDW=tzK frwBe}pS)4hVe(H=h#8rZHj_QYcs6rNt!DxNu=FhT delta 164 zcmexhvBOe{fsKKQDS|_aAVY2naSs6Stl#VsZY+A zbpT??$vJWjlXc{+C#%cafcbCa947zaHJ&_Qo_BJNd^%X{2Dkd;;|d9rZwvBF)>d$t ltS!Vdd9`B2