KiCad PCB EDA Suite
drc_rule.h File Reference
#include <core/typeinfo.h>
#include <optional>
#include <core/minoptmax.h>
#include <layer_ids.h>
#include <netclass.h>
#include <zones.h>
#include <libeval_compiler/libeval_compiler.h>
#include <wx/intl.h>
#include <widgets/report_severity.h>

Go to the source code of this file.

Classes

class  DRC_RULE
 
class  DRC_CONSTRAINT
 

Enumerations

enum  DRC_CONSTRAINT_T {
  NULL_CONSTRAINT = 0 , CLEARANCE_CONSTRAINT , HOLE_CLEARANCE_CONSTRAINT , HOLE_TO_HOLE_CONSTRAINT ,
  EDGE_CLEARANCE_CONSTRAINT , HOLE_SIZE_CONSTRAINT , COURTYARD_CLEARANCE_CONSTRAINT , SILK_CLEARANCE_CONSTRAINT ,
  TEXT_HEIGHT_CONSTRAINT , TEXT_THICKNESS_CONSTRAINT , TRACK_WIDTH_CONSTRAINT , ANNULAR_WIDTH_CONSTRAINT ,
  ZONE_CONNECTION_CONSTRAINT , THERMAL_RELIEF_GAP_CONSTRAINT , THERMAL_SPOKE_WIDTH_CONSTRAINT , MIN_RESOLVED_SPOKES_CONSTRAINT ,
  DISALLOW_CONSTRAINT , VIA_DIAMETER_CONSTRAINT , LENGTH_CONSTRAINT , SKEW_CONSTRAINT ,
  DIFF_PAIR_GAP_CONSTRAINT , DIFF_PAIR_MAX_UNCOUPLED_CONSTRAINT , DIFF_PAIR_INTRA_SKEW_CONSTRAINT , VIA_COUNT_CONSTRAINT ,
  PHYSICAL_CLEARANCE_CONSTRAINT , PHYSICAL_HOLE_CLEARANCE_CONSTRAINT , ASSERTION_CONSTRAINT , CONNECTION_WIDTH_CONSTRAINT
}
 
enum  DRC_DISALLOW_T {
  DRC_DISALLOW_VIAS = (1 << 0) , DRC_DISALLOW_MICRO_VIAS = (1 << 1) , DRC_DISALLOW_BB_VIAS = (1 << 2) , DRC_DISALLOW_TRACKS = (1 << 3) ,
  DRC_DISALLOW_PADS = (1 << 4) , DRC_DISALLOW_ZONES = (1 << 5) , DRC_DISALLOW_TEXTS = (1 << 6) , DRC_DISALLOW_GRAPHICS = (1 << 7) ,
  DRC_DISALLOW_HOLES = (1 << 8) , DRC_DISALLOW_FOOTPRINTS = (1 << 9)
}
 

Functions

const DRC_CONSTRAINTGetConstraint (const BOARD_ITEM *aItem, const BOARD_ITEM *bItem, int aConstraint, PCB_LAYER_ID aLayer, wxString *aRuleName=nullptr)
 

Enumeration Type Documentation

◆ DRC_CONSTRAINT_T

Enumerator
NULL_CONSTRAINT 
CLEARANCE_CONSTRAINT 
HOLE_CLEARANCE_CONSTRAINT 
HOLE_TO_HOLE_CONSTRAINT 
EDGE_CLEARANCE_CONSTRAINT 
HOLE_SIZE_CONSTRAINT 
COURTYARD_CLEARANCE_CONSTRAINT 
SILK_CLEARANCE_CONSTRAINT 
TEXT_HEIGHT_CONSTRAINT 
TEXT_THICKNESS_CONSTRAINT 
TRACK_WIDTH_CONSTRAINT 
ANNULAR_WIDTH_CONSTRAINT 
ZONE_CONNECTION_CONSTRAINT 
THERMAL_RELIEF_GAP_CONSTRAINT 
THERMAL_SPOKE_WIDTH_CONSTRAINT 
MIN_RESOLVED_SPOKES_CONSTRAINT 
DISALLOW_CONSTRAINT 
VIA_DIAMETER_CONSTRAINT 
LENGTH_CONSTRAINT 
SKEW_CONSTRAINT 
DIFF_PAIR_GAP_CONSTRAINT 
DIFF_PAIR_MAX_UNCOUPLED_CONSTRAINT 
DIFF_PAIR_INTRA_SKEW_CONSTRAINT 
VIA_COUNT_CONSTRAINT 
PHYSICAL_CLEARANCE_CONSTRAINT 
PHYSICAL_HOLE_CLEARANCE_CONSTRAINT 
ASSERTION_CONSTRAINT 
CONNECTION_WIDTH_CONSTRAINT 

Definition at line 43 of file drc_rule.h.

