Skip to content

Commit feb8d19

Browse files
committed
tap: do not use bgi::overlaps
Signed-off-by: Osama <osama21@aucegypt.edu>
1 parent 75dccb5 commit feb8d19

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

src/tap/src/tapcell.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,17 @@ int Tapcell::placeTapcells(odb::dbMaster* tapcell_master,
187187
const odb::Rect row_bb = row->getBBox();
188188

189189
std::set<odb::dbInst*> row_insts(
190-
fixed_instances.qbegin(boost::geometry::index::overlaps(row_bb)),
190+
fixed_instances.qbegin(boost::geometry::index::intersects(row_bb)),
191191
fixed_instances.qend());
192+
// remove instances that are only touching the row.
193+
for (auto it = row_insts.begin(); it != row_insts.end();) {
194+
const odb::Rect inst_bb = (*it)->getBBox()->getBox();
195+
if (!row_bb.overlaps(inst_bb)) {
196+
it = row_insts.erase(it);
197+
} else {
198+
++it;
199+
}
200+
}
192201

193202
const int llx = row_bb.xMin();
194203
const int urx = row_bb.xMax();

0 commit comments

Comments
 (0)