Go back to smaller chaining epsilon.

Using a large epsilon here to allow for sloppy drawing can cause
the algorithm to miss very short segments in a converted bezier.
So use an epsilon only large enough to cover for rouding errors in
the conversion.

Fixes https://gitlab.com/kicad/code/kicad/issues/12951
This commit is contained in:
Jeff Young 2022-11-30 13:25:28 +00:00
parent 19eab62516
commit 8dbd6fee00
1 changed files with 4 additions and 1 deletions

View File

@ -420,7 +420,10 @@ SHAPE_POLY_SET CONVERT_TOOL::makePolysFromChainedSegs( const std::deque<EDA_ITEM
// different, so this remains a separate algorithm. It might be nice to analyze the dfiferences
// in requirements and refactor this.
int chainingEpsilon = pcbIUScale.mmToIU( 0.02 ); // max dist from one endPt to next startPt
// Using a large epsilon here to allow for sloppy drawing can cause the algorithm to miss very
// short segments in a converted bezier. So use an epsilon only large enough to cover for
// rouding errors in the conversion.
int chainingEpsilon = 100; // max dist from one endPt to next startPt in IU
BOARD_DESIGN_SETTINGS& bds = m_frame->GetBoard()->GetDesignSettings();
SHAPE_POLY_SET poly;