KiCad PCB EDA Suite
Loading...
Searching...
No Matches
ALLEGRO::BOARD_BUILDER::ZONE_FILL_HANDLER Class Reference

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_INFOm_FillInfos
 

Detailed Description

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.

Member Function Documentation

◆ ProcessPolygons()

void ALLEGRO::BOARD_BUILDER::ZONE_FILL_HANDLER::ProcessPolygons ( bool aSimplify)
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().

◆ QueuePolygonForZone()

void ALLEGRO::BOARD_BUILDER::ZONE_FILL_HANDLER::QueuePolygonForZone ( ZONE & aZone,
SHAPE_POLY_SET aFilledArea,
PCB_LAYER_ID aLayer )
inline

Definition at line 3918 of file allegro_builder.cpp.

References m_FillInfos.

Referenced by ALLEGRO::BOARD_BUILDER::buildZone().

Member Data Documentation

◆ m_FillInfos

std::vector<FILL_INFO> ALLEGRO::BOARD_BUILDER::ZONE_FILL_HANDLER::m_FillInfos
private

Definition at line 3924 of file allegro_builder.cpp.

Referenced by ProcessPolygons(), and QueuePolygonForZone().


The documentation for this class was generated from the following file: