KiCad PCB EDA Suite
|
#include <set>
#include <vector>
#include <bitset>
#include <stdexcept>
#include <wx/string.h>
#include <kicommon.h>
Go to the source code of this file.
Classes | |
class | GAL_SET |
Helper for storing and iterating over GAL_LAYER_IDs. More... | |
Macros | |
#define | MAX_CU_LAYERS 32 |
#define | MAX_USER_DEFINED_LAYERS 45 |
#define | NETNAMES_LAYER_INDEX(layer) ( static_cast<int>( NETNAMES_LAYER_ID_START ) + layer ) |
Macro for obtaining netname layer for a given PCB layer. | |
#define | GAL_UI_LAYER_COUNT 10 |
#define | GAL_LAYER_INDEX(x) ( x - GAL_LAYER_ID_START ) |
Use this macro to convert a #GAL layer to a 0-indexed offset from LAYER_VIAS. | |
#define | BITMAP_LAYER_FOR(boardLayer) ( LAYER_BITMAP_START + boardLayer ) |
Macros for getting the extra layers for a given board layer. | |
#define | ZONE_LAYER_FOR(boardLayer) ( LAYER_ZONE_START + boardLayer ) |
#define | PAD_COPPER_LAYER_FOR(boardLayer) ( LAYER_PAD_COPPER_START + boardLayer ) |
#define | VIA_COPPER_LAYER_FOR(boardLayer) ( LAYER_VIA_COPPER_START + boardLayer ) |
#define | CLEARANCE_LAYER_FOR(boardLayer) ( LAYER_CLEARANCE_START + boardLayer ) |
#define | SCH_LAYER_ID_COUNT ( SCH_LAYER_ID_END - SCH_LAYER_ID_START ) |
#define | SCH_LAYER_INDEX(x) ( x - SCH_LAYER_ID_START ) |
#define | GERBER_DRAWLAYERS_COUNT static_cast<int>( PCB_LAYER_ID_COUNT ) |
Number of draw layers in Gerbview. | |
#define | GERBER_DRAW_LAYER(x) ( GERBVIEW_LAYER_ID_START + x ) |
#define | GERBER_DCODE_LAYER(x) ( GERBER_DRAWLAYERS_COUNT + x ) |
#define | GERBER_DRAW_LAYER_INDEX(x) ( x - GERBVIEW_LAYER_ID_START ) |
#define | LAYER_ID_COUNT LAYER_3D_END |
Must update this if you add any enums after Gerbview! | |
#define | MIN_VISIBILITY_MASK |
Typedefs | |
typedef std::bitset< GAL_LAYER_ID_COUNT > | GAL_BASE_SET |
Wraps a std::bitset. | |
Functions | |
GAL_LAYER_ID | operator++ (GAL_LAYER_ID &a) |
GAL_LAYER_ID | ToGalLayer (int aInteger) |
GAL_LAYER_ID | operator+ (const GAL_LAYER_ID &a, int b) |
Used for via types. | |
SCH_LAYER_ID | operator++ (SCH_LAYER_ID &a) |
KICOMMON_API wxString | LayerName (int aLayer) |
Return the string equivalent of a given layer. | |
bool | IsValidLayer (int aLayerId) |
Test whether a given integer is a valid layer index, i.e. | |
bool | IsPcbLayer (int aLayer) |
Test whether a layer is a valid layer for Pcbnew. | |
bool | IsCopperLayer (int aLayerId) |
Test whether a layer is a copper layer. | |
bool | IsExternalCopperLayer (int aLayerId) |
Test whether a layer is an external (F_Cu or B_Cu) copper layer. | |
bool | IsInnerCopperLayer (int aLayerId) |
Test whether a layer is an inner (In1_Cu to In30_Cu) copper layer. | |
bool | IsNonCopperLayer (int aLayerId) |
Test whether a layer is a non copper layer. | |
bool | IsCopperLayer (int aLayerId, bool aIncludeSyntheticCopperLayers) |
Test whether a layer is a copper layer, optionally including synthetic copper layers such as LAYER_VIA_THROUGH, #LAYER_PADS_SMD_FR, etc. | |
bool | IsViaPadLayer (int aLayer) |
bool | IsHoleLayer (int aLayer) |
bool | IsSolderMaskLayer (int aLayer) |
bool | IsUserLayer (PCB_LAYER_ID aLayerId) |
Test whether a layer is a non copper and a non tech layer. | |
bool | IsFrontLayer (PCB_LAYER_ID aLayerId) |
Layer classification: check if it's a front layer. | |
bool | IsBackLayer (PCB_LAYER_ID aLayerId) |
Layer classification: check if it's a back layer. | |
bool | IsCopperLayerLowerThan (PCB_LAYER_ID aLayerA, PCB_LAYER_ID aLayerB) |
Return true if copper aLayerA is placed lower than aLayerB, false otherwise. | |
KICOMMON_API PCB_LAYER_ID | FlipLayer (PCB_LAYER_ID aLayerId, int aCopperLayersCount=0) |
int | GetNetnameLayer (int aLayer) |
Return a netname layer corresponding to the given layer. | |
bool | IsNetnameLayer (int aLayer) |
Test whether a layer is a netname layer. | |
bool | IsZoneFillLayer (int aLayer) |
bool | IsPadCopperLayer (int aLayer) |
bool | IsViaCopperLayer (int aLayer) |
bool | IsClearanceLayer (int aLayer) |
bool | IsDCodeLayer (int aLayer) |
size_t | CopperLayerToOrdinal (PCB_LAYER_ID aLayer) |
Converts KiCad copper layer enum to an ordinal between the front and back layers. | |
KICOMMON_API PCB_LAYER_ID | BoardLayerFromLegacyId (int aLegacyId) |
Retrieve a layer ID from an integer converted from a legacy (pre-V9) enum value. | |
KICOMMON_API PCB_LAYER_ID | ToLAYER_ID (int aLayer) |
Variables | |
constexpr PCB_LAYER_ID | PCBNEW_LAYER_ID_START = F_Cu |
constexpr int | GAL_LAYER_ID_COUNT = GAL_LAYER_ID_END - GAL_LAYER_ID_START |
#define BITMAP_LAYER_FOR | ( | boardLayer | ) | ( LAYER_BITMAP_START + boardLayer ) |
Macros for getting the extra layers for a given board layer.
Definition at line 357 of file layer_ids.h.
#define CLEARANCE_LAYER_FOR | ( | boardLayer | ) | ( LAYER_CLEARANCE_START + boardLayer ) |
Definition at line 361 of file layer_ids.h.
#define GAL_LAYER_INDEX | ( | x | ) | ( x - GAL_LAYER_ID_START ) |
Use this macro to convert a #GAL layer to a 0-indexed offset from LAYER_VIAS.
Definition at line 354 of file layer_ids.h.
#define GAL_UI_LAYER_COUNT 10 |
Definition at line 211 of file layer_ids.h.
#define GERBER_DCODE_LAYER | ( | x | ) | ( GERBER_DRAWLAYERS_COUNT + x ) |
Definition at line 529 of file layer_ids.h.
#define GERBER_DRAW_LAYER | ( | x | ) | ( GERBVIEW_LAYER_ID_START + x ) |
Definition at line 527 of file layer_ids.h.
#define GERBER_DRAW_LAYER_INDEX | ( | x | ) | ( x - GERBVIEW_LAYER_ID_START ) |
Definition at line 531 of file layer_ids.h.
#define GERBER_DRAWLAYERS_COUNT static_cast<int>( PCB_LAYER_ID_COUNT ) |
Number of draw layers in Gerbview.
Definition at line 506 of file layer_ids.h.
#define LAYER_ID_COUNT LAYER_3D_END |
Must update this if you add any enums after Gerbview!
Definition at line 567 of file layer_ids.h.
#define MAX_CU_LAYERS 32 |
Definition at line 176 of file layer_ids.h.
#define MAX_USER_DEFINED_LAYERS 45 |
Definition at line 177 of file layer_ids.h.
#define MIN_VISIBILITY_MASK |
Definition at line 582 of file layer_ids.h.
#define NETNAMES_LAYER_INDEX | ( | layer | ) | ( static_cast<int>( NETNAMES_LAYER_ID_START ) + layer ) |
Macro for obtaining netname layer for a given PCB layer.
Definition at line 209 of file layer_ids.h.
#define PAD_COPPER_LAYER_FOR | ( | boardLayer | ) | ( LAYER_PAD_COPPER_START + boardLayer ) |
Definition at line 359 of file layer_ids.h.
#define SCH_LAYER_ID_COUNT ( SCH_LAYER_ID_END - SCH_LAYER_ID_START ) |
Definition at line 495 of file layer_ids.h.
#define SCH_LAYER_INDEX | ( | x | ) | ( x - SCH_LAYER_ID_START ) |
Definition at line 497 of file layer_ids.h.
#define VIA_COPPER_LAYER_FOR | ( | boardLayer | ) | ( LAYER_VIA_COPPER_START + boardLayer ) |
Definition at line 360 of file layer_ids.h.
#define ZONE_LAYER_FOR | ( | boardLayer | ) | ( LAYER_ZONE_START + boardLayer ) |
Definition at line 358 of file layer_ids.h.
typedef std::bitset<GAL_LAYER_ID_COUNT> GAL_BASE_SET |
Wraps a std::bitset.
Definition at line 387 of file layer_ids.h.
|
strong |
Enum used during connectivity building to ensure we do not query connectivity while building the database.
Enumerator | |
---|---|
DEFAULT | Flashing follows connectivity. |
ALWAYS_FLASHED | Always flashed for connectivity. |
NEVER_FLASHED | Never flashed for connectivity. |
Definition at line 183 of file layer_ids.h.
enum GAL_LAYER_ID : int |
GAL layers are "virtual" layers, i.e.
not tied into design data.
Some layers here are shared between applications.
The values in this enum that are used to store visibility state are explicitly encoded with an offset from GAL_LAYER_ID_START, which is explicitly encoded itself. The exact value of GAL_LAYER_ID_START is not that sensitive, but the offsets should never be changed or else any existing visibility settings will be disrupted.
Enumerator | |
---|---|
GAL_LAYER_ID_START | |
LAYER_VIAS | Meta control for all vias opacity/visibility. |
LAYER_VIA_MICROVIA | |
LAYER_VIA_BBLIND | Draw micro vias. |
LAYER_VIA_THROUGH | Draw blind/buried vias. |
LAYER_NON_PLATEDHOLES | Draw usual through hole vias. Handle color for not plated holes (holes, not pads). |
LAYER_FP_TEXT | |
LAYER_ANCHOR | Anchor of items having an anchor point (texts, footprints). |
LAYER_RATSNEST | |
LAYER_GRID | |
LAYER_GRID_AXES | |
LAYER_FOOTPRINTS_FR | Show footprints on front. |
LAYER_FOOTPRINTS_BK | Show footprints on back. |
LAYER_FP_VALUES | Show footprints values (when texts are visible). |
LAYER_FP_REFERENCES | Show footprints references (when texts are visible). |
LAYER_TRACKS | |
LAYER_PAD_PLATEDHOLES | to draw pad holes (plated) |
LAYER_VIA_HOLES | Draw via holes (pad holes do not use this layer). |
LAYER_DRC_ERROR | Layer for DRC markers with #SEVERITY_ERROR. |
LAYER_DRAWINGSHEET | Sheet frame and title block. |
LAYER_GP_OVERLAY | General purpose overlay. |
LAYER_SELECT_OVERLAY | Selected items overlay. |
LAYER_PCB_BACKGROUND | PCB background color. |
LAYER_CURSOR | PCB cursor. |
LAYER_AUX_ITEMS | Auxiliary items (guides, rule, etc). |
LAYER_DRAW_BITMAPS | Draw images. |
GAL_LAYER_ID_BITMASK_END | This is the end of the layers used for visibility bit masks in legacy board files. |
LAYER_PADS | Meta control for all pads opacity/visibility (color ignored). |
LAYER_ZONES | Control for copper zone opacity/visibility (color ignored). |
LAYER_PAD_HOLEWALLS | |
LAYER_VIA_HOLEWALLS | |
LAYER_DRC_WARNING | Layer for DRC markers with #SEVERITY_WARNING. |
LAYER_DRC_EXCLUSION | Layer for DRC markers which have been individually excluded. |
LAYER_MARKER_SHADOWS | Shadows for DRC markers. |
LAYER_LOCKED_ITEM_SHADOW | Shadow layer for locked items. |
LAYER_CONFLICTS_SHADOW | Shadow layer for items flagged conflicting. |
LAYER_SHAPES | Copper graphic shape opacity/visibility (color ignored). |
LAYER_DRC_SHAPE1 | Custom shape for DRC marker. |
LAYER_DRC_SHAPE2 | Custom shape for DRC marker. |
LAYER_DRAWINGSHEET_PAGE1 | Sheet Editor previewing first page. |
LAYER_DRAWINGSHEET_PAGEn | Sheet Editor previewing pages after first page. |
LAYER_PAGE_LIMITS | Color for drawing the page extents (visibility stored in PCBNEW_SETTINGS::m_ShowPageLimits) |
LAYER_ZONE_START | Virtual layers for stacking zones and tracks on a given copper layer. |
LAYER_ZONE_END | |
LAYER_PAD_COPPER_START | Virtual layers for pad copper on a given copper layer. |
LAYER_PAD_COPPER_END | |
LAYER_VIA_COPPER_START | Virtual layers for via copper on a given copper layer. |
LAYER_VIA_COPPER_END | |
LAYER_CLEARANCE_START | Virtual layers for pad/via/track clearance outlines for a given copper layer. |
LAYER_CLEARANCE_END | |
LAYER_BITMAP_START | Virtual layers for background images per board layer. |
LAYER_BITMAP_END | |
LAYER_UI_START | |
LAYER_UI_END | |
GAL_LAYER_ID_END |
Definition at line 227 of file layer_ids.h.
enum GERBVIEW_LAYER_ID : int |
Gerbview draw layers.
Definition at line 509 of file layer_ids.h.
enum LAYER_3D_ID : int |
3D Viewer virtual layers for color settings
Definition at line 535 of file layer_ids.h.
enum NETNAMES_LAYER_ID : int |
Dedicated layers for net names used in Pcbnew.
Enumerator | |
---|---|
NETNAMES_LAYER_ID_START | |
NETNAMES_LAYER_ID_RESERVED | Reserved space for board layer netnames. |
LAYER_PAD_FR_NETNAMES | Additional netnames layers (not associated with a PCB layer). |
LAYER_PAD_BK_NETNAMES | |
LAYER_PAD_NETNAMES | |
LAYER_VIA_NETNAMES | |
NETNAMES_LAYER_ID_END |
Definition at line 191 of file layer_ids.h.
enum PCB_LAYER_ID : int |
A quick note on layer IDs:
The layers are stored in separate enums so that certain functions can take in the enums as data types and don't have to know about layers from other applications.
Layers that are shared between applications should be in the GAL_LAYER_ID enum.
The PCB_LAYER_ID struct must start at zero for compatibility with legacy board files.
Some functions accept any layer ID, so they start at zero (i.e. F_Cu) and go up to the LAYER_ID_COUNT, which needs to be kept up-to-date if new enums are added. This is the definition of all layers used in Pcbnew.
The PCB layer types are fixed at value 0 through LAYER_ID_COUNT to ensure compatibility with legacy board files.
Definition at line 59 of file layer_ids.h.
enum SCH_LAYER_ID : int |
Eeschema drawing layers.
Definition at line 437 of file layer_ids.h.
KICOMMON_API PCB_LAYER_ID BoardLayerFromLegacyId | ( | int | aLegacyId | ) |
Retrieve a layer ID from an integer converted from a legacy (pre-V9) enum value.
Definition at line 215 of file layer_id.cpp.
References B_Adhes, B_CrtYd, B_Cu, B_Fab, B_Mask, B_Paste, B_SilkS, Cmts_User, Dwgs_User, Eco1_User, Eco2_User, Edge_Cuts, F_Adhes, F_CrtYd, F_Cu, F_Fab, F_Mask, F_Paste, F_SilkS, In1_Cu, Margin, Rescue, UNDEFINED_LAYER, User_1, User_2, User_3, User_4, User_5, User_6, User_7, User_8, and User_9.
Referenced by PCB_IO_KICAD_LEGACY::leg_layer2new(), and PARAM_LAYER_PRESET::MigrateToV9Layers().
|
inline |
Converts KiCad copper layer enum to an ordinal between the front and back layers.
Definition at line 847 of file layer_ids.h.
References B_Cu, F_Cu, IsCopperLayer(), and MAX_CU_LAYERS.
Referenced by ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), GetGerberProtelExtension(), and ALTIUM_PCB::ParseVias6Data().
KICOMMON_API PCB_LAYER_ID FlipLayer | ( | PCB_LAYER_ID | aLayerId, |
int | aCopperLayersCount = 0 |
||
) |
aLayerId | = the PCB_LAYER_ID to flip |
aCopperLayersCount | = the number of copper layers. if 0 (in fact if < 4 ) internal layers will be not flipped because the layer count is not known |
Definition at line 169 of file layer_id.cpp.
References B_Adhes, B_CrtYd, B_Cu, B_Fab, B_Mask, B_Paste, B_SilkS, F_Adhes, F_CrtYd, F_Cu, F_Fab, F_Mask, F_Paste, F_SilkS, In1_Cu, and IsCopperLayer().
Referenced by FOOTPRINT::Flip(), PCB_DIMENSION_BASE::Flip(), PCB_GENERATOR::Flip(), PCB_SHAPE::Flip(), PCB_TABLE::Flip(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), PCB_TRACK::Flip(), PCB_ARC::Flip(), and PCB_IO_IPC2581::generateLayerSetNet().
|
inline |
Return a netname layer corresponding to the given layer.
Definition at line 794 of file layer_ids.h.
References Cmts_User, IsCopperLayer(), IsViaPadLayer(), and NETNAMES_LAYER_INDEX.
Referenced by KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_CONTROL::LayerAlphaDec(), PCB_CONTROL::LayerAlphaInc(), KIGFX::PCB_RENDER_SETTINGS::LoadColors(), APPEARANCE_CONTROLS::OnColorSwatchChanged(), PCB_EDIT_FRAME::redrawNetnames(), PCB_DRAW_PANEL_GAL::setDefaultLayerDeps(), PCB_DRAW_PANEL_GAL::SetHighContrastLayer(), PCB_DRAW_PANEL_GAL::SetTopLayer(), PCB_SHAPE::ViewGetLayers(), and PCB_TRACK::ViewGetLayers().
|
inline |
Layer classification: check if it's a back layer.
Definition at line 743 of file layer_ids.h.
References B_Adhes, B_CrtYd, B_Cu, B_Fab, B_Mask, B_Paste, and B_SilkS.
Referenced by FABMASTER::createBoardItems(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawShape(), PADSTACK::EffectiveLayerFor(), FOOTPRINT::GetCachedCourtyard(), BOARD::GetFootprint(), STEP_PCB_MODEL::getLayerZPlacement(), PAD::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), GENERAL_COLLECTOR::Inspect(), PCB_VIA::IsTented(), PADSTACK::IsTented(), FABMASTER::loadFootprints(), PCB_IO_EASYEDAPRO_PARSER::ParseBoard(), PCB_IO_EASYEDA_PARSER::ParseToBoardItemContainer(), PCB_TABLECELL::PCB_TABLECELL(), PCB_TEXT::PCB_TEXT(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::Reset(), PCB_DRAW_PANEL_GAL::SetTopLayer(), PCB_FIELDS_GRID_TABLE::SetValueAsLong(), PCB_TEXT::StyleFromSettings(), and PCB_TEXTBOX::StyleFromSettings().
|
inline |
Definition at line 833 of file layer_ids.h.
References LAYER_CLEARANCE_END, and LAYER_CLEARANCE_START.
Referenced by KIGFX::PCB_PAINTER::draw(), PADSTACK::EffectiveLayerFor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), and KIGFX::VIEW_GROUP::ViewDraw().
|
inline |
Test whether a layer is a copper layer.
aLayerId | = Layer to test |
Definition at line 618 of file layer_ids.h.
Referenced by CN_CONNECTIVITY_ALGO::Add(), BOARD::Add(), GERBER_JOBFILE_WRITER::addJSONFilesAttributes(), PCB_IO_IPC2581::addLayerAttributes(), ODB_MATRIX_ENTITY::AddMatrixLayerField(), BOARD_ADAPTER::addPads(), STEP_PCB_MODEL::AddPolygonShapes(), PCAD2KICAD::PCAD_LINE::AddToBoard(), PCAD2KICAD::PCAD_PAD::AddToBoard(), BOARD::BOARD(), BOOST_AUTO_TEST_CASE(), PCB_NET_INSPECTOR_PANEL::buildColumns(), EXPORTER_STEP::buildFootprint3DShapes(), EXPORTER_STEP::buildGraphic3DShape(), PCB_ONE_LAYER_SELECTOR::buildList(), ALTIUM_PCB::ConvertArcs6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertArcs6ToFootprintItem(), ALTIUM_PCB::ConvertFills6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertShapeBasedRegions6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertTracks6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertTracks6ToFootprintItem(), COPPER_LAYERS_PAIR_SELECTION_UI::COPPER_LAYERS_PAIR_SELECTION_UI(), CopperLayerToOrdinal(), KIGFX::PCB_PAINTER::draw(), DRAWING_TOOL::DrawVia(), PCB_EDIT_FRAME::Edit_Zone_Params(), PADSTACK::EffectiveLayerFor(), DIALOG_SHAPE_PROPERTIES::enableNetInfo(), GBR_TO_PCB_EXPORTER::ExportPcb(), PCB_VIA::FlashLayer(), PAD::FlashLayer(), FlipLayer(), PCB_IO_KICAD_SEXPR::formatBoardLayers(), GenCADLayerName(), PCB_IO_IPC2581::generateLayerSetNet(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), COLOR_SETTINGS::GetDefaultColor(), GetGerberFileFunctionAttribute(), GetGerberFilePolarityAttribute(), GetGerberProtelExtension(), BOARD_DESIGN_SETTINGS::GetLayerClass(), BOARD_STACKUP::GetLayerDistance(), BOARD::GetLayerType(), STEP_PCB_MODEL::getLayerZPlacement(), PCB_IO_EAGLE::getMinimumCopperLayerCount(), GetNetnameLayer(), PANEL_SETUP_LAYERS::getNonRemovableLayers(), LAYERS_MAP_DIALOG::initDialog(), BOARD_ADAPTER::InitSettings(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), IsCopperLayer(), IsInnerCopperLayer(), BOARD_ITEM::IsOnCopperLayer(), PCB_VIA::IsOnLayer(), IsUserLayer(), PCB_CONTROL::LayerAlphaDec(), PCB_CONTROL::LayerAlphaInc(), LSET::LayerCount(), PCB_CONTROL::LayerNext(), PCB_CONTROL::LayerPrev(), FABMASTER::loadEtch(), PCB_IO_EAGLE::loadSignals(), FABMASTER::loadZones(), PCB_POINT_EDITOR::makePoints(), APPEARANCE_CONTROLS::OnColorSwatchChanged(), DIALOG_PRINT_PCBNEW::onPopUpLayers(), DIALOG_PLOT::OnRightClickLayers(), PCB_IO_EAGLE::packageSMD(), PCB_IO_KICAD_SEXPR_PARSER::parsePAD(), PCB_IO_KICAD_SEXPR_PARSER::parsePadstack(), PCB_IO_KICAD_SEXPR_PARSER::parsePCB_VIA(), PCB_IO_EASYEDA_PARSER::ParseToBoardItemContainer(), ALTIUM_PCB::ParseVias6Data(), PCB_IO_KICAD_SEXPR_PARSER::parseViastack(), PlotOneBoardLayer(), BRDITEMS_PLOTTER::PlotText(), ROUTER_TOOL::prepareInteractive(), RENDER_3D_OPENGL::Redraw(), RENDER_3D_RAYTRACE_BASE::Reload(), DRC_CACHE_GENERATOR::Run(), FOOTPRINT_EDIT_FRAME::SetActiveLayer(), PCB_EDIT_FRAME::SetActiveLayer(), PCB_DRAW_PANEL_GAL::setDefaultLayerDeps(), PCB_DRAW_PANEL_GAL::SetHighContrastLayer(), RENDER_3D_OPENGL::setLayerMaterial(), PCB_SHAPE::SetLayerSet(), PCB_TRACK::SetLayerSet(), PCB_VIA::SetLayerSet(), PCB_DRAW_PANEL_GAL::SetTopLayer(), PCB_BASE_FRAME::SwitchLayer(), PCB_EDIT_FRAME::SwitchLayer(), PANEL_SETUP_LAYERS::SyncCopperLayers(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testGraphicClearances(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), PCB_CONTROL::UpdateMessagePanel(), PCB_VIA::ViewGetLOD(), and ZONE_DESC::ZONE_DESC().
|
inline |
Test whether a layer is a copper layer, optionally including synthetic copper layers such as LAYER_VIA_THROUGH, #LAYER_PADS_SMD_FR, etc.
aLayerId | |
aIncludeSyntheticCopperLayers |
Definition at line 664 of file layer_ids.h.
References IsCopperLayer(), and IsNonCopperLayer().
|
inline |
Return true if copper aLayerA is placed lower than aLayerB, false otherwise.
Definition at line 764 of file layer_ids.h.
References B_Cu.
Referenced by PCB_VIA::LayerPair(), PCB_VIA::SanitizeLayers(), and PCB_VIA::ViewGetLOD().
|
inline |
Definition at line 839 of file layer_ids.h.
References GERBER_DRAWLAYERS_COUNT, and GERBVIEW_LAYER_ID_START.
Referenced by KIGFX::GERBVIEW_PAINTER::draw(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), and GERBER_DRAW_ITEM::ViewGetLOD().
|
inline |
Test whether a layer is an external (F_Cu or B_Cu) copper layer.
aLayerId | = Layer to test |
Definition at line 629 of file layer_ids.h.
Referenced by BOARD_ADAPTER::addShape(), KIGFX::PCB_PAINTER::draw(), DIALOG_SHAPE_PROPERTIES::enableTechLayers(), PCB_IO_KICAD_SEXPR::format(), IsInnerCopperLayer(), PCB_SHAPE_DESC::PCB_SHAPE_DESC(), and BRDITEMS_PLOTTER::PlotShape().
|
inline |
Layer classification: check if it's a front layer.
Definition at line 720 of file layer_ids.h.
References F_Adhes, F_CrtYd, F_Cu, F_Fab, F_Mask, F_Paste, and F_SilkS.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture(), PADSTACK::EffectiveLayerFor(), STEP_PCB_MODEL::getLayerZPlacement(), PAD::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), GENERAL_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), PCB_VIA::IsTented(), PADSTACK::IsTented(), PCB_POINT_EDITOR::makePoints(), PCB_DRAW_PANEL_GAL::SetTopLayer(), PADSTACK::SolderMaskMargin(), PADSTACK::SolderPasteMargin(), and PADSTACK::SolderPasteMarginRatio().
|
inline |
Definition at line 679 of file layer_ids.h.
References LAYER_NON_PLATEDHOLES, LAYER_PAD_HOLEWALLS, LAYER_PAD_PLATEDHOLES, LAYER_VIA_HOLES, and LAYER_VIA_HOLEWALLS.
Referenced by KIGFX::PCB_RENDER_SETTINGS::GetColor(), PAD::ViewGetLOD(), and PCB_VIA::ViewGetLOD().
|
inline |
Test whether a layer is an inner (In1_Cu to In30_Cu) copper layer.
aLayerId | = Layer to test |
Definition at line 640 of file layer_ids.h.
References IsCopperLayer(), and IsExternalCopperLayer().
Referenced by EXPORTER_STEP::buildGraphic3DShape().
|
inline |
Test whether a layer is a netname layer.
aLayer | = Layer to test |
Definition at line 809 of file layer_ids.h.
References F_Cu, NETNAMES_LAYER_ID_END, and NETNAMES_LAYER_INDEX.
Referenced by KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_DRAW_PANEL_GAL::setDefaultLayerDeps(), KIGFX::RENDER_SETTINGS::update(), PAD::ViewGetLOD(), PCB_TRACK::ViewGetLOD(), and PCB_VIA::ViewGetLOD().
|
inline |
Test whether a layer is a non copper layer.
aLayerId | = Layer to test |
Definition at line 651 of file layer_ids.h.
References PCB_LAYER_ID_COUNT.
Referenced by CONVERT_TOOL::CreatePolys(), IsCopperLayer(), and PCB_DRAW_PANEL_GAL::setDefaultLayerDeps().
|
inline |
Definition at line 821 of file layer_ids.h.
References LAYER_PAD_COPPER_END, and LAYER_PAD_COPPER_START.
Referenced by KIGFX::PCB_PAINTER::draw(), PADSTACK::EffectiveLayerFor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), and KIGFX::VIEW_GROUP::ViewDraw().
|
inline |
Test whether a layer is a valid layer for Pcbnew.
aLayer | = Layer to test |
Definition at line 607 of file layer_ids.h.
References F_Cu, and PCB_LAYER_ID_COUNT.
Referenced by KIGFX::PCB_PAINTER::Draw(), GBR_TO_PCB_EXPORTER::ExportPcb(), FABMASTER::loadFootprints(), FABMASTER::loadGraphics(), FABMASTER::loadPolygon(), FABMASTER::loadZone(), and PCB_GRID_HELPER::queryVisible().
|
inline |
Definition at line 688 of file layer_ids.h.
References B_Mask, and F_Mask.
Referenced by BOARD_ADAPTER::addShape(), KIGFX::PCB_PAINTER::draw(), PCB_TRACK::GetEffectiveShape(), PCB_ARC::GetEffectiveShape(), PCB_SHAPE::SetLayerSet(), PCB_TRACK::SetLayerSet(), and PCB_TRACK::TransformShapeToPolygon().
|
inline |
Test whether a layer is a non copper and a non tech layer.
aLayerId | = Layer to test |
Definition at line 699 of file layer_ids.h.
References Cmts_User, Dwgs_User, Eco1_User, Eco2_User, IsCopperLayer(), and User_1.
Referenced by LAYER_NAMES_GRID_TABLE::AppendRows(), PANEL_FP_EDITOR_FIELD_DEFAULTS::loadFPSettings(), FOOTPRINT_EDIT_FRAME::LoadSettings(), and PANEL_FP_EDITOR_FIELD_DEFAULTS::TransferDataFromWindow().
|
inline |
Test whether a given integer is a valid layer index, i.e.
can be safely put in a PCB_LAYER_ID.
aLayerId | = Layer index to test. It can be an int, so its useful during I/O |
Definition at line 596 of file layer_ids.h.
References PCB_LAYER_ID_COUNT.
Referenced by DRAWING_TOOL::DrawSpecificationStackup(), PCB_IO_IPC2581::generateCadLayers(), PCB_IO_IPC2581::generateCadSpecs(), PCB_IO_IPC2581::generateStackup(), ODB_MATRIX_ENTITY::InitMatrixLayerData(), and LAYERS_MAP_DIALOG::OnSelectLayer().
|
inline |
Definition at line 827 of file layer_ids.h.
References LAYER_VIA_COPPER_END, and LAYER_VIA_COPPER_START.
Referenced by KIGFX::PCB_PAINTER::draw(), PADSTACK::EffectiveLayerFor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), and KIGFX::VIEW_GROUP::ViewDraw().
|
inline |
Definition at line 672 of file layer_ids.h.
References LAYER_VIA_BBLIND, LAYER_VIA_MICROVIA, and LAYER_VIA_THROUGH.
Referenced by GetNetnameLayer().
|
inline |
Definition at line 815 of file layer_ids.h.
References LAYER_ZONE_END, and LAYER_ZONE_START.
Referenced by KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), and KIGFX::VIEW_GROUP::ViewDraw().
KICOMMON_API wxString LayerName | ( | int | aLayer | ) |
Return the string equivalent of a given layer.
aLayer | is a valid layer ID. |
Return the string equivalent of a given layer.
These are not the same as the canonical name in LSET::Name(), which is used in board files and cannot be translated or changed. WARNING: do not translate board physical layers names (F.Cu to User.9): because canonical names are used in files (boards and fab files), using translated names in UI create mistakes for users. Board physical layers names must be seen as proper nouns.
Definition at line 31 of file layer_id.cpp.
References _, B_Adhes, B_CrtYd, B_Cu, B_Fab, B_Mask, B_Paste, B_SilkS, Cmts_User, Dwgs_User, Eco1_User, Eco2_User, Edge_Cuts, F_Adhes, F_CrtYd, F_Cu, F_Fab, F_Mask, F_Paste, F_SilkS, In1_Cu, LAYER_ANCHOR, LAYER_AUX_ITEMS, LAYER_BRIGHTENED, LAYER_BUS, LAYER_BUS_JUNCTION, LAYER_CONFLICTS_SHADOW, LAYER_CURSOR, LAYER_DEVICE, LAYER_DEVICE_BACKGROUND, LAYER_DNP_MARKER, LAYER_DRAWINGSHEET, LAYER_DRC_ERROR, LAYER_DRC_EXCLUSION, LAYER_DRC_SHAPE1, LAYER_DRC_SHAPE2, LAYER_DRC_WARNING, LAYER_ERC_ERR, LAYER_ERC_EXCLUSION, LAYER_ERC_WARN, LAYER_EXCLUDED_FROM_SIM, LAYER_FIELDS, LAYER_FOOTPRINTS_BK, LAYER_FOOTPRINTS_FR, LAYER_FP_REFERENCES, LAYER_FP_TEXT, LAYER_FP_VALUES, LAYER_GLOBLABEL, LAYER_GRID, LAYER_GRID_AXES, LAYER_HIDDEN, LAYER_HIERLABEL, LAYER_HOVERED, LAYER_INTERSHEET_REFS, LAYER_JUNCTION, LAYER_LOCKED_ITEM_SHADOW, LAYER_LOCLABEL, LAYER_MARKER_SHADOWS, LAYER_NET_COLOR_HIGHLIGHT, LAYER_NETCLASS_REFS, LAYER_NOCONNECT, LAYER_NON_PLATEDHOLES, LAYER_NOTES, LAYER_NOTES_BACKGROUND, LAYER_OP_CURRENTS, LAYER_OP_VOLTAGES, LAYER_PAD_HOLEWALLS, LAYER_PAD_NETNAMES, LAYER_PAD_PLATEDHOLES, LAYER_PAGE_LIMITS, LAYER_PCB_BACKGROUND, LAYER_PIN, LAYER_PINNAM, LAYER_PINNUM, LAYER_PRIVATE_NOTES, LAYER_RATSNEST, LAYER_REFERENCEPART, LAYER_RULE_AREAS, LAYER_SCHEMATIC_ANCHOR, LAYER_SCHEMATIC_AUX_ITEMS, LAYER_SCHEMATIC_BACKGROUND, LAYER_SCHEMATIC_CURSOR, LAYER_SCHEMATIC_DRAWINGSHEET, LAYER_SCHEMATIC_GRID, LAYER_SCHEMATIC_GRID_AXES, LAYER_SCHEMATIC_PAGE_LIMITS, LAYER_SELECT_OVERLAY, LAYER_SELECTION_SHADOWS, LAYER_SHAPES_BACKGROUND, LAYER_SHEET, LAYER_SHEET_BACKGROUND, LAYER_SHEETFIELDS, LAYER_SHEETFILENAME, LAYER_SHEETLABEL, LAYER_SHEETNAME, LAYER_TRACKS, LAYER_VALUEPART, LAYER_VIA_BBLIND, LAYER_VIA_HOLES, LAYER_VIA_HOLEWALLS, LAYER_VIA_MICROVIA, LAYER_VIA_NETNAMES, LAYER_VIA_THROUGH, LAYER_WIRE, Margin, NETNAMES_LAYER_ID_START, PCB_LAYER_ID_COUNT, Rescue, UNDEFINED_LAYER, and User_1.
Referenced by DIALOG_MAP_LAYERS::AddMappings(), STEP_PCB_MODEL::AddPolygonShapes(), PANEL_SETUP_LAYERS::addUserDefinedLayer(), PANEL_SETUP_LAYERS::append_user_layer(), AUTOPLACE_TOOL::autoplace(), BOOST_DATA_TEST_CASE_F(), PANEL_EESCHEMA_COLOR_SETTINGS::createSwatches(), PANEL_FP_EDITOR_COLOR_SETTINGS::createSwatches(), PANEL_PCBNEW_COLOR_SETTINGS::createSwatches(), PCB_MARKER::DeserializeFromString(), DIALOG_MAP_LAYERS::DIALOG_MAP_LAYERS(), PCB_REFERENCE_IMAGE::GetMsgPanelInfo(), DIALOG_MAP_LAYERS::GetSelectedLayerID(), BOARD::GetStandardLayerName(), PANEL_SETUP_LAYERS::initialize_back_tech_layers(), PANEL_SETUP_LAYERS::initialize_front_tech_layers(), PANEL_SETUP_LAYERS::initialize_layers_controls(), DIALOG_MAP_LAYERS::OnAutoMatchLayersClicked(), padNeedsUpdate(), CLI::PCB_EXPORT_BASE_COMMAND::PCB_EXPORT_BASE_COMMAND(), SCH_IO_KICAD_SEXPR::saveLine(), PCB_MARKER::SerializeToString(), and DRC_TEST_PROVIDER_MISC::testDisabledLayers().
|
inline |
|
inline |
Definition at line 365 of file layer_ids.h.
|
inline |
Definition at line 499 of file layer_ids.h.
|
inline |
Definition at line 371 of file layer_ids.h.
References GAL_LAYER_ID_END, and GAL_LAYER_ID_START.
Referenced by APPEARANCE_CONTROLS::rebuildObjects(), and APPEARANCE_CONTROLS::syncObjectSettings().
KICOMMON_API PCB_LAYER_ID ToLAYER_ID | ( | int | aLayer | ) |
Definition at line 714 of file lset.cpp.
References B_Cu, and GAL_LAYER_ID_END.
Referenced by GRID_CELL_LAYER_SELECTOR::BeginEdit(), BOARD::BOARD(), PCB_PROPERTIES_PANEL::createPGProperty(), PCB_MARKER::DeserializeFromString(), KIGFX::PCB_PAINTER::draw(), GRID_CELL_LAYER_RENDERER::Draw(), PADSTACK::EffectiveLayerFor(), PCBEXPR_LAYER_VALUE::EqualTo(), existsOnLayerFunc(), BOARD::FlipLayer(), GENDRILL_WRITER_BASE::GenDrillReportFile(), CN_ITEM::GetBoardLayer(), PNS_VIEWER_IFACE::GetBoardLayerFromPNSLayer(), GetGerberFileFunctionAttribute(), GetGerberProtelExtension(), DIALOG_TRACK_VIA_PROPERTIES::getLayerDepth(), BOARD::GetLayerID(), PCB_LAYER_PRESENTATION::getLayerName(), PCB_VIA::GetOutermostConnectedLayers(), DIALOG_MAP_LAYERS::GetSelectedLayerID(), GRID_CELL_LAYER_SELECTOR::GetValue(), CONNECTIVITY_DATA::IsConnectedOnLayer(), BOARD::LayerDepth(), PCAD2KICAD::PCAD_PCB::MapLayer(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnAddLayer(), DIALOG_OUTSET_ITEMS::OnLayerDefaultClick(), APPEARANCE_CONTROLS::onLayerLeftClick(), DIALOG_COPPER_ZONE::OnLayerSelection(), DIALOG_NON_COPPER_ZONES_EDITOR::OnLayerSelection(), DIALOG_RULE_AREA_PROPERTIES::OnLayerSelection(), PLOT_CONTROLLER::OpenPlotfile(), DRC_RULES_PARSER::parseLayer(), PCB_MARKER::PCB_MARKER(), PLOT_CONTROLLER::PlotLayer(), PCB_EDIT_FRAME::Process_Special_Functions(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::processItem(), BOARD::recalcOpposites(), PCB_SELECTION_TOOL::Selectable(), FOOTPRINT_EDIT_FRAME::SelectLayer(), PCB_BASE_FRAME::SelectOneLayer(), DIALOG_GLOBAL_DELETION::SetCurrentLayer(), APPEARANCE_CONTROLS::SetLayerVisible(), PRIVATE_LAYERS_GRID_TABLE::SetValueAsLong(), PCB_FIELDS_GRID_TABLE::SetValueAsLong(), LAYER_GRID_TABLE::SetValueAsLong(), DIALOG_OUTSET_ITEMS::TransferDataFromWindow(), DIALOG_REFERENCE_IMAGE_PROPERTIES::TransferDataFromWindow(), DIALOG_SWAP_LAYERS::TransferDataFromWindow(), DIALOG_TEXTBOX_PROPERTIES::TransferDataFromWindow(), and PCB_VIA::ViewGetLOD().
|
constexpr |
Definition at line 363 of file layer_ids.h.
|
constexpr |
Definition at line 174 of file layer_ids.h.
Referenced by PNS_PCBNEW_RULE_RESOLVER::Clearance(), MOCK_RULE_RESOLVER::Clearance(), PANEL_PCBNEW_COLOR_SETTINGS::createSwatches(), PCB_VIA::GetLayerSet(), KIGFX::RENDER_SETTINGS::GetPrimaryHighContrastLayer(), BOARD_ITEM::layerMaskDescribe(), FABMASTER::loadLayers(), PROJECT_LOCAL_SETTINGS::PROJECT_LOCAL_SETTINGS(), and PCBNEW_PRINTOUT::setupViewLayers().