53 virtual bool Run()
override;
55 virtual const wxString
GetName()
const override
57 return wxT(
"footprint checks" );
62 return wxT(
"Check for common footprint pad and component type errors" );
79 drcItem->SetErrorMessage( drcItem->GetErrorText() + wxS(
" " ) + aMsg );
81 drcItem->SetItems( aItemA, aItemB, aItemC );
89 footprint->CheckFootprintAttributes(
90 [&](
const wxString& aMsg )
93 aMsg, footprint->GetPosition(), footprint->GetLayer() );
100 footprint->CheckPads(
101 [&](
const PAD* aPad,
int aErrorCode,
const wxString& aMsg )
105 errorHandler( aPad,
nullptr,
nullptr, aErrorCode, aMsg,
114 if( footprint->IsNetTie() )
118 footprint->CheckNetTies(
123 wxEmptyString, aPosition, footprint->GetLayer() );
127 footprint->CheckNetTiePadGroups(
128 [&](
const wxString& aMsg )
131 footprint->GetPosition(), footprint->GetLayer() );
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
FOOTPRINTS & Footprints()
bool IsErrorLimitExceeded(int error_code)
static std::shared_ptr< DRC_ITEM > Create(int aErrorCode)
Constructs a DRC_ITEM for the given error code.
Represent a DRC "provider" which runs some DRC functions over a BOARD and spits out DRC_ITEM and posi...
virtual bool reportPhase(const wxString &aStageName)
virtual void reportViolation(std::shared_ptr< DRC_ITEM > &item, const VECTOR2I &aMarkerPos, int aMarkerLayer)
VECTOR2I GetPosition() const override
PCB_LAYER_ID GetPrincipalLayer() const
@ DRCE_FOOTPRINT_TYPE_MISMATCH
@ DRCE_PAD_TH_WITH_NO_HOLE
PCB_LAYER_ID
A quick note on layer IDs:
static DRC_REGISTER_TEST_PROVIDER< DRC_TEST_PROVIDER_ANNULAR_WIDTH > dummy