KiCad PCB EDA Suite
Loading...
Searching...
No Matches
zone_utils.cpp File Reference
#include "zone_utils.h"
#include <zone.h>
#include <geometry/shape_poly_set.h>

Go to the source code of this file.

Functions

std::vector< std::unique_ptr< ZONE > > MergeZonesWithSameOutline (std::vector< std::unique_ptr< ZONE > > &&aZones)
 Merges zones with identical outlines and nets on different layers into single multi-layer zones.
 

Function Documentation

◆ MergeZonesWithSameOutline()

std::vector< std::unique_ptr< ZONE > > MergeZonesWithSameOutline ( std::vector< std::unique_ptr< ZONE > > && aZones)

Merges zones with identical outlines and nets on different layers into single multi-layer zones.

Parameters
aZonesis the zones to merge. Ownership of all the zones is taken (some will be returned)
Returns
the merged zones. Ownership of all the returned zones is transferred to the caller.

Definition at line 30 of file zone_utils.cpp.

References SHAPE_LINE_CHAIN::BBox(), SHAPE_LINE_CHAIN::CompareGeometry(), SHAPE_POLY_SET::CPolygon(), ZONE::GetFill(), ZONE::GetLayerSet(), SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), SHAPE_LINE_CHAIN::PointCount(), ZONE::SetFilledPolysList(), ZONE::SetIsFilled(), ZONE::SetLayerSet(), and ZONE::SetNeedRefill().

Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and ALLEGRO::BOARD_BUILDER::createZones().