49 m_board = std::make_unique<BOARD>();
50 m_board->SetCopperLayerCount( 2 );
54 ZONE* zone =
new ZONE( m_board.get() );
72 int isolatedCount = 0;
78 bds.
m_DRCEngine = std::make_shared<DRC_ENGINE>( m_board.get(), &bds );
84 for(
int code = 0; code <
DRCE_LAST; ++code )
91 [&](
const std::shared_ptr<DRC_ITEM>& aItem,
const VECTOR2I& ,
int ,
constexpr EDA_IU_SCALE pcbIUScale
Container for design settings for a BOARD object.
std::map< int, SEVERITY > m_DRCSeverities
std::shared_ptr< DRC_ENGINE > m_DRCEngine
void RunTests(EDA_UNITS aUnits, bool aReportAllTrackErrors, bool aTestFootprints, BOARD_COMMIT *aCommit=nullptr)
Run the DRC tests.
void SetViolationHandler(DRC_VIOLATION_HANDLER aHandler)
Set an optional DRC violation handler (receives DRC_ITEMs and positions).
void InitEngine(const wxFileName &aRulePath)
Initialize the DRC engine.
Handle a list of polygons defining a copper zone.
virtual void SetLayer(PCB_LAYER_ID aLayer) override
Set the layer this item is on.
void SetFillMode(ZONE_FILL_MODE aFillMode)
void SetThievingSettings(const THIEVING_SETTINGS &aSettings)
bool AppendCorner(VECTOR2I aPosition, int aHoleIdx, bool aAllowDuplication=false)
Add a new corner to the zone outline (to the main outline or a hole)
void SetIslandRemovalMode(ISLAND_REMOVAL_MODE aRemove)
void FillZones(BOARD *m_board)
DRC_COPPER_THIEVING_FIXTURE()
SETTINGS_MANAGER m_settingsManager
std::unique_ptr< BOARD > m_board
Parameters that drive copper-thieving fill generation.
BOOST_FIXTURE_TEST_CASE(ThievingZoneProducesNoIsolatedCopperViolations, DRC_COPPER_THIEVING_FIXTURE)
A copper-thieving zone produces a grid of intentionally-isolated stamps.
BOOST_CHECK_EQUAL(result, "25.4")
VECTOR2< int32_t > VECTOR2I