54 virtual bool Run()
override;
56 virtual const wxString
GetName()
const override
58 return wxT(
"footprint checks" );
63 return wxT(
"Check for common footprint pad and component type errors" );
80 drcItem->SetErrorMessage( drcItem->GetErrorText() + wxS(
" " ) + aMsg );
82 drcItem->SetItems( aItemA, aItemB, aItemC );
90 footprint->CheckFootprintAttributes(
91 [&](
const wxString& aMsg )
94 aMsg, footprint->GetPosition(), footprint->GetLayer() );
102 [&](
const PAD* aPad,
int aErrorCode,
const wxString& aMsg )
106 errorHandler( aPad,
nullptr,
nullptr, aErrorCode, aMsg,
115 if( footprint->IsNetTie() )
119 footprint->CheckNetTies(
124 wxEmptyString, aPosition, footprint->GetLayer() );
128 footprint->CheckNetTiePadGroups(
129 [&](
const wxString& aMsg )
132 footprint->GetPosition(), footprint->GetLayer() );
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
const FOOTPRINTS & Footprints() const
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, DRC_CUSTOM_MARKER_HANDLER *aCustomHandler=nullptr)
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