Tomasz Włostowski
4d180efa5f
router: correct handling of per-pad/per-module clearance
2016-10-19 17:54:00 +02:00
Maciej Suminski
abbd47e2f2
Remove an unused variable and a debug printf
2016-09-30 09:31:40 +02:00
Tomasz Włostowski
3257f1a863
pns: fixed inline drag grid snapping & undo-related assertion failure
...
Fixes: lp:1628697
* https://bugs.launchpad.net/kicad/+bug/1628697
2016-09-30 09:29:49 +02:00
Tomasz Włostowski
4bc4dc80b6
pns: unique_ptr for BOARD_COMMIT member
2016-09-30 09:05:58 +02:00
Simon Richter
ad088db6d2
Add more "override" markers.
2016-09-25 13:59:41 -04:00
Simon Richter
59c81976dc
Explicitly mark overriding functions.
2016-09-24 14:53:15 -04:00
Maciej Suminski
3623421912
Fixed a PNS crash after undoing the last operation while routing
2016-09-23 13:58:33 +02:00
decimad
6a9c1cb6a1
Split the undo/redo event into the two stages "pre" and "post" for convenient synchronization of dependent state.
2016-09-23 13:29:25 +02:00
Maciej Suminski
65821328d2
Fix a crash when dragging a via attached to a locked track (PNS)
...
Fixes: lp:1625835
* https://bugs.launchpad.net/kicad/+bug/1625835
2016-09-21 14:47:14 +02:00
Chris Pavlina
c57fd7ccbf
Fix signed/unsigned comparison warning in PNS::LINE::ClipVertexRange
2016-09-20 14:26:16 -04:00
Maciej Suminski
17806b58f6
Fixed unused variable warnings
2016-09-13 10:06:49 +02:00
Maciej Suminski
5a1f52bf30
Modified tools to use BOARD_COMMIT.
2016-09-12 13:45:57 +02:00
Maciej Suminski
5c0605f6dc
Mute a few warnings
2016-09-12 11:50:06 +02:00
Tomasz Włostowski
0b8ab2f73d
router: fixed incorrect clearance computation in highlight collisions mode.
...
Fixes: lp:1621186
https://bugs.launchpad.net/kicad/+bug/1621186
2016-09-08 10:30:02 -04:00
Tomasz Wlostowski
03d372a0ec
Fixed an assertion triggered upon line simplification (PNS).
2016-09-06 16:40:40 +02:00
Maciej Suminski
f1e2a2c4c1
Corrected debug information display call. Removed an unused variable.
2016-09-06 16:27:35 +02:00
decimad
94aaa47583
Add Remove overloads for specific item types, split removal into index-handling and lifetime-handling (not 100% correct yet, since the index is defactor lifetime-owner, it will be later.)
2016-09-06 16:06:06 +02:00
decimad
94fae5d6a1
fix eager dynamic allocation in PNS::NODE::addLine
...
move implementation into PNS::NODE::Add since lines will never be part of the index itself
2016-09-06 16:06:06 +02:00
decimad
96a3145543
use unique_ptr at client <-> pns-router border, to document the pns router is taking ownership
...
add overloads for NODE::Add( ... ) taking pointers to specific item types (retain old private add-Functions, they will come in handy later)
LINE overloads now take by reference, to document their special treatment.
updated code throughout affected by these changes
2016-09-06 16:06:06 +02:00
decimad
2aef1a4568
use unique_ptr to document ownership (PNS::LINE_PLACER)
2016-09-06 16:06:06 +02:00
decimad
4770be0920
Make the segment-ref container a true member of PNS::LINE
...
improve const correctness
return segment container by ref
change client code accordingly
2016-09-06 16:06:06 +02:00
decimad
2faca77adf
use unique_ptr to document ownership (PNS::ROUTER)
2016-09-06 16:06:06 +02:00
decimad
6c749e0ba8
Remove PNS_ prefix from most types inside namespace PNS
2016-09-06 16:06:06 +02:00
decimad
4cf44d9725
Rename pns item kind constants in preparation for renaming pns classes
2016-09-06 16:06:06 +02:00
decimad
de6281e977
Move PNS router code into namespace PNS
...
update copyright messages
2016-09-06 16:06:06 +02:00
Maciej Suminski
ca499b80e1
Fixed wxLogTrace() calls in PNS
...
Fixes: lp:1616702
* https://bugs.launchpad.net/kicad/+bug/1616702
2016-08-25 09:24:55 +02:00
Maciej Suminski
78050c05e2
Changed PNS logging routine to wxLogTrace
2016-08-17 16:00:21 +02:00
Maciej Suminski
9f0b42cb35
pns: fixed a few memleaks & conditional jumps depending on uninitalized variables
2016-08-17 15:09:48 +02:00
Maciej Suminski
7e94e5282a
Changed PNS debug output to use wxLogTrace
2016-08-15 17:16:54 +02:00
Maciej Suminski
0ef866ee74
Code formatting
2016-08-15 17:16:53 +02:00
Tomasz Wlostowski
f0adbd757c
router: added missing files
2016-08-15 17:16:51 +02:00
Tomasz Wlostowski
a53ea81794
P&S: factor out Kicad-dependend PNS_ROUTER::SnapToItem() to the PNS_TOOL_BASE class
2016-08-15 17:16:51 +02:00
Tomasz Wlostowski
4d134e5522
fix direction-depending DP tuning glitch
2016-08-15 17:16:51 +02:00
Tomasz Wlostowski
b52eb441a1
router: fix compilation warnings
2016-08-15 17:16:50 +02:00
Tomasz Wlostowski
456c02c800
router: multiple fixes - fixed crash when trying to drag a locked via - prompt when the user attempts to drag a locked via/segment - removed remains of PICKED_ITEMS_LIST from the PNS_ROUTER class
2016-08-15 17:16:50 +02:00
Tomasz Wlostowski
bcf7990bf9
P&S: support for 45-degree style length tuning meanders
2016-08-15 17:16:49 +02:00
Tomasz Wlostowski
a2ac1cd087
P&S: cleaner placement of DP segments/vias. Speed improvements too.
2016-08-15 17:16:49 +02:00
Tomasz Wlostowski
4cbb0aebfd
P&S: support for custom visitor objects in PNS_NODE::QueryColliding()
2016-08-15 17:16:49 +02:00
Tomasz Wlostowski
2b32b6f72e
P&S: support for trace & via locking
2016-08-15 17:16:48 +02:00
Christian Gagneraud
7e0caf7abe
[pns] Make the placer algo draw debugging stuff by relying on a new PNS_DEBUG_DECORATOR, this removes a reversed dependency b/w PNS_ROUTER and PNS_ALGO Tom: some rework of the patch
2016-08-15 17:16:48 +02:00
Christian Gagneraud
e9a2cb0642
[pns] Remove unnecessary includes of KiCad colors.h
2016-08-15 17:16:48 +02:00
Tomasz Wlostowski
0700178d07
P&S: enable delete & backspace shortcuts while router is active
2016-08-15 17:16:47 +02:00
Tomasz Wlostowski
9c8bdcc894
P&S refactor: removed most of Kicad-dependent code from PNS internal classes
2016-08-15 17:16:47 +02:00
Mrio Luzeiro
d8eab321f7
3D Viewer: complete refactor of the 3D viewer.
...
* Split and rewrite the preview window and canvas.
* Create a new class for handling the board information.
* Adds new render targets: openGL, legacy, and ray tracing.
* Render targets take full advantage of the new 3D plugins system and 3D cache
for a fast 3D model loading.
* Faster board loading.
* New OpenGL render is faster than the old one.
* New ray tracing render target with a post processing shader.
* Use of new 3D plugins (WRL, X3D, STEP and IGES) and 3D model caching.
* Preview of 3D model while browsing the file name.
* 3D preview of the footprint while adding / align 3D shapes.
* Render of 3D models according to attributes: Normal, Normal+Insert, Virtual.
* Pivot rotation centered in one point over the PCB board.
* Shortcuts keys improved for XYZ orientation..
* Animated camera.
2016-07-19 13:35:25 -04:00
Simon Richter
1b2fd6a382
Replace BOOST_FOREACH with C++11 range based for.
2016-06-29 16:07:55 -04:00
Simon Richter
da5699de0a
Replace boost::shared_ptr with std::shared_ptr.
2016-06-29 11:09:55 -04:00
Michael Steinberg
fde12ebd25
Replace boost::function and boost::bind with their std:: counterparts
2016-06-29 12:23:11 +02:00
jean-pierre charras
7abf006c80
Very minor fix: fix shadowed local vars.
2016-06-15 10:27:24 +02:00
jean-pierre charras
11c369ee1b
Fix minor compil warnings (deprecated warnings and shadowed local vars warnings)
2016-06-07 17:33:12 +02:00
Maciej Suminski
553899b79b
PNS: Do not create an undo buffer entry when there is nothing to save.
2016-06-07 14:42:42 +02:00
Simon Richter
96ec9db5d6
Add missing C++ stdlib headers
...
The GCC standard library headers often include other headers, which makes
some code compile that forgets to include several headers.
2016-05-28 12:46:29 -04:00
Maciej Suminski
a30c8d7848
Coverity fixes.
2016-05-11 11:18:27 +02:00
Matthew Petroff
db54f3e7a7
Correct multiple UI spelling errors
2016-05-02 10:01:43 -04:00
jean-pierre charras
4a838fb8c3
Pcbnew: Add rounded rect pad shape.
2016-04-06 20:15:49 +02:00
Rohan Agrawal
8d659b3e02
removed unnessacary curly braces
2016-02-11 19:26:03 -08:00
Rohan Agrawal
31a6a4adf0
Run fix_route until routing ended in EndTrack
...
Should fix Bug 1424003, by making making sure the routing is completed when endtrack is triggered.
2016-02-11 18:26:40 -08:00
Tomasz Wlostowski
95252267ec
Router: check layers of all traversed joints in FindLinesBetweenJoints(). (fixes lp:1531762)
2016-01-11 13:37:00 -05:00
Cirilo Bernardo
2128594a85
Coding policy fixes: remove trailing white space.
2015-12-14 16:20:54 -05:00
Maciej Suminski
d373915340
Fixed crash when context menu is invoked during track dragging (GAL).
2015-12-03 14:26:12 +01:00
Tomasz Wlostowski
72b0593fdb
Pcbnew: push and shove router fixes.
...
* Fix segfault caused by invalidation of the end item by
PNS_LINE_PLACER::UpdateSizes().
* GAL zone drawing tool updates the ratsnest after zone drawing is complete.
* Fixed performance issue in zones processing using strict simplification
only for the final filled area.
2015-11-18 09:35:17 -05:00
jean-pierre charras
34f1c0ea2d
Fix a few Coverity warnings.
2015-11-11 19:47:51 +01:00
unknown
d830b24c56
Fix memory leak in meander placer.
2015-11-09 13:11:27 +01:00
Tomasz Wlostowski
08178104bb
router: take track width changes into account when calculating trace length for tuning
2015-11-05 19:20:08 +10:00
Thomasz Wlostowski
6e470ece1d
Pcbnew: fix push and shove router segfault bug.
2015-11-03 11:19:42 -05:00
jean-pierre charras
9aba2f2683
Add tool tips in pns settings dialogs. Use default events handlers in cancel and ok buttons and close window.
...
Fia an incorrect sentence in general board editor options dialog.
2015-10-16 17:56:50 +02:00
Tomasz Wlostowski
0725575830
router: fixed disappearing segments when dragging corners/vias
2015-10-12 14:08:27 +02:00
Tomasz Wlostowski
cd0031be47
router: fix segfault when placing a via with failed shove of head trace
2015-10-12 10:02:03 +02:00
Tomasz Wlostowski
3596ef2d4c
router: fixed loop removal regression in shove mode
2015-10-09 14:31:06 +02:00
Tomasz Wlostowski
b4fd9f3ed5
router: pick similar starting shapes for the diff pairs, not the very nearest one
2015-10-07 19:26:33 +02:00
Maciej Suminski
a3786fd6d8
router; Changed 'custom track via/size' hotkey to Q (to avoid conflict with cycling through defined track widths).
2015-10-07 11:10:34 +02:00
Maciej Suminski
2607497b37
Code formatting.
2015-10-05 18:28:41 +02:00
Maciej Suminski
480cf85102
router: Layer switching uses the layer pair settings when placing a through-hole via.
2015-10-05 13:28:32 +02:00
Maciej Suminski
f13208dc04
router: Display an error message when trying to place diff pair tracks that violate design rules.
2015-09-30 13:37:19 +02:00
Maciej Suminski
f752f7875e
Code formatting.
2015-09-30 11:18:19 +02:00
Maciej Suminski
f2807035df
router: Improved via placement code. - Blind/buried vias going through all layers are converted to TH vias. - If current layer is not set in the pair, router switches to the top layer instead of keep using the same layer. - Microvias switch between one of the outer layers and the adjacent one.
2015-09-24 18:34:22 +02:00
Maciej Suminski
504cf55642
Minor code formatting corrections.
2015-09-24 18:34:22 +02:00
Maciej Suminski
41e96e03d6
router: Added messages explaining why a blind/buried/microvia cannot be placed.
2015-09-24 11:04:42 +02:00
Tomasz Wlostowski
5bbf980ec7
router: fixes for disappearing segments after shoving & assertion in PNS_NODE destructor
2015-09-14 18:40:29 +02:00
Maciej Suminski
5659e3f8dc
Adjusted ROUTER_PREVIEW_ITEM depth values.
2015-09-09 11:56:16 +02:00
Maciej Suminski
4636d8d615
PNS router changes layer on 'Place Via' hot key while it is not laying out a track.
2015-09-03 18:25:48 +02:00
jean-pierre charras
156d5f50d6
fix unwanted foreground frame change on Windows when creating BOM and netlists from scripts.
...
Very minor coverity warning fixes.
2015-08-28 16:15:45 +02:00
Michael Beardsworth
2e4136720d
Removed set-but-unused failingDirCheck variable
2015-08-26 17:52:56 +02:00
jean-pierre charras
4fc230b773
Rework on Enum PAD_SHAPE_T, PAD_DRILL_SHAPE_T and PAD_ATTR_T (see rev 6008) : the new and better names are now used in Kicad code and existing python scripts.
...
PAD_SHAPE_T and PAD_ATTR_T still have a double definition (new names and old names) to be sure python scripts are nor broken by the change.
PAD_DRILL_SHAPE_T does not have a double definition, because it is unlikely oblong holes are used in python scripts.
Double definitions will be removed in the (next) future.
2015-08-23 21:40:33 +02:00
Tomasz Wlostowski
a33fc223ae
router: take net clearance when deskewing diff pairs.
...
Apply correction on DP corner radius to avoid DRC issues.
2015-08-21 16:37:44 +02:00
Tomasz Wlostowski
b4135e0a33
router: fixed snapping to target while placing diff pair
2015-08-21 16:35:34 +02:00
Tomasz Wlostowski
2b70aeafba
fix rare segfault when head line had unsimplified segments
2015-08-20 15:11:16 +02:00
Tomasz Wlostowski
9da18f6db6
router: fix ortho snap mode for diff pairs
2015-08-20 09:46:19 +02:00
Tomasz Wlostowski
a96299d456
router: improvements to shove algorithm
2015-08-19 18:07:16 +02:00
Tomasz Wlostowski
95c59c8060
router: multiple fixes:
...
- PNS_ITEMSET now keeps ownership info (does not rely on PNS_ITEM::Owner(), avoiding the risk of dangling pointers)
- fixed vias losing connected traces when dragging in mark obstacles mode
- fixed rare segfault when board item returned null netclass
2015-08-19 17:27:23 +02:00
Tomasz Wlostowski
f6689f75a8
router: fixed loop removal issue
2015-08-18 11:38:17 +02:00
Tomasz Wlostowski
e342744a32
router: Do not use reference to a temporary object. Prevent double freeing (m_joints). Draw tuned track always on top.
2015-08-12 21:12:13 +02:00
Maciej Suminski
6989af7904
Minor fixes (PNS).
2015-08-12 21:12:13 +02:00
Maciej Suminski
127fcfa7c9
Code formatting.
2015-08-12 21:12:12 +02:00
Maciej Suminski
65ebfe12c1
Fixed oval pads highlighting in mark collisions mode (PNS).
2015-08-10 17:50:10 +02:00
Maciej Suminski
5caa1523bd
Handling Coverity reports.
2015-08-07 17:07:06 +02:00
Maciej Suminski
d624115f35
Fixed failing undo while routing.
2015-08-04 23:08:13 +02:00
Tomasz Wlostowski
b6f61ff676
PNS: correctly snap to offset pads
2015-08-04 12:15:47 +02:00
Tomasz Wlostowski
86b07d89a7
PNS: fixed crash on via dragging
2015-08-04 11:37:16 +02:00
Maciej Suminski
0fbf31ef38
P&S: memory mgr & disappearing trace fixes. Still a bit buggy, though...
2015-08-03 21:11:51 +02:00
Bernhard Stegmaier
5f4423f7af
Changed abs() to std::abs() in pns_topology.cpp.
2015-08-03 10:50:05 +02:00
Maciej Suminski
d010703eaf
Fixed cursor freeze in pcbnew (GAL).
2015-07-24 10:58:47 +02:00
Maciej Suminski
7650b0e8ad
Minor code cleaning (PNS).
2015-07-24 09:42:46 +02:00
Maciej Suminski
d6bc33bd42
Removed a few more memory leaks and fixed crash on exit.
2015-07-24 09:42:46 +02:00
Tomasz Wlostowski
afb6571249
PNS_NODE: fix segfault when dragging a track/corner of a track forming a ring
2015-07-22 13:51:12 +02:00
Tomasz Wlostowski
8752f46f07
PNS_ROUTER: correctly handle NPTH pad layer sets.
2015-07-22 13:49:53 +02:00
Maciej Suminski
6cb57f100a
Fixed a memleak (PNS).
2015-07-22 10:46:56 +02:00
Maciej Suminski
b16ade0805
PNS code formatting.
2015-07-22 10:46:56 +02:00
Jan Dubiec
7f1f436a4e
Proper OPT_OBSTACLE casting.
2015-07-22 10:46:45 +02:00
Maciej Suminski
fbdaf9bbdc
Removed unnecessary header file.
2015-07-16 11:06:17 +02:00
Maciej Suminski
c9370ae5e6
Fixed a PNS assert.
2015-07-10 23:42:13 +02:00
Maciej Suminski
a530ffad50
Code formatting.
2015-07-10 23:42:05 +02:00
Tomasz Wlostowski
a7613b6d6a
Fixed cancelling inline track dragging.
2015-07-10 12:14:27 +02:00
Maciej Suminski
ca27eeb5c7
Fixed "select copper connection".
2015-07-09 20:04:54 +02:00
Maciej Suminski
4fffd147f2
Fix one warning.
2015-07-07 18:38:49 +02:00
Maciej Suminski
f2785d35bf
Muting Coverity report.
2015-07-07 18:37:03 +02:00
Maciej Suminski
df15be4f01
CONTEXT_TRACK_VIA_SIZE_MENU: generic context menu that displays track/via sizes.
2015-07-07 18:36:56 +02:00
Maciej Suminski
3a908b8b8a
PNS: fix hotkey conflict (Diff Pair Dimensions vs Drag).
2015-07-07 18:36:54 +02:00
Maciej Suminski
2dc9d2ae66
PNS: hide cursor after inline dragging.
2015-07-07 18:36:47 +02:00
Maciej Suminski
5b7d08f2fd
PNS: initalize starting point.
2015-07-07 18:36:45 +02:00
Maciej Suminski
8e98008f67
PNS: prevent placing multiple vias in the same spot.
2015-07-07 18:36:43 +02:00
Maciej Suminski
e7626a8592
PNS: hide preview via when disabled.
2015-07-07 18:36:41 +02:00
Maciej Suminski
66778e1b00
PNS code formatting.
2015-07-07 18:36:38 +02:00
jean-pierre charras
351914da9d
Fix minor and very minor compil and Cppcheck warnings.
2015-07-06 19:56:05 +02:00
Maciej Suminski
766da1e494
Code formatting.
2015-07-02 16:11:15 +02:00
Tomasz Wlostowski
a180f70086
router: compute (and display) DP gap dynamically when tuning length
2015-07-02 16:10:49 +02:00
Tomasz Wlostowski
0ade919a98
router: fix shortcut crash & inline dragging for inline dragging P&S
2015-07-02 16:10:07 +02:00
Jonathan Jara-Almonte
2fd493255d
router: compute diff pair gap on the fly when tuning the length
2015-07-02 16:10:02 +02:00
Tomasz Wlostowski
171d39c8d0
router: invoke interactive drag when dragging traces/vias in edit tool (disabled by default)
2015-07-02 16:09:56 +02:00
Tomasz Wlostowski
a86fda1d37
tools: added TOOL_SETTINGS class for storing persistent tool settings in config file (just a wrapper for wxConfigBase) router: free angle mode (mark obstacles only) & persistent settings
2015-07-02 16:09:51 +02:00
Mathias Grimmberger
7724c581fd
router: support for non-90 degree pad orientations
2015-07-02 16:09:43 +02:00
Tomasz Wlostowski
4abcc159d2
router: don't run optimizer if head line == NULL or on shove failure
2015-07-02 16:09:38 +02:00
Tomasz Wlostowski
52e193eded
router: fixing assert
2015-07-02 16:09:32 +02:00
Tomasz Wlostowski
e6dd016cb2
router: improve rounding error handling in hull calculation
2015-07-02 16:09:29 +02:00
Tomasz Wlostowski
f96c65254c
router: allow for insertion of a via without leading trace (e.g. in the middle of already existing trace)
2015-07-02 16:09:24 +02:00
Tomasz Wlostowski
a3edd9706f
router: more robust nearest obstacle clipping
2015-07-02 16:09:16 +02:00
Chris Pavlina
5a4e528d6a
Correct PNS boundaries for offset pads.
2015-06-23 11:41:53 +02:00
jean-pierre charras
355bd47e16
Edit microvia: fix incorrect drill size (Bug #1466653 )
...
Fix a few coverity minor warnings.
2015-06-19 10:55:37 +02:00
jean-pierre charras
4f71260319
Fix micro via size incorrect when adding it in pns router
2015-06-18 20:22:23 +02:00
Maciej Suminski
d433a06d11
Fixed initialization for custom track/via size values (PNS). More meaningful error messages.
2015-06-15 17:54:58 +02:00
jean-pierre charras
49fac351ab
Fix a few coverity warnings.
2015-06-15 16:01:43 +02:00
Tomasz wlostowski
eba3a55bb2
pcbnew: new zone filling algorithm using ClipperLib. Possibility to fall back to the old one
2015-06-12 17:13:18 +02:00
Maciej Suminski
26ee2092af
PNS router uses the legacy canvas hot key bindings.
2015-05-18 13:48:11 +02:00
Maciej Suminski
15cefcda9f
Code formatting.
2015-05-18 13:48:11 +02:00
jean-pierre charras
77249d9b2d
Minor fixes: remove a few useless includes and move a few others to the right file. Remove a few coverity warnings about not initialized members.
...
Minor bug fix: Zone duplicate zone in legacy mode: duplicate a zone to the same layer (and therefore the same location) is no more allowed.
2015-05-15 14:49:11 +02:00
jean-pierre charras
e2c7e6bf02
onrightclick.cpp: remove useless wxClientDC, which was used only the hide/show (to the same location) the on-grid cursor during the creation of the popup menu (perhaps a trace of legacy code).
...
Minor changes in pcb_calculator GUI messages to make easier translation of these messages.
Cosmetic enhancements for 2 icons
2015-05-09 10:37:50 +02:00
Maciej Suminski
99e5228948
Moved the list of TOOL_ACTIONs to ACTION_MANAGER.
2015-05-05 20:39:41 +02:00
jean-pierre charras
425ddb92a7
Cosmetic enhancements in dialogs and menus
2015-05-03 20:43:07 +02:00
Maciej Suminski
06b978b829
Refactored CONTEXT_MENU, added handler for updating.
2015-04-30 10:46:05 +02:00
Maciej Suminski
4be876a13a
Expandable CONTEXT_MENUs (GAL). Minor CONTEXT_MENU
2015-04-30 10:46:04 +02:00
jean-pierre charras
569c2be354
Minor fixes: dialog rescue: make strings translatable. Remove a few coverity warnings (not initialized members). Very minor other changes.
2015-04-28 17:07:36 +02:00