In getCapacity(), check for empty intervals.
This commit is contained in:
parent
fd692d3978
commit
6ef5819310
|
@ -124,6 +124,9 @@ namespace Anabatic {
|
||||||
Box ab = getCell()->getAbutmentBox();
|
Box ab = getCell()->getAbutmentBox();
|
||||||
RoutingGauge* rg = _configuration->getRoutingGauge();
|
RoutingGauge* rg = _configuration->getRoutingGauge();
|
||||||
|
|
||||||
|
span.inflate( 0, -1 );
|
||||||
|
if (span.isEmpty()) return 0;
|
||||||
|
|
||||||
const vector<RoutingLayerGauge*>& layerGauges = rg->getLayerGauges();
|
const vector<RoutingLayerGauge*>& layerGauges = rg->getLayerGauges();
|
||||||
for ( size_t depth=0 ; depth <= _configuration->getAllowedDepth() ; ++depth ) {
|
for ( size_t depth=0 ; depth <= _configuration->getAllowedDepth() ; ++depth ) {
|
||||||
if (layerGauges[depth]->getType() != Constant::Default) continue;
|
if (layerGauges[depth]->getType() != Constant::Default) continue;
|
||||||
|
|
|
@ -177,7 +177,7 @@ namespace Anabatic {
|
||||||
{
|
{
|
||||||
Interval side = getSide();
|
Interval side = getSide();
|
||||||
_axis = side.getCenter();
|
_axis = side.getCenter();
|
||||||
_capacity = getAnabatic()->getCapacity( side.inflate(0,-1), _flags );
|
_capacity = getAnabatic()->getCapacity( side, _flags );
|
||||||
|
|
||||||
_flags.reset( Flags::Invalidated );
|
_flags.reset( Flags::Invalidated );
|
||||||
cdebug.log(110) << "Edge::_revalidate() " << this << endl;
|
cdebug.log(110) << "Edge::_revalidate() " << this << endl;
|
||||||
|
|
Loading…
Reference in New Issue