|
KiCad PCB EDA Suite
|
Regression test for issue #24524: creepage DRC computed an incorrect path around the rounded end of a fully-rounded (stadium) rectangle slot on Edge.Cuts. More...
#include <vector>#include <qa_utils/wx_utils/unit_test_utils.h>#include <board.h>#include <board_item.h>#include <pcb_shape.h>#include <base_units.h>#include <geometry/eda_angle.h>#include <drc/drc_creepage_utils.h>Go to the source code of this file.
Functions | |
| BOOST_AUTO_TEST_CASE (CreepageStadiumCapsBlockOuterSide) | |
| BOOST_AUTO_TEST_CASE (CreepageStadiumCapsArcOutward) | |
Regression test for issue #24524: creepage DRC computed an incorrect path around the rounded end of a fully-rounded (stadium) rectangle slot on Edge.Cuts.
A horizontal stadium models its rounded ends as semicircular caps; if a cap is swept over the inner half of its circle it bulges into the slot instead of away from it, and the creepage path then cuts through the wrong side of the rounded end.
These tests drive the two production code paths that consume the cap geometry: SegmentIntersectsBoard (validates candidate paths) and CREEPAGE_GRAPH::TransformEdgeToCreepShapes (builds the boundary arcs the graph routes around). Both must place the caps on the outer side.
Definition in file test_drc_creepage_issue24524.cpp.
| BOOST_AUTO_TEST_CASE | ( | CreepageStadiumCapsArcOutward | ) |
Definition at line 103 of file test_drc_creepage_issue24524.cpp.
References BOOST_CHECK_EQUAL(), center, EDA_ANGLE::Cos(), CREEP_SHAPE::GetType(), CREEPAGE_GRAPH::m_boardEdge, CREEPAGE_GRAPH::m_shapeCollection, pcbIUScale, and CREEPAGE_GRAPH::TransformEdgeToCreepShapes().
| BOOST_AUTO_TEST_CASE | ( | CreepageStadiumCapsBlockOuterSide | ) |
Definition at line 73 of file test_drc_creepage_issue24524.cpp.
References pcbIUScale, and SegmentIntersectsBoard().