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... | |
class | LSEQ |
LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs. More... | |
class | LSET |
LSET is a set of PCB_LAYER_IDs. More... | |
Macros | |
#define | MAX_CU_LAYERS (B_Cu - F_Cu + 1) |
#define | NETNAMES_LAYER_INDEX(layer) ( NETNAMES_LAYER_ID_START + layer ) |
Macro for obtaining netname layer for a given PCB layer. More... | |
#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. More... | |
#define | BITMAP_LAYER_FOR(boardLayer) ( LAYER_BITMAP_START + boardLayer ) |
Macros for getting the extra layers for a given board layer. More... | |
#define | ZONE_LAYER_FOR(boardLayer) ( LAYER_ZONE_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 PCB_LAYER_ID_COUNT |
#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! More... | |
#define | MIN_VISIBILITY_MASK |
Typedefs | |
typedef std::bitset< GAL_LAYER_ID_COUNT > | GAL_BASE_SET |
Wraps a std::bitset. More... | |
typedef std::vector< PCB_LAYER_ID > | BASE_SEQ |
A sequence of layers, a sequence provides a certain order. More... | |
typedef std::bitset< PCB_LAYER_ID_COUNT > | BASE_SET |
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. More... | |
SCH_LAYER_ID | operator++ (SCH_LAYER_ID &a) |
KICOMMON_API wxString | LayerName (int aLayer) |
Returns the string equivalent of a given layer. More... | |
bool | IsValidLayer (int aLayerId) |
Test whether a given integer is a valid layer index, i.e. More... | |
bool | IsPcbLayer (int aLayer) |
Test whether a layer is a valid layer for Pcbnew. More... | |
bool | IsCopperLayer (int aLayerId) |
Tests whether a layer is a copper layer. More... | |
bool | IsNonCopperLayer (int aLayerId) |
Test whether a layer is a non copper layer. More... | |
bool | IsCopperLayer (int aLayerId, bool aIncludeSyntheticCopperLayers) |
Tests whether a layer is a copper layer, optionally including synthetic copper layers such as LAYER_VIA_THROUGH, LAYER_PADS_SMD_FR, etc. More... | |
bool | IsViaPadLayer (int aLayer) |
bool | IsHoleLayer (int aLayer) |
bool | IsUserLayer (PCB_LAYER_ID aLayerId) |
Test whether a layer is a non copper and a non tech layer. More... | |
bool | IsFrontLayer (PCB_LAYER_ID aLayerId) |
Layer classification: check if it's a front layer. More... | |
bool | IsBackLayer (PCB_LAYER_ID aLayerId) |
Layer classification: check if it's a back layer. More... | |
KICOMMON_API PCB_LAYER_ID | FlipLayer (PCB_LAYER_ID aLayerId, int aCopperLayersCount=0) |
KICOMMON_API LSET | FlipLayerMask (LSET aMask, int aCopperLayersCount=0) |
Calculate the mask layer when flipping a footprint. More... | |
int | GetNetnameLayer (int aLayer) |
Returns a netname layer corresponding to the given layer. More... | |
bool | IsNetnameLayer (int aLayer) |
Test whether a layer is a netname layer. More... | |
bool | IsZoneFillLayer (int aLayer) |
bool | IsDCodeLayer (int aLayer) |
bool | IsNetCopperLayer (int aLayer) |
Checks if the given layer is "net copper", meaning it is eligible for net coloring. More... | |
KICOMMON_API PCB_LAYER_ID | ToLAYER_ID (int aLayer) |
Variables | |
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 268 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 265 of file layer_ids.h.
#define GERBER_DCODE_LAYER | ( | x | ) | ( GERBER_DRAWLAYERS_COUNT + x ) |
Definition at line 433 of file layer_ids.h.
#define GERBER_DRAW_LAYER | ( | x | ) | ( GERBVIEW_LAYER_ID_START + x ) |
Definition at line 431 of file layer_ids.h.
#define GERBER_DRAW_LAYER_INDEX | ( | x | ) | ( x - GERBVIEW_LAYER_ID_START ) |
Definition at line 435 of file layer_ids.h.
#define GERBER_DRAWLAYERS_COUNT PCB_LAYER_ID_COUNT |
Definition at line 410 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 471 of file layer_ids.h.
Definition at line 141 of file layer_ids.h.
#define MIN_VISIBILITY_MASK |
Definition at line 485 of file layer_ids.h.
#define NETNAMES_LAYER_INDEX | ( | layer | ) | ( NETNAMES_LAYER_ID_START + layer ) |
Macro for obtaining netname layer for a given PCB layer.
Definition at line 175 of file layer_ids.h.
#define SCH_LAYER_ID_COUNT ( SCH_LAYER_ID_END - SCH_LAYER_ID_START ) |
Definition at line 399 of file layer_ids.h.
#define SCH_LAYER_INDEX | ( | x | ) | ( x - SCH_LAYER_ID_START ) |
Definition at line 401 of file layer_ids.h.
#define ZONE_LAYER_FOR | ( | boardLayer | ) | ( LAYER_ZONE_START + boardLayer ) |
Definition at line 269 of file layer_ids.h.
typedef std::vector<PCB_LAYER_ID> BASE_SEQ |
A sequence of layers, a sequence provides a certain order.
Definition at line 493 of file layer_ids.h.
typedef std::bitset<PCB_LAYER_ID_COUNT> BASE_SET |
Definition at line 546 of file layer_ids.h.
typedef std::bitset<GAL_LAYER_ID_COUNT> GAL_BASE_SET |
Wraps a std::bitset.
Definition at line 295 of file layer_ids.h.
|
strong |
Enum used during connectivity building to ensure we do not query connectivity while building the database.
Enumerator | |
---|---|
DEFAULT | |
ALWAYS_FLASHED | |
NEVER_FLASHED |
Definition at line 147 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.
NOTE: Be very careful where you add new layers here. Layers up to GAL_LAYER_ID_BITMASK_END must never be re-ordered and new layers must always be added after this value, because the layers before this value are mapped to bit locations in legacy board files.
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 | to draw micro vias |
LAYER_VIA_BBLIND | to draw blind/buried vias |
LAYER_VIA_THROUGH | to draw usual through hole vias |
LAYER_NON_PLATEDHOLES | handle color for not plated holes (holes, not pads) |
LAYER_FP_TEXT | |
LAYER_HIDDEN_TEXT | text marked as invisible |
LAYER_ANCHOR | anchor of items having an anchor point (texts, footprints) |
LAYER_PADS_SMD_FR | smd pads, front layer |
LAYER_PADS_SMD_BK | smd pads, back layer |
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_PADS_TH | multilayer pads, usually with holes |
LAYER_PAD_PLATEDHOLES | to draw pad holes (plated) |
LAYER_VIA_HOLES | to draw via holes (pad holes do not use this layer) |
LAYER_DRC_ERROR | layer for drc markers with SEVERITY_ERROR |
LAYER_DRAWINGSHEET | drawingsheet frame and titleblock |
LAYER_GP_OVERLAY | general purpose overlay |
LAYER_SELECT_OVERLAY | currently selected items overlay |
LAYER_PCB_BACKGROUND | PCB background color. |
LAYER_CURSOR | PCB cursor. |
LAYER_AUX_ITEMS | Auxiliary items (guides, rule, etc) |
LAYER_DRAW_BITMAPS | to handle and draw images bitmaps |
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 conficting |
LAYER_DRAWINGSHEET_PAGE1 | for drawingsheetEditor previewing |
LAYER_DRAWINGSHEET_PAGEn | for drawingsheetEditor previewing |
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_BITMAP_START | Virtual layers for background images per board layer. |
LAYER_BITMAP_END | |
GAL_LAYER_ID_END |
Definition at line 190 of file layer_ids.h.
enum GERBVIEW_LAYER_ID : int |
GerbView draw layers.
Definition at line 413 of file layer_ids.h.
enum LAYER_3D_ID : int |
3D Viewer virtual layers for color settings
Definition at line 439 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 155 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 345 of file layer_ids.h.
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 553 of file lset.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 PCAD2KICAD::PCAD_FOOTPRINT::AddToBoard(), PCAD2KICAD::PCAD_ARC::Flip(), PCAD2KICAD::PCAD_LINE::Flip(), PCAD2KICAD::PCAD_PAD::Flip(), PCAD2KICAD::PCAD_POLYGON::Flip(), FOOTPRINT::Flip(), PCB_DIMENSION_BASE::Flip(), PCB_SHAPE::Flip(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), PCB_TRACK::Flip(), PCB_ARC::Flip(), PCB_VIA::Flip(), ZONE::Flip(), IPC2581_PLUGIN::generateLayerSetNet(), and FABMASTER::loadFootprints().
KICOMMON_API LSET FlipLayerMask | ( | LSET | aMask, |
int | aCopperLayersCount = 0 |
||
) |
Calculate the mask layer when flipping a footprint.
BACK and FRONT copper layers, mask, paste, solder layers are swapped internal layers are flipped only if the copper layers count is known
aMask | = the LSET 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 599 of file lset.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 LSET::InternalCuMask().
Referenced by ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), PCB_EASYEDAPRO_PARSER::createPAD(), ZONE::Flip(), PAD::Flip(), FABMASTER::loadFootprints(), and PCB_EASYEDA_PARSER::ParseToBoardItemContainer().
|
inline |
Returns a netname layer corresponding to the given layer.
Definition at line 994 of file layer_ids.h.
References Cmts_User, IsCopperLayer(), IsViaPadLayer(), LAYER_PAD_BK_NETNAMES, LAYER_PAD_FR_NETNAMES, LAYER_PAD_NETNAMES, LAYER_PADS_SMD_BK, LAYER_PADS_SMD_FR, LAYER_PADS_TH, LAYER_VIA_NETNAMES, and NETNAMES_LAYER_INDEX.
Referenced by 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 950 of file layer_ids.h.
References B_Adhes, B_CrtYd, B_Cu, B_Fab, B_Mask, B_Paste, and B_SilkS.
Referenced by DRAWING_TOOL::drawShape(), FOOTPRINT::GetCourtyard(), BOARD::GetFootprint(), GENERAL_COLLECTOR::Inspect(), PCB_EASYEDAPRO_PARSER::ParseBoard(), PCB_EASYEDA_PARSER::ParseToBoardItemContainer(), PCB_TEXT::PCB_TEXT(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::Reset(), PCB_DRAW_PANEL_GAL::SetTopLayer(), FP_TEXT_GRID_TABLE::SetValueAsLong(), PCB_TEXT::StyleFromSettings(), PCB_TEXTBOX::StyleFromSettings(), and PAD::ViewGetLOD().
|
inline |
Tests whether a layer is a copper layer.
aLayerId | = Layer to test |
Definition at line 853 of file layer_ids.h.
Referenced by CN_CONNECTIVITY_ALGO::Add(), BOARD::Add(), IPC2581_PLUGIN::addLayerAttributes(), BOARD_ADAPTER::addPads(), PCAD2KICAD::PCAD_LINE::AddToBoard(), PCAD2KICAD::PCAD_PAD::AddToBoard(), BOARD::BOARD(), CN_CONNECTIVITY_ALGO::Build(), PCB_ONE_LAYER_SELECTOR::buildList(), SELECT_COPPER_LAYERS_PAIR_DIALOG::buildList(), ALTIUM_PCB::ConvertArcs6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertArcs6ToFootprintItem(), ALTIUM_PCB::ConvertFills6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertShapeBasedRegions6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertTracks6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertTracks6ToFootprintItem(), DIALOG_NET_INSPECTOR::DIALOG_NET_INSPECTOR(), KIGFX::PCB_PAINTER::draw(), DRAWING_TOOL::DrawVia(), PCB_EDIT_FRAME::Edit_Zone_Params(), PCB_VIA::FlashLayer(), PAD::FlashLayer(), FlipLayer(), GenCADLayerName(), IPC2581_PLUGIN::generateLayerSetNet(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), GetGerberFileFunctionAttribute(), GetGerberFilePolarityAttribute(), GetGerberProtelExtension(), BOARD_DESIGN_SETTINGS::GetLayerClass(), BOARD_STACKUP::GetLayerDistance(), BOARD::GetLayerType(), EAGLE_PLUGIN::getMinimumCopperLayerCount(), GetNetnameLayer(), PANEL_SETUP_LAYERS::getNonRemovableLayers(), DIALOG_EXPORT_SVG::initDialog(), BOARD_INSPECTION_TOOL::InspectClearance(), IsCopperLayer(), IsNetCopperLayer(), BOARD_ITEM::IsOnCopperLayer(), PCB_CONTROL::LayerAlphaDec(), PCB_CONTROL::LayerAlphaInc(), PCB_CONTROL::LayerNext(), PCB_CONTROL::LayerPrev(), FABMASTER::loadEtch(), EAGLE_PLUGIN::loadSignals(), FABMASTER::loadZones(), APPEARANCE_CONTROLS::OnColorSwatchChanged(), DIALOG_PRINT_PCBNEW::onPopUpLayers(), DIALOG_PLOT::OnRightClickLayers(), EAGLE_PLUGIN::packageSMD(), PCB_EASYEDA_PARSER::ParseToBoardItemContainer(), ALTIUM_PCB::ParseVias6Data(), PNS::TOOL_BASE::pickSingleItem(), PlotOneBoardLayer(), BRDITEMS_PLOTTER::PlotShape(), BRDITEMS_PLOTTER::PlotText(), ROUTER_TOOL::prepareInteractive(), RENDER_3D_RAYTRACE::Reload(), DRC_CACHE_GENERATOR::Run(), PCB_DRAW_PANEL_GAL::setDefaultLayerDeps(), PCB_DRAW_PANEL_GAL::SetHighContrastLayer(), PCB_VIA::SetLayerSet(), BOARD::SetLayerType(), PCB_DRAW_PANEL_GAL::SetTopLayer(), PCB_BASE_FRAME::SwitchLayer(), PCB_EDIT_FRAME::SwitchLayer(), PNS_KICAD_IFACE_BASE::syncGraphicalItem(), PNS_KICAD_IFACE_BASE::syncTextItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testGraphicClearances(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), PCB_CONTROL::UpdateMessagePanel(), and ZONE_DESC::ZONE_DESC().
|
inline |
Tests 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 877 of file layer_ids.h.
References IsCopperLayer(), and IsNonCopperLayer().
|
inline |
Definition at line 1029 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 |
Layer classification: check if it's a front layer.
Definition at line 927 of file layer_ids.h.
References F_Adhes, F_CrtYd, F_Cu, F_Fab, F_Mask, F_Paste, and F_SilkS.
Referenced by GENERAL_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), PCB_DRAW_PANEL_GAL::SetTopLayer(), and PAD::ViewGetLOD().
|
inline |
Definition at line 892 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(), KIGFX::RENDER_SETTINGS::update(), PAD::ViewGetLOD(), and PCB_VIA::ViewGetLOD().
|
inline |
Checks if the given layer is "net copper", meaning it is eligible for net coloring.
aLayer | is the layer to test |
Definition at line 1042 of file layer_ids.h.
References IsCopperLayer(), LAYER_PAD_HOLEWALLS, LAYER_PADS_SMD_BK, LAYER_PADS_SMD_FR, LAYER_PADS_TH, LAYER_VIA_BBLIND, LAYER_VIA_HOLEWALLS, LAYER_VIA_MICROVIA, and LAYER_VIA_THROUGH.
Referenced by KIGFX::PCB_RENDER_SETTINGS::GetColor().
|
inline |
Test whether a layer is a netname layer.
aLayer | = Layer to test |
Definition at line 1017 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 864 of file layer_ids.h.
References B_Cu, and PCB_LAYER_ID_COUNT.
Referenced by CONVERT_TOOL::CreatePolys(), IsCopperLayer(), and PCB_DRAW_PANEL_GAL::setDefaultLayerDeps().
|
inline |
Test whether a layer is a valid layer for Pcbnew.
aLayer | = Layer to test |
Definition at line 842 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 |
Test whether a layer is a non copper and a non tech layer.
aLayerId | = Layer to test |
Definition at line 907 of file layer_ids.h.
|
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 831 of file layer_ids.h.
References PCB_LAYER_ID_COUNT.
Referenced by DRAWING_TOOL::DrawSpecificationStackup(), IPC2581_PLUGIN::generateCadLayers(), and LAYERS_MAP_DIALOG::OnSelectLayer().
|
inline |
Definition at line 885 of file layer_ids.h.
References LAYER_VIA_BBLIND, LAYER_VIA_MICROVIA, and LAYER_VIA_THROUGH.
Referenced by GetNetnameLayer().
|
inline |
Definition at line 1023 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 | ) |
Returns the string equivalent of a given layer.
aLayer | is a valid layer ID |
Returns 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 30 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, In10_Cu, In11_Cu, In12_Cu, In13_Cu, In14_Cu, In15_Cu, In16_Cu, In17_Cu, In18_Cu, In19_Cu, In1_Cu, In20_Cu, In21_Cu, In22_Cu, In23_Cu, In24_Cu, In25_Cu, In26_Cu, In27_Cu, In28_Cu, In29_Cu, In2_Cu, In30_Cu, In3_Cu, In4_Cu, In5_Cu, In6_Cu, In7_Cu, In8_Cu, In9_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_WARNING, LAYER_ERC_ERR, LAYER_ERC_EXCLUSION, LAYER_ERC_WARN, 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_HIDDEN_TEXT, LAYER_HIERLABEL, LAYER_HOVERED, LAYER_INTERSHEET_REFS, LAYER_JUNCTION, LAYER_LOCKED_ITEM_SHADOW, LAYER_LOCLABEL, LAYER_MARKER_SHADOWS, LAYER_NETCLASS_REFS, LAYER_NOCONNECT, LAYER_NON_PLATEDHOLES, LAYER_NOTES, LAYER_NOTES_BACKGROUND, LAYER_OP_CURRENTS, LAYER_OP_VOLTAGES, LAYER_PAD_HOLEWALLS, LAYER_PAD_PLATEDHOLES, LAYER_PADS_SMD_BK, LAYER_PADS_SMD_FR, LAYER_PADS_TH, LAYER_PAGE_LIMITS, LAYER_PCB_BACKGROUND, LAYER_PIN, LAYER_PINNAM, LAYER_PINNUM, LAYER_PRIVATE_NOTES, LAYER_RATSNEST, LAYER_REFERENCEPART, 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_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_THROUGH, LAYER_WIRE, 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 DIALOG_IMPORTED_LAYERS::AddMappings(), PANEL_SETUP_LAYERS::addUserDefinedLayer(), AUTOPLACE_TOOL::autoplace(), PANEL_EESCHEMA_COLOR_SETTINGS::createSwatches(), PANEL_FP_EDITOR_COLOR_SETTINGS::createSwatches(), PANEL_PCBNEW_COLOR_SETTINGS::createSwatches(), PCB_MARKER::Deserialize(), DIALOG_IMPORTED_LAYERS::DIALOG_IMPORTED_LAYERS(), PCB_REFERENCE_IMAGE::GetMsgPanelInfo(), DIALOG_IMPORTED_LAYERS::GetSelectedLayerID(), BOARD::GetStandardLayerName(), DIALOG_IMPORTED_LAYERS::OnAutoMatchLayersClicked(), CLI::PCB_EXPORT_BASE_COMMAND::PCB_EXPORT_BASE_COMMAND(), SCH_SEXPR_PLUGIN::saveLine(), SCH_ITEM_DESC::SCH_ITEM_DESC(), PCB_MARKER::Serialize(), and DRC_TEST_PROVIDER_MISC::testDisabledLayers().
|
inline |
|
inline |
Definition at line 273 of file layer_ids.h.
|
inline |
Definition at line 403 of file layer_ids.h.
|
inline |
Definition at line 279 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 941 of file lset.cpp.
References GAL_LAYER_ID_END.
Referenced by GRID_CELL_LAYER_SELECTOR::BeginEdit(), BOARD::BOARD(), DSN::SPECCTRA_DB::buildLayerMaps(), CN_ANCHOR::ConnectedItemsCount(), PNS_KICAD_IFACE::createBoardItem(), BOARD_ADAPTER::createLayers(), PCB_PROPERTIES_PANEL::createPGProperty(), PCB_MARKER::Deserialize(), KIGFX::PCB_PAINTER::draw(), GRID_CELL_LAYER_RENDERER::Draw(), DRAWING_TOOL::DrawVia(), PCBEXPR_LAYER_VALUE::EqualTo(), existsOnLayerFunc(), GENDRILL_WRITER_BASE::GenDrillReportFile(), PNS_PCBNEW_RULE_RESOLVER::getBoardItem(), GetGerberFileFunctionAttribute(), DIALOG_TRACK_VIA_PROPERTIES::getLayerDepth(), BOARD::GetLayerID(), PCB_LAYER_BOX_SELECTOR::getLayerName(), PCB_LAYER_SELECTOR::getLayerName(), PCB_VIA::GetOutermostConnectedLayers(), DIALOG_IMPORTED_LAYERS::GetSelectedLayerID(), GRID_CELL_LAYER_SELECTOR::GetValue(), CONNECTIVITY_DATA::IsConnectedOnLayer(), CN_ANCHOR::IsDangling(), PNS_KICAD_IFACE_BASE::IsFlashedOnLayer(), PNS_PCBNEW_RULE_RESOLVER::IsNetTieExclusion(), BOARD::LayerDepth(), PCB_CONTROL::LayerNext(), PCB_CONTROL::LayerPrev(), PCAD2KICAD::PCAD_PCB::MapLayer(), PNS_KICAD_IFACE::modifyBoardItem(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnAddLayer(), APPEARANCE_CONTROLS::onLayerLeftClick(), DIALOG_SHAPE_PROPERTIES::onLayerSelection(), 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(), ROUTER_TOOL::performRouting(), PLOT_CONTROLLER::PlotLayer(), ROUTER_TOOL::prepareInteractive(), PCB_EDIT_FRAME::Process_Special_Functions(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::processItem(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), PCB_SELECTION_TOOL::Selectable(), FOOTPRINT_EDIT_FRAME::SelectLayer(), PCB_BASE_FRAME::SelectOneLayer(), DIALOG_GLOBAL_DELETION::SetCurrentLayer(), APPEARANCE_CONTROLS::SetLayerVisible(), PRIVATE_LAYERS_GRID_TABLE::SetValueAsLong(), FP_TEXT_GRID_TABLE::SetValueAsLong(), PNS_KICAD_IFACE_BASE::StackupHeight(), StartPlotBoard(), ROUTER_TOOL::switchLayerOnViaPlacement(), DIALOG_REFERENCE_IMAGE_PROPERTIES::TransferDataFromWindow(), and DIALOG_TEXTBOX_PROPERTIES::TransferDataFromWindow().
|
constexpr |
Definition at line 271 of file layer_ids.h.