KiCad PCB EDA Suite
Loading...
Searching...
No Matches
test_drc_creepage_issue24524.cpp File Reference

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)
 

Detailed Description

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.

Function Documentation

◆ BOOST_AUTO_TEST_CASE() [1/2]

◆ BOOST_AUTO_TEST_CASE() [2/2]

BOOST_AUTO_TEST_CASE ( CreepageStadiumCapsBlockOuterSide )

Definition at line 73 of file test_drc_creepage_issue24524.cpp.

References pcbIUScale, and SegmentIntersectsBoard().