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 131 of file drc_rule.h.
|
strong |
Enumerator | |
---|---|
SKEW_WITHIN_DIFF_PAIRS | |
SPACE_DOMAIN | |
TIME_DOMAIN | |
NUM_OPTIONS |
Definition at line 147 of file drc_rule.h.
|
inline |
Definition at line 134 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 193 of file drc_rule.h.
References m_options.
Referenced by DRC_RULES_PARSER::parseConstraint().
|
inline |
Definition at line 170 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 195 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 166 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 183 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 162 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 157 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 168 of file drc_rule.h.
References m_name.
Referenced by DRC_ENGINE::EvalRules().
|
inline |
Definition at line 191 of file drc_rule.h.
References m_options.
Referenced by DRC_RULES_PARSER::parseConstraint().
|
inline |
Definition at line 200 of file drc_rule.h.
References DRC_CONSTRAINT(), and m_options.
Referenced by DRC_ENGINE::EvalRules().
|
inline |
Definition at line 165 of file drc_rule.h.
References m_parentRule.
Referenced by DRC_RULE::AddConstraint(), and DRC_ENGINE::EvalRules().
|
inline |
Definition at line 163 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 205 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 208 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), and DRC_ENGINE::EvalRules().
|
private |
Definition at line 211 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), GetName(), and SetName().
|
private |
Definition at line 213 of file drc_rule.h.
Referenced by ClearOption(), GetOption(), SetOption(), and SetOptionsFromOther().
|
private |
Definition at line 212 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), GetName(), GetParentRule(), GetSeverity(), and SetParentRule().
DRC_RULE_CONDITION* DRC_CONSTRAINT::m_Test |
Definition at line 207 of file drc_rule.h.
Referenced by DRC_CONSTRAINT(), and DRC_RULES_PARSER::parseConstraint().
DRC_CONSTRAINT_T DRC_CONSTRAINT::m_Type |
Definition at line 203 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 204 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 206 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().