TestBoardOutlinesGraphicItems(): add missing case.

DRC_TEST_PROVIDER_MISC::testOutline(): use a smaller size to dectedt small items.
This commit is contained in:
jean-pierre charras 2023-10-12 15:53:05 +02:00
parent 5d6ef69726
commit a7d540ce94
2 changed files with 11 additions and 4 deletions

View File

@ -682,6 +682,9 @@ bool TestBoardOutlinesGraphicItems( BOARD* aBoard, int aMinDist,
case SHAPE_T::ARC: case SHAPE_T::ARC:
break; break;
case SHAPE_T::POLY:
break;
case SHAPE_T::BEZIER: case SHAPE_T::BEZIER:
break; break;

View File

@ -97,11 +97,11 @@ void DRC_TEST_PROVIDER_MISC::testOutline()
errorHandled = true; errorHandled = true;
}; };
// Use the standard chaining epsilon here so that we report errors that might affect // Test for very small graphic items (a few nm size) that can create issues
// other tools (such as 3D viewer). // when trying to build the board outlines, and they are not easy to locate onn screen.
int chainingEpsilon = m_board->GetOutlinesChainingEpsilon(); const int minSizeForValideGraphics = pcbIUScale.mmToIU( 0.001 );
if( !TestBoardOutlinesGraphicItems(m_board, chainingEpsilon, &errorHandler ) ) if( !TestBoardOutlinesGraphicItems(m_board, minSizeForValideGraphics, &errorHandler ) )
{ {
if( errorHandled ) if( errorHandled )
{ {
@ -122,6 +122,10 @@ void DRC_TEST_PROVIDER_MISC::testOutline()
} }
// Use the standard chaining epsilon here so that we report errors that might affect
// other tools (such as 3D viewer).
int chainingEpsilon = m_board->GetOutlinesChainingEpsilon();
if( !BuildBoardPolygonOutlines( m_board, dummyOutline, m_board->GetDesignSettings().m_MaxError, if( !BuildBoardPolygonOutlines( m_board, dummyOutline, m_board->GetDesignSettings().m_MaxError,
chainingEpsilon, &errorHandler ) ) chainingEpsilon, &errorHandler ) )
{ {