|
KiCad PCB EDA Suite
|
#include <drc_rule.h>
Public Types | |
| enum class | OPTIONS : std::size_t { SKEW_WITHIN_DIFF_PAIRS = 0 , SPACE_DOMAIN , TIME_DOMAIN , NUM_OPTIONS } |
Public Member Functions | |
| DRC_CONSTRAINT (DRC_CONSTRAINT_T aType=NULL_CONSTRAINT, const wxString &aName=wxEmptyString) | |
| bool | IsNull () const |
| const MINOPTMAX< int > & | GetValue () const |
| MINOPTMAX< int > & | Value () |
| void | SetParentRule (DRC_RULE *aParentRule) |
| DRC_RULE * | GetParentRule () const |
| void | SetName (const wxString &aName) |
| wxString | GetName () const |
| SEVERITY | GetSeverity () const |
| void | SetOption (OPTIONS option) |
| void | ClearOption (OPTIONS option) |
| bool | GetOption (OPTIONS option) const |
| void | SetOptionsFromOther (const DRC_CONSTRAINT &aOther) |
| void | ToProto (kiapi::board::CustomRuleConstraint &aProto) const |
Public Attributes | |
| DRC_CONSTRAINT_T | m_Type |
| MINOPTMAX< int > | m_Value |
| int | m_DisallowFlags |
| ZONE_CONNECTION | m_ZoneConnection |
| DRC_RULE_CONDITION * | m_Test |
| bool | m_ImplicitMin |
Private Attributes | |
| wxString | m_name |
| DRC_RULE * | m_parentRule |
| std::bitset< static_cast< int >(OPTIONS::NUM_OPTIONS)> | m_options |
Definition at line 165 of file drc_rule.h.
|
strong |
| Enumerator | |
|---|---|
| SKEW_WITHIN_DIFF_PAIRS | |
| SPACE_DOMAIN | |
| TIME_DOMAIN | |
| NUM_OPTIONS | |
Definition at line 181 of file drc_rule.h.
|
inline |
Definition at line 168 of file drc_rule.h.
References INHERITED, m_DisallowFlags, m_ImplicitMin, m_name, m_parentRule, m_Test, m_Type, m_Value, m_ZoneConnection, and NULL_CONSTRAINT.
Referenced by SetOptionsFromOther().
|
inline |
Definition at line 227 of file drc_rule.h.
References m_options.
Referenced by DRC_RULES_PARSER::parseConstraint().
|
inline |
Definition at line 204 of file drc_rule.h.
References _, m_name, and m_parentRule.
Referenced by DRC_TEST_PROVIDER_MATCHED_LENGTH::checkLengths(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkSkews(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkViaCounts(), DRC_ENGINE::GetCachedOwnClearance(), PCB_VIA::GetDrillConstraint(), PCB_VIA::GetMinAnnulus(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), PCB_TRACK::GetWidthConstraint(), PCB_VIA::GetWidthConstraint(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), BOARD_INSPECTION_TOOL::reportClearance(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_MISC::testAssertions(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances(), DRC_TEST_PROVIDER_CREEPAGE::testCreepage(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testKnockoutTextAgainstZone(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), DRC_TEST_PROVIDER_SOLDER_MASK::testSilkToMaskClearance(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testSingleLayerItemAgainstItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testZoneLayer(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), PCB_CONTROL::UpdateMessagePanel(), and ROUTER_TOOL::updateSizesAfterRouterEvent().
|
inline |
Definition at line 229 of file drc_rule.h.
References m_options.
Referenced by DRC_TEST_PROVIDER_MATCHED_LENGTH::checkLengths(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkSkews(), DRC_RULE_LOADER::createConstraintData(), PCB_TUNING_PATTERN::CreateNew(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), PCB_TUNING_PATTERN::ShowPropertiesDialog(), and ToProto().
|
inline |
Definition at line 200 of file drc_rule.h.
References m_parentRule.
Referenced by DRC_TEST_PROVIDER_MATCHED_LENGTH::checkLengths(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkSkews(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkViaCounts(), DRC_ENGINE::EvalRules(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), DRC_TEST_PROVIDER_MISC::testAssertions(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances(), DRC_TEST_PROVIDER_CREEPAGE::testCreepage(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testKnockoutTextAgainstZone(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), DRC_TEST_PROVIDER_SOLDER_MASK::testSilkToMaskClearance(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testSingleLayerItemAgainstItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testZoneLayer(), and DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer().
|
inline |
Definition at line 217 of file drc_rule.h.
References m_parentRule, and RPT_SEVERITY_UNDEFINED.
Referenced by DRAWING_TOOL::DrawVia(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances(), 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_COPPER_CLEARANCE::testKnockoutTextAgainstZone(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), DRC_TEST_PROVIDER_SOLDER_MASK::testSilkToMaskClearance(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testSingleLayerItemAgainstItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testZoneLayer(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones().
|
inline |
Definition at line 196 of file drc_rule.h.
References m_Value.
Referenced by BOOST_FIXTURE_TEST_CASE(), ZONE_FILLER::buildCopperItemClearances(), ZONE_FILLER::buildDifferentNetZoneClearances(), ZONE_FILLER::buildHatchZoneThermalRings(), ZONE_FILLER::buildThermalSpokes(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkLengths(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkSkews(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkViaCounts(), DRC_RULE_LOADER::createConstraintData(), PCB_TUNING_PATTERN::CreateNew(), DRAWING_TOOL::DrawVia(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), isSymmetricMinOptMax(), ZONE_FILLER::knockoutThermalReliefs(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), DRC_ENGINE::QueryDistinctConstraints(), DRC_ENGINE::QueryWorstConstraint(), ZONE_FILLER::refillZoneFromCache(), DRC_CACHE_GENERATOR::Run(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::Run(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_HOLE_TO_HOLE::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), PCB_TUNING_PATTERN::ShowPropertiesDialog(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testKnockoutTextAgainstZone(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), DRC_TEST_PROVIDER_SOLDER_MASK::testSilkToMaskClearance(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testSingleLayerItemAgainstItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testZoneLayer(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones().
|
inline |
Definition at line 191 of file drc_rule.h.
References m_Type, and NULL_CONSTRAINT.
Referenced by ZONE_FILLER::buildCopperItemClearances(), ZONE_FILLER::buildDifferentNetZoneClearances(), PCB_TUNING_PATTERN::CreateNew(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), ROUTER_TOOL::handleLayerSwitch(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), ZONE_FILLER::refillZoneFromCache(), BOARD_INSPECTION_TOOL::reportClearance(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), PCB_TUNING_PATTERN::ShowPropertiesDialog(), and ROUTER_TOOL::updateSizesAfterRouterEvent().
|
inline |
Definition at line 202 of file drc_rule.h.
References m_name.
Referenced by DRC_ENGINE::EvalRules().
|
inline |
Definition at line 225 of file drc_rule.h.
References m_options.
Referenced by DRC_RULES_PARSER::parseConstraint().
|
inline |
Definition at line 234 of file drc_rule.h.
References DRC_CONSTRAINT(), and m_options.
Referenced by DRC_ENGINE::EvalRules().
|
inline |
Definition at line 199 of file drc_rule.h.
References m_parentRule.
Referenced by DRC_RULE::AddConstraint(), and DRC_ENGINE::EvalRules().
| void DRC_CONSTRAINT::ToProto | ( | kiapi::board::CustomRuleConstraint & | aProto | ) | const |
Definition at line 376 of file drc_rule.cpp.
References ASSERTION_CONSTRAINT, DISALLOW_CONSTRAINT, DRC_DISALLOW_FOOTPRINTS, DRC_DISALLOW_THROUGH_VIAS, flag, GetOption(), m_DisallowFlags, m_name, m_Test, m_Type, m_Value, m_ZoneConnection, NUM_OPTIONS, ToProtoEnum(), and ZONE_CONNECTION_CONSTRAINT.
Referenced by API_HANDLER_PCB::handleGetCustomDesignRules().
|
inline |
Definition at line 197 of file drc_rule.h.
References m_Value.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), ZONE_FILLER::buildThermalSpokes(), BOARD_DESIGN_SETTINGS::GetBiggestClearanceValue(), DRC_ENGINE::GetCachedOwnClearance(), PCB_VIA::GetDrillConstraint(), PCB_VIA::GetMinAnnulus(), PCB_TRACK::GetWidthConstraint(), PCB_VIA::GetWidthConstraint(), DRC_ENGINE::InitializeClearanceCache(), DRC_ENGINE::loadImplicitRules(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), DRC_TEST_PROVIDER_CREEPAGE::testCreepage(), and PCB_CONTROL::UpdateMessagePanel().
| int DRC_CONSTRAINT::m_DisallowFlags |
Definition at line 241 of file drc_rule.h.
Referenced by DRC_RULE_LOADER::createConstraintData(), DRAWING_TOOL::DrawVia(), DRC_CONSTRAINT(), DRC_ENGINE::EvalRules(), BOARD_INSPECTION_TOOL::InspectConstraints(), DRC_ENGINE::loadImplicitRules(), DRC_RULES_PARSER::parseConstraint(), DRC_TEST_PROVIDER_DISALLOW::Run(), and ToProto().
| bool DRC_CONSTRAINT::m_ImplicitMin |
Definition at line 244 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), and DRC_ENGINE::EvalRules().
|
private |
Definition at line 247 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), GetName(), SetName(), and ToProto().
|
private |
Definition at line 249 of file drc_rule.h.
Referenced by ClearOption(), GetOption(), SetOption(), and SetOptionsFromOther().
|
private |
Definition at line 248 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), GetName(), GetParentRule(), GetSeverity(), and SetParentRule().
| DRC_RULE_CONDITION* DRC_CONSTRAINT::m_Test |
Definition at line 243 of file drc_rule.h.
Referenced by DRC_RULE_LOADER::createConstraintData(), DRC_CONSTRAINT(), DRC_RULE_LOADER::LoadRule(), DRC_RULES_PARSER::parseConstraint(), and ToProto().
| DRC_CONSTRAINT_T DRC_CONSTRAINT::m_Type |
Definition at line 239 of file drc_rule.h.
Referenced by DRC_ENGINE::compileRules(), DRC_CONSTRAINT(), DRC_ENGINE::EvalRules(), DRC_RULE_LOADER::findConstraint(), DRC_ENGINE::GetItemsMatchingRule(), IsNull(), DRC_PANEL_MATCHER::MatchRule(), DRC_RULES_PARSER::parseConstraint(), and ToProto().
| MINOPTMAX<int> DRC_CONSTRAINT::m_Value |
Definition at line 240 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), DRC_ENGINE::EvalClearanceBatch(), DRC_ENGINE::EvalRules(), PAD::GetSolderMaskExpansion(), PCB_SHAPE::GetSolderMaskExpansion(), PCB_TRACK::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), GetValue(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::InspectDRCError(), DRC_RULES_PARSER::parseConstraint(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), BOARD_INSPECTION_TOOL::reportClearance(), reportMax(), reportMin(), reportOpt(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_SOLDER_MASK::Run(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), ToProto(), PCB_CONTROL::UpdateMessagePanel(), ROUTER_TOOL::updateSizesAfterRouterEvent(), and Value().
| ZONE_CONNECTION DRC_CONSTRAINT::m_ZoneConnection |
Definition at line 242 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), DRC_ENGINE::EvalRules(), DRC_ENGINE::EvalZoneConnection(), ZONE_FILLER::knockoutThermalReliefs(), DRC_RULES_PARSER::parseConstraint(), BOARD_INSPECTION_TOOL::reportClearance(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), and ToProto().