Tomasz Wlostowski
4e67de5c15
P&S router bugfixes
...
- fixed walkaround bug causing unwanted overlap/clearance violation when the first segment of trace being laid intersects the obstacle's hull at the same point twice (ie. goes in, turns around and goes out).
- fixed placer bug not splitting the start segment after toggling via placement or changing trace width
2014-11-14 19:17:01 +01:00
Tomasz Wlostowski
80adf9d85b
router: multiple changes
...
- re-worked PNS_LINE_PLACER and PNS_ROUTER classes a bit, removing duplicate class members
- cleaned up Andrew's blind/buried via fixes
- fixed 'custom via width' dialog bug updating the width even when closed/cancelled
- fixed incorrect radius of drawn microvias
2014-11-14 19:15:58 +01:00
jean-pierre charras
24f516f6ae
Fix many doxygen warnings (due to missing info, old comments, typo ...) when building the doxygen doc.
2014-11-02 17:25:04 +01:00
Andrew Zonenberg
45a8e4da74
pns_router: Support for blind/buried vias.
2014-09-30 16:46:19 +02:00
jean-pierre charras
24ed7f50f5
Pcbnew: fix Bug #1370321 (Change Segment function applies last netclass used).
...
Also update main toolbar track width and via size info in pns router mode, when starting a track, and other very minor update issue.
2014-09-28 16:44:47 +02:00
Tomasz Wlostowski
0cf334a072
pcbnew: bugfix for "PNS router allocates all memory"
2014-09-16 14:12:59 +02:00
jean-pierre charras
5a38d2b657
Rework on env. variable KISYS3DMOD. Until now, was used in different files using different ways, so no consistency between files.
...
code cleanup.
2014-08-24 09:05:07 +02:00
Tomasz Włostowski
adbf343fef
bugfix: SIGABRT after starting a track with PNS and switching canvases a few times
2014-08-13 17:25:54 +02:00
Andrew Zonenberg
59be0f6ef7
1) Pad properties dialog can trigger divide-by-zero when "0" is entered as the pad size
...
2) PNS router incorrectly detects collisions with blind/buried vias that don't actually intersect the active layer
3) PNS router silently converts blind/buried vias to through-board vias when shoved
2014-07-28 11:32:15 +02:00
Andrew Zonenberg
e6fba84e13
Push-and-shove router now handles existing blind/buried vias properly. Can't yet create new ones.
2014-07-27 15:01:06 -04:00
Maciej Suminski
78853febbe
Zone fill/unfill actions in context menu (GAL).
2014-07-09 16:57:01 +02:00
Maciej Suminski
c1eda6b88c
Some of the Tool Actions need to be run in immediate mode - fixed.
2014-07-09 16:50:31 +02:00
Maciej Suminski
327f307a7f
FIx layer switching after via placement in PNS router.
2014-07-09 16:50:31 +02:00
Maciej Suminski
0163b589b4
Workarounded restoring focus to GAL canvas after layer switching.
2014-07-09 16:44:22 +02:00
Maciej Suminski
b1837615aa
Added event queue to handle events at the end of the event processing cycle.
2014-07-09 16:25:50 +02:00
Maciej Suminski
81ad03cf91
Code formatting.
2014-07-09 16:25:50 +02:00
Maciej Suminski
72c70148e8
Fixed a few memory leaks and Valgrind warnings.
2014-07-09 15:02:56 +02:00
Maciej Suminski
77d8b2d84e
Context menu for the Placement Tool.
2014-07-09 14:23:13 +02:00
Maciej Suminski
94cc845b3f
Added AF_ACTIVATE flag for TOOL_ACTIONs.
...
Reworked the way of processing events in TOOL_MANAGER class.
Added GetCommandStr() for TOOL_EVENT class.
2014-07-09 13:50:27 +02:00
Maciej Suminski
5d1ec2b204
Restored invocation of SELECTION_TOOL commands with TOOL_ACTIONs.
2014-07-09 13:50:27 +02:00
Maciej Suminski
a6dac245c0
Removed TOOL_ACTIONs: selectionSingle, selectionClear. SELECTION_TOOL methods are called directly instead.
2014-07-09 11:59:24 +02:00
Maciej Suminski
9a47f4c645
Created a specialization of EDA_DRAW_PANEL_GAL: PCB_DRAW_PANEL_GAL.
...
Moved View related routines & fields from PCB_{BASE,EDIT}_FRAME & BOARD to PCB_DRAW_PANEL_GAL.
2014-07-09 10:57:32 +02:00
Maciej Suminski
fb0045a898
Bugfix: Bottom layer not correctly handled in (PNS) Interactive router.
2014-07-07 10:48:47 +02:00
Dick Hollenbeck
1e7495e634
merge
2014-06-30 00:46:18 -05:00
Dick Hollenbeck
ad750defb6
LAYER_ID work
2014-06-29 08:05:51 -05:00
Dick Hollenbeck
b920fa00a5
1) Fix compiles using wx 3.x and 2.8.
...
2) Fix passing wxString to common/config_params so lookup keys
can be dynamically generated. This gives ~/.kicad files all the colors.
3) Fix LEGACY_PLUGIN so it loads all layer types and masks properly.
4) Extend the table in router/pns_index.h to 128 from 64.
2014-06-24 23:36:02 -05:00
Dick Hollenbeck
4578ea8b9e
1) Add 32 Cu Layers.
...
2) Change from legacy Cu stack to counting down from top=(F_Cu or 0).
The old Cu stack required knowing the count of Cu layers to make
sense of the layer number when converting to many exported file types.
The new Cu stack is more commonly used, although ours still gives
B_Cu a fixed number.
3) Introduce class LSET and enum LAYER_ID.
4) Change *.kicad_pcb file format version to 4 from 3.
5) Change fixed names Inner1_Cu-Inner14_Cu to In1_Cu-In30_Cu and their
meanings are typically flipped.
6) Moved the #define LAYER_N_* stuff into legacy_plugin.cpp where they
can die a quiet death, and switch to enum LAYER_ID symbols throughout.
7) Removed the LEGACY_PLUGIN::Save() and FootprintSave() functions.
You will need to convert to the format immediately, *.kicad_pcb and
*.kicad_mod (=pretty) since legacy format was never going to know
about 32 Cu layers and additional technical layers and the reversed Cu
stack.
2014-06-24 11:17:18 -05:00
Kirill Mavreshko
b4e0a5cbbf
Fixes bug #1332438 : PNS router crashes when you another track while routing in "shove" mode
2014-06-23 08:50:53 +02:00
Maciej Suminski
f5de166a7e
Removed an unused parameter from TOOL_BASE::getModel<T>() method.
2014-06-06 14:59:25 +02:00
Bernhard Stegmaier
60a86853ec
Removed a few warnings.
2014-06-05 12:40:26 +02:00
Maciej Suminski
517bfa3570
Minor code cleaning.
2014-06-04 18:01:01 +02:00
Maciej Suminski
3480c41caa
PNS router handles net class settings (dependent on the selected start item).
2014-06-03 16:09:27 +02:00
Tomasz Wlostowski
a90680aa15
router: fix segfault on route-undo-route
2014-06-01 18:44:38 +02:00
Maciej Suminski
2619ceae03
PNS formatting code.
2014-05-31 16:04:25 +02:00
jean-pierre charras
771ac33c80
Pcbnew: fix a minor bug: in zones with no net, only the zone clerance was used to created clearence, regardless the pad or footprint local clerance.
...
Very minor other fixes.
2014-05-29 13:48:14 +02:00
Maciej Suminski
707f5cd6e6
bugfix 1324144: broken PNS dragging
2014-05-28 19:21:12 +02:00
Maciej Suminski
b9246dd463
bugfix #1323135 : PNS creates vias with giant holes.
2014-05-28 13:16:15 +02:00
Tomasz Wlostowski
c87baa9d22
router: fix segfault when trying to shove a line that forms a closed loop.
2014-05-23 11:57:43 +02:00
Maciej Suminski
f31f92e45e
Fixes the bug that causes pcbnew crash, when there are multiple net classes and the plot dialog was opened.
...
Changed NETCLASS* to boost::shared_ptr<NETCLASS>.
2014-05-20 11:29:37 +02:00
Maciej Sumiński
46020e20de
Merged the new Interactive Push and Shove router.
...
Do not pay attention to add/remove files - it seems there may be a bug in git-bzr-ng plugin. I have checked them, they stayed exactly the same as before.
2014-05-18 17:16:59 +02:00
Maciej Suminski
51ee6916ec
Removed header files from CMakeLists.txt.
2014-05-16 16:01:03 +02:00
Maciej Suminski
ad1b138f28
Reformatted PNS code to conform the coding policy.
2014-05-16 13:37:31 +02:00
Maciej Suminski
4fcaf4c586
Minor BOARD_DESIGN_SETTINGS refactoring.
...
Removed SetCurrentClassName() (it was not used anywhere and less safe than SetCurrentClass()).
Added BOARD_DESIGN_SETTIGNS::GetDefault() to make some pieces of shorter and clearer.
2014-05-15 10:51:08 +02:00
Maciej Suminski
7a526261fb
PNS router deselects all items when started.
2014-05-14 19:15:25 +02:00
Maciej Suminski
0d9373ca6c
Undo/report support for track dragging (PNS).
2014-05-14 18:45:59 +02:00
Maciej Suminski
d7ac368260
PNS routing settings are stored between router invocations.
2014-05-14 16:53:49 +02:00
Maciej Suminski
f31dd1cdaf
PNS debug output is enabled with PNS_DEBUG define.
2014-05-14 16:40:56 +02:00
Tomasz Włostowski
061660e9e4
Long-awaited new version of the P&S router
2014-05-14 15:53:54 +02:00
Maciej Suminski
d9eb15c9fa
Moved NETCLASSES to BOARD_DESIGN_SETTINGS.
...
Most of the changes are just adding GetDesignSettings() before every occurence of m_NetClasses.
More complex changes:
class_netclass.cpp - NETCLASS does not store the pointer to the parent BOARD anymore. Added function SetParams( BOARD_DESIGN_SETTINGS& ).
class_netclass.h - Removed GetTrackMinWidth(), GetViaMinDiameter(), GetViaMinDrill(), GetuViaMinDiameter(), GetuViaMinDrill() as they were refering to BOARD_DESIGN_SETTINGS anyway (they are not net class specific).
kicad_plugin.cpp - filters out empty nets (that are anyway not saved) when storing net class information. Previously it was done in NETCLASS::Format() function.
2014-05-13 11:22:51 +02:00
Maciej Suminski
a4cdf25f83
Upstream merge.
2014-05-05 10:51:31 +02:00
Maciej Suminski
9536ed811d
Upstream merge.
2014-05-05 10:51:31 +02:00
Maciej Suminski
fa5a6e5dd2
Clearing m_hiddentItems to avoid PNS crashes.
2014-05-04 20:20:49 +02:00
Lorenzo Marcantonio
85c5aa22c6
Constification of HitTest and GetParent
...
In particular HitTest for zones *do not* select the nearest vertex/edge as a side effect
2014-05-04 19:08:36 +02:00
Lorenzo Marcantonio
342016b692
Constification of HitTest and GetParent
...
In particular HitTest for zones *do not* select the nearest vertex/edge as a side effect
2014-05-04 19:08:36 +02:00
Maciej Suminski
c3b448b633
Upstream merge.
2014-05-01 15:55:50 +02:00
Lorenzo Marcantonio
3f2c0e1a8d
TRACK/SEGVIA cleanup
...
- SEGVIA becomes VIA
- Drill size moved from TRACK to VIA
- Removed shape from TRACK, becomes ViaType in VIA
- GetTrace becomes GetTrack, for uniformity
- Some minor constification and typo fixes
2014-04-25 08:00:04 +02:00
Maciej Suminski
3f8d9da31f
Key events are handled by wxEVT_CHAR instead of wxEVT_KEY_[UP|DOWN]. Fixed issue of chars that require modifiers (e.g. ? is Shift+/ on US keyboard layout).
2014-04-09 17:33:22 +02:00
Maciej Suminski
50b202fe99
Hot keys specific to a tool have priority over global hot keys (TOOL_ACTION scope: AS_GLOBAL/AS_CONTEXT is finally handled properly).
2014-04-09 17:05:05 +02:00
Maciej Suminski
ba275918e3
Renamed [class_]drawpanel_gal.[cpp|h] to [class_]draw_panel_gal.[cpp|h] to follow current naming scheme.
2014-04-04 11:56:04 +02:00
Maciej Suminski
4c5afc46af
Added possibility of switching tools by the right toolbar buttons, without deactivating the current tool first (previously tools did not switch if there was one active).
2014-04-04 11:50:15 +02:00
Maciej Suminski
23392ce8c9
Upstream merge.
2014-04-02 15:38:59 +02:00
Maciej Suminski
0694f2fa1c
TOOL_EVENTs autoregister themselves in ACTION_MANAGER.
...
ROUTER_TOOL events have temporarily changed their hotkeys assignment.
2014-03-21 10:40:50 +01:00
unknown
b436924380
Warning removal, patches from Camille 019
2014-03-16 18:40:23 +01:00
Maciej Suminski
b6e3b3a3f9
Merged selection_tool branch.
2014-03-06 10:43:40 +01:00
Maciej Suminski
b8e3ff8ca3
Fixed undo while PNS is active.
2014-03-05 16:44:08 +01:00
Maciej Suminski
505b38416d
Removed a few memory leaks.
2014-03-03 17:15:41 +01:00
Maciej Suminski
f7d00a393b
Renamed BOARD_CONNECTED_ITEM::GetNet() -> GetNetCode()
...
Renamed BOARD_CONNECTED_ITEM::SetNet() -> SetNetCode()
Added BOARD_CONNECTED_ITEM::GetNet() for accessing NETINFO_ITEM* of a given item.
Fixed module editor crash when launched to edit a module from a PCB.
Replaced some BOARD::FindNet( item->GetNet() ) calls with BOARD_CONNECTED_ITEM::GetNet().
2014-02-25 11:47:27 +01:00
Maciej Suminski
75026d8754
Renamed BOARD_CONNECTED_ITEM::GetNet() -> GetNetCode()
...
Renamed BOARD_CONNECTED_ITEM::SetNet() -> SetNetCode()
Added BOARD_CONNECTED_ITEM::GetNet() for accessing NETINFO_ITEM* of a given item.
Fixed module editor crash when launched to edit a module from a PCB.
Replaced some BOARD::FindNet( item->GetNet() ) calls with BOARD_CONNECTED_ITEM::GetNet().
2014-02-25 11:40:34 +01:00
Maciej Suminski
151826b206
Upstream merge.
2014-02-21 11:05:28 +01:00
Maciej Suminski
8a8e5d8d14
Quick fix for unsupported pad types in PNS router.
2014-02-21 09:53:10 +01:00
Marco Serantoni
932c92af55
[MacOSX] New reorg for building system, typos and path refines
2014-02-19 22:39:21 +01:00
Maciej Suminski
57c69b41db
Continous mode for drawing tools (i.e. they do not finish after adding a single object).
2014-02-19 13:51:32 +01:00
Maciej Suminski
a802ca87e0
Added TOOL_ACTION for PNS router activation.
...
Most of the GAL tools are activated by corresponding buttons on the right toolbar.
Removed menu entry for PNS router (as it is activated as the usual "Add track" tool).
2014-02-17 18:21:00 +01:00
Maciej Suminski
6e52e19367
Small leak fix.
2014-02-17 14:36:51 +01:00
Maciej Suminski
f82e07849b
Improved way of drawing 45-degree lines.
2014-02-17 11:33:03 +01:00
Maciej Suminski
597e98dbf4
Cursor is in world coordinates.
2014-02-13 20:23:28 +01:00
Maciej Suminski
347649e855
Protection against non consecutive net codes.
2014-02-04 13:40:39 +01:00
Maciej Suminski
f87b6962e0
Enabled PNS for selected items.
2014-02-03 18:09:17 +01:00
Maciej Suminski
3f5c3d4349
Minor changes (fix cvpcb build issue, wx2.8 compatibility, some other stuff).
2014-02-03 16:02:54 +01:00
Maciej Suminski
864c86062d
Changed ROUTER_PREVIEW_ITEM layer.
2014-02-03 13:09:10 +01:00
Maciej Suminski
0c67e26e9c
Added the dynamic ratsnest for the tracks that are currently routed with the PNS router.
2014-01-31 18:05:11 +01:00
Maciej Suminski
3e2e11fb42
Undo/redo buffer fixed once again..
2014-01-31 16:08:20 +01:00
Maciej Suminski
5fea60d20f
Fixed undo/redo while routing with the PNS error.
2014-01-30 17:11:40 +01:00
Maciej Suminski
bbb3972fb7
Undo buffer for the PNS router. Still, it has a bug - it crashes when an undo/redo operation is performed while routing a track.
2014-01-30 11:32:08 +01:00
Maciej Suminski
57bfaca131
PNS_ITEM::m_parent: BOARD_ITEM->BOARD_CONNECTED_ITEM
2014-01-29 15:35:25 +01:00
Maciej Suminski
83f7c7e35e
Added RN_DATA::Add()/Remove() methods.
...
RN_DATA::Update()/AddSimple() take BOARD_ITEM* as the parameter (instead of being split to versions with BOARD_CONNECTED_ITEM* and MODULE*), to make the code look clearer.
2014-01-28 16:30:58 +01:00
Maciej Suminski
6ad9d013e2
Safer way for syncing pads in Push and Shover router.
2014-01-07 14:23:46 +01:00
Maciej Suminski
75db0cebb7
Fixed Push and Shove and ratsnest cooperation (tracks added by PNS are taken into account while calculating ratsnest).
2014-01-07 14:22:37 +01:00
Maciej Suminski
69cf8aa325
Fixed snapping for Push and Shove router.
2014-01-07 14:21:37 +01:00
Maciej Suminski
537d82fb98
Upstream merge.
2014-01-06 10:29:31 +01:00
Maciej Suminski
c79962635e
Ratsnest is updated, when there are tracks added using the P&S router.
2013-12-20 15:18:41 +01:00
Maciej Suminski
84c496e138
Upstream merge
2013-12-19 11:15:27 +01:00
Maciej Suminski
4a0407fb69
Removed some debug logs.
2013-12-18 12:46:18 +01:00
Povilas Kanapickas
7f12513c7e
Remove some uses of using namespace std.
2013-12-13 10:27:30 -06:00
Maciej Suminski
d8acd1c718
Moved Init() & Reset() from TOOL_INTERACTIVE to TOOL_BASE.
...
Added REASON enum for Reset() function, so tools will know why a reset occured.
Fixed SELECTION_TOOL (it was bailing out, when a new board was loaded and some items were still selected).
Added removal of VIEW_ITEM groups after changing layers and removing items.
2013-12-09 10:42:38 +01:00
Maciej Suminski
06f4662ea0
Profile counter simplified, so it should be more portable.
2013-11-27 09:46:59 +01:00
Orson
28b9317640
Fix redraw issue in modedit a modview, with GAL
2013-11-01 13:56:20 +01:00
Dick Hollenbeck
53e04ce7a6
cvpcb was not filtering on the current library when USE_FP_LIB_TABLE.
...
<%s> being replaced with '%s' because the former in invisible in html panels.
Cure some compiler warnings.
2013-10-31 16:30:57 -05:00
Maciej Suminski
5249b1a6da
Renamed TOOL_MOUSE_BUTTONS constants to avoid name conflict with Windows MB_RIGHT constant.
2013-10-15 10:41:00 +02:00
Maciej Suminski
bc305859b2
Mainly case changes.
2013-10-14 20:40:36 +02:00
Maciej Suminski
0ac3e1fbf2
Namespace KiGfx->KIGFX.
...
template<> -> template <>
Some more reformatting according to uncrustify results.
2013-10-14 16:13:35 +02:00
Maciej Suminski
22045b61ea
Converted tabs to spaces. Removed trailing whitespaces.
2013-10-14 13:43:57 +02:00
Maciej Suminski
2e2bea3b0c
Fixed IDs for the push and shove router menu
2013-10-11 14:26:09 +02:00
Maciej Sumiński
53fef8d4c4
Fixed menu entry ids for the p&s router context menu.
2013-09-29 13:56:32 +02:00
Maciej Suminski
936e0be090
Uncrustified the push&shove source, fixed some warnings.
2013-09-27 10:00:26 +02:00
Maciej Sumiński
5598acb617
Uncrustifying push&shove router
2013-09-26 23:53:54 +02:00
Maciej Suminski
2c03bf4109
Removed TA_ActivateTool (now tools are invoked by sending TA_Action event, with the tool name as string parameter).
...
Developed TOOL_Action class & added ActionManager. Hot keys registered by tools are processed.
Selection & move tool can be invoked by a hot key.
2013-09-19 17:02:57 +02:00
tomasz.wlostowski@cern.ch
db62d672d2
Initial version of the P&S router. Buggy and crappy.
2013-09-18 19:55:16 +02:00
tomasz.wlostowski@cern.ch
ac871702ce
added note why there's no P&S sources yet...
2013-09-12 11:49:24 +02:00