Don't skip caching triangulation for failure

Failed triangulation can have multiple causes but we don't have another
approach, so skipping the cache just causes the same issue to be raised
again and again

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16946
This commit is contained in:
Seth Hillbrand 2024-02-12 09:37:58 -08:00
parent d5ac0ff768
commit c6c1dbb844
1 changed files with 9 additions and 4 deletions

View File

@ -3067,7 +3067,10 @@ void SHAPE_POLY_SET::CacheTriangulation( bool aPartition, bool aSimplify )
// This pushes the triangulation for all polys in partitions
// to be referenced to the ii-th polygon
m_triangulationValid &= triangulate( partitions, ii , m_triangulatedPolys );
if( !triangulate( partitions, ii , m_triangulatedPolys ) )
{
wxLogDebug( "Failed to triangulate partitioned polygon %d", ii );
}
}
}
else
@ -3078,11 +3081,13 @@ void SHAPE_POLY_SET::CacheTriangulation( bool aPartition, bool aSimplify )
tmpSet.Fracture( PM_FAST );
m_triangulationValid = triangulate( tmpSet, -1, m_triangulatedPolys );
if( !triangulate( tmpSet, -1, m_triangulatedPolys ) )
{
wxLogDebug( "Failed to triangulate polygon" );
}
}
if( m_triangulationValid )
m_hash = checksum();
m_hash = checksum();
}