PCB_VIA::SetLayerSet( LSET aLayerSet ): fix bug: it must consider only copper layers.
Its purpose is to initialize the top and the bottom copper layers connected by this via. So only copper layers in LSET must be analyzed.
This commit is contained in:
parent
8abd32c97c
commit
b47f172e57
|
@ -530,6 +530,10 @@ void PCB_VIA::SetLayerSet( LSET aLayerSet )
|
||||||
|
|
||||||
for( PCB_LAYER_ID layer : aLayerSet.Seq() )
|
for( PCB_LAYER_ID layer : aLayerSet.Seq() )
|
||||||
{
|
{
|
||||||
|
// m_layer and m_bottomLayer are copper layers, so consider only copper layers in aLayerSet
|
||||||
|
if( !IsCopperLayer( layer ) )
|
||||||
|
continue;
|
||||||
|
|
||||||
if( first )
|
if( first )
|
||||||
{
|
{
|
||||||
m_layer = layer;
|
m_layer = layer;
|
||||||
|
|
|
@ -407,6 +407,11 @@ public:
|
||||||
bool IsOnLayer( PCB_LAYER_ID aLayer, bool aIncludeCourtyards = false ) const override;
|
bool IsOnLayer( PCB_LAYER_ID aLayer, bool aIncludeCourtyards = false ) const override;
|
||||||
|
|
||||||
virtual LSET GetLayerSet() const override;
|
virtual LSET GetLayerSet() const override;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Note SetLayerSet() initialize the first and last copper layers connected by the via.
|
||||||
|
* So currently SetLayerSet ignore non copper layers
|
||||||
|
*/
|
||||||
virtual void SetLayerSet( LSET aLayers ) override;
|
virtual void SetLayerSet( LSET aLayers ) override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue