From fcb156c3231ce0e2d686e8c52227dc2d3fd2748d Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Sat, 10 Jun 2023 22:29:55 +0100 Subject: [PATCH] Make sure opposite-corner rects test the same. Fixes https://gitlab.com/kicad/code/kicad/-/issues/14907 --- pcbnew/drc/drc_test_provider_library_parity.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pcbnew/drc/drc_test_provider_library_parity.cpp b/pcbnew/drc/drc_test_provider_library_parity.cpp index bffffab21c..dd0e1373ea 100644 --- a/pcbnew/drc/drc_test_provider_library_parity.cpp +++ b/pcbnew/drc/drc_test_provider_library_parity.cpp @@ -274,8 +274,20 @@ bool shapeNeedsUpdate( const PCB_SHAPE* a, const PCB_SHAPE* b ) switch( a->GetShape() ) { - case SHAPE_T::SEGMENT: case SHAPE_T::RECT: + { + BOX2I aRect( a->GetStart(), a->GetEnd() - a->GetStart() ); + BOX2I bRect( b->GetStart(), b->GetEnd() - b->GetStart() ); + + aRect.Normalize(); + bRect.Normalize(); + + TEST( aRect.GetOrigin(), bRect.GetOrigin(), "" ); + TEST( aRect.GetEnd(), bRect.GetEnd(), "" ); + break; + } + + case SHAPE_T::SEGMENT: case SHAPE_T::CIRCLE: TEST( a->GetStart(), b->GetStart(), "" ); TEST( a->GetEnd(), b->GetEnd(), "" );