| 195 | |
| 196 | # Instances and bboxes |
| 197 | def test_5_Layout(self): |
| 198 | |
| 199 | ly = pya.Layout() |
| 200 | |
| 201 | ci1 = ly.add_cell( "c1" ) |
| 202 | ci2 = ly.add_cell( "c2" ) |
| 203 | |
| 204 | linfo = pya.LayerInfo() |
| 205 | linfo.layer = 16 |
| 206 | linfo.datatype = 1 |
| 207 | lindex = ly.insert_layer( linfo ) |
| 208 | |
| 209 | linfo = pya.LayerInfo() |
| 210 | linfo.layer = 16 |
| 211 | linfo.datatype = 2 |
| 212 | ldummy = ly.insert_layer( linfo ) |
| 213 | |
| 214 | c1 = ly.cell( ci1 ) |
| 215 | c2 = ly.cell( ci2 ) |
| 216 | |
| 217 | c1.shapes( lindex ).insert( pya.Box( 10, -10, 50, 40 ) ) |
| 218 | self.assertEqual( c1.bbox().to_s(), "(10,-10;50,40)" ) |
| 219 | self.assertEqual( c1.bbox_per_layer( lindex ).to_s(), "(10,-10;50,40)" ) |
| 220 | self.assertEqual( c1.bbox_per_layer( ldummy ).to_s(), "()" ) |
| 221 | |
| 222 | c1.swap( lindex, ldummy ) |
| 223 | self.assertEqual( c1.bbox_per_layer( lindex ).to_s(), "()" ) |
| 224 | self.assertEqual( c1.bbox_per_layer( ldummy ).to_s(), "(10,-10;50,40)" ) |
| 225 | |
| 226 | c1.clear( lindex ) |
| 227 | c1.clear( ldummy ) |
| 228 | self.assertEqual( c1.bbox_per_layer( lindex ).to_s(), "()" ) |
| 229 | self.assertEqual( c1.bbox_per_layer( ldummy ).to_s(), "()" ) |
| 230 | |
| 231 | c1.shapes( lindex ).insert( pya.Box( 10, -10, 50, 40 ) ) |
| 232 | self.assertEqual( c1.bbox_per_layer( lindex ).to_s(), "(10,-10;50,40)" ) |
| 233 | self.assertEqual( c1.bbox_per_layer( ldummy ).to_s(), "()" ) |
| 234 | c1.clear_shapes() |
| 235 | self.assertEqual( c1.bbox_per_layer( lindex ).to_s(), "()" ) |
| 236 | self.assertEqual( c1.bbox_per_layer( ldummy ).to_s(), "()" ) |
| 237 | |
| 238 | # Instances and bboxes |
| 239 | def test_6_Layout(self): |