mirror of
https://github.com/KLayout/klayout.git
synced 2026-09-05 00:53:00 +02:00
Fixed #805 - introducing layer.count and layout.hier_count for DRC
This commit is contained in:
Vendored
+11
@@ -3,7 +3,17 @@ dbu 0.001
|
||||
|
||||
target($drc_test_target, "TOP")
|
||||
|
||||
def self.expect_count(layer, c, hc, where)
|
||||
if layer.count != c
|
||||
raise(where + ": Layer count #{layer.count} does not equal #{c}")
|
||||
end
|
||||
if layer.hier_count != hc
|
||||
raise(where + ": Layer hier count #{layer.hier_count} does not equal #{c}")
|
||||
end
|
||||
end
|
||||
|
||||
x = polygon_layer
|
||||
expect_count(x, 0, 0, "empty layer")
|
||||
x.is_empty? == true || raise("unexpected value")
|
||||
x.is_box? == false || raise("unexpected value")
|
||||
x.insert(box(4.0, 0, 4.7, 0.7))
|
||||
@@ -12,6 +22,7 @@ x.is_box? == true || raise("unexpected value")
|
||||
x.insert(polygon([ p(0, 0), p(2.0, 0), p(1.0, 1.0) ]))
|
||||
x.insert(polygon([ p(0, -5.0), p(2.0, -5.0), p(1.0, -6.0) ]))
|
||||
x.insert(path([ p(0, -2), p(2.0, -2) ], 0.2))
|
||||
expect_count(x, 4, 4, "after 3x insert")
|
||||
x.is_box? == false || raise("unexpected value")
|
||||
x.output(10, 0)
|
||||
|
||||
|
||||
Vendored
+12
@@ -2,6 +2,15 @@
|
||||
target($drc_test_target, "TOP")
|
||||
source($drc_test_source, "TOP")
|
||||
|
||||
def self.expect_count(layer, c, hc, where)
|
||||
if layer.count != c
|
||||
raise(where + ": Layer count #{layer.count} does not equal #{c}")
|
||||
end
|
||||
if layer.hier_count != hc
|
||||
raise(where + ": Layer hier count #{layer.hier_count} does not equal #{c}")
|
||||
end
|
||||
end
|
||||
|
||||
a1 = input(1)
|
||||
b1 = input(2)
|
||||
c1 = input(3)
|
||||
@@ -89,3 +98,6 @@ a1.edges.collect_to_region { |p| p.length < 0.8 && p.bbox.transformed(RBA::VCplx
|
||||
a1.width(1.5).collect { |p| p.transformed(RBA::VCplxTrans::new(1000.0)) }.output(1120, 0)
|
||||
a1.width(1.5).collect_to_edge_pairs { |p| p.transformed(RBA::VCplxTrans::new(1000.0)) }.output(1121, 0)
|
||||
|
||||
expect_count(a1.edges, 9, 9, "a1.edges")
|
||||
expect_count(a1.width(1.5), 5, 5, "a1.width(1.5)")
|
||||
|
||||
|
||||
Vendored
+13
@@ -4,6 +4,15 @@
|
||||
source($drc_test_source, "TOPTOP_SMALL")
|
||||
target($drc_test_target)
|
||||
|
||||
def self.expect_count(layer, c, hc, where)
|
||||
if layer.count != c
|
||||
raise(where + ": Layer count #{layer.count} does not equal #{c}")
|
||||
end
|
||||
if layer.hier_count != hc
|
||||
raise(where + ": Layer hier count #{layer.hier_count} does not equal #{c}")
|
||||
end
|
||||
end
|
||||
|
||||
cell("TOPTOP_SMALL")
|
||||
|
||||
l1_flat = input(1)
|
||||
@@ -66,12 +75,16 @@ r.output(1023, 0)
|
||||
r.extents.output(1123, 0)
|
||||
|
||||
r = l1.space(0.5)
|
||||
expect_count(r, 3, 1, "r on l1")
|
||||
r.output(1010, 0)
|
||||
r.extents.output(1110, 0)
|
||||
|
||||
expect_count(l1, 15, 5, "l1 before flatten")
|
||||
l1.flatten
|
||||
expect_count(l1, 15, 15, "l1 after flatten")
|
||||
r = l1.space(0.5)
|
||||
r.output(1011, 0)
|
||||
r.extents.output(1111, 0)
|
||||
expect_count(r, 3, 1, "r on l1.flatten")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user