kicad/pcbnew
John Beard 78c8de9b08 Fix oval pad snapping
Previously the snap points computed for oval pads didn't get all the
points correct. This breaks out the "find snap points for ovals"
into a function, reworks the logic, adds some tests.

Also adds "extremum points" when the oval isn't exactly H/V.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15594
2023-09-06 21:33:45 +01:00
..
autorouter Centralize text size clamping. 2023-06-03 20:29:51 +01:00
board_stackup_manager PANEL_SETUP_BOARD_STACKUP: do not try to init params managed by PANEL_SETUP_BOARD_FINISH 2023-07-29 09:43:32 +02:00
connectivity PCB: check ratsnest for nullptr (segfaults) 2023-08-24 10:51:34 -04:00
dialogs fix some Coverity and compil warnings. 2023-09-05 20:30:08 +02:00
drc More consistent naming. 2023-08-21 15:26:33 +01:00
exporters Fix a string in step exporter. 2023-09-04 06:45:25 +03:00
import_gfx Graphics import improvements/fixes: 2023-08-18 22:52:49 +03:00
microwave Validate new footprint / save as footprint info before exiting dialog. 2023-09-06 12:49:37 +01:00
navlib Add 3dconnexion driver version check 2023-07-24 18:09:52 +00:00
netlist_reader Fields: preserve field order across sch<->pcb 2023-08-07 09:29:13 -04:00
plugins Speed up footprint loading by caching 2023-09-06 19:15:35 +00:00
python QFN footprint wizard - Allow different number of pads in x and y directions 2023-09-04 13:39:28 +00:00
ratsnest PCB: add ratsnest to search pane 2023-08-17 10:25:40 -04:00
router Don't return separate shapes from a custom-shaped pad. 2023-09-03 13:23:53 +01:00
specctra_import_export Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name 2023-07-25 09:11:55 +02:00
teardrop Remove stale teardrops before rebuilding connectivity. 2023-08-15 12:13:34 +01:00
tools Fix oval pad snapping 2023-09-06 21:33:45 +01:00
widgets Flip Viewport when Flip board is enabled 2023-09-03 12:30:32 +00:00
CMakeLists.txt Remove dialog-based primitive editing in favour of Pad Edit Mode. 2023-09-04 20:49:52 +01:00
Doxyfile_python
Doxyfile_xml
action_plugin.cpp
action_plugin.h
array_creator.cpp Remove a bunch of blind (and a few redundant) static_casts. 2023-07-13 14:14:45 +01:00
array_creator.h
array_pad_number_provider.cpp
array_pad_number_provider.h
board.cpp Handle dimensions and textboxes when plotting contours to DXF. 2023-08-25 18:07:49 +01:00
board.h PCB: add ratsnest to search pane 2023-08-17 10:25:40 -04:00
board_commit.cpp Remove accidentally-checked-in debugging code. 2023-09-02 10:11:38 +01:00
board_commit.h ADDED: Run PCB DRC via cli 2023-08-10 20:20:40 -04:00
board_connected_item.cpp Make pad & via teardrops 1st-class citizens (props of the pad/via) 2023-05-19 18:02:03 +01:00
board_connected_item.h ADDED: Connectivity for graphic shapes on copper layers 2023-08-10 21:47:43 -04:00
board_design_settings.cpp When routing, check for board-level clearances 2023-07-24 15:19:21 -07:00
board_item.cpp Move "parent" property from PAD to BOARD_ITEM. 2023-08-18 22:20:09 +01:00
board_item_container.h
build_BOM_from_board.cpp Fix a bunch more issues with sheetpaths and allowExtraText. 2023-05-05 17:23:52 +01:00
cleanup_item.cpp
cleanup_item.h
collectors.cpp Coverity issue fixes. 2023-08-28 09:29:56 -04:00
collectors.h Remove a bunch of blind (and a few redundant) static_casts. 2023-07-13 14:14:45 +01:00
convert_shape_list_to_polygon.cpp Add a routine for joining PCB shapes. 2023-09-04 06:46:24 +03:00
convert_shape_list_to_polygon.h STEP export: in board outlines, export Circles as Cylinders, round 2. 2023-05-16 13:39:16 +02:00
cross-probing.cpp Fields: preserve field order across sch<->pcb 2023-08-07 09:29:13 -04:00
edit.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
edit_track_width.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
edit_zone_helpers.cpp More safety around ratsnest state. 2022-11-30 13:00:21 +00:00
files.cpp Schematic plugins refactoring, fixes for PCB plugins. 2023-08-31 05:08:03 +03:00
fix_board_shape.cpp Set line width when changing annotation proxy flag. 2023-09-04 20:49:52 +01:00
fix_board_shape.h Add a routine for joining PCB shapes. 2023-09-04 06:46:24 +03:00
footprint.cpp Fix three spots it always failed to check if the border was enabled 2023-08-30 22:39:07 -04:00
footprint.h FOOTPRINT: add a method to auto-position Reference and Value. 2023-08-10 00:30:05 +03:00
footprint_edit_frame.cpp Don't include annotations in boundingbox when not including text. 2023-08-26 18:50:10 +01:00
footprint_edit_frame.h Validate new footprint / save as footprint info before exiting dialog. 2023-09-06 12:49:37 +01:00
footprint_editor_settings.cpp Update layer names to current terminology. 2023-08-04 11:37:46 +01:00
footprint_editor_utils.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
footprint_info_impl.cpp Stricter API for LIB_TABLE 2023-08-06 00:56:51 -04:00
footprint_info_impl.h
footprint_libraries_utils.cpp Validate new footprint / save as footprint info before exiting dialog. 2023-09-06 12:49:37 +01:00
footprint_preview_panel.cpp Generate an immediate refresh when loading new footprint. 2023-09-04 11:12:34 +01:00
footprint_preview_panel.h ADDED: lib tree previews. 2023-09-02 23:30:22 +01:00
footprint_tree_pane.cpp Footprint Editor: Focus search field when window is first opened 2022-12-20 19:54:02 +00:00
footprint_tree_pane.h Footprint Editor: Focus search field when window is first opened 2022-12-20 19:54:02 +00:00
footprint_viewer_frame.cpp Do not use the deprecated wxWidgets wxPATH_NORM_ALL flag. 2023-08-28 14:37:15 +02:00
footprint_viewer_frame.h ADDED: Change watcher for libraries 2023-05-31 13:46:00 -07:00
footprint_wizard.cpp
footprint_wizard.h
footprint_wizard_frame.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
footprint_wizard_frame.h Rename function in Footprint wizard to prevent impoper override 2023-06-12 23:14:56 +01:00
footprint_wizard_frame_functions.cpp Rename function in Footprint wizard to prevent impoper override 2023-06-12 23:14:56 +01:00
fp_text_grid_table.cpp FP Text Grid: avoid ambiguous fallthrough 2023-06-20 19:23:29 -04:00
fp_text_grid_table.h PCB Fields: use validators in dialogs, restrict editing of footprint 2023-06-20 18:34:52 +00:00
fp_tree_model_adapter.cpp Capture exceptions thrown by FP_LIB_TABLE::FindRow() in some places. 2023-08-20 12:27:37 +02:00
fp_tree_model_adapter.h
fp_tree_synchronizing_adapter.cpp Don't show preview for lib-item loaded on to canvas. 2023-09-03 12:07:09 +01:00
fp_tree_synchronizing_adapter.h ADDED: lib tree previews. 2023-09-02 23:30:22 +01:00
generate_footprint_info.cpp Fields: Description now mandatory 2023-06-20 18:34:52 +00:00
generate_footprint_info.h
graphics_cleaner.cpp Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name 2023-07-25 09:11:55 +02:00
graphics_cleaner.h
grid_layer_box_helpers.cpp Replace __WXGTK20__ with __WXGTK__ 2023-04-12 18:57:12 +01:00
grid_layer_box_helpers.h
initpcb.cpp BoardDesignSettings are owned by FOOTPRINT_EDITOR_SETTINGS in the FP Editor. 2023-06-12 10:08:41 +01:00
invoke_pcb_dialog.h Refactor: Move DIALOG_PLUGIN_OPTIONS to common and use enum for event ID 2023-05-28 23:56:41 +02:00
io_mgr.cpp Schematic plugins refactoring, fixes for PCB plugins. 2023-08-31 05:08:03 +03:00
io_mgr.h Schematic plugins refactoring, fixes for PCB plugins. 2023-08-31 05:08:03 +03:00
kicad_clipboard.cpp Rename Save -> SaveBoard, Load -> LoadBoard in PLUGIN. 2023-08-15 05:26:12 +03:00
kicad_clipboard.h Rename Save -> SaveBoard, Load -> LoadBoard in PLUGIN. 2023-08-15 05:26:12 +03:00
load_select_footprint.cpp Fix typos in translatable strings. 2023-08-31 10:27:36 +02:00
menubar_footprint_editor.cpp Small order change for three View menu items v2 2023-09-03 12:29:06 +00:00
menubar_pcb_editor.cpp Small order change for three View menu items v2 2023-09-03 12:29:06 +00:00
netinfo.h Fix Doxygen directives in numerous headers 2023-03-24 13:02:13 +00:00
netinfo_item.cpp Fix netnames. 2023-01-27 19:35:41 +03:00
netinfo_list.cpp ADDED: Connectivity for graphic shapes on copper layers 2023-08-10 21:47:43 -04:00
pad.cpp Allow pad number box creation in pad edit mode. 2023-09-04 20:49:52 +01:00
pad.h Move "parent" property from PAD to BOARD_ITEM. 2023-08-18 22:20:09 +01:00
pad_custom_shape_functions.cpp Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name 2023-07-25 09:11:55 +02:00
pcb_base_edit_frame.cpp ADDED: appearances manager for 3D viewer. 2023-08-14 18:08:36 +01:00
pcb_base_edit_frame.h ADDED: Properties panel for schematic editor 2023-06-22 22:32:24 -04:00
pcb_base_frame.cpp Grids: Support X and Y for all grids, add optional names 2023-08-30 11:22:19 -04:00
pcb_bitmap.cpp Allow multiple format image saving 2023-09-06 12:12:32 -07:00
pcb_bitmap.h Allow multiple format image saving 2023-09-06 12:12:32 -07:00
pcb_dimension.cpp Bug fixes for handling boolean flags in DRC rules. 2023-05-26 18:44:33 +01:00
pcb_dimension.h Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_draw_panel_gal.cpp Preferences setting for force-show-fields-when-fp-selected. 2023-08-20 18:10:28 +01:00
pcb_draw_panel_gal.h Formatting and warnings cleanup. (No functional changes.) 2023-04-16 15:36:21 +01:00
pcb_edit_frame.cpp Move grid definitions to Prefs and grid origin to a separate dlg. 2023-08-26 13:32:24 +01:00
pcb_edit_frame.h ADDED: DNP flag for position file export 2023-08-04 11:02:54 -07:00
pcb_field.cpp Preferences setting for force-show-fields-when-fp-selected. 2023-08-20 18:10:28 +01:00
pcb_field.h Broaden "Style footprint fields" to cover graphics as well. 2023-07-09 12:45:55 +01:00
pcb_group.cpp Revise method of selecting footprints in contrast 2023-08-01 10:43:13 -07:00
pcb_item_containers.h PCB_FIELD: add new field item similar to SCH_FIELD 2023-06-20 18:34:52 +00:00
pcb_layer_box_selector.cpp Move layer ID to action mapping to PCB_ACTIONS 2023-07-05 11:09:34 +01:00
pcb_layer_box_selector.h
pcb_marker.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_marker.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_origin_transforms.cpp
pcb_origin_transforms.h
pcb_painter.cpp Allow pad number box creation in pad edit mode. 2023-09-04 20:49:52 +01:00
pcb_painter.h Preferences setting for force-show-fields-when-fp-selected. 2023-08-20 18:10:28 +01:00
pcb_plot_params.cpp Tent vias by default. 2023-08-16 08:28:13 +03:00
pcb_plot_params.h ADDED: plot control over FP text. 2023-08-15 16:56:46 +01:00
pcb_plot_params_parser.h
pcb_screen.cpp Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
pcb_shape.cpp Set line width when changing annotation proxy flag. 2023-09-04 20:49:52 +01:00
pcb_shape.h Set line width when changing annotation proxy flag. 2023-09-04 20:49:52 +01:00
pcb_target.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_target.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_text.cpp Pcbnew: Fix some draw issues in PCB_TEXT and PCB_TEXTBOX: 2023-08-20 17:33:11 +02:00
pcb_text.h ADDED: parameterize font metrics and allow customization of overbar height. 2023-08-06 20:57:41 +01:00
pcb_textbox.cpp Hide the unsupported Visible prop for textbox text 2023-09-04 09:28:59 -04:00
pcb_textbox.h Add two more border props to props panel 2023-08-31 07:49:15 -04:00
pcb_track.cpp Revise method of selecting footprints in contrast 2023-08-01 10:43:13 -07:00
pcb_track.h Revise method of selecting footprints in contrast 2023-08-01 10:43:13 -07:00
pcb_view.cpp Extend boundary size of PCB_VIEW 2023-08-29 19:41:36 +00:00
pcb_view.h
pcbexpr_evaluator.cpp More consistent naming. 2023-08-21 15:26:33 +01:00
pcbexpr_evaluator.h More consistent naming. 2023-08-21 15:26:33 +01:00
pcbexpr_functions.cpp ADDED: memberOfSheet() design rule function 2023-09-06 19:14:00 +00:00
pcbnew.cpp Flip the RegisterSettings order to avoid legacy import crashes 2023-09-05 03:23:07 +00:00
pcbnew.icns
pcbnew_config.cpp Move to requiring explicit action to save project settings 2023-03-04 14:25:07 -05:00
pcbnew_config.h
pcbnew_doc.icns
pcbnew_id.h Make pad & via teardrops 1st-class citizens (props of the pad/via) 2023-05-19 18:02:03 +01:00
pcbnew_jobs_handler.cpp Use the right path for loading drawing sheet in pcbnew cli 2023-09-05 11:01:57 -04:00
pcbnew_jobs_handler.h Add --drawing-sheet arg for various cli commands for overriding the project sheet 2023-08-31 19:53:23 -04:00
pcbnew_printout.cpp Update layer names to current terminology. 2023-08-04 11:37:46 +01:00
pcbnew_printout.h Commenting and formatting. No functional changes. 2023-03-13 18:29:55 +00:00
pcbnew_settings.cpp dialog_export_svg: add color theme selection. 2023-08-31 20:33:44 +02:00
pcbnew_settings.h dialog_export_svg: add color theme selection. 2023-08-31 20:33:44 +02:00
pcbplot.cpp Add settings for plotting PDF property popups. 2023-04-30 18:10:04 +01:00
pcbplot.h Lazy context handling for SVG plotting. 2023-08-07 14:01:58 +01:00
plot_board_layers.cpp Another try at fixing arcs. 2023-08-22 16:10:58 +03:00
plot_brditems_plotter.cpp Don't use DXF-native text for textboxes. 2023-08-25 18:07:49 +01:00
plotcontroller.h Allow plotting of multiple board layers per plot in Python. 2023-02-14 09:49:20 -05:00
plotprint_opts.h Avoid duplicating similar options in print and plot headers 2022-11-12 16:02:24 +01:00
plugin.cpp Fix typos in translatable strings. 2023-08-31 10:27:36 +02:00
sel_layer.cpp
toolbars_footprint_editor.cpp Move grid definitions to Prefs and grid origin to a separate dlg. 2023-08-26 13:32:24 +01:00
toolbars_footprint_viewer.cpp Rollback wxChoice -> wxComboBox changes for now. 2023-04-09 23:00:33 +01:00
toolbars_pcb_editor.cpp Move grid definitions to Prefs and grid origin to a separate dlg. 2023-08-26 13:32:24 +01:00
tracks_cleaner.cpp Refine track dangling test. 2023-06-17 22:56:57 +01:00
tracks_cleaner.h
undo_redo.cpp Implement undo/redo around Pad Edit Mode changes. 2023-09-01 18:48:46 +01:00
zone.cpp ADDED: Run PCB DRC via cli 2023-08-10 20:20:40 -04:00
zone.h Revise method of selecting footprints in contrast 2023-08-01 10:43:13 -07:00
zone_filler.cpp Revert "Record hole knockouts in zone filler earlier" 2023-08-22 18:18:55 +02:00
zone_filler.h
zone_settings.cpp Fix build (broken in 90ff331c) 2023-06-10 14:21:10 +02:00
zone_settings.h Refactor: Move static to be inside ZONE_SETTINGS 2023-06-10 12:03:41 +02:00
zones.h Zones: use metric defaults and limits instead of mixed units 2023-02-11 07:39:29 -05:00
zones_functions_for_undo_redo.cpp More tightening of group parent lifecycles. 2022-11-16 00:42:38 +00:00
zones_functions_for_undo_redo.h Formatting and a bit of cleanup. 2022-10-21 18:41:39 +01:00