mirror of https://github.com/KLayout/klayout.git
WIP: new tests for complex DRC ops.
This commit is contained in:
parent
858c78729f
commit
168b41c119
|
|
@ -902,13 +902,13 @@ CODE
|
|||
|
||||
def extended_in(e)
|
||||
@engine._context("extended_in") do
|
||||
DRCOpNodeFilter::new(@engine, self, :new_extended_in, "extended_in", self._make_value(e))
|
||||
DRCOpNodeFilter::new(@engine, self, :new_extended_in, "extended_in", @engine._make_value(e))
|
||||
end
|
||||
end
|
||||
|
||||
def extended_out(e)
|
||||
@engine._context("extended_out") do
|
||||
DRCOpNodeFilter::new(@engine, self, :new_extended_out, "extended_out", self._make_value(e))
|
||||
DRCOpNodeFilter::new(@engine, self, :new_extended_out, "extended_out", @engine._make_value(e))
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -935,7 +935,7 @@ CODE
|
|||
|
||||
def polygons(e = 0)
|
||||
@engine._context("polygons") do
|
||||
DRCOpNodeFilter::new(@engine, self, :new_polygons, "polygons", self._make_value(e))
|
||||
DRCOpNodeFilter::new(@engine, self, :new_polygons, "polygons", @engine._make_value(e))
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -148,3 +148,13 @@ TEST(8d)
|
|||
{
|
||||
run_test (_this, "8", true);
|
||||
}
|
||||
|
||||
TEST(9)
|
||||
{
|
||||
run_test (_this, "9", false);
|
||||
}
|
||||
|
||||
TEST(9d)
|
||||
{
|
||||
run_test (_this, "9", true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,9 +15,11 @@ l1.output(1, 0)
|
|||
l2.output(2, 0)
|
||||
l3.output(3, 0)
|
||||
|
||||
# sizing/foreign/merged
|
||||
# sizing/foreign/merged/extents
|
||||
|
||||
l1.drc(sized(0.4)).output(100, 0)
|
||||
l1.drc(sized(0.4) & foreign.sized(0.4)).output(102, 0)
|
||||
l1.drc((sized(0.4) + foreign.sized(0.4)).merged(2)).output(103, 0)
|
||||
|
||||
l1.drc(extents & foreign.extents).output(110, 0)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
|
||||
source $drc_test_source
|
||||
target $drc_test_target
|
||||
|
||||
if $drc_test_deep
|
||||
deep
|
||||
threads(0) # easier to debug
|
||||
end
|
||||
|
||||
l1 = input(1, 0)
|
||||
l2 = input(2, 0)
|
||||
l3 = input(3, 0)
|
||||
|
||||
l1.output(1, 0)
|
||||
l2.output(2, 0)
|
||||
l3.output(3, 0)
|
||||
|
||||
# conversions
|
||||
l1.drc((space(projection) < 1.0).polygons).output(100, 0)
|
||||
l1.drc((space(projection) < 1.0).edges).output(101, 0)
|
||||
l1.drc((space(projection) < 1.0).first_edges).output(102, 0)
|
||||
l1.drc((space(projection) < 1.0).second_edges).output(103, 0)
|
||||
|
||||
l2.drc(primary.edges).output(110, 0)
|
||||
l2.drc(primary.edges.extended_in(0.1)).output(111, 0)
|
||||
l2.drc(primary.edges.extended_out(0.1)).output(112, 0)
|
||||
|
||||
# edge/polygon booleans
|
||||
l1.drc(primary.edges - secondary(l2)).output(120, 0)
|
||||
l1.drc(primary.edges & secondary(l2)).output(121, 0)
|
||||
|
||||
# edge booleans
|
||||
l1.drc(primary.edges - (primary & secondary(l2)).edges).output(130, 0)
|
||||
l1.drc(primary.edges & (primary & secondary(l2)).edges).output(131, 0)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue