Fix bad computation of perpandicular free space in DataNegociate, again.

* Bug: In Katana::DataNegociate::update(), when computing the length of
    source & target extension on a perpandicular segment, must use the
    extensions of the *directly* connected AutoSegment (the baseSegment)
    and not the canonical one that may be different, so with unrelated
    extensions.
This commit is contained in:
Jean-Paul Chaput 2021-12-25 15:23:23 +01:00
parent 104c043416
commit fdce75fdad
2 changed files with 3 additions and 3 deletions

View File

@ -183,8 +183,8 @@ namespace Katana {
Interval trackFree = perpandicular->getFreeInterval();
cdebug_log(159,0) << "Track Perpandicular Free: " << trackFree << endl;
DbU::Unit sourceCap = perpandicular->getExtensionCap( Flags::Source );
DbU::Unit targetCap = perpandicular->getExtensionCap( Flags::Target );
DbU::Unit sourceCap = basePerpand->getExtensionCap( Flags::Source );
DbU::Unit targetCap = basePerpand->getExtensionCap( Flags::Target );
if (std::get<1>(perpandiculars[i]) & Flags::Source)
targetCap = std::max( targetCap, sourceCap );
else

View File

@ -772,7 +772,7 @@ namespace Katana {
bool Track::check ( uint32_t& overlaps, const char* message ) const
{
//if ((getIndex() != 5627) or not isHorizontal()) return true;
//if ((getIndex() != 3556) or not isHorizontal()) return true;
bool coherency = true;
bool holes = false;