| 
    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) | 
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 135 of file drc_rule.h.
      
  | 
  strong | 
| Enumerator | |
|---|---|
| SKEW_WITHIN_DIFF_PAIRS | |
| SPACE_DOMAIN | |
| TIME_DOMAIN | |
| NUM_OPTIONS | |
Definition at line 151 of file drc_rule.h.
      
  | 
  inline | 
Definition at line 138 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 197 of file drc_rule.h.
References m_options.
Referenced by DRC_RULES_PARSER::parseConstraint().
      
  | 
  inline | 
Definition at line 174 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(), PCB_VIA::GetDrillConstraint(), PCB_VIA::GetMinAnnulus(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PAD::GetOwnClearance(), PCB_TRACK::GetWidthConstraint(), PCB_VIA::GetWidthConstraint(), BOARD_INSPECTION_TOOL::InspectClearance(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), 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 199 of file drc_rule.h.
References m_options.
Referenced by DRC_TEST_PROVIDER_MATCHED_LENGTH::checkLengths(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkSkews(), PCB_TUNING_PATTERN::CreateNew(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), and PCB_TUNING_PATTERN::ShowPropertiesDialog().
      
  | 
  inline | 
Definition at line 170 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(), 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 187 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 166 of file drc_rule.h.
References m_Value.
Referenced by ZONE_FILLER::buildCopperItemClearances(), ZONE_FILLER::buildThermalSpokes(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkLengths(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkSkews(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkViaCounts(), PCB_TUNING_PATTERN::CreateNew(), DRAWING_TOOL::DrawVia(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), ZONE_FILLER::knockoutThermalReliefs(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), 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 161 of file drc_rule.h.
References m_Type, and NULL_CONSTRAINT.
Referenced by ZONE_FILLER::buildCopperItemClearances(), PCB_TUNING_PATTERN::CreateNew(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::InspectClearance(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), 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 172 of file drc_rule.h.
References m_name.
Referenced by DRC_ENGINE::EvalRules().
      
  | 
  inline | 
Definition at line 195 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 DRC_CONSTRAINT(), and m_options.
Referenced by DRC_ENGINE::EvalRules().
      
  | 
  inline | 
Definition at line 169 of file drc_rule.h.
References m_parentRule.
Referenced by DRC_RULE::AddConstraint(), and DRC_ENGINE::EvalRules().
      
  | 
  inline | 
Definition at line 167 of file drc_rule.h.
References m_Value.
Referenced by ZONE_FILLER::buildThermalSpokes(), BOARD_DESIGN_SETTINGS::GetBiggestClearanceValue(), PCB_VIA::GetDrillConstraint(), PCB_VIA::GetMinAnnulus(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PAD::GetOwnClearance(), PCB_TRACK::GetWidthConstraint(), PCB_VIA::GetWidthConstraint(), 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 209 of file drc_rule.h.
Referenced by DRAWING_TOOL::DrawVia(), DRC_CONSTRAINT(), DRC_ENGINE::EvalRules(), BOARD_INSPECTION_TOOL::InspectConstraints(), DRC_ENGINE::loadImplicitRules(), DRC_RULES_PARSER::parseConstraint(), and DRC_TEST_PROVIDER_DISALLOW::Run().
| bool DRC_CONSTRAINT::m_ImplicitMin | 
Definition at line 212 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), and DRC_ENGINE::EvalRules().
      
  | 
  private | 
Definition at line 215 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), GetName(), and SetName().
      
  | 
  private | 
Definition at line 217 of file drc_rule.h.
Referenced by ClearOption(), GetOption(), SetOption(), and SetOptionsFromOther().
      
  | 
  private | 
Definition at line 216 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), GetName(), GetParentRule(), GetSeverity(), and SetParentRule().
| DRC_RULE_CONDITION* DRC_CONSTRAINT::m_Test | 
Definition at line 211 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), and DRC_RULES_PARSER::parseConstraint().
| DRC_CONSTRAINT_T DRC_CONSTRAINT::m_Type | 
Definition at line 207 of file drc_rule.h.
Referenced by DRC_ENGINE::compileRules(), DRC_CONSTRAINT(), DRC_ENGINE::EvalRules(), IsNull(), and DRC_RULES_PARSER::parseConstraint().
| MINOPTMAX<int> DRC_CONSTRAINT::m_Value | 
Definition at line 208 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), DRC_ENGINE::EvalRules(), PAD::GetSolderMaskExpansion(), PCB_SHAPE::GetSolderMaskExpansion(), PCB_TRACK::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), GetValue(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectDRCError(), DRC_RULES_PARSER::parseConstraint(), reportMax(), reportMin(), reportOpt(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_SOLDER_MASK::Run(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), PCB_CONTROL::UpdateMessagePanel(), ROUTER_TOOL::updateSizesAfterRouterEvent(), and Value().
| ZONE_CONNECTION DRC_CONSTRAINT::m_ZoneConnection | 
Definition at line 210 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), DRC_ENGINE::EvalRules(), DRC_ENGINE::EvalZoneConnection(), BOARD_INSPECTION_TOOL::InspectClearance(), ZONE_FILLER::knockoutThermalReliefs(), DRC_RULES_PARSER::parseConstraint(), and DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer().