From 20f8d004e2172bcd03e506e8a623fa4209768818 Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Fri, 15 Aug 2014 11:48:41 +0200 Subject: [PATCH] In ACSII/GDS driver, process the complete hierarchy. * Bug: In CRL Core, in agdsDriver, the flags of the Query where sets to process only the top-level Cell. Now process the whole hierarchy (the Cell is completly flattened by this operation). Secondary bug: the transformation was not applied to the bounding boxes, resulting of all the cells stacked in (0,0) ... --- crlcore/src/ccore/agds/AgdsDriver.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/crlcore/src/ccore/agds/AgdsDriver.cpp b/crlcore/src/ccore/agds/AgdsDriver.cpp index e84365eb..613bb48f 100644 --- a/crlcore/src/ccore/agds/AgdsDriver.cpp +++ b/crlcore/src/ccore/agds/AgdsDriver.cpp @@ -80,7 +80,12 @@ namespace { , _cell(cell) , _str (NULL) { - Query::setQuery( _cell, _cell->getBoundingBox(), Transformation(), NULL, 0, Query::DoComponents ); + Query::setQuery( _cell + , _cell->getBoundingBox() + , Transformation() + , NULL + , 0 + , Query::DoComponents|Query::DoMasterCells|Query::DoTerminalCells ); } @@ -108,6 +113,8 @@ namespace { else return; + getTransformation().applyOn( b ); + double xmin = DbU::getPhysical(b.getXMin(), DbU::Nano); double ymin = DbU::getPhysical(b.getYMin(), DbU::Nano); double xmax = DbU::getPhysical(b.getXMax(), DbU::Nano); @@ -118,7 +125,6 @@ namespace { isInteger( xmax, go, getPath() ); isInteger( ymax, go, getPath() ); - getTransformation().applyOn( b ); AGDS::Rectangle* rect = new AGDS::Rectangle ( getBasicLayer()->getExtractNumber() , xmin, ymin, xmax, ymax ); _str->addElement( rect );