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:
parent
104c043416
commit
fdce75fdad
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue