Browse Source

Consider visibility when colliding in DRC

Most places we check this but we should also check it in physical
clearance

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21625

(cherry picked from commit d9741fd46a)
9.0
Seth Hillbrand 2 months ago
parent
commit
ab9cf326e8
  1. 9
      pcbnew/drc/drc_test_provider_physical_clearance.cpp

9
pcbnew/drc/drc_test_provider_physical_clearance.cpp

@ -129,6 +129,9 @@ bool DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run()
forEachGeometryItem( itemTypes, LSET::AllLayersMask(), forEachGeometryItem( itemTypes, LSET::AllLayersMask(),
[&]( BOARD_ITEM* item ) -> bool [&]( BOARD_ITEM* item ) -> bool
{ {
if( isInvisibleText( item ) )
return true;
++count; ++count;
return true; return true;
} ); } );
@ -140,6 +143,9 @@ bool DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run()
forEachGeometryItem( itemTypes, LSET::AllLayersMask(), forEachGeometryItem( itemTypes, LSET::AllLayersMask(),
[&]( BOARD_ITEM* item ) -> bool [&]( BOARD_ITEM* item ) -> bool
{ {
if( isInvisibleText( item ) )
return true;
if( !reportProgress( ii++, count, progressDelta ) ) if( !reportProgress( ii++, count, progressDelta ) )
return false; return false;
@ -189,6 +195,9 @@ bool DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run()
forEachGeometryItem( itemTypes, LSET::AllLayersMask(), forEachGeometryItem( itemTypes, LSET::AllLayersMask(),
[&]( BOARD_ITEM* item ) -> bool [&]( BOARD_ITEM* item ) -> bool
{ {
if( isInvisibleText( item ) )
return true;
if( !reportProgress( ii++, count, progressDelta ) ) if( !reportProgress( ii++, count, progressDelta ) )
return false; return false;

Loading…
Cancel
Save