KiCad PCB EDA Suite
Loading...
Searching...
No Matches
drc_rule.h File Reference
#include <bitset>
#include <kiid.h>
#include <core/typeinfo.h>
#include <optional>
#include <core/minoptmax.h>
#include <layer_ids.h>
#include <lset.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 , 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 
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 46 of file drc_rule.h.

◆ 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 79 of file drc_rule.h.

Function Documentation

◆ GetConstraint()

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