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)
|
def extended_in(e)
|
||||||
@engine._context("extended_in") do
|
@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
|
||||||
end
|
end
|
||||||
|
|
||||||
def extended_out(e)
|
def extended_out(e)
|
||||||
@engine._context("extended_out") do
|
@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
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -935,7 +935,7 @@ CODE
|
||||||
|
|
||||||
def polygons(e = 0)
|
def polygons(e = 0)
|
||||||
@engine._context("polygons") do
|
@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
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -148,3 +148,13 @@ TEST(8d)
|
||||||
{
|
{
|
||||||
run_test (_this, "8", true);
|
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)
|
l2.output(2, 0)
|
||||||
l3.output(3, 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)).output(100, 0)
|
||||||
l1.drc(sized(0.4) & foreign.sized(0.4)).output(102, 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((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