kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #18224
[PATCH] Simple teardrops implementation
The patch attached adds simple teardrops implementation. All the teardrops
are "painted" by tracks and I mark the tracks with FLAG1 in order to
differentiate them from regular tracks. This flag is not used anywhere in
the sources so I took the liberty to use it for my purpose. I hope nobody
will object. This is definitely not the most elegant solution but it works.
This implementation should not be considered as a final work and it has a
number of limitations:
1. I can not figure out a clean solution which would allow me to delete a
single teardrop from inside the code. Currently, the user have the options
to either remove all the tracks composing a teardrop manually or use the
batch processing to remove all the teardrops from the board. I guess the
best option would be to link teardrops to parent tracks but this requires
deeper modifications to the sources.
2. Adding teardrops to medium or big size boards takes pretty much time. I
add teardrops to the board calling BOARD::Add() and KIGFX::VIEW::Add() for
every single track composing teardrop and profiler (callgrind) says that
those are two most expensive operations in my code. Are there any ways of
speeding up the process?
I will continue to work on the code but may be with less effort. Your
advice and criticism are highly welcome. I hope this patch will be useful.
Mikhail Karpenko,
Elphel, Inc.
Attachment:
teardrops.patch.zip
Description: Zip archive
Follow ups