![]() |
KiCad PCB EDA Suite
|
Public Member Functions | |
DRC_TEST_PROVIDER_COURTYARD_CLEARANCE () | |
virtual | ~DRC_TEST_PROVIDER_COURTYARD_CLEARANCE () |
virtual bool | Run () override |
Runs this provider against the given PCB with configured options (if any). More... | |
virtual const wxString | GetName () const override |
virtual const wxString | GetDescription () const override |
virtual std::set< DRC_CONSTRAINT_T > | GetConstraintTypes () const override |
int | GetNumPhases () const override |
void | SetDRCEngine (DRC_ENGINE *engine) |
virtual bool | IsRuleDriven () const |
bool | IsEnabled () const |
void | Enable (bool aEnable) |
Protected Member Functions | |
int | forEachGeometryItem (const std::vector< KICAD_T > &aTypes, LSET aLayers, const std::function< bool(BOARD_ITEM *)> &aFunc) |
virtual void | reportAux (wxString fmt,...) |
virtual void | reportViolation (std::shared_ptr< DRC_ITEM > &item, wxPoint aMarkerPos) |
virtual bool | reportProgress (int aCount, int aSize, int aDelta) |
virtual bool | reportPhase (const wxString &aStageName) |
virtual void | reportRuleStatistics () |
virtual void | accountCheck (const DRC_RULE *ruleToTest) |
virtual void | accountCheck (const DRC_CONSTRAINT &constraintToTest) |
bool | isInvisibleText (const BOARD_ITEM *aItem) const |
EDA_UNITS | userUnits () const |
Protected Attributes | |
BOARD * | m_board |
int | m_largestClearance |
bool | m_boardOutlineValid |
DRC_ENGINE * | m_drcEngine |
std::unordered_map< const DRC_RULE *, int > | m_stats |
bool | m_isRuleDriven = true |
bool | m_enabled = true |
wxString | m_msg |
Static Protected Attributes | |
static std::vector< KICAD_T > | s_allBasicItems |
static std::vector< KICAD_T > | s_allBasicItemsButZones |
Private Member Functions | |
bool | testFootprintCourtyardDefinitions () |
bool | testCourtyardClearances () |
Definition at line 40 of file drc_test_provider_courtyard_clearance.cpp.
|
inline |
Definition at line 43 of file drc_test_provider_courtyard_clearance.cpp.
References DRC_TEST_PROVIDER::m_isRuleDriven.
|
inlinevirtual |
Definition at line 48 of file drc_test_provider_courtyard_clearance.cpp.
|
protectedvirtualinherited |
Definition at line 102 of file drc_test_provider.cpp.
References DRC_TEST_PROVIDER::m_stats.
Referenced by DRC_TEST_PROVIDER::accountCheck(), and DRC_TEST_PROVIDER::reportViolation().
|
protectedvirtualinherited |
Definition at line 113 of file drc_test_provider.cpp.
References DRC_TEST_PROVIDER::accountCheck(), and DRC_CONSTRAINT::GetParentRule().
|
inlineinherited |
|
protectedinherited |
Definition at line 138 of file drc_test_provider.cpp.
References BaseType(), BOARD::Drawings(), BOARD::Footprints(), DRC_ENGINE::GetBoard(), DRC_TEST_PROVIDER::m_drcEngine, MAX_STRUCT_TYPE_ID, pad, PCB_ARC_T, PCB_DIMENSION_T, PCB_FOOTPRINT_T, PCB_FP_SHAPE_T, PCB_FP_TEXT_T, PCB_FP_ZONE_T, PCB_GROUP_T, PCB_PAD_T, PCB_SHAPE_T, PCB_TARGET_T, PCB_TEXT_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, DRC_TEST_PROVIDER::s_allBasicItems, DRC_TEST_PROVIDER::s_allBasicItemsButZones, BOARD::Tracks(), and BOARD::Zones().
Referenced by DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_HOLE_CLEARANCE::Run(), DRC_TEST_PROVIDER_SILK_TO_MASK::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), DRC_TEST_PROVIDER_MISC::testDisabledLayers(), and DRC_TEST_PROVIDER_MISC::testTextVars().
|
overridevirtual |
Implements DRC_TEST_PROVIDER.
Definition at line 271 of file drc_test_provider_courtyard_clearance.cpp.
References COURTYARD_CLEARANCE_CONSTRAINT.
|
inlineoverridevirtual |
Reimplemented from DRC_TEST_PROVIDER.
Definition at line 59 of file drc_test_provider_courtyard_clearance.cpp.
|
inlineoverridevirtual |
Reimplemented from DRC_TEST_PROVIDER.
Definition at line 54 of file drc_test_provider_courtyard_clearance.cpp.
|
overridevirtual |
Implements DRC_TEST_PROVIDER.
Definition at line 265 of file drc_test_provider_courtyard_clearance.cpp.
|
inlineinherited |
|
protectedinherited |
Definition at line 326 of file drc_test_provider.cpp.
References text.
Referenced by DRC_TEST_PROVIDER_SILK_TO_MASK::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inlinevirtualinherited |
|
protectedvirtualinherited |
Definition at line 85 of file drc_test_provider.cpp.
References DRC_TEST_PROVIDER::m_drcEngine, and DRC_ENGINE::ReportAux().
Referenced by DRC_TEST_PROVIDER::reportPhase(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_ANNULUS::Run(), Run(), DRC_TEST_PROVIDER_SILK_TO_MASK::Run(), DRC_TEST_PROVIDER_HOLE_CLEARANCE::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_LVS::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), testFootprintCourtyardDefinitions(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadClearances(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackClearances().
|
protectedvirtualinherited |
Definition at line 78 of file drc_test_provider.cpp.
References DRC_TEST_PROVIDER::m_drcEngine, DRC_TEST_PROVIDER::reportAux(), and DRC_ENGINE::ReportPhase().
Referenced by DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_HOLE_SIZE::Run(), DRC_TEST_PROVIDER_ANNULUS::Run(), DRC_TEST_PROVIDER_CONNECTIVITY::Run(), DRC_TEST_PROVIDER_SILK_TO_MASK::Run(), DRC_TEST_PROVIDER_HOLE_CLEARANCE::Run(), DRC_TEST_PROVIDER_MISC::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_LVS::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), testCourtyardClearances(), and testFootprintCourtyardDefinitions().
|
protectedvirtualinherited |
Definition at line 66 of file drc_test_provider.cpp.
References DRC_TEST_PROVIDER::m_drcEngine, and DRC_ENGINE::ReportProgress().
Referenced by DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_ANNULUS::Run(), DRC_TEST_PROVIDER_CONNECTIVITY::Run(), DRC_TEST_PROVIDER_HOLE_CLEARANCE::Run(), DRC_TEST_PROVIDER_SILK_TO_MASK::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::Run(), testCourtyardClearances(), testFootprintCourtyardDefinitions(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadClearances(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackClearances(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZones().
|
protectedvirtualinherited |
Definition at line 119 of file drc_test_provider.cpp.
References Format(), DRC_TEST_PROVIDER::m_drcEngine, DRC_TEST_PROVIDER::m_isRuleDriven, DRC_TEST_PROVIDER::m_stats, and DRC_ENGINE::ReportAux().
Referenced by DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_HOLE_SIZE::Run(), DRC_TEST_PROVIDER_ANNULUS::Run(), DRC_TEST_PROVIDER_CONNECTIVITY::Run(), DRC_TEST_PROVIDER_HOLE_CLEARANCE::Run(), DRC_TEST_PROVIDER_SILK_TO_MASK::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_LVS::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), and DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal().
|
protectedvirtualinherited |
Definition at line 56 of file drc_test_provider.cpp.
References DRC_TEST_PROVIDER::accountCheck(), DRC_TEST_PROVIDER::m_drcEngine, and DRC_ENGINE::ReportViolation().
Referenced by DRC_TEST_PROVIDER_MATCHED_LENGTH::checkLengthViolations(), DRC_TEST_PROVIDER_HOLE_SIZE::checkPad(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkSkewViolations(), DRC_TEST_PROVIDER_HOLE_SIZE::checkVia(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkViaCountViolations(), DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_ANNULUS::Run(), DRC_TEST_PROVIDER_CONNECTIVITY::Run(), DRC_TEST_PROVIDER_SILK_TO_MASK::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), testCourtyardClearances(), DRC_TEST_PROVIDER_MISC::testDisabledLayers(), testFootprintCourtyardDefinitions(), DRC_TEST_PROVIDER_LVS::testFootprints(), DRC_TEST_PROVIDER_HOLE_CLEARANCE::testHoleAgainstHole(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_MISC::testOutline(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_MISC::testTextVars(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZones().
|
overridevirtual |
Runs this provider against the given PCB with configured options (if any).
Implements DRC_TEST_PROVIDER.
Definition at line 245 of file drc_test_provider_courtyard_clearance.cpp.
References COURTYARD_CLEARANCE_CONSTRAINT, DRC_ENGINE::GetBoard(), DRC_CONSTRAINT::GetValue(), DRC_TEST_PROVIDER_CLEARANCE_BASE::m_board, DRC_TEST_PROVIDER::m_drcEngine, DRC_TEST_PROVIDER_CLEARANCE_BASE::m_largestClearance, MINOPTMAX< T >::Min(), DRC_ENGINE::QueryWorstConstraint(), DRC_TEST_PROVIDER::reportAux(), testCourtyardClearances(), and testFootprintCourtyardDefinitions().
|
inlineinherited |
Definition at line 78 of file drc_test_provider.h.
References DRC_TEST_PROVIDER::m_drcEngine, and DRC_TEST_PROVIDER::m_stats.
|
private |
Definition at line 142 of file drc_test_provider_courtyard_clearance.cpp.
References _, B_Cu, SHAPE_POLY_SET::BBoxFromCaches(), SHAPE_POLY_SET::Collide(), COURTYARD_CLEARANCE_CONSTRAINT, DRC_ITEM::Create(), DRCE_OVERLAPPING_FOOTPRINTS, DRC_ENGINE::EvalRules(), F_Cu, BOARD::Footprints(), DRC_CONSTRAINT::GetName(), DRC_CONSTRAINT::GetParentRule(), FOOTPRINT::GetPolyCourtyardBack(), FOOTPRINT::GetPolyCourtyardFront(), DRC_CONSTRAINT::GetValue(), BOX2< Vec >::Inflate(), BOX2< Vec >::Intersects(), DRC_ENGINE::IsErrorLimitExceeded(), DRC_TEST_PROVIDER_CLEARANCE_BASE::m_board, DRC_TEST_PROVIDER::m_drcEngine, DRC_TEST_PROVIDER_CLEARANCE_BASE::m_largestClearance, DRC_TEST_PROVIDER::m_msg, MessageTextFromValue(), MINOPTMAX< T >::Min(), SHAPE_POLY_SET::OutlineCount(), DRC_TEST_PROVIDER::reportPhase(), DRC_TEST_PROVIDER::reportProgress(), DRC_TEST_PROVIDER::reportViolation(), and DRC_TEST_PROVIDER::userUnits().
Referenced by Run().
|
private |
Definition at line 75 of file drc_test_provider_courtyard_clearance.cpp.
References _, DRC_ITEM::Create(), DRCE_MALFORMED_COURTYARD, DRCE_MISSING_COURTYARD, DRCE_OVERLAPPING_FOOTPRINTS, BOARD::Footprints(), DRC_ENGINE::IsErrorLimitExceeded(), DRC_TEST_PROVIDER_CLEARANCE_BASE::m_board, DRC_TEST_PROVIDER::m_drcEngine, MALFORMED_COURTYARDS, DRC_TEST_PROVIDER::reportAux(), DRC_TEST_PROVIDER::reportPhase(), DRC_TEST_PROVIDER::reportProgress(), and DRC_TEST_PROVIDER::reportViolation().
Referenced by Run().
|
protectedinherited |
Definition at line 96 of file drc_test_provider.cpp.
References DRC_TEST_PROVIDER::m_drcEngine, and DRC_ENGINE::UserUnits().
Referenced by DRC_TEST_PROVIDER_MATCHED_LENGTH::checkLengthViolations(), DRC_TEST_PROVIDER_HOLE_SIZE::checkPad(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkSkewViolations(), DRC_TEST_PROVIDER_HOLE_SIZE::checkVia(), DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_ANNULUS::Run(), DRC_TEST_PROVIDER_SILK_TO_MASK::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), testCourtyardClearances(), DRC_TEST_PROVIDER_HOLE_CLEARANCE::testHoleAgainstHole(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZones().
|
protectedinherited |
Definition at line 51 of file drc_test_provider_clearance_base.h.
Referenced by Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::Run(), testCourtyardClearances(), testFootprintCourtyardDefinitions(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadClearances(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackClearances(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZones().
|
protectedinherited |
Definition at line 53 of file drc_test_provider_clearance_base.h.
|
protectedinherited |
Definition at line 131 of file drc_test_provider.h.
Referenced by DRC_TEST_PROVIDER_HOLE_SIZE::checkPad(), DRC_TEST_PROVIDER_HOLE_SIZE::checkVia(), DRC_TEST_PROVIDER::forEachGeometryItem(), DRC_TEST_PROVIDER_LVS::GetNumPhases(), DRC_TEST_PROVIDER::reportAux(), DRC_TEST_PROVIDER::reportPhase(), DRC_TEST_PROVIDER::reportProgress(), DRC_TEST_PROVIDER::reportRuleStatistics(), DRC_TEST_PROVIDER::reportViolation(), DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_HOLE_SIZE::Run(), DRC_TEST_PROVIDER_ANNULUS::Run(), Run(), DRC_TEST_PROVIDER_CONNECTIVITY::Run(), DRC_TEST_PROVIDER_SILK_TO_MASK::Run(), DRC_TEST_PROVIDER_HOLE_CLEARANCE::Run(), DRC_TEST_PROVIDER_MISC::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_LVS::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), DRC_TEST_PROVIDER::SetDRCEngine(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), testCourtyardClearances(), testFootprintCourtyardDefinitions(), DRC_TEST_PROVIDER_LVS::testFootprints(), DRC_TEST_PROVIDER_HOLE_CLEARANCE::testHoleAgainstHole(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_MISC::testTextVars(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZones(), and DRC_TEST_PROVIDER::userUnits().
|
protectedinherited |
Definition at line 134 of file drc_test_provider.h.
Referenced by DRC_TEST_PROVIDER::Enable(), and DRC_TEST_PROVIDER::IsEnabled().
|
protectedinherited |
|
protectedinherited |
Definition at line 52 of file drc_test_provider_clearance_base.h.
Referenced by Run(), DRC_TEST_PROVIDER_HOLE_CLEARANCE::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::Run(), testCourtyardClearances(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadClearances(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackClearances().
|
protectedinherited |
Definition at line 136 of file drc_test_provider.h.
Referenced by DRC_TEST_PROVIDER_MATCHED_LENGTH::checkLengthViolations(), DRC_TEST_PROVIDER_HOLE_SIZE::checkPad(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkSkewViolations(), DRC_TEST_PROVIDER_HOLE_SIZE::checkVia(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkViaCountViolations(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_ANNULUS::Run(), DRC_TEST_PROVIDER_SILK_TO_MASK::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), testCourtyardClearances(), DRC_TEST_PROVIDER_MISC::testDisabledLayers(), DRC_TEST_PROVIDER_LVS::testFootprints(), DRC_TEST_PROVIDER_HOLE_CLEARANCE::testHoleAgainstHole(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_MISC::testOutline(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZones().
|
protectedinherited |
Definition at line 132 of file drc_test_provider.h.
Referenced by DRC_TEST_PROVIDER::accountCheck(), DRC_TEST_PROVIDER::reportRuleStatistics(), and DRC_TEST_PROVIDER::SetDRCEngine().
|
staticprotectedinherited |
Definition at line 127 of file drc_test_provider.h.
Referenced by DRC_TEST_PROVIDER::forEachGeometryItem(), DRC_TEST_PROVIDER_SILK_TO_MASK::Run(), and DRC_TEST_PROVIDER_SILK_CLEARANCE::Run().
|
staticprotectedinherited |
Definition at line 128 of file drc_test_provider.h.
Referenced by DRC_TEST_PROVIDER::forEachGeometryItem(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().