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 | 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 | 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 ) |
#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) |
Returns 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) |
Tests whether a layer is a copper layer. | |
bool | IsExternalCopperLayer (int aLayerId) |
Tests whether a layer is an external (F_Cu or B_Cu) copper layer. | |
bool | IsInnerCopperLayer (int aLayerId) |
Tests 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) |
Tests 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) |
Returns 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) |
Returns 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 | 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) |
Retrieves 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 275 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 272 of file layer_ids.h.
#define GAL_UI_LAYER_COUNT 10 |
Definition at line 175 of file layer_ids.h.
#define GERBER_DCODE_LAYER | ( | x | ) | ( GERBER_DRAWLAYERS_COUNT + x ) |
Definition at line 443 of file layer_ids.h.
#define GERBER_DRAW_LAYER | ( | x | ) | ( GERBVIEW_LAYER_ID_START + x ) |
Definition at line 441 of file layer_ids.h.
#define GERBER_DRAW_LAYER_INDEX | ( | x | ) | ( x - GERBVIEW_LAYER_ID_START ) |
Definition at line 445 of file layer_ids.h.
#define GERBER_DRAWLAYERS_COUNT static_cast<int>( PCB_LAYER_ID_COUNT ) |
Definition at line 420 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 481 of file layer_ids.h.
#define MAX_CU_LAYERS 32 |
Definition at line 140 of file layer_ids.h.
#define MIN_VISIBILITY_MASK |
Definition at line 495 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 173 of file layer_ids.h.
#define SCH_LAYER_ID_COUNT ( SCH_LAYER_ID_END - SCH_LAYER_ID_START ) |
Definition at line 409 of file layer_ids.h.
#define SCH_LAYER_INDEX | ( | x | ) | ( x - SCH_LAYER_ID_START ) |
Definition at line 411 of file layer_ids.h.
#define ZONE_LAYER_FOR | ( | boardLayer | ) | ( LAYER_ZONE_START + boardLayer ) |
Definition at line 276 of file layer_ids.h.
typedef std::bitset<GAL_LAYER_ID_COUNT> GAL_BASE_SET |
Wraps a std::bitset.
Definition at line 302 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 146 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_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 | 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_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 | 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 | |
LAYER_UI_START | |
LAYER_UI_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 423 of file layer_ids.h.
enum LAYER_3D_ID : int |
3D Viewer virtual layers for color settings
Definition at line 449 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 | |
NETNAMES_LAYER_ID_END |
Definition at line 154 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 352 of file layer_ids.h.
KICOMMON_API PCB_LAYER_ID BoardLayerFromLegacyId | ( | int | aLegacyId | ) |
Retrieves a layer ID from an integer converted from a legacy (pre-V9) enum value.
Definition at line 254 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 PARAM_LAYER_PRESET::MigrateToV9Layers().
|
inline |
! Converts KiCad copper layer enum to an ordinal between the front and back layers
Definition at line 741 of file layer_ids.h.
References B_Cu, F_Cu, IsCopperLayer(), and MAX_CU_LAYERS.
Referenced by ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), 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 208 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 |
Returns a netname layer corresponding to the given layer.
Definition at line 706 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 655 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 |
Tests whether a layer is a copper layer.
aLayerId | = Layer to test |
Definition at line 531 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(), PCB_VIA::FlashLayer(), PAD::FlashLayer(), FlipLayer(), GenCADLayerName(), PCB_IO_IPC2581::generateLayerSetNet(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), 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(), DIALOG_EXPORT_SVG::initDialog(), BOARD_ADAPTER::InitSettings(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), IsCopperLayer(), IsInnerCopperLayer(), BOARD_ITEM::IsOnCopperLayer(), PCB_VIA::IsOnLayer(), 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(), PlotBoardLayers(), PlotOneBoardLayer(), BRDITEMS_PLOTTER::PlotText(), ROUTER_TOOL::prepareInteractive(), RENDER_3D_OPENGL::Redraw(), RENDER_3D_RAYTRACE_BASE::Reload(), DRC_CACHE_GENERATOR::Run(), 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(), DIALOG_SHAPE_PROPERTIES::showHideNetInfo(), PCB_BASE_FRAME::SwitchLayer(), PCB_EDIT_FRAME::SwitchLayer(), 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 |
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 577 of file layer_ids.h.
References IsCopperLayer(), and IsNonCopperLayer().
|
inline |
Returns true if copper aLayerA is placed lower than aLayerB, false otherwise.
Definition at line 676 of file layer_ids.h.
References B_Cu.
Referenced by PCB_VIA::LayerPair(), PCB_VIA::SanitizeLayers(), and PCB_VIA::ViewGetLOD().
|
inline |
Definition at line 733 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 |
Tests whether a layer is an external (F_Cu or B_Cu) copper layer.
aLayerId | = Layer to test |
Definition at line 542 of file layer_ids.h.
Referenced by BOARD_ADAPTER::addShape(), KIGFX::PCB_PAINTER::draw(), PCB_IO_KICAD_SEXPR::format(), IsInnerCopperLayer(), PCB_SHAPE_DESC::PCB_SHAPE_DESC(), BRDITEMS_PLOTTER::PlotShape(), and DIALOG_SHAPE_PROPERTIES::showHideTechLayers().
|
inline |
Layer classification: check if it's a front layer.
Definition at line 632 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 592 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 |
Tests whether a layer is an inner (In1_Cu to In30_Cu) copper layer.
aLayerId | = Layer to test |
Definition at line 553 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 721 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 564 of file layer_ids.h.
References 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 520 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 601 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 612 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 509 of file layer_ids.h.
References PCB_LAYER_ID_COUNT.
Referenced by DRAWING_TOOL::DrawSpecificationStackup(), PCB_IO_IPC2581::generateCadLayers(), ODB_MATRIX_ENTITY::InitMatrixLayerData(), and LAYERS_MAP_DIALOG::OnSelectLayer().
|
inline |
Definition at line 585 of file layer_ids.h.
References LAYER_VIA_BBLIND, LAYER_VIA_MICROVIA, and LAYER_VIA_THROUGH.
Referenced by GetNetnameLayer().
|
inline |
Definition at line 727 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 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, 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_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_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, NETNAMES_LAYER_ID_START, 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_MAP_LAYERS::AddMappings(), STEP_PCB_MODEL::AddPolygonShapes(), PANEL_SETUP_LAYERS::addUserDefinedLayer(), AUTOPLACE_TOOL::autoplace(), BOOST_FIXTURE_TEST_CASE(), 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(), API_HANDLER_PCB::handleCreateUpdateItemsInternal(), 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 280 of file layer_ids.h.
|
inline |
Definition at line 413 of file layer_ids.h.
|
inline |
Definition at line 286 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 820 of file lset.cpp.
References B_Cu, and GAL_LAYER_ID_END.
Referenced by GRID_CELL_LAYER_SELECTOR::BeginEdit(), BOARD::BOARD(), DSN::SPECCTRA_DB::buildLayerMaps(), PCB_PROPERTIES_PANEL::createPGProperty(), PCB_MARKER::DeserializeFromString(), KIGFX::PCB_PAINTER::draw(), GRID_CELL_LAYER_RENDERER::Draw(), PCBEXPR_LAYER_VALUE::EqualTo(), existsOnLayerFunc(), BOARD::FlipLayer(), GENDRILL_WRITER_BASE::GenDrillReportFile(), CN_ITEM::GetBoardLayer(), PNS_VIEWER_IFACE::GetBoardLayerFromPNSLayer(), GetGerberFileFunctionAttribute(), 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(), PANEL_SETUP_LAYERS::showLayerTypes(), 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 278 of file layer_ids.h.
|
constexpr |
Definition at line 138 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().