/* * KiRouter - a push-and-(sometimes-)shove PCB router * * Copyright (C) 2014 CERN * Copyright (C) 2016 KiCad Developers, see AUTHORS.txt for contributors. * Author: Tomasz Wlostowski * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation, either version 3 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ #include #include "pns_item.h" #include "pns_via.h" #include "pns_solid.h" #include "pns_node.h" #include "pns_sizes_settings.h" namespace PNS { void SIZES_SETTINGS::ClearLayerPairs() { m_layerPairs.clear(); } void SIZES_SETTINGS::AddLayerPair( int aL1, int aL2 ) { int top = std::min( aL1, aL2 ); int bottom = std::max( aL1, aL2 ); m_layerPairs[bottom] = top; m_layerPairs[top] = bottom; } #if 0 void SIZES_SETTINGS::ImportCurrent( BOARD_DESIGN_SETTINGS& aSettings ) { m_trackWidth = aSettings.GetCurrentTrackWidth(); m_viaDiameter = aSettings.GetCurrentViaSize(); m_viaDrill = aSettings.GetCurrentViaDrill(); m_diffPairWidth = aSettings.GetCurrentDiffPairWidth(); m_diffPairGap = aSettings.GetCurrentDiffPairGap(); m_diffPairViaGap = aSettings.GetCurrentDiffPairViaGap(); } #endif int SIZES_SETTINGS::GetLayerTop() const { if( m_layerPairs.empty() ) return F_Cu; else return m_layerPairs.begin()->first; } int SIZES_SETTINGS::GetLayerBottom() const { if( m_layerPairs.empty() ) return B_Cu; else return m_layerPairs.begin()->second; } }