Added a tile unfracture routine at the end of CIFMakeManhattanPath
that resolves issues of excessive tile fracturing during read-in of GDS (or CIF) polygons and paths that have non-manhattan geometry. This was particularly noticeable when reading the GF180MCU corner I/O cell, which ended up being something close to a worst-case scenario.
This commit is contained in:
parent
0cd4a10036
commit
68e537b968
|
|
@ -1154,7 +1154,11 @@ CIFMakeManhattanPath(pathHead, plane, resultTbl, ui)
|
||||||
/* Final check---ensure that rectangle is not degenerate */
|
/* Final check---ensure that rectangle is not degenerate */
|
||||||
|
|
||||||
if (plane && (tr.r_xtop - tr.r_xbot > 0) && (tr.r_ytop - tr.r_ybot > 0))
|
if (plane && (tr.r_xtop - tr.r_xbot > 0) && (tr.r_ytop - tr.r_ybot > 0))
|
||||||
|
{
|
||||||
DBNMPaintPlane(plane, type, &tr, resultTbl, ui);
|
DBNMPaintPlane(plane, type, &tr, resultTbl, ui);
|
||||||
|
GEO_EXPAND(&tr, 1, &tr);
|
||||||
|
DBMergeNMTiles(plane, &tr, ui);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue