26 #ifndef __ZONE_FILLER_H 27 #define __ZONE_FILLER_H 54 bool Fill( std::vector<ZONE*>& aZones,
bool aCheck =
false, wxWindow* aParent =
nullptr );
93 std::deque<SHAPE_LINE_CHAIN>& aSpokes );
PROGRESS_REPORTER * m_progressReporter
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
A progress reporter for use in multi-threaded environments.
Represent a set of changes (additions, deletions or modifications) of a data model (e....
ZONE_FILLER(BOARD *aBoard, COMMIT *aCommit)
std::unique_ptr< WX_PROGRESS_REPORTER > m_uniqueReporter
void InstallNewProgressReporter(wxWindow *aParent, const wxString &aTitle, int aNumPhases)
void buildCopperItemClearances(const ZONE *aZone, PCB_LAYER_ID aLayer, SHAPE_POLY_SET &aHoles)
Removes clearance from the shape for copper items which share the zone's layer but are not connected ...
bool Fill(std::vector< ZONE * > &aZones, bool aCheck=false, wxWindow *aParent=nullptr)
Fills the given list of zones.
PCB_LAYER_ID
A quick note on layer IDs:
Multi-thread safe progress reporter dialog, intended for use of tasks that paralleize reporting back ...
void SetProgressReporter(PROGRESS_REPORTER *aReporter)
Represent a set of closed polygons.
void addKnockout(PAD *aPad, PCB_LAYER_ID aLayer, int aGap, SHAPE_POLY_SET &aHoles)
Add a knockout for a pad.
bool addHatchFillTypeOnZone(const ZONE *aZone, PCB_LAYER_ID aLayer, PCB_LAYER_ID aDebugLayer, SHAPE_POLY_SET &aRawPolys)
for zones having the ZONE_FILL_MODE::ZONE_FILL_MODE::HATCH_PATTERN, create a grid pattern in filled a...
Handle a list of polygons defining a copper zone.
void knockoutThermalReliefs(const ZONE *aZone, PCB_LAYER_ID aLayer, SHAPE_POLY_SET &aFill)
Removes thermal reliefs from the shape for any pads connected to the zone.
bool computeRawFilledArea(const ZONE *aZone, PCB_LAYER_ID aLayer, PCB_LAYER_ID aDebugLayer, const SHAPE_POLY_SET &aSmoothedOutline, const SHAPE_POLY_SET &aMaxExtents, SHAPE_POLY_SET &aRawPolys)
Function computeRawFilledArea Add non copper areas polygons (pads and tracks with clearance) to a fil...
Information pertinent to a Pcbnew printed circuit board.
void subtractHigherPriorityZones(const ZONE *aZone, PCB_LAYER_ID aLayer, SHAPE_POLY_SET &aRawFill)
Removes the outlines of higher-proirity zones with the same net.
SHAPE_POLY_SET m_boardOutline
bool fillSingleZone(ZONE *aZone, PCB_LAYER_ID aLayer, SHAPE_POLY_SET &aRawPolys, SHAPE_POLY_SET &aFinalPolys)
Build the filled solid areas polygons from zone outlines (stored in m_Poly) The solid areas can be mo...
void buildThermalSpokes(const ZONE *aZone, PCB_LAYER_ID aLayer, std::deque< SHAPE_LINE_CHAIN > &aSpokes)
Function buildThermalSpokes Constructs a list of all thermal spokes for the given zone.