Do not make dogleg on segments in non-preferred routing direction.
* Bug: In AutoContactTurn::updateTopology(), in some case we were making doglegs on segments in non-preferred routing direction (mostly M2). This must be never be done. As, by construction, at least one segment of the turn must be in the preferred routing direction, always use this one to make the dogleg. This bug is likely to explain the remaining "bad spin" in the final self-check of the routing data-structure.
This commit is contained in:
parent
d3b7251eac
commit
ab13a02eed
|
@ -263,7 +263,9 @@ namespace Anabatic {
|
|||
setFlags( CntBadTopology );
|
||||
} else {
|
||||
if (delta > 1) {
|
||||
if (_horizontal1->isInvalidatedLayer()) {
|
||||
bool updateH1 = (_horizontal1->isInvalidatedLayer() and not _horizontal1->isNonPref())
|
||||
or _vertical1->isNonPref();
|
||||
if (updateH1) {
|
||||
//_horizontal1 = static_cast<AutoHorizontal*>( _horizontal1->makeDogleg(this) );
|
||||
_horizontal1->makeDogleg(this);
|
||||
cdebug_log(145,0) << "Update h1: " << _horizontal1 << endl;
|
||||
|
|
Loading…
Reference in New Issue