KiCad PCB EDA Suite
DRC_RULE Class Reference

#include <drc_rule.h>

Public Member Functions

 DRC_RULE ()
 
 DRC_RULE (const wxString &aName)
 
virtual ~DRC_RULE ()
 
virtual bool AppliesTo (const BOARD_ITEM *a, const BOARD_ITEM *b=nullptr) const
 
void AddConstraint (DRC_CONSTRAINT &aConstraint)
 
std::optional< DRC_CONSTRAINTFindConstraint (DRC_CONSTRAINT_T aType)
 

Public Attributes

bool m_Unary
 
bool m_Implicit
 
wxString m_Name
 
wxString m_LayerSource
 
LSET m_LayerCondition
 
DRC_RULE_CONDITIONm_Condition
 
std::vector< DRC_CONSTRAINTm_Constraints
 
SEVERITY m_Severity
 

Detailed Description

Definition at line 91 of file drc_rule.h.

Constructor & Destructor Documentation

◆ DRC_RULE() [1/2]

DRC_RULE::DRC_RULE ( )

Definition at line 31 of file drc_rule.cpp.

31 :
32 m_Unary( false ),
33 m_Implicit( false ),
35 m_Condition( nullptr ),
37{
38}
SEVERITY m_Severity
Definition: drc_rule.h:115
bool m_Unary
Definition: drc_rule.h:108
DRC_RULE_CONDITION * m_Condition
Definition: drc_rule.h:113
LSET m_LayerCondition
Definition: drc_rule.h:112
bool m_Implicit
Definition: drc_rule.h:109
static LSET AllLayersMask()
Definition: lset.cpp:808
@ RPT_SEVERITY_UNDEFINED

◆ DRC_RULE() [2/2]

DRC_RULE::DRC_RULE ( const wxString &  aName)

Definition at line 41 of file drc_rule.cpp.

41 :
42 m_Unary( false ),
43 m_Implicit( false ),
44 m_Name( aName ),
46 m_Condition( nullptr ),
48{
49}
wxString m_Name
Definition: drc_rule.h:110

◆ ~DRC_RULE()

DRC_RULE::~DRC_RULE ( )
virtual

Definition at line 52 of file drc_rule.cpp.

53{
54 delete m_Condition;
55}

References m_Condition.

Member Function Documentation

◆ AddConstraint()

void DRC_RULE::AddConstraint ( DRC_CONSTRAINT aConstraint)

Definition at line 58 of file drc_rule.cpp.

59{
60 aConstraint.SetParentRule( this );
61 m_Constraints.push_back( aConstraint );
62}
void SetParentRule(DRC_RULE *aParentRule)
Definition: drc_rule.h:142
std::vector< DRC_CONSTRAINT > m_Constraints
Definition: drc_rule.h:114

References m_Constraints, and DRC_CONSTRAINT::SetParentRule().

Referenced by DRC_RULES_PARSER::parseConstraint().

◆ AppliesTo()

virtual bool DRC_RULE::AppliesTo ( const BOARD_ITEM a,
const BOARD_ITEM b = nullptr 
) const
inlinevirtual

Definition at line 99 of file drc_rule.h.

100 {
101 return true;
102 };

◆ FindConstraint()

std::optional< DRC_CONSTRAINT > DRC_RULE::FindConstraint ( DRC_CONSTRAINT_T  aType)

Definition at line 65 of file drc_rule.cpp.

66{
68 {
69 if( c.m_Type == aType )
70 return c;
71 }
72
73 return std::optional<DRC_CONSTRAINT>();
74}

References m_Constraints.

Referenced by DRC_RULES_PARSER::parseConstraint(), and DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal().

Member Data Documentation

◆ m_Condition

DRC_RULE_CONDITION* DRC_RULE::m_Condition

Definition at line 113 of file drc_rule.h.

Referenced by ~DRC_RULE().

◆ m_Constraints

std::vector<DRC_CONSTRAINT> DRC_RULE::m_Constraints

Definition at line 114 of file drc_rule.h.

Referenced by AddConstraint(), and FindConstraint().

◆ m_Implicit

bool DRC_RULE::m_Implicit

◆ m_LayerCondition

LSET DRC_RULE::m_LayerCondition

Definition at line 112 of file drc_rule.h.

◆ m_LayerSource

wxString DRC_RULE::m_LayerSource

Definition at line 111 of file drc_rule.h.

◆ m_Name

◆ m_Severity

SEVERITY DRC_RULE::m_Severity

Definition at line 115 of file drc_rule.h.

Referenced by DRC_CONSTRAINT::GetSeverity(), and PCB_MARKER::GetSeverity().

◆ m_Unary

bool DRC_RULE::m_Unary

Definition at line 108 of file drc_rule.h.


The documentation for this class was generated from the following files: