Bug in AutoSegment::getEndAxis() computation.
* Bug: In AutoSegment::getEndAxes(), as the NonAligned flag may be wrong, always loop over the aligneds (if any). Then, the target axis computation was wrong, using a min() instead of a max(). This was, in turn, wrongly activating isNearMinArea() and causing non-minimal length segment to have their extremeties extented. And, in the end, Track overlap.
This commit is contained in:
parent
2efae3507e
commit
5b469e458f
|
@ -906,12 +906,12 @@ namespace Anabatic {
|
|||
sourceAxis = getSourceU();
|
||||
targetAxis = getTargetU();
|
||||
|
||||
if (not isNotAligned()) {
|
||||
//if (not isNotAligned()) {
|
||||
for( AutoSegment* aligned : const_cast<AutoSegment*>(this)->getAligneds() ) {
|
||||
sourceAxis = std::min( sourceAxis, aligned->getSourceU() );
|
||||
targetAxis = std::min( targetAxis, aligned->getTargetU() );
|
||||
targetAxis = std::max( targetAxis, aligned->getTargetU() );
|
||||
}
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue