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 129 of file drc_rule.h.
|
strong |
Enumerator | |
---|---|
SKEW_WITHIN_DIFF_PAIRS | |
SPACE_DOMAIN | |
TIME_DOMAIN | |
NUM_OPTIONS |
Definition at line 145 of file drc_rule.h.
|
inline |
Definition at line 132 of file drc_rule.h.
|
inline |
Definition at line 191 of file drc_rule.h.
References m_options.
Referenced by DRC_RULES_PARSER::parseConstraint().
|
inline |
Definition at line 168 of file drc_rule.h.
References _, DRC_RULE::m_Implicit, DRC_RULE::m_Name, 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(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::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_COPPER_CLEARANCE::testSingleLayerItemAgainstItem(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testZoneLayer(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataToWindow(), PCB_CONTROL::UpdateMessagePanel(), and ROUTER_TOOL::updateSizesAfterRouterEvent().
|
inline |
Definition at line 193 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(), DIALOG_TUNING_PATTERN_PROPERTIES::onOverrideCustomRules(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), and PCB_TUNING_PATTERN::ShowPropertiesDialog().
|
inline |
Definition at line 164 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(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::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_COPPER_CLEARANCE::testSingleLayerItemAgainstItem(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testZoneLayer(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones().
|
inline |
Definition at line 181 of file drc_rule.h.
References m_parentRule, DRC_RULE::m_Severity, and RPT_SEVERITY_UNDEFINED.
Referenced by DRAWING_TOOL::DrawVia(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), 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_COPPER_CLEARANCE::testSingleLayerItemAgainstItem(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testZoneLayer(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones().
|
inline |
Definition at line 160 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(), DIALOG_TUNING_PATTERN_PROPERTIES::onOverrideCustomRules(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), DRC_CACHE_GENERATOR::Run(), DRC_INTERACTIVE_COURTYARD_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_SILK_CLEARANCE::Run(), PCB_TUNING_PATTERN::ShowPropertiesDialog(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), 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_COPPER_CLEARANCE::testSingleLayerItemAgainstItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testZoneLayer(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones(), and DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 155 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(), DIALOG_TUNING_PATTERN_PROPERTIES::onOverrideCustomRules(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), PCB_TUNING_PATTERN::ShowPropertiesDialog(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataToWindow(), and ROUTER_TOOL::updateSizesAfterRouterEvent().
|
inline |
Definition at line 166 of file drc_rule.h.
References m_name.
Referenced by DRC_ENGINE::EvalRules().
|
inline |
Definition at line 189 of file drc_rule.h.
References m_options.
Referenced by DRC_RULES_PARSER::parseConstraint().
|
inline |
Definition at line 198 of file drc_rule.h.
References m_options.
Referenced by DRC_ENGINE::EvalRules().
|
inline |
Definition at line 163 of file drc_rule.h.
References m_parentRule.
Referenced by DRC_RULE::AddConstraint(), and DRC_ENGINE::EvalRules().
|
inline |
Definition at line 161 of file drc_rule.h.
References m_Value.
Referenced by ZONE_FILLER::buildThermalSpokes(), DRC_TEST_PROVIDER_HOLE_SIZE::checkPadHole(), DRC_TEST_PROVIDER_HOLE_SIZE::checkViaHole(), 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_TRACK_SEGMENT_LENGTH::Run(), DRC_TEST_PROVIDER_TRACK_WIDTH::Run(), DRC_TEST_PROVIDER_CREEPAGE::testCreepage(), and PCB_CONTROL::UpdateMessagePanel().
int DRC_CONSTRAINT::m_DisallowFlags |
Definition at line 203 of file drc_rule.h.
Referenced by DRAWING_TOOL::DrawVia(), 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 206 of file drc_rule.h.
Referenced by DRC_ENGINE::EvalRules().
|
private |
Definition at line 209 of file drc_rule.h.
|
private |
Definition at line 211 of file drc_rule.h.
Referenced by ClearOption(), GetOption(), SetOption(), and SetOptionsFromOther().
|
private |
Definition at line 210 of file drc_rule.h.
Referenced by GetName(), GetParentRule(), GetSeverity(), and SetParentRule().
DRC_RULE_CONDITION* DRC_CONSTRAINT::m_Test |
Definition at line 205 of file drc_rule.h.
Referenced by DRC_RULES_PARSER::parseConstraint().
DRC_CONSTRAINT_T DRC_CONSTRAINT::m_Type |
Definition at line 201 of file drc_rule.h.
Referenced by DRC_ENGINE::compileRules(), DRC_ENGINE::EvalRules(), IsNull(), and DRC_RULES_PARSER::parseConstraint().
MINOPTMAX<int> DRC_CONSTRAINT::m_Value |
Definition at line 202 of file drc_rule.h.
Referenced by DRC_ENGINE::EvalRules(), PCB_SHAPE::GetSolderMaskExpansion(), PCB_TRACK::GetSolderMaskExpansion(), PAD::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 204 of file drc_rule.h.
Referenced by DRC_ENGINE::EvalRules(), DRC_ENGINE::EvalZoneConnection(), BOARD_INSPECTION_TOOL::InspectClearance(), ZONE_FILLER::knockoutThermalReliefs(), DRC_RULES_PARSER::parseConstraint(), and DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer().