kicad/pcbnew/drc
Seth Hillbrand 1a2c9011e6 Rework Copper Sliver check
Adds QA checks to copper sliver tests.  Adds the following checks:
- Dot product between two arms (quickly avoids checks for >90°)
- Checks the sliver is convex (area test)
- Eliminates minor slivers with angles that are approximately 0 and ones
  with the opposite side width beneath a configurable level
- Updates Clipper2 to fix a couple of jagged edges on inflate
- Adds simplify during zone fill inflation to limit jaggies

Fixes https://gitlab.com/kicad/code/kicad/issues/14549

(cherry picked from commit f7f52d77e4)
2023-05-03 10:22:49 -07:00
..
drc_cache_generator.cpp Keep track of single-pad-islands so we can discount spokes to them. 2023-03-25 15:37:57 +00:00
drc_cache_generator.h More caching for DRC. 2022-06-17 23:58:31 +01:00
drc_engine.cpp Manual cherry-pick of a214ac0310. 2023-03-26 21:06:24 +01:00
drc_engine.h Fix uninitialized variable. 2022-12-05 14:42:05 +00:00
drc_interactive_courtyard_clearance.cpp Keep courtyard caches alive during move. 2022-11-25 17:20:11 +00:00
drc_interactive_courtyard_clearance.h Share more of the courtyard collision highlighting code. 2022-10-14 10:42:07 +01:00
drc_item.cpp Don't use FindNamedPad for net-tie logic. It only reutrns the *first* 2022-09-25 17:38:31 +01:00
drc_item.h Don't use FindNamedPad for net-tie logic. It only reutrns the *first* 2022-09-25 17:38:31 +01:00
drc_length_report.h Unwrap some std::library typedefs. 2021-07-28 22:16:38 +01:00
drc_rtree.h Fix two bugs in RTree polygon collions special case. 2023-02-04 13:46:40 +00:00
drc_rule.cpp Fetch a better location for keepout area collsions. 2022-12-21 18:22:15 +00:00
drc_rule.h Fetch a better location for keepout area collsions. 2022-12-21 18:22:15 +00:00
drc_rule_condition.cpp Add support for unitless values to PCB_EXPR_EVALUATOR. 2022-11-29 14:24:20 +00:00
drc_rule_condition.h Apply a more sophisticated test for ignoring isInCoupledDiffPair. 2022-04-02 15:12:42 +01:00
drc_rule_parser.cpp Add support for unitless values to PCB_EXPR_EVALUATOR. 2022-11-29 14:24:20 +00:00
drc_rule_parser.h Add support for unitless values to PCB_EXPR_EVALUATOR. 2022-11-29 14:24:20 +00:00
drc_test_provider.cpp Exact clearance is allowed; less than clearance is an error. 2023-01-04 00:03:11 +00:00
drc_test_provider.h Pull interactive courtyard checker out of move tool to share with router. 2022-10-14 00:48:37 +01:00
drc_test_provider_annular_width.cpp Name shortening and line-break reduction. 2022-10-21 18:41:39 +01:00
drc_test_provider_clearance_base.h More caching for DRC. 2022-06-17 23:58:31 +01:00
drc_test_provider_connection_width.cpp Simplify test for substantial nubs 2023-04-07 16:41:11 -07:00
drc_test_provider_connectivity.cpp Keep track of single-pad-islands so we can discount spokes to them. 2023-03-25 15:37:57 +00:00
drc_test_provider_copper_clearance.cpp Don't run DRC rules on non-existant layers. 2023-02-03 15:08:31 +00:00
drc_test_provider_courtyard_clearance.cpp Only report on clearances where there was one defined. 2023-03-26 20:59:41 +01:00
drc_test_provider_diff_pair_coupling.cpp Coverity fixes and code cleaning. 2023-03-16 10:59:05 -04:00
drc_test_provider_disallow.cpp Fetch a better location for keepout area collsions. 2022-12-21 18:22:15 +00:00
drc_test_provider_edge_clearance.cpp Edge connectors shouldn't trigger edge clearance violations. 2023-03-07 12:23:56 +00:00
drc_test_provider_footprint_checks.cpp Don't run the footprint checker's shorting pads routine at board level. 2023-01-16 16:44:16 +00:00
drc_test_provider_hole_size.cpp Use more precise formatting in DRC messages when less precise values are identical. 2022-10-06 22:18:53 +01:00
drc_test_provider_hole_to_hole.cpp Cleanup unused local variable. 2023-01-24 23:45:55 +00:00
drc_test_provider_library_parity.cpp Manual cherry-pick of bug fix part of ee1d9c561c. 2023-03-17 13:35:23 +00:00
drc_test_provider_matched_length.cpp Use more precise formatting in DRC messages when less precise values are identical. 2022-10-06 22:18:53 +01:00
drc_test_provider_misc.cpp Record parent rule for DRC assertions. 2023-04-29 21:17:56 +01:00
drc_test_provider_physical_clearance.cpp Use more precise formatting in DRC messages when less precise values are identical. 2022-10-06 22:18:53 +01:00
drc_test_provider_schematic_parity.cpp Remove shared wxString instance in DRC 2022-06-15 16:46:03 -07:00
drc_test_provider_silk_clearance.cpp Use more precise formatting in DRC messages when less precise values are identical. 2022-10-06 22:18:53 +01:00
drc_test_provider_sliver_checker.cpp Rework Copper Sliver check 2023-05-03 10:22:49 -07:00
drc_test_provider_solder_mask.cpp Only report on clearances where there was one defined. 2023-03-26 20:59:41 +01:00
drc_test_provider_text_dims.cpp Move default font to RENDER_SETTINGS. 2022-10-22 21:32:42 +01:00
drc_test_provider_track_width.cpp Use more precise formatting in DRC messages when less precise values are identical. 2022-10-06 22:18:53 +01:00
drc_test_provider_via_diameter.cpp Use more precise formatting in DRC messages when less precise values are identical. 2022-10-06 22:18:53 +01:00
drc_test_provider_zone_connections.cpp Keep track of single-pad-islands so we can discount spokes to them. 2023-03-25 15:37:57 +00:00