|
KiCad PCB EDA Suite
|
Filled zones have their own outline and the fill itself comes from a bunch of "related" spaces. More...
Classes | |
| class | COMPLEX_FIRST_FILL_TASK |
| Priority task dispatcher for zone fills - we want to do the biggest ones first. More... | |
| struct | FILL_INFO |
| This is all the info needed to do the fill of one layer of one zone. More... | |
Public Member Functions | |
| void | ProcessPolygons (bool aSimplify) |
| Process the polygons in a thread pool for more fans, more faster. | |
| void | QueuePolygonForZone (ZONE &aZone, SHAPE_POLY_SET aFilledArea, PCB_LAYER_ID aLayer) |
Private Attributes | |
| std::vector< FILL_INFO > | m_FillInfos |
Filled zones have their own outline and the fill itself comes from a bunch of "related" spaces.
To convert this to a KiCad-ish ZONE, we need to chop out only the bit of the wider filled zone that applies to the outline (i.e. intersection).
Then that fill has to be fractured.
This is all repeated for each layer's separated filled areas.
This takes ages, so this class handles the information you need to collect to do that later on in a thread pool, and does that.
Definition at line 3851 of file allegro_builder.cpp.
|
inline |
Process the polygons in a thread pool for more fans, more faster.
Definition at line 3908 of file allegro_builder.cpp.
References PRIORITY_THREAD_POOL_TASK< ContainerT >::Execute(), m_FillInfos, PROF_TIMER::msecs(), and traceAllegroPerf.
Referenced by ALLEGRO::BOARD_BUILDER::createZones().
|
inline |
Definition at line 3918 of file allegro_builder.cpp.
References m_FillInfos.
Referenced by ALLEGRO::BOARD_BUILDER::buildZone().
|
private |
Definition at line 3924 of file allegro_builder.cpp.
Referenced by ProcessPolygons(), and QueuePolygonForZone().