65 m_board = std::make_unique<BOARD>();
66 m_board->SetCopperLayerCount( 2 );
72 ZONE* ruleArea =
new ZONE( m_board.get() );
79 m_board->Add( ruleArea );
96 m_board->Add( trace );
101 bds.
m_DRCEngine = std::make_shared<DRC_ENGINE>( m_board.get(), &bds );
106 for(
int code = 0; code <
DRCE_LAST; ++code )
114 int silkClearance = 0;
115 int silkMaskClearance = 0;
116 int silkEdgeClearance = 0;
117 int solderMaskBridge = 0;
120 [&](
const std::shared_ptr<DRC_ITEM>& aItem,
const VECTOR2I& ,
int ,
123 switch( aItem->GetErrorCode() )
constexpr EDA_IU_SCALE pcbIUScale
void SetLayer(PCB_LAYER_ID aLayer) override
Set the layer this item is on.
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 ClearViolationHandler()
void InitEngine(const wxFileName &aRulePath)
Initialize the DRC engine.
void SetStart(const VECTOR2I &aStart)
void SetEnd(const VECTOR2I &aEnd)
LSET is a set of PCB_LAYER_IDs.
void SetLayer(PCB_LAYER_ID aLayer) override
Set the layer this item is on.
void SetStroke(const STROKE_PARAMS &aStroke) override
void SetEnd(const VECTOR2I &aEnd)
void SetStart(const VECTOR2I &aStart)
virtual void SetWidth(int aWidth)
Simple container to manage line stroke parameters.
Handle a list of polygons defining a copper zone.
void SetIsRuleArea(bool aEnable)
void SetLayerSet(const LSET &aLayerSet) override
bool AppendCorner(VECTOR2I aPosition, int aHoleIdx, bool aAllowDuplication=false)
Add a new corner to the zone outline (to the main outline or a hole)
@ DRCE_SILK_EDGE_CLEARANCE
@ DRCE_SILK_MASK_CLEARANCE
SETTINGS_MANAGER m_settingsManager
std::unique_ptr< BOARD > m_board
DRC_SILK_RULE_AREA_FIXTURE()=default
BOOST_FIXTURE_TEST_CASE(RuleAreaDoesNotCauseSilkOrMaskViolationsIssue24177, DRC_SILK_RULE_AREA_FIXTURE)
BOOST_CHECK_EQUAL(result, "25.4")
VECTOR2< int32_t > VECTOR2I