76
76
// specctra wants top physical layer first, then going down to the
77
77
// bottom most physical layer in physical sequence.
78
// @question : why does KiCad not display layers in that order?
79
int layerCount = aBoard->GetCopperLayerCount();
78
// Same as KiCad now except for B_Cu
79
unsigned layerCount = aBoard->GetCopperLayerCount();
82
82
pcbLayer2kicad.resize( layerCount );
83
kicadLayer2pcb.resize( LAYER_N_FRONT + 1 );
83
kicadLayer2pcb.resize( B_Cu + 1 );
85
86
for( LAYER_NUM kiNdx = layerCount - 1, pcbNdx=FIRST_LAYER;
86
87
kiNdx >= 0; --kiNdx, ++pcbNdx )
88
LAYER_NUM kilayer = (kiNdx>0 && kiNdx==layerCount-1) ? LAYER_N_FRONT : kiNdx;
89
LAYER_NUM kilayer = (kiNdx>0 && kiNdx==layerCount-1) ? F_Cu : kiNdx;
90
91
// establish bi-directional mapping between KiCad's BOARD layer and PCB layer
91
92
pcbLayer2kicad[pcbNdx] = kilayer;
92
93
kicadLayer2pcb[kilayer] = pcbNdx;
94
95
// save the specctra layer name in SPECCTRA_DB::layerIds for later.
95
layerIds.push_back( TO_UTF8( aBoard->GetLayerName( kilayer ) ) );
96
layerIds.push_back( TO_UTF8( aBoard->GetLayerName( ToLAYER_ID( kilayer ) ) ) );
100
// establish bi-directional mapping between KiCad's BOARD layer and PCB layer
102
for( unsigned i = 0; i < kicadLayer2pcb.size(); ++i )
104
if( i < layerCount-1 )
105
kicadLayer2pcb[i] = i;
107
kicadLayer2pcb[i] = layerCount - 1;
110
for( unsigned i = 0; i < pcbLayer2kicad.size(); ++i )
112
if( i < layerCount-1 )
113
pcbLayer2kicad[i] = ToLAYER_ID( i );
115
pcbLayer2kicad[i] = B_Cu;
117
// save the specctra layer name in SPECCTRA_DB::layerIds for later.
118
layerIds.push_back( TO_UTF8( aBoard->GetLayerName( ToLAYER_ID( i ) ) ) );