KiCad PCB EDA Suite
|
Public Member Functions | |
DRC_TEST_PROVIDER_SOLDER_MASK () | |
virtual | ~DRC_TEST_PROVIDER_SOLDER_MASK () |
virtual bool | Run () override |
Run this provider against the given PCB with configured options (if any). More... | |
virtual const wxString | GetName () const override |
virtual const wxString | GetDescription () const override |
void | SetDRCEngine (DRC_ENGINE *engine) |
bool | RunTests (EDA_UNITS aUnits) |
EDA_UNITS | GetUserUnits () const |
void | SetUserUnits (EDA_UNITS aUnits) |
const EDA_IU_SCALE & | GetIuScale () const |
virtual ORIGIN_TRANSFORMS & | GetOriginTransforms () |
wxString | StringFromValue (double aValue, bool aAddUnitLabel=false, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE) |
Converts aValue in internal units into a united string. More... | |
wxString | StringFromValue (const EDA_ANGLE &aValue, bool aAddUnitLabel=false) |
wxString | MessageTextFromValue (double aValue, bool aAddUnitLabel=true, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE) |
A lower-precision version of StringFromValue(). More... | |
wxString | MessageTextFromValue (const EDA_ANGLE &aValue, bool aAddUnitLabel=true) |
int | ValueFromString (const wxString &aTextValue, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE) |
Converts aTextValue in aUnits to internal units used by the frame. More... | |
EDA_ANGLE | AngleValueFromString (const wxString &aTextValue) |
Static Public Member Functions | |
static void | Init () |
Protected Member Functions | |
int | forEachGeometryItem (const std::vector< KICAD_T > &aTypes, LSET aLayers, const std::function< bool(BOARD_ITEM *)> &aFunc) |
void | reportAux (const wxString &aMsg) |
virtual void | reportAux (const wxChar *fmt,...) |
virtual void | reportViolation (std::shared_ptr< DRC_ITEM > &item, const VECTOR2I &aMarkerPos, int aMarkerLayer) |
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 |
wxString | formatMsg (const wxString &aFormatString, const wxString &aSource, int aConstraint, int aActual) |
EDA_UNITS | userUnits () const |
Protected Attributes | |
DRC_ENGINE * | m_drcEngine |
std::unordered_map< const DRC_RULE *, int > | m_stats |
bool | m_isRuleDriven = true |
Static Protected Attributes | |
static std::vector< KICAD_T > | s_allBasicItems |
static std::vector< KICAD_T > | s_allBasicItemsButZones |
Private Member Functions | |
void | addItemToRTrees (BOARD_ITEM *aItem) |
void | buildRTrees () |
void | testSilkToMaskClearance () |
void | testMaskBridges () |
void | testItemAgainstItems (BOARD_ITEM *aItem, const BOX2I &aItemBBox, PCB_LAYER_ID aRefLayer, PCB_LAYER_ID aTargetLayer) |
void | testMaskItemAgainstZones (BOARD_ITEM *item, const BOX2I &itemBBox, PCB_LAYER_ID refLayer, PCB_LAYER_ID targetLayer) |
bool | checkMaskAperture (BOARD_ITEM *aMaskItem, BOARD_ITEM *aTestItem, PCB_LAYER_ID aTestLayer, int aTestNet, BOARD_ITEM **aCollidingItem) |
bool | checkItemMask (BOARD_ITEM *aMaskItem, int aTestNet) |
Private Attributes | |
DRC_RULE | m_bridgeRule |
BOARD * | m_board |
int | m_webWidth |
int | m_maxError |
int | m_largestClearance |
std::unique_ptr< DRC_RTREE > | m_fullSolderMaskRTree |
std::unique_ptr< DRC_RTREE > | m_itemTree |
std::unordered_map< PTR_PTR_CACHE_KEY, LSET > | m_checkedPairs |
std::unordered_map< PTR_LAYER_CACHE_KEY, std::pair< BOARD_ITEM *, int > > | m_maskApertureNetMap |
const EDA_IU_SCALE & | m_iuScale |
EDA_UNITS | m_userUnits |
Definition at line 47 of file drc_test_provider_solder_mask.cpp.
|
inline |
Definition at line 50 of file drc_test_provider_solder_mask.cpp.
References _, m_bridgeRule, and DRC_RULE::m_Name.
|
inlinevirtual |
Definition at line 59 of file drc_test_provider_solder_mask.cpp.
|
protectedvirtualinherited |
Definition at line 127 of file drc_test_provider.cpp.
References DRC_TEST_PROVIDER::accountCheck(), and DRC_CONSTRAINT::GetParentRule().
|
protectedvirtualinherited |
Definition at line 116 of file drc_test_provider.cpp.
References DRC_TEST_PROVIDER::m_stats.
Referenced by DRC_TEST_PROVIDER::accountCheck(), and DRC_TEST_PROVIDER::reportViolation().
|
private |
Definition at line 113 of file drc_test_provider_solder_mask.cpp.
References B_Mask, SHAPE_POLY_SET::BooleanAdd(), ERROR_OUTSIDE, F_Mask, ZONE::GetFill(), ZONE::GetFilledPolysList(), BOARD_ITEM::IsOnLayer(), ZONE::IsOnLayer(), m_board, m_itemTree, m_largestClearance, m_maxError, BOARD::m_SolderMask, m_webWidth, pad, PCB_PAD_T, PCB_TEXT_T, PCB_VIA_T, PCB_ZONE_T, SHAPE_POLY_SET::PM_FAST, text, BOARD_ITEM::TransformShapeToPolygon(), EDA_ITEM::Type(), and via.
Referenced by buildRTrees().
|
inlineinherited |
Definition at line 120 of file units_provider.h.
References DEGREES_T, EDA_UNIT_UTILS::UI::DoubleValueFromString(), and UNITS_PROVIDER::GetIuScale().
Referenced by FP_TEXT_GRID_TABLE::SetValue().
|
private |
Definition at line 193 of file drc_test_provider_solder_mask.cpp.
References addItemToRTrees(), B_Cu, B_Mask, ZONE::CacheTriangulation(), SHAPE_POLY_SET::CHAMFER_ALL_CORNERS, SHAPE_POLY_SET::Deflate(), F_Cu, F_Mask, DRC_TEST_PROVIDER::forEachGeometryItem(), ZONE::GetFill(), m_board, m_checkedPairs, m_fullSolderMaskRTree, m_itemTree, m_maxError, BOARD::m_SolderMask, m_webWidth, SHAPE_POLY_SET::PM_STRICTLY_SIMPLE, SHAPE_POLY_SET::RemoveAllContours(), DRC_TEST_PROVIDER::reportProgress(), DRC_TEST_PROVIDER::s_allBasicItems, ZONE::SetFillFlag(), ZONE::SetIsFilled(), and SHAPE_POLY_SET::Simplify().
Referenced by Run().
|
private |
Definition at line 407 of file drc_test_provider_solder_mask.cpp.
References FP_ALLOW_SOLDERMASK_BRIDGES, FOOTPRINT::GetAttributes(), BOARD_ITEM::GetParentFootprint(), FOOTPRINT::IsNetTie(), FOOTPRINT::MapPadNumbersToNetTieGroups(), and PCB_PAD_T.
Referenced by testItemAgainstItems().
|
private |
Definition at line 357 of file drc_test_provider_solder_mask.cpp.
References B_Cu, B_Mask, F_Cu, F_Mask, FP_ALLOW_SOLDERMASK_BRIDGES, FOOTPRINT::GetAttributes(), BOARD_ITEM::GetParentFootprint(), BOARD_ITEM::IsOnLayer(), m_maskApertureNetMap, PCB_PAD_T, PAD::SharesNetTieGroup(), and EDA_ITEM::Type().
Referenced by testItemAgainstItems(), and testMaskItemAgainstZones().
|
protectedinherited |
Definition at line 152 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_PAD_T, PCB_SHAPE_T, PCB_TARGET_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, BOARD::Tracks(), and BOARD::Zones().
Referenced by buildRTrees(), DRC_CACHE_GENERATOR::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_HOLE_TO_HOLE::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_SLIVER_CHECKER::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), DRC_TEST_PROVIDER_MISC::testAssertions(), DRC_TEST_PROVIDER_MISC::testDisabledLayers(), testMaskBridges(), testSilkToMaskClearance(), and DRC_TEST_PROVIDER_MISC::testTextVars().
|
protectedinherited |
Definition at line 358 of file drc_test_provider.cpp.
References UNITS_PROVIDER::MessageTextFromValue(), and UNITS_PROVIDER::StringFromValue().
Referenced by DRC_TEST_PROVIDER_MATCHED_LENGTH::checkLengths(), DRC_TEST_PROVIDER_HOLE_SIZE::checkPadHole(), DRC_TEST_PROVIDER_HOLE_SIZE::checkViaHole(), DRC_TEST_PROVIDER_ANNULAR_WIDTH::Run(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances(), DRC_TEST_PROVIDER_HOLE_TO_HOLE::testHoleAgainstHole(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testZoneLayer(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones().
|
inlineoverridevirtual |
Reimplemented from DRC_TEST_PROVIDER.
Definition at line 70 of file drc_test_provider_solder_mask.cpp.
|
inlineinherited |
Definition at line 45 of file units_provider.h.
References UNITS_PROVIDER::m_iuScale.
Referenced by UNITS_PROVIDER::AngleValueFromString(), GRID_MENU::BuildChoiceList(), UNITS_PROVIDER::MessageTextFromValue(), UNIT_BINDER::onUnitsChanged(), COMMON_TOOLS::Reset(), UNITS_PROVIDER::StringFromValue(), and UNITS_PROVIDER::ValueFromString().
|
inlineoverridevirtual |
Reimplemented from DRC_TEST_PROVIDER.
Definition at line 65 of file drc_test_provider_solder_mask.cpp.
|
inlinevirtualinherited |
Reimplemented in EDA_BASE_FRAME, and PCB_BASE_FRAME.
Definition at line 48 of file units_provider.h.
|
inlineinherited |
Definition at line 42 of file units_provider.h.
References UNITS_PROVIDER::m_userUnits.
Referenced by DIALOG_BOOK_REPORTER::AddHTMLPage(), PG_UNIT_EDITOR::CreateControls(), PCB::IFACE::CreateKiWindow(), DIALOG_SHIM::DIALOG_SHIM(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), PL_EDITOR_FRAME::DisplayGridMsg(), EDA_DRAW_FRAME::DisplayUnitsMsg(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawSpecificationStackup(), EVT_GRID_CMD_CELL_CHANGED(), PROPERTIES_PANEL::extractValueAndWritability(), FP_TEXT_GRID_TABLE::FP_TEXT_GRID_TABLE(), GERBER_DRAW_ITEM::GetMsgPanelInfo(), EDA_DRAW_FRAME::GetUnitPair(), WX_GRID::GetUnitValue(), GetUserUnits(), UNIT_BINDER::init(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), UNITS_PROVIDER::MessageTextFromValue(), PANEL_SETUP_BOARD_STACKUP::onAdjustDielectricThickness(), WX_GRID::onCellEditorHidden(), PANEL_SETUP_BOARD_STACKUP::onExportToClipboard(), PANEL_PREVIEW_3D_MODEL::onUnitsChanged(), PANEL_SETUP_NETCLASSES::onUnitsChanged(), UNIT_BINDER::onUnitsChanged(), DIALOG_TRACK_VIA_PROPERTIES::onUnitsChanged(), DIALOG_NET_INSPECTOR::onUnitsChanged(), PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL(), PANEL_SETUP_NETCLASSES::PANEL_SETUP_NETCLASSES(), PG_UNIT_EDITOR::PG_UNIT_EDITOR(), PIN_TABLE_DATA_MODEL::PIN_TABLE_DATA_MODEL(), POSITION_RELATIVE_TOOL::PositionRelative(), PROPERTIES_PANEL::rebuildProperties(), DRC_TOOL::RunTests(), EDA_DRAW_FRAME::SaveSettings(), PCB_BASE_FRAME::SetBoard(), WX_GRID::SetUnitsProvider(), PIN_TABLE_DATA_MODEL::SetValue(), FP_TEXT_GRID_TABLE::SetValue(), GERBVIEW_INSPECTION_TOOL::ShowDCodes(), UNITS_PROVIDER::StringFromValue(), COMMON_TOOLS::ToggleUnits(), EDA_DRAW_FRAME::ToggleUserUnits(), PCB_BASE_FRAME::unitsChangeRefresh(), EDITOR_CONDITIONS::unitsFunc(), GERBVIEW_FRAME::updateDCodeSelectBox(), PG_UNIT_EDITOR::UpdateFrame(), PNS_TUNE_STATUS_POPUP::UpdateStatus(), PL_EDITOR_FRAME::UpdateStatusBar(), DRC_TOOL::userUnits(), and UNITS_PROVIDER::ValueFromString().
|
staticinherited |
Definition at line 53 of file drc_test_provider.cpp.
References MAX_STRUCT_TYPE_ID, PCB_FOOTPRINT_T, PCB_GROUP_T, PCB_ZONE_T, DRC_TEST_PROVIDER::s_allBasicItems, and DRC_TEST_PROVIDER::s_allBasicItemsButZones.
Referenced by DRC_ENGINE::RunTests().
|
protectedinherited |
Definition at line 346 of file drc_test_provider.cpp.
References text.
Referenced by DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), and testSilkToMaskClearance().
|
inlineinherited |
Definition at line 96 of file units_provider.h.
References EDA_ANGLE::AsDegrees(), EDA_UNIT_UTILS::UI::MessageTextFromValue(), and unityScale.
|
inlineinherited |
A lower-precision version of StringFromValue().
Should ONLY be used for status text and messages. Not suitable for dialogs, files, etc. where the loss of precision matters.
Definition at line 89 of file units_provider.h.
References UNITS_PROVIDER::GetIuScale(), UNITS_PROVIDER::GetUserUnits(), and EDA_UNIT_UTILS::UI::MessageTextFromValue().
Referenced by CheckLibSymbol(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkSkews(), DIALOG_BOARD_REANNOTATE::CoordTowxString(), EDA_DRAW_FRAME::DisplayGridMsg(), GERBVIEW_FRAME::DisplayGridMsg(), PCB_BASE_FRAME::DisplayGridMsg(), GERBER_FILE_IMAGE::DisplayImageInfo(), DRAWING_TOOL::DrawBoardCharacteristics(), DRC_ENGINE::EvalRules(), DIALOG_NET_INSPECTOR::formatLength(), DRC_TEST_PROVIDER::formatMsg(), LIB_SHAPE::GetItemDescription(), SCH_LINE::GetItemDescription(), SCH_SHAPE::GetItemDescription(), DS_DRAW_ITEM_LINE::GetItemDescription(), DS_DRAW_ITEM_RECT::GetItemDescription(), PCB_TRACK::GetItemDescription(), LIB_FIELD::GetMsgPanelInfo(), LIB_PIN::GetMsgPanelInfo(), LIB_TEXT::GetMsgPanelInfo(), LIB_TEXTBOX::GetMsgPanelInfo(), SCH_BITMAP::GetMsgPanelInfo(), SCH_FIELD::GetMsgPanelInfo(), SCH_JUNCTION::GetMsgPanelInfo(), SCH_LABEL_BASE::GetMsgPanelInfo(), SCH_PIN::GetMsgPanelInfo(), SCH_TEXT::GetMsgPanelInfo(), SCH_TEXTBOX::GetMsgPanelInfo(), DS_DRAW_ITEM_BASE::GetMsgPanelInfo(), NETINFO_ITEM::GetMsgPanelInfo(), PAD::GetMsgPanelInfo(), PCB_BITMAP::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_DIM_ALIGNED::GetMsgPanelInfo(), PCB_DIM_LEADER::GetMsgPanelInfo(), PCB_TARGET::GetMsgPanelInfo(), PCB_TEXT::GetMsgPanelInfo(), PCB_TEXTBOX::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), PCB_VIA::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), STROKE_PARAMS::GetMsgPanelInfo(), GetNetNavigatorItemText(), SYMBOL_SEARCH_HANDLER::GetResultCell(), TEXT_SEARCH_HANDLER::GetResultCell(), LABEL_SEARCH_HANDLER::GetResultCell(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), ZONE_SEARCH_HANDLER::GetResultCell(), DIALOG_BOARD_REANNOTATE::MakeSampleText(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), DIALOG_BOARD_STATISTICS::saveReportClicked(), EDA_SHAPE::ShapeGetMsgPanelInfo(), showCoord(), TRACK_WIDTH_MENU::update(), DIFF_PAIR_MENU::update(), VIA_SIZE_MENU::update(), BOARD_NETLIST_UPDATER::updateCopperZoneNets(), DIALOG_BOARD_STATISTICS::updateDrillGrid(), PCB_CONTROL::UpdateMessagePanel(), PL_EDITOR_FRAME::UpdateMsgPanelInfo(), SCH_BASE_FRAME::UpdateStatusBar(), GERBVIEW_FRAME::UpdateStatusBar(), PCB_BASE_FRAME::UpdateStatusBar(), and DIALOG_BOARD_STATISTICS::updateWidets().
|
protectedvirtualinherited |
Definition at line 105 of file drc_test_provider.cpp.
References DRC_TEST_PROVIDER::m_drcEngine, and DRC_ENGINE::ReportAux().
|
inlineprotectedinherited |
Definition at line 108 of file drc_test_provider.h.
References DRC_TEST_PROVIDER::reportAux().
Referenced by DRC_TEST_PROVIDER::reportAux(), DRC_TEST_PROVIDER::reportPhase(), DRC_TEST_PROVIDER_ANNULAR_WIDTH::Run(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::Run(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_HOLE_TO_HOLE::Run(), DRC_TEST_PROVIDER_LIBRARY_PARITY::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testFootprintCourtyardDefinitions(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadClearances(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackClearances().
|
protectedvirtualinherited |
Definition at line 98 of file drc_test_provider.cpp.
References DRC_TEST_PROVIDER::m_drcEngine, DRC_TEST_PROVIDER::reportAux(), and DRC_ENGINE::ReportPhase().
Referenced by DRC_CACHE_GENERATOR::Run(), DRC_TEST_PROVIDER_ANNULAR_WIDTH::Run(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), DRC_TEST_PROVIDER_CONNECTIVITY::Run(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_FOOTPRINT_CHECKS::Run(), DRC_TEST_PROVIDER_HOLE_SIZE::Run(), DRC_TEST_PROVIDER_HOLE_TO_HOLE::Run(), DRC_TEST_PROVIDER_LIBRARY_PARITY::Run(), DRC_TEST_PROVIDER_MISC::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_SLIVER_CHECKER::Run(), Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances(), and DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testFootprintCourtyardDefinitions().
|
protectedvirtualinherited |
Definition at line 86 of file drc_test_provider.cpp.
References DRC_TEST_PROVIDER::m_drcEngine, and DRC_ENGINE::ReportProgress().
Referenced by buildRTrees(), DRC_CACHE_GENERATOR::Run(), DRC_TEST_PROVIDER_ANNULAR_WIDTH::Run(), DRC_TEST_PROVIDER_CONNECTIVITY::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_HOLE_TO_HOLE::Run(), DRC_TEST_PROVIDER_LIBRARY_PARITY::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), DRC_TEST_PROVIDER_MISC::testAssertions(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances(), DRC_TEST_PROVIDER_MISC::testDisabledLayers(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testFootprintCourtyardDefinitions(), testMaskBridges(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadClearances(), testSilkToMaskClearance(), DRC_TEST_PROVIDER_MISC::testTextVars(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackClearances(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones().
|
protectedvirtualinherited |
Definition at line 133 of file drc_test_provider.cpp.
References DRC_TEST_PROVIDER::m_drcEngine, DRC_TEST_PROVIDER::m_isRuleDriven, DRC_TEST_PROVIDER::m_stats, and DRC_ENGINE::ReportAux().
Referenced by DRC_TEST_PROVIDER_ANNULAR_WIDTH::Run(), DRC_TEST_PROVIDER_CONNECTIVITY::Run(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_HOLE_SIZE::Run(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::Run(), Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), and DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal().
|
protectedvirtualinherited |
Definition at line 75 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::checkLengths(), DRC_TEST_PROVIDER_HOLE_SIZE::checkPadHole(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkSkews(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkViaCounts(), DRC_TEST_PROVIDER_HOLE_SIZE::checkViaHole(), DRC_TEST_PROVIDER_ANNULAR_WIDTH::Run(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), DRC_TEST_PROVIDER_CONNECTIVITY::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_FOOTPRINT_CHECKS::Run(), DRC_TEST_PROVIDER_LIBRARY_PARITY::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_SLIVER_CHECKER::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), DRC_TEST_PROVIDER_MISC::testAssertions(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances(), DRC_TEST_PROVIDER_MISC::testDisabledLayers(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testFootprintCourtyardDefinitions(), DRC_TEST_PROVIDER_HOLE_TO_HOLE::testHoleAgainstHole(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), testItemAgainstItems(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), testMaskItemAgainstZones(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), DRC_TEST_PROVIDER_MISC::testOutline(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), DRC_TEST_PROVIDER_MISC::testTextVars(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testZoneLayer(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones().
|
overridevirtual |
Run this provider against the given PCB with configured options (if any).
Implements DRC_TEST_PROVIDER.
Definition at line 730 of file drc_test_provider_solder_mask.cpp.
References _, buildRTrees(), DRCE_SILK_CLEARANCE, DRCE_SOLDERMASK_BRIDGE, BOARD::Footprints(), DRC_ENGINE::GetBoard(), BOARD::GetDesignSettings(), DRC_ENGINE::IsCancelled(), DRC_ENGINE::IsErrorLimitExceeded(), m_board, m_checkedPairs, DRC_TEST_PROVIDER::m_drcEngine, m_largestClearance, m_maskApertureNetMap, BOARD_DESIGN_SETTINGS::m_MaxError, m_maxError, BOARD_DESIGN_SETTINGS::m_SolderMaskMinWidth, DRC_CONSTRAINT::m_Value, m_webWidth, MINOPTMAX< T >::Min(), pad, DRC_ENGINE::QueryWorstConstraint(), DRC_TEST_PROVIDER::reportAux(), DRC_TEST_PROVIDER::reportPhase(), DRC_TEST_PROVIDER::reportRuleStatistics(), SILK_CLEARANCE_CONSTRAINT, testMaskBridges(), and testSilkToMaskClearance().
|
inlineinherited |
Definition at line 88 of file drc_test_provider.h.
References DRC_TEST_PROVIDER::Run(), and UNITS_PROVIDER::SetUserUnits().
|
inlineinherited |
Definition at line 82 of file drc_test_provider.h.
References DRC_TEST_PROVIDER::m_drcEngine, and DRC_TEST_PROVIDER::m_stats.
Referenced by DRC_INTERACTIVE_COURTYARD_CLEARANCE::DRC_INTERACTIVE_COURTYARD_CLEARANCE(), and DRC_ENGINE::RunTests().
|
inlineinherited |
Definition at line 43 of file units_provider.h.
References UNITS_PROVIDER::m_userUnits.
Referenced by EDA_BASE_FRAME::ChangeUserUnits(), PCB::IFACE::CreateKiWindow(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_DIM_ALIGNED::GetMsgPanelInfo(), EDA_DRAW_FRAME::LoadSettings(), DRC_TEST_PROVIDER::RunTests(), DRC_ENGINE::RunTests(), and EDA_DRAW_FRAME::ToggleUserUnits().
|
inlineinherited |
Definition at line 76 of file units_provider.h.
References EDA_ANGLE::AsDegrees(), EDA_UNIT_UTILS::UI::StringFromValue(), and unityScale.
|
inlineinherited |
Converts aValue in internal units into a united string.
For readability, trailing 0s are removed if the mantissa has 3 or more digits. This function should be used to display values in dialogs because a value entered in mm (for instance 2.0 mm) could need up to 8 digits mantissa if displayed in inch to avoid truncation or rounding made just by the printf function.
aValue | = value in internal units |
aAddUnitLabel | = true to add symbol unit to the string value |
aType | is the type of this value, and controls the way the value is converted to a string, and the suitable unit |
Definition at line 69 of file units_provider.h.
References UNITS_PROVIDER::GetIuScale(), UNITS_PROVIDER::GetUserUnits(), and EDA_UNIT_UTILS::UI::StringFromValue().
Referenced by DIALOG_PLOT::applyPlotSettings(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::buildNetclassesGrid(), PANEL_SETUP_BOARD_STACKUP::computeBoardThickness(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DRAWING_TOOL::DrawSpecificationStackup(), VALIDATION_ERROR_TOO_LARGE< T >::Format(), VALIDATION_ERROR_TOO_SMALL< T >::Format(), DRC_TEST_PROVIDER::formatMsg(), PIN_TABLE_DATA_MODEL::GetValue(), FP_TEXT_GRID_TABLE::GetValue(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectDRCError(), PANEL_SETUP_BOARD_STACKUP::lazyBuildRowUI(), PANEL_SETUP_BOARD_STACKUP::onAdjustDielectricThickness(), WX_GRID::onCellEditorHidden(), DIALOG_TRACK_VIA_PROPERTIES::onUnitsChanged(), reportMax(), reportMin(), reportOpt(), PANEL_SETUP_BOARD_STACKUP::setDefaultLayerWidths(), WX_GRID::SetUnitValue(), PANEL_SETUP_BOARD_STACKUP::synchronizeWithBoard(), DIALOG_GRID_SETTINGS::TransferDataFromWindow(), PANEL_SETUP_CONSTRAINTS::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES::Validate(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::Validate().
|
private |
Definition at line 433 of file drc_test_provider_solder_mask.cpp.
References _, B_Mask, checkItemMask(), checkMaskAperture(), DRC_ITEM::Create(), DRCE_SOLDERMASK_BRIDGE, F_Mask, FP_ALLOW_SOLDERMASK_BRIDGES, FOOTPRINT::GetAttributes(), BOARD_ITEM::GetBoard(), BOARD::GetDesignSettings(), BOARD_ITEM::GetEffectiveShape(), BOARD_CONNECTED_ITEM::GetNetCode(), BOARD_ITEM::GetParentFootprint(), PAD::GetSolderMaskExpansion(), PCB_VIA::GetSolderMaskExpansion(), DRC_ENGINE::IsCancelled(), BOARD_ITEM::IsConnected(), isMaskAperture(), isNullAperture(), PCB_VIA::IsTented(), BOARD_DESIGN_SETTINGS::m_AllowSoldermaskBridgesInFPs, m_board, m_bridgeRule, m_checkedPairs, DRC_TEST_PROVIDER::m_drcEngine, m_itemTree, m_largestClearance, BOARD_DESIGN_SETTINGS::m_SolderMaskToCopperClearance, m_webWidth, pad, DRC_TEST_PROVIDER::reportViolation(), and via.
Referenced by testMaskBridges().
|
private |
Definition at line 671 of file drc_test_provider_solder_mask.cpp.
References B_Cu, B_Mask, DRCE_SOLDERMASK_BRIDGE, F_Cu, F_Mask, DRC_TEST_PROVIDER::forEachGeometryItem(), EDA_ITEM::GetBoundingBox(), DRC_ENGINE::IsErrorLimitExceeded(), isNullAperture(), BOARD_ITEM::IsOnLayer(), DRC_TEST_PROVIDER::m_drcEngine, DRC_TEST_PROVIDER::reportProgress(), DRC_TEST_PROVIDER::s_allBasicItemsButZones, testItemAgainstItems(), and testMaskItemAgainstZones().
Referenced by Run().
|
private |
Definition at line 590 of file drc_test_provider_solder_mask.cpp.
References _, checkMaskAperture(), DRC_ITEM::Create(), DRCE_SOLDERMASK_BRIDGE, F_Mask, ZONE::GetBoundingBox(), BOARD::GetDesignSettings(), BOARD_ITEM::GetEffectiveShape(), ZONE::GetLayerSet(), BOARD_CONNECTED_ITEM::GetNetCode(), PCB_VIA::GetSolderMaskExpansion(), BOX2< Vec >::Inflate(), BOX2< Vec >::Intersects(), DRC_ENGINE::IsCancelled(), BOARD_ITEM::IsConnected(), isMaskAperture(), m_board, m_bridgeRule, BOARD::m_CopperZoneRTreeCache, BOARD::m_DRCCopperZones, DRC_TEST_PROVIDER::m_drcEngine, BOARD_DESIGN_SETTINGS::m_SolderMaskToCopperClearance, PCB_PAD_T, PCB_VIA_T, DRC_RTREE::QueryColliding(), DRC_TEST_PROVIDER::reportViolation(), and EDA_ITEM::Type().
Referenced by testMaskBridges().
|
private |
Definition at line 246 of file drc_test_provider_solder_mask.cpp.
References B_SilkS, DRCE_SILK_CLEARANCE, F_SilkS, DRC_TEST_PROVIDER::forEachGeometryItem(), DRC_ENGINE::IsErrorLimitExceeded(), DRC_TEST_PROVIDER::isInvisibleText(), DRC_TEST_PROVIDER::m_drcEngine, DRC_TEST_PROVIDER::reportProgress(), DRC_TEST_PROVIDER::s_allBasicItems, and LSET::Seq().
Referenced by Run().
|
protectedinherited |
|
inlineinherited |
Converts aTextValue in aUnits to internal units used by the frame.
aType | is the type of this value, and controls the way the string is converted to a value |
aTextValue | A reference to a wxString object containing the string to convert. |
Definition at line 112 of file units_provider.h.
References EDA_UNIT_UTILS::UI::DoubleValueFromString(), UNITS_PROVIDER::GetIuScale(), and UNITS_PROVIDER::GetUserUnits().
Referenced by PIN_TABLE_DATA_MODEL::compare(), PANEL_SETUP_BOARD_STACKUP::computeBoardThickness(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), WX_GRID::GetUnitValue(), PANEL_SETUP_BOARD_STACKUP::onAdjustDielectricThickness(), WX_GRID::onCellEditorHidden(), PANEL_SETUP_BOARD_STACKUP::onCopperLayersSelCount(), PANEL_SETUP_TRACKS_AND_VIAS::OnSortDiffPairsClick(), PANEL_SETUP_TRACKS_AND_VIAS::OnSortTrackWidthsClick(), PANEL_SETUP_TRACKS_AND_VIAS::OnSortViaSizesClick(), PANEL_SETUP_BOARD_STACKUP::onThicknessChange(), PANEL_SETUP_BOARD_STACKUP::setDefaultLayerWidths(), PIN_TABLE_DATA_MODEL::SetValue(), FP_TEXT_GRID_TABLE::SetValue(), PANEL_SETUP_BOARD_STACKUP::transferDataFromUIToStackup(), DIALOG_GRID_SETTINGS::TransferDataToWindow(), and DIALOG_FOOTPRINT_PROPERTIES::Validate().
|
private |
Definition at line 96 of file drc_test_provider_solder_mask.cpp.
Referenced by addItemToRTrees(), buildRTrees(), Run(), testItemAgainstItems(), and testMaskItemAgainstZones().
|
private |
Definition at line 94 of file drc_test_provider_solder_mask.cpp.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK(), testItemAgainstItems(), and testMaskItemAgainstZones().
|
private |
Definition at line 104 of file drc_test_provider_solder_mask.cpp.
Referenced by buildRTrees(), Run(), and testItemAgainstItems().
|
protectedinherited |
Definition at line 132 of file drc_test_provider.h.
Referenced by DRC_TEST_PROVIDER_HOLE_SIZE::checkPadHole(), DRC_TEST_PROVIDER_HOLE_SIZE::checkViaHole(), DRC_TEST_PROVIDER::forEachGeometryItem(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::layerDesc(), DRC_TEST_PROVIDER_SLIVER_CHECKER::layerDesc(), DRC_TEST_PROVIDER::reportAux(), DRC_TEST_PROVIDER::reportPhase(), DRC_TEST_PROVIDER::reportProgress(), DRC_TEST_PROVIDER::reportRuleStatistics(), DRC_TEST_PROVIDER::reportViolation(), DRC_CACHE_GENERATOR::Run(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::Run(), DRC_TEST_PROVIDER_ANNULAR_WIDTH::Run(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), DRC_TEST_PROVIDER_CONNECTIVITY::Run(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::Run(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_FOOTPRINT_CHECKS::Run(), DRC_TEST_PROVIDER_HOLE_SIZE::Run(), DRC_TEST_PROVIDER_HOLE_TO_HOLE::Run(), DRC_TEST_PROVIDER_LIBRARY_PARITY::Run(), DRC_TEST_PROVIDER_MISC::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_SLIVER_CHECKER::Run(), Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_VIA_DIAMETER::Run(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), DRC_TEST_PROVIDER::SetDRCEngine(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), DRC_TEST_PROVIDER_MISC::testAssertions(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances(), DRC_TEST_PROVIDER_MISC::testDisabledLayers(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testFootprintCourtyardDefinitions(), DRC_TEST_PROVIDER_HOLE_TO_HOLE::testHoleAgainstHole(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), testItemAgainstItems(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), testMaskBridges(), testMaskItemAgainstZones(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadClearances(), testSilkToMaskClearance(), DRC_TEST_PROVIDER_MISC::testTextVars(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackClearances(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testZoneLayer(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones().
|
private |
Definition at line 101 of file drc_test_provider_solder_mask.cpp.
Referenced by buildRTrees().
|
protectedinherited |
Definition at line 134 of file drc_test_provider.h.
Referenced by DRC_INTERACTIVE_COURTYARD_CLEARANCE::DRC_INTERACTIVE_COURTYARD_CLEARANCE(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::DRC_TEST_PROVIDER_COURTYARD_CLEARANCE(), DRC_TEST_PROVIDER_FOOTPRINT_CHECKS::DRC_TEST_PROVIDER_FOOTPRINT_CHECKS(), DRC_TEST_PROVIDER_LIBRARY_PARITY::DRC_TEST_PROVIDER_LIBRARY_PARITY(), DRC_TEST_PROVIDER_MISC::DRC_TEST_PROVIDER_MISC(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::DRC_TEST_PROVIDER_SCHEMATIC_PARITY(), and DRC_TEST_PROVIDER::reportRuleStatistics().
|
private |
Definition at line 102 of file drc_test_provider_solder_mask.cpp.
Referenced by addItemToRTrees(), buildRTrees(), and testItemAgainstItems().
|
privateinherited |
Definition at line 129 of file units_provider.h.
Referenced by UNITS_PROVIDER::GetIuScale().
|
private |
Definition at line 99 of file drc_test_provider_solder_mask.cpp.
Referenced by addItemToRTrees(), Run(), and testItemAgainstItems().
|
private |
Definition at line 109 of file drc_test_provider_solder_mask.cpp.
Referenced by checkMaskAperture(), and Run().
|
private |
Definition at line 98 of file drc_test_provider_solder_mask.cpp.
Referenced by addItemToRTrees(), buildRTrees(), and Run().
|
protectedinherited |
Definition at line 133 of file drc_test_provider.h.
Referenced by DRC_TEST_PROVIDER::accountCheck(), DRC_TEST_PROVIDER::reportRuleStatistics(), and DRC_TEST_PROVIDER::SetDRCEngine().
|
privateinherited |
Definition at line 130 of file units_provider.h.
Referenced by UNITS_PROVIDER::GetUserUnits(), and UNITS_PROVIDER::SetUserUnits().
|
private |
Definition at line 97 of file drc_test_provider_solder_mask.cpp.
Referenced by addItemToRTrees(), buildRTrees(), Run(), and testItemAgainstItems().
|
staticprotectedinherited |
Definition at line 126 of file drc_test_provider.h.
Referenced by buildRTrees(), DRC_TEST_PROVIDER::Init(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_SLIVER_CHECKER::Run(), DRC_TEST_PROVIDER_MISC::testDisabledLayers(), and testSilkToMaskClearance().
|
staticprotectedinherited |
Definition at line 127 of file drc_test_provider.h.
Referenced by DRC_TEST_PROVIDER::Init(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), and testMaskBridges().