Use Net() accessor uniformly; init hole parent in VIA::Clone()
Fixes https://gitlab.com/kicad/code/kicad/issues/14603
(cherry picked from commit 16e000f2b0
)
This commit is contained in:
parent
8ffba3a52f
commit
2acc0a6844
|
@ -111,7 +111,7 @@ bool ITEM::collideSimple( const ITEM* aHead, const NODE* aNode,
|
||||||
if( Kind() == HOLE_T && aHead->Kind() == HOLE_T )
|
if( Kind() == HOLE_T && aHead->Kind() == HOLE_T )
|
||||||
differentNetsOnly = false;
|
differentNetsOnly = false;
|
||||||
|
|
||||||
if( differentNetsOnly && Net() == aHead->m_net && aHead->m_net >= 0 )
|
if( differentNetsOnly && Net() == aHead->Net() && aHead->Net() >= 0 )
|
||||||
{
|
{
|
||||||
// same nets? no clearance!
|
// same nets? no clearance!
|
||||||
clearance = -1;
|
clearance = -1;
|
||||||
|
@ -242,7 +242,7 @@ const std::string ITEM::Format() const
|
||||||
{
|
{
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
ss << KindStr() << " ";
|
ss << KindStr() << " ";
|
||||||
ss << "net " << m_net << " ";
|
ss << "net " << Net() << " ";
|
||||||
ss << "layers " << m_layers.Start() << " " << m_layers.End();
|
ss << "layers " << m_layers.Start() << " " << m_layers.End();
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
|
|
|
@ -537,6 +537,9 @@ void NODE::add( ITEM* aItem, bool aAllowRedundant )
|
||||||
case ITEM::SOLID_T:
|
case ITEM::SOLID_T:
|
||||||
addSolid( static_cast<SOLID*>( aItem ) );
|
addSolid( static_cast<SOLID*>( aItem ) );
|
||||||
break;
|
break;
|
||||||
|
case ITEM::HOLE_T:
|
||||||
|
// added by parent VIA_T or SOLID_T (pad)
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
assert( false );
|
assert( false );
|
||||||
}
|
}
|
||||||
|
|
|
@ -160,8 +160,7 @@ VIA* VIA::Clone() const
|
||||||
v->m_diameter = m_diameter;
|
v->m_diameter = m_diameter;
|
||||||
v->m_drill = m_drill;
|
v->m_drill = m_drill;
|
||||||
v->m_shape = SHAPE_CIRCLE( m_pos, m_diameter / 2 );
|
v->m_shape = SHAPE_CIRCLE( m_pos, m_diameter / 2 );
|
||||||
delete v->m_hole;
|
v->SetHole( HOLE::MakeCircularHole( m_pos, m_drill / 2 ) );
|
||||||
v->m_hole = m_hole->Clone();
|
|
||||||
v->m_rank = m_rank;
|
v->m_rank = m_rank;
|
||||||
v->m_marker = m_marker;
|
v->m_marker = m_marker;
|
||||||
v->m_viaType = m_viaType;
|
v->m_viaType = m_viaType;
|
||||||
|
@ -175,7 +174,7 @@ VIA* VIA::Clone() const
|
||||||
|
|
||||||
OPT_BOX2I VIA::ChangedArea( const VIA* aOther ) const
|
OPT_BOX2I VIA::ChangedArea( const VIA* aOther ) const
|
||||||
{
|
{
|
||||||
if ( aOther->Pos() != Pos() )
|
if( aOther->Pos() != Pos() )
|
||||||
{
|
{
|
||||||
BOX2I tmp = Shape()->BBox();
|
BOX2I tmp = Shape()->BBox();
|
||||||
tmp.Merge( aOther->Shape()->BBox() );
|
tmp.Merge( aOther->Shape()->BBox() );
|
||||||
|
|
Loading…
Reference in New Issue