KiCad PCB EDA Suite
|
Represent a DRC "provider" which runs some DRC functions over a BOARD and spits out DRC_ITEM and positions as needed. More...
#include <drc_test_provider.h>
Public Member Functions | |
DRC_TEST_PROVIDER () | |
virtual | ~DRC_TEST_PROVIDER ()=default |
void | SetDRCEngine (DRC_ENGINE *engine) |
bool | RunTests (EDA_UNITS aUnits) |
virtual bool | Run ()=0 |
Run this provider against the given PCB with configured options (if any). More... | |
virtual const wxString | GetName () const |
virtual const wxString | GetDescription () const |
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 Attributes | |
const EDA_IU_SCALE & | m_iuScale |
EDA_UNITS | m_userUnits |
Represent a DRC "provider" which runs some DRC functions over a BOARD and spits out DRC_ITEM and positions as needed.
Definition at line 74 of file drc_test_provider.h.
DRC_TEST_PROVIDER::DRC_TEST_PROVIDER | ( | ) |
Definition at line 46 of file drc_test_provider.cpp.
|
virtualdefault |
|
protectedvirtual |
Definition at line 127 of file drc_test_provider.cpp.
References accountCheck(), and DRC_CONSTRAINT::GetParentRule().
|
protectedvirtual |
Definition at line 116 of file drc_test_provider.cpp.
References m_stats.
Referenced by accountCheck(), and reportViolation().
|
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().
|
protected |
Definition at line 152 of file drc_test_provider.cpp.
References BaseType(), BOARD::Drawings(), BOARD::Footprints(), DRC_ENGINE::GetBoard(), 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 DRC_TEST_PROVIDER_SOLDER_MASK::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(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskBridges(), DRC_TEST_PROVIDER_SOLDER_MASK::testSilkToMaskClearance(), and DRC_TEST_PROVIDER_MISC::testTextVars().
|
protected |
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().
|
virtual |
Reimplemented in DRC_INTERACTIVE_COURTYARD_CLEARANCE, DRC_TEST_PROVIDER_ANNULAR_WIDTH, DRC_TEST_PROVIDER_CONNECTION_WIDTH, DRC_TEST_PROVIDER_CONNECTIVITY, DRC_TEST_PROVIDER_COPPER_CLEARANCE, DRC_TEST_PROVIDER_COURTYARD_CLEARANCE, test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING, DRC_TEST_PROVIDER_DISALLOW, DRC_TEST_PROVIDER_EDGE_CLEARANCE, DRC_TEST_PROVIDER_FOOTPRINT_CHECKS, DRC_TEST_PROVIDER_HOLE_SIZE, DRC_TEST_PROVIDER_HOLE_TO_HOLE, DRC_TEST_PROVIDER_LIBRARY_PARITY, DRC_TEST_PROVIDER_MATCHED_LENGTH, DRC_TEST_PROVIDER_MISC, DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE, DRC_TEST_PROVIDER_SCHEMATIC_PARITY, DRC_TEST_PROVIDER_SILK_CLEARANCE, DRC_TEST_PROVIDER_SLIVER_CHECKER, DRC_TEST_PROVIDER_SOLDER_MASK, DRC_TEST_PROVIDER_TEXT_DIMS, DRC_TEST_PROVIDER_TRACK_WIDTH, DRC_TEST_PROVIDER_VIA_DIAMETER, and DRC_TEST_PROVIDER_ZONE_CONNECTIONS.
Definition at line 72 of file drc_test_provider.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().
|
virtual |
Reimplemented in DRC_INTERACTIVE_COURTYARD_CLEARANCE, DRC_TEST_PROVIDER_ANNULAR_WIDTH, DRC_TEST_PROVIDER_CONNECTION_WIDTH, DRC_TEST_PROVIDER_CONNECTIVITY, DRC_TEST_PROVIDER_COPPER_CLEARANCE, DRC_TEST_PROVIDER_COURTYARD_CLEARANCE, test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING, DRC_TEST_PROVIDER_DISALLOW, DRC_TEST_PROVIDER_EDGE_CLEARANCE, DRC_TEST_PROVIDER_FOOTPRINT_CHECKS, DRC_TEST_PROVIDER_HOLE_SIZE, DRC_TEST_PROVIDER_HOLE_TO_HOLE, DRC_TEST_PROVIDER_LIBRARY_PARITY, DRC_TEST_PROVIDER_MATCHED_LENGTH, DRC_TEST_PROVIDER_MISC, DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE, DRC_TEST_PROVIDER_SCHEMATIC_PARITY, DRC_TEST_PROVIDER_SILK_CLEARANCE, DRC_TEST_PROVIDER_SLIVER_CHECKER, DRC_TEST_PROVIDER_SOLDER_MASK, DRC_TEST_PROVIDER_TEXT_DIMS, DRC_TEST_PROVIDER_TRACK_WIDTH, DRC_TEST_PROVIDER_VIA_DIAMETER, and DRC_TEST_PROVIDER_ZONE_CONNECTIONS.
Definition at line 71 of file drc_test_provider.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().
|
static |
Definition at line 53 of file drc_test_provider.cpp.
References MAX_STRUCT_TYPE_ID, PCB_FOOTPRINT_T, PCB_GROUP_T, PCB_ZONE_T, s_allBasicItems, and s_allBasicItemsButZones.
Referenced by DRC_ENGINE::RunTests().
|
protected |
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 DRC_TEST_PROVIDER_SOLDER_MASK::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(), 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(), 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().
|
protectedvirtual |
Definition at line 105 of file drc_test_provider.cpp.
References m_drcEngine, and DRC_ENGINE::ReportAux().
|
inlineprotected |
Definition at line 108 of file drc_test_provider.h.
References reportAux().
Referenced by reportAux(), 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(), DRC_TEST_PROVIDER_SOLDER_MASK::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().
|
protectedvirtual |
Definition at line 98 of file drc_test_provider.cpp.
References m_drcEngine, 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(), DRC_TEST_PROVIDER_SOLDER_MASK::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().
|
protectedvirtual |
Definition at line 86 of file drc_test_provider.cpp.
References m_drcEngine, and DRC_ENGINE::ReportProgress().
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::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(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskBridges(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadClearances(), DRC_TEST_PROVIDER_SOLDER_MASK::testSilkToMaskClearance(), DRC_TEST_PROVIDER_MISC::testTextVars(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackClearances(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones().
|
protectedvirtual |
Definition at line 133 of file drc_test_provider.cpp.
References m_drcEngine, m_isRuleDriven, 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(), DRC_TEST_PROVIDER_SOLDER_MASK::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().
|
protectedvirtual |
Definition at line 75 of file drc_test_provider.cpp.
References accountCheck(), 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(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_SOLDER_MASK::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().
|
pure virtual |
Run this provider against the given PCB with configured options (if any).
Implemented in DRC_CACHE_GENERATOR, DRC_INTERACTIVE_COURTYARD_CLEARANCE, DRC_TEST_PROVIDER_ANNULAR_WIDTH, DRC_TEST_PROVIDER_CONNECTION_WIDTH, DRC_TEST_PROVIDER_CONNECTIVITY, DRC_TEST_PROVIDER_COPPER_CLEARANCE, DRC_TEST_PROVIDER_COURTYARD_CLEARANCE, test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING, DRC_TEST_PROVIDER_DISALLOW, DRC_TEST_PROVIDER_EDGE_CLEARANCE, DRC_TEST_PROVIDER_FOOTPRINT_CHECKS, DRC_TEST_PROVIDER_HOLE_SIZE, DRC_TEST_PROVIDER_HOLE_TO_HOLE, DRC_TEST_PROVIDER_LIBRARY_PARITY, DRC_TEST_PROVIDER_MATCHED_LENGTH, DRC_TEST_PROVIDER_MISC, DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE, DRC_TEST_PROVIDER_SCHEMATIC_PARITY, DRC_TEST_PROVIDER_SILK_CLEARANCE, DRC_TEST_PROVIDER_SLIVER_CHECKER, DRC_TEST_PROVIDER_SOLDER_MASK, DRC_TEST_PROVIDER_TEXT_DIMS, DRC_TEST_PROVIDER_TRACK_WIDTH, DRC_TEST_PROVIDER_VIA_DIAMETER, and DRC_TEST_PROVIDER_ZONE_CONNECTIONS.
Referenced by RunTests().
|
inline |
Definition at line 88 of file drc_test_provider.h.
References Run(), and UNITS_PROVIDER::SetUserUnits().
|
inline |
Definition at line 82 of file drc_test_provider.h.
References m_drcEngine, and 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(), 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(), 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().
|
protected |
|
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().
|
protected |
Definition at line 132 of file drc_test_provider.h.
Referenced by DRC_TEST_PROVIDER_HOLE_SIZE::checkPadHole(), DRC_TEST_PROVIDER_HOLE_SIZE::checkViaHole(), forEachGeometryItem(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::layerDesc(), DRC_TEST_PROVIDER_SLIVER_CHECKER::layerDesc(), reportAux(), reportPhase(), reportProgress(), reportRuleStatistics(), 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(), DRC_TEST_PROVIDER_SOLDER_MASK::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(), 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(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskBridges(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadClearances(), DRC_TEST_PROVIDER_SOLDER_MASK::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().
|
protected |
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 reportRuleStatistics().
|
privateinherited |
Definition at line 129 of file units_provider.h.
Referenced by UNITS_PROVIDER::GetIuScale().
|
protected |
Definition at line 133 of file drc_test_provider.h.
Referenced by accountCheck(), reportRuleStatistics(), and SetDRCEngine().
|
privateinherited |
Definition at line 130 of file units_provider.h.
Referenced by UNITS_PROVIDER::GetUserUnits(), and UNITS_PROVIDER::SetUserUnits().
|
staticprotected |
Definition at line 126 of file drc_test_provider.h.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::buildRTrees(), Init(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_SLIVER_CHECKER::Run(), DRC_TEST_PROVIDER_MISC::testDisabledLayers(), and DRC_TEST_PROVIDER_SOLDER_MASK::testSilkToMaskClearance().
|
staticprotected |
Definition at line 127 of file drc_test_provider.h.
Referenced by Init(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), and DRC_TEST_PROVIDER_SOLDER_MASK::testMaskBridges().