Don't cross-pollute CONSTRAINTs.
If you want the HOLE_CLEARANCE, then ask for it.
This commit is contained in:
parent
decca8baba
commit
b5e7611696
|
@ -713,23 +713,10 @@ DRC_CONSTRAINT DRC_ENGINE::EvalRulesForItems( DRC_CONSTRAINT_T aConstraintId,
|
||||||
#define REPORT( s ) { if( aReporter ) { aReporter->Report( s ); } }
|
#define REPORT( s ) { if( aReporter ) { aReporter->Report( s ); } }
|
||||||
#define UNITS aReporter ? aReporter->GetUnits() : EDA_UNITS::MILLIMETRES
|
#define UNITS aReporter ? aReporter->GetUnits() : EDA_UNITS::MILLIMETRES
|
||||||
/*
|
/*
|
||||||
* NOTE: all string manipulation MUST be kept inside the REPORT macro. It absolutely
|
* NOTE: all string manipulation MUST BE KEPT INSIDE the REPORT macro. It absolutely
|
||||||
* kills performance when running bulk DRC tests (where aReporter is nullptr).
|
* kills performance when running bulk DRC tests (where aReporter is nullptr).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if( aConstraintId == CLEARANCE_CONSTRAINT )
|
|
||||||
{
|
|
||||||
// A PTH pad has a plated cylinder around the hole so copper clearances apply
|
|
||||||
// whether or not there's a flashed pad. Not true for NPTHs.
|
|
||||||
if( a && a->Type() == PCB_PAD_T )
|
|
||||||
{
|
|
||||||
const PAD* pad = static_cast<const PAD*>( a );
|
|
||||||
|
|
||||||
if( pad->GetAttribute() == PAD_ATTRIB_NPTH && !pad->FlashLayer( aLayer ) )
|
|
||||||
aConstraintId = HOLE_CLEARANCE_CONSTRAINT;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const BOARD_CONNECTED_ITEM* ac = a && a->IsConnected() ?
|
const BOARD_CONNECTED_ITEM* ac = a && a->IsConnected() ?
|
||||||
static_cast<const BOARD_CONNECTED_ITEM*>( a ) : nullptr;
|
static_cast<const BOARD_CONNECTED_ITEM*>( a ) : nullptr;
|
||||||
const BOARD_CONNECTED_ITEM* bc = b && b->IsConnected() ?
|
const BOARD_CONNECTED_ITEM* bc = b && b->IsConnected() ?
|
||||||
|
|
Loading…
Reference in New Issue