44{
73};
@ ANNULAR_WIDTH_CONSTRAINT
Definition: drc_rule.h:56
@ COURTYARD_CLEARANCE_CONSTRAINT
Definition: drc_rule.h:51
@ VIA_DIAMETER_CONSTRAINT
Definition: drc_rule.h:62
@ ZONE_CONNECTION_CONSTRAINT
Definition: drc_rule.h:57
@ DIFF_PAIR_MAX_UNCOUPLED_CONSTRAINT
Definition: drc_rule.h:66
@ DIFF_PAIR_GAP_CONSTRAINT
Definition: drc_rule.h:65
@ DISALLOW_CONSTRAINT
Definition: drc_rule.h:61
@ TRACK_WIDTH_CONSTRAINT
Definition: drc_rule.h:55
@ SILK_CLEARANCE_CONSTRAINT
Definition: drc_rule.h:52
@ EDGE_CLEARANCE_CONSTRAINT
Definition: drc_rule.h:49
@ MIN_RESOLVED_SPOKES_CONSTRAINT
Definition: drc_rule.h:60
@ TEXT_THICKNESS_CONSTRAINT
Definition: drc_rule.h:54
@ LENGTH_CONSTRAINT
Definition: drc_rule.h:63
@ VIA_COUNT_CONSTRAINT
Definition: drc_rule.h:68
@ PHYSICAL_HOLE_CLEARANCE_CONSTRAINT
Definition: drc_rule.h:70
@ CLEARANCE_CONSTRAINT
Definition: drc_rule.h:46
@ NULL_CONSTRAINT
Definition: drc_rule.h:45
@ THERMAL_SPOKE_WIDTH_CONSTRAINT
Definition: drc_rule.h:59
@ CONNECTION_WIDTH_CONSTRAINT
Definition: drc_rule.h:72
@ THERMAL_RELIEF_GAP_CONSTRAINT
Definition: drc_rule.h:58
@ ASSERTION_CONSTRAINT
Definition: drc_rule.h:71
@ SKEW_CONSTRAINT
Definition: drc_rule.h:64
@ HOLE_CLEARANCE_CONSTRAINT
Definition: drc_rule.h:47
@ HOLE_SIZE_CONSTRAINT
Definition: drc_rule.h:50
@ TEXT_HEIGHT_CONSTRAINT
Definition: drc_rule.h:53
@ DIFF_PAIR_INTRA_SKEW_CONSTRAINT
Definition: drc_rule.h:67
@ PHYSICAL_CLEARANCE_CONSTRAINT
Definition: drc_rule.h:69
@ HOLE_TO_HOLE_CONSTRAINT
Definition: drc_rule.h:48

◆ DRC_DISALLOW_T

Enumerator
DRC_DISALLOW_VIAS 
DRC_DISALLOW_MICRO_VIAS 
DRC_DISALLOW_BB_VIAS 
DRC_DISALLOW_TRACKS 
DRC_DISALLOW_PADS 
DRC_DISALLOW_ZONES 
DRC_DISALLOW_TEXTS 
DRC_DISALLOW_GRAPHICS 
DRC_DISALLOW_HOLES 
DRC_DISALLOW_FOOTPRINTS 

Definition at line 76 of file drc_rule.h.

77{
78 DRC_DISALLOW_VIAS = (1 << 0),
79 DRC_DISALLOW_MICRO_VIAS = (1 << 1),
80 DRC_DISALLOW_BB_VIAS = (1 << 2),
81 DRC_DISALLOW_TRACKS = (1 << 3),
82 DRC_DISALLOW_PADS = (1 << 4),
83 DRC_DISALLOW_ZONES = (1 << 5),
84 DRC_DISALLOW_TEXTS = (1 << 6),
85 DRC_DISALLOW_GRAPHICS = (1 << 7),
86 DRC_DISALLOW_HOLES = (1 << 8),
88};
@ DRC_DISALLOW_PADS
Definition: drc_rule.h:82
@ DRC_DISALLOW_VIAS
Definition: drc_rule.h:78
@ DRC_DISALLOW_TEXTS
Definition: drc_rule.h:84
@ DRC_DISALLOW_ZONES
Definition: drc_rule.h:83
@ DRC_DISALLOW_HOLES
Definition: drc_rule.h:86
@ DRC_DISALLOW_GRAPHICS
Definition: drc_rule.h:85
@ DRC_DISALLOW_FOOTPRINTS
Definition: drc_rule.h:87
@ DRC_DISALLOW_TRACKS
Definition: drc_rule.h:81
@ DRC_DISALLOW_MICRO_VIAS
Definition: drc_rule.h:79
@ DRC_DISALLOW_BB_VIAS
Definition: drc_rule.h:80

Function Documentation

◆ GetConstraint()

const DRC_CONSTRAINT * GetConstraint ( const BOARD_ITEM aItem,
const BOARD_ITEM bItem,
int  aConstraint,
PCB_LAYER_ID  aLayer,
wxString *  aRuleName = nullptr 
)