|
KiCad PCB EDA Suite
|
A PADSTACK defines the characteristics of a single or multi-layer pad, in the IPC sense of the word. More...
#include <padstack.h>
Classes | |
| struct | COPPER_LAYER_PROPS |
| The features of a padstack that can vary between copper layers All parameters are optional; leaving them un-set means "use parent/rule defaults" Pad clearances, margins, etc. More... | |
| struct | DRILL_PROPS |
| The properties of a padstack drill. More... | |
| struct | MASK_LAYER_PROPS |
| The features of a padstack that can vary on outer layers. More... | |
| struct | POST_MACHINING_PROPS |
| struct | SHAPE_PROPS |
| ! More... | |
Public Types | |
| enum class | TYPE { NORMAL , VIA , MOUNTING } |
| ! More... | |
| enum class | MODE { NORMAL , FRONT_INNER_BACK , CUSTOM } |
| ! Copper geometry mode: controls how many unique copper layer shapes this padstack has More... | |
Public Member Functions | |
| PADSTACK (BOARD_ITEM *aParent) | |
| virtual | ~PADSTACK ()=default |
| PADSTACK (const PADSTACK &aOther) | |
| PADSTACK & | operator= (const PADSTACK &aOther) |
| bool | operator== (const PADSTACK &aOther) const |
| bool | operator!= (const PADSTACK &aOther) const |
| void | Serialize (google::protobuf::Any &aContainer) const override |
| Serializes this object to the given Any message. | |
| bool | Deserialize (const google::protobuf::Any &aContainer) override |
| Deserializes the given protobuf message into this object. | |
| void | Serialize (kiapi::board::types::PadStack &aOutput) const |
| bool | Deserialize (const kiapi::board::types::PadStack &aInput) |
| bool | HasExplicitDefinitionForLayer (PCB_LAYER_ID aLayer) const |
| Check if the padstack has an explicit definition for the given layer. | |
| double | Similarity (const PADSTACK &aOther) const |
| Return a measure of how likely the other object is to represent the same object. | |
| const LSET & | LayerSet () const |
| LSET & | LayerSet () |
| void | SetLayerSet (const LSET &aSet) |
| void | FlipLayers (BOARD *aBoard) |
| Flips the padstack layers in the case that the pad's parent footprint is flipped to the other side of the board. | |
| PCB_LAYER_ID | StartLayer () const |
| PCB_LAYER_ID | EndLayer () const |
| MODE | Mode () const |
| void | SetMode (MODE aMode) |
| wxString | Name () const |
| ! Returns the name of this padstack in IPC-7351 format | |
| const wxChar * | CustomName () const |
| void | SetCustomName (const wxString &aCustomName) |
| EDA_ANGLE | GetOrientation () const |
| void | SetOrientation (EDA_ANGLE aAngle) |
| DRILL_PROPS & | Drill () |
| const DRILL_PROPS & | Drill () const |
| DRILL_PROPS & | SecondaryDrill () |
| const DRILL_PROPS & | SecondaryDrill () const |
| DRILL_PROPS & | TertiaryDrill () |
| const DRILL_PROPS & | TertiaryDrill () const |
| POST_MACHINING_PROPS & | FrontPostMachining () |
| const POST_MACHINING_PROPS & | FrontPostMachining () const |
| POST_MACHINING_PROPS & | BackPostMachining () |
| const POST_MACHINING_PROPS & | BackPostMachining () const |
| int | GetMaxHoleSize () const |
| UNCONNECTED_LAYER_MODE | UnconnectedLayerMode () const |
| void | SetUnconnectedLayerMode (UNCONNECTED_LAYER_MODE aMode) |
| COPPER_LAYER_PROPS & | CopperLayer (PCB_LAYER_ID aLayer) |
| const COPPER_LAYER_PROPS & | CopperLayer (PCB_LAYER_ID aLayer) const |
| MASK_LAYER_PROPS & | FrontOuterLayers () |
| const MASK_LAYER_PROPS & | FrontOuterLayers () const |
| MASK_LAYER_PROPS & | BackOuterLayers () |
| const MASK_LAYER_PROPS & | BackOuterLayers () const |
| std::optional< bool > | IsTented (PCB_LAYER_ID aSide) const |
| Checks if this padstack is tented (covered in soldermask) on the given side. | |
| std::optional< bool > | IsCovered (PCB_LAYER_ID aSide) const |
| std::optional< bool > | IsPlugged (PCB_LAYER_ID aSide) const |
| std::optional< bool > | IsCapped () const |
| std::optional< bool > | IsFilled () const |
| CUSTOM_SHAPE_ZONE_MODE | CustomShapeInZoneMode () const |
| void | SetCustomShapeInZoneMode (CUSTOM_SHAPE_ZONE_MODE aM) |
| void | ForEachUniqueLayer (const std::function< void(PCB_LAYER_ID)> &aMethod) const |
| Runs the given callable for each active unique copper layer in this padstack, meaning F_Cu for MODE::NORMAL; F_Cu, PADSTACK::INNER_LAYERS, and B_Cu for top/inner/bottom, and an arbitrary set of layers for full-custom padstacks. | |
| std::vector< PCB_LAYER_ID > | UniqueLayers () const |
| PCB_LAYER_ID | EffectiveLayerFor (PCB_LAYER_ID aLayer) const |
| Determines which geometry layer should be used for the given input layer. | |
| LSET | RelevantShapeLayers (const PADSTACK &aOther) const |
| Returns the set of layers that must be considered if checking one padstack against another. | |
| PAD_SHAPE | Shape (PCB_LAYER_ID aLayer) const |
| void | SetShape (PAD_SHAPE aShape, PCB_LAYER_ID aLayer) |
| void | SetSize (const VECTOR2I &aSize, PCB_LAYER_ID aLayer) |
| const VECTOR2I & | Size (PCB_LAYER_ID aLayer) const |
| PAD_DRILL_SHAPE | DrillShape () const |
| void | SetDrillShape (PAD_DRILL_SHAPE aShape) |
| VECTOR2I & | Offset (PCB_LAYER_ID aLayer) |
| const VECTOR2I & | Offset (PCB_LAYER_ID aLayer) const |
| void | SetOffset (const VECTOR2I &aOffset, PCB_LAYER_ID aLayer) |
| PAD_SHAPE | AnchorShape (PCB_LAYER_ID aLayer) const |
| void | SetAnchorShape (PAD_SHAPE aShape, PCB_LAYER_ID aLayer) |
| VECTOR2I & | TrapezoidDeltaSize (PCB_LAYER_ID aLayer) |
| const VECTOR2I & | TrapezoidDeltaSize (PCB_LAYER_ID aLayer) const |
| double | RoundRectRadiusRatio (PCB_LAYER_ID aLayer) const |
| void | SetRoundRectRadiusRatio (double aRatio, PCB_LAYER_ID aLayer) |
| int | RoundRectRadius (PCB_LAYER_ID aLayer) const |
| void | SetRoundRectRadius (double aRadius, PCB_LAYER_ID aLayer) |
| double | ChamferRatio (PCB_LAYER_ID aLayer) const |
| void | SetChamferRatio (double aRatio, PCB_LAYER_ID aLayer) |
| int & | ChamferPositions (PCB_LAYER_ID aLayer) |
| const int & | ChamferPositions (PCB_LAYER_ID aLayer) const |
| void | SetChamferPositions (int aPositions, PCB_LAYER_ID aLayer) |
| std::optional< int > & | Clearance (PCB_LAYER_ID aLayer=F_Cu) |
| const std::optional< int > & | Clearance (PCB_LAYER_ID aLayer=F_Cu) const |
| std::optional< int > & | SolderMaskMargin (PCB_LAYER_ID aLayer=F_Cu) |
| const std::optional< int > & | SolderMaskMargin (PCB_LAYER_ID aLayer=F_Cu) const |
| std::optional< int > & | SolderPasteMargin (PCB_LAYER_ID aLayer=F_Cu) |
| const std::optional< int > & | SolderPasteMargin (PCB_LAYER_ID aLayer=F_Cu) const |
| std::optional< double > & | SolderPasteMarginRatio (PCB_LAYER_ID aLayer=F_Cu) |
| const std::optional< double > & | SolderPasteMarginRatio (PCB_LAYER_ID aLayer=F_Cu) const |
| std::optional< ZONE_CONNECTION > & | ZoneConnection (PCB_LAYER_ID aLayer=F_Cu) |
| const std::optional< ZONE_CONNECTION > & | ZoneConnection (PCB_LAYER_ID aLayer=F_Cu) const |
| std::optional< int > & | ThermalSpokeWidth (PCB_LAYER_ID aLayer=F_Cu) |
| const std::optional< int > & | ThermalSpokeWidth (PCB_LAYER_ID aLayer=F_Cu) const |
| std::optional< int > & | ThermalGap (PCB_LAYER_ID aLayer=F_Cu) |
| const std::optional< int > & | ThermalGap (PCB_LAYER_ID aLayer=F_Cu) const |
| EDA_ANGLE | DefaultThermalSpokeAngleForShape (PCB_LAYER_ID aLayer=F_Cu) const |
| EDA_ANGLE | ThermalSpokeAngle (PCB_LAYER_ID aLayer=F_Cu) const |
| void | SetThermalSpokeAngle (EDA_ANGLE aAngle, PCB_LAYER_ID aLayer=F_Cu) |
| std::vector< std::shared_ptr< PCB_SHAPE > > & | Primitives (PCB_LAYER_ID aLayer) |
| const std::vector< std::shared_ptr< PCB_SHAPE > > & | Primitives (PCB_LAYER_ID aLayer) const |
| void | AddPrimitive (PCB_SHAPE *aShape, PCB_LAYER_ID aLayer) |
| Adds a custom shape primitive to the padstack. | |
| void | AppendPrimitives (const std::vector< std::shared_ptr< PCB_SHAPE > > &aPrimitivesList, PCB_LAYER_ID aLayer) |
| Appends a copy of each shape in the given list to this padstack's custom shape list. | |
| void | ReplacePrimitives (const std::vector< std::shared_ptr< PCB_SHAPE > > &aPrimitivesList, PCB_LAYER_ID aLayer) |
| Clears the existing primitive list (freeing the owned shapes) and adds copies of the given shapes to the padstack for the given layer. | |
| void | ClearPrimitives (PCB_LAYER_ID aLayer) |
| BACKDRILL_MODE | GetBackdrillMode () const |
| void | SetBackdrillMode (BACKDRILL_MODE aMode) |
| std::optional< int > | GetBackdrillSize (bool aTop) const |
| void | SetBackdrillSize (bool aTop, std::optional< int > aSize) |
| PCB_LAYER_ID | GetBackdrillEndLayer (bool aTop) const |
| void | SetBackdrillEndLayer (bool aTop, PCB_LAYER_ID aLayer) |
Static Public Member Functions | |
| static int | Compare (const PADSTACK *aPadstackRef, const PADSTACK *aPadstackCmp) |
| Compare two padstacks and return 0 if they are equal. | |
Static Public Attributes | |
| static constexpr PCB_LAYER_ID | TEMP_ALL_LAYERS = F_Cu |
| ! Temporary layer identifier to identify code that is not padstack-aware | |
| static constexpr PCB_LAYER_ID | ALL_LAYERS = F_Cu |
| ! The layer identifier to use for the single defintion on normal padstacks | |
| static constexpr PCB_LAYER_ID | INNER_LAYERS = In1_Cu |
| ! The layer identifier to use for "inner layers" on top/inner/bottom padstacks | |
Private Member Functions | |
| const DRILL_PROPS * | findBackdrillDrill (bool aTop) const |
Return the drill slot holding the top (aTop true) or bottom backdrill, identified by its start layer (F_Cu for top, B_Cu for bottom) rather than by slot position, so layouts written by KiCad 10.0 - which stored the top backdrill in the tertiary slot - are read correctly. | |
| DRILL_PROPS * | findBackdrillDrill (bool aTop) |
| DRILL_PROPS & | backdrillWriteSlot (bool aTop) |
| Return the slot to write a backdrill side into, reusing the slot already holding that side or otherwise the canonical slot (top -> secondary, bottom -> tertiary). | |
| void | clearBackdrillSide (bool aTop) |
| Clear every slot whose start layer marks it as the given backdrill side, so a malformed padstack with the side duplicated across both slots is fully cleared. | |
| bool | unpackCopperLayer (const kiapi::board::types::PadStackLayer &aProto) |
Private Attributes | |
| BOARD_ITEM * | m_parent |
| ! The BOARD_ITEM this PADSTACK belongs to; will be used as the parent for owned shapes | |
| MODE | m_mode |
| ! The copper layer variation mode this padstack is in | |
| LSET | m_layerSet |
| ! The board layers that this padstack is active on | |
| std::unique_ptr< wxString > | m_customName |
| ! An override for the IPC-7351 padstack name | |
| EDA_ANGLE | m_orientation |
| ! The rotation of the pad relative to an outer reference frame | |
| std::unordered_map< PCB_LAYER_ID, COPPER_LAYER_PROPS > | m_copperProps |
| MASK_LAYER_PROPS | m_frontMaskProps |
| ! The overrides applied to front outer technical layers | |
| MASK_LAYER_PROPS | m_backMaskProps |
| ! The overrides applied to back outer technical layers | |
| UNCONNECTED_LAYER_MODE | m_unconnectedLayerMode |
| CUSTOM_SHAPE_ZONE_MODE | m_customShapeInZoneMode |
| How to build the custom shape in zone, to create the clearance area: CUSTOM_SHAPE_ZONE_MODE::OUTLINE = use pad shape CUSTOM_SHAPE_ZONE_MODE::CONVEXHULL = use the convex hull of the pad shape. | |
| DRILL_PROPS | m_drill |
| ! | |
| DRILL_PROPS | m_secondaryDrill |
| ! Secondary drill, used to define back-drilling starting from the bottom side | |
| DRILL_PROPS | m_tertiaryDrill |
| ! Tertiary drill, used to define back-drilling starting from the top side | |
| POST_MACHINING_PROPS | m_frontPostMachining |
| POST_MACHINING_PROPS | m_backPostMachining |
A PADSTACK defines the characteristics of a single or multi-layer pad, in the IPC sense of the word.
This means that a PCB_PAD has a padstack, but also a PCB_VIA. The padstack for a pad defines its geometry on copper, soldermask, and paste layers, as well as any drilling or milling associated with the pad (round or slot hole, back-drilling, etc). Padstacks also define thermal relief settings for all copper layers, clearance overrides for all copper layers, and potentially other properties in the future. In other words, the padstack defines most of the geometric features of a pad on all layers. It does not define electrical properties or other metadata.
For padstacks that do not vary between layers, F_Cu is used as the copper layer to store all padstack properties.
Definition at line 155 of file padstack.h.
|
strong |
! Copper geometry mode: controls how many unique copper layer shapes this padstack has
| Enumerator | |
|---|---|
| NORMAL | Shape is the same on all layers. |
| FRONT_INNER_BACK | Up to three shapes can be defined (F_Cu, inner copper layers, B_Cu) |
| CUSTOM | Shapes can be defined on arbitrary layers. |
Definition at line 168 of file padstack.h.
|
strong |
!
Padstack type, mostly for IPC-7351 naming and attributes Note that TYPE::MOUNTING is probably not currently supported by KiCad
| Enumerator | |
|---|---|
| NORMAL | Padstack for a footprint pad. |
| VIA | Padstack for a via. |
| MOUNTING | A mounting hole (plated or unplated, not associated with a footprint) |
Definition at line 160 of file padstack.h.
| PADSTACK::PADSTACK | ( | BOARD_ITEM * | aParent | ) |
Definition at line 44 of file padstack.cpp.
References ALL_LAYERS, ANGLE_0, ANGLE_45, B_Cu, CIRCLE, F_Cu, INHERITED, KEEP_ALL, m_copperProps, m_customShapeInZoneMode, m_drill, m_mode, m_orientation, m_parent, m_secondaryDrill, m_tertiaryDrill, m_unconnectedLayerMode, NORMAL, OUTLINE, UNDEFINED, and UNDEFINED_LAYER.
Referenced by Compare(), operator!=(), operator=(), operator==(), PADSTACK(), RelevantShapeLayers(), Similarity(), and ~PADSTACK().
|
virtualdefault |
References PADSTACK().
| PADSTACK::PADSTACK | ( | const PADSTACK & | aOther | ) |
Definition at line 71 of file padstack.cpp.
References CopperLayer(), ForEachUniqueLayer(), m_parent, and PADSTACK().
| void PADSTACK::AddPrimitive | ( | PCB_SHAPE * | aShape, |
| PCB_LAYER_ID | aLayer ) |
Adds a custom shape primitive to the padstack.
| aShape | is a shape to add as a custom primitive. Ownership is passed to this PADSTACK. |
| aLayer | is the padstack layer to add to. |
Definition at line 1151 of file padstack.cpp.
References CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::custom_shapes.
Referenced by unpackCopperLayer().
| PAD_SHAPE PADSTACK::AnchorShape | ( | PCB_LAYER_ID | aLayer | ) | const |
Definition at line 916 of file padstack.cpp.
References PADSTACK::SHAPE_PROPS::anchor_shape, CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::shape.
Referenced by DefaultThermalSpokeAngleForShape().
| void PADSTACK::AppendPrimitives | ( | const std::vector< std::shared_ptr< PCB_SHAPE > > & | aPrimitivesList, |
| PCB_LAYER_ID | aLayer ) |
Appends a copy of each shape in the given list to this padstack's custom shape list.
| aPrimitivesList | is a list of shapes to add copies of to this PADSTACK |
| aLayer | is the padstack layer to add to. |
Definition at line 1157 of file padstack.cpp.
References CopperLayer(), PADSTACK::COPPER_LAYER_PROPS::custom_shapes, m_parent, and EDA_ITEM::SetParent().
Referenced by ReplacePrimitives().
|
private |
Return the slot to write a backdrill side into, reusing the slot already holding that side or otherwise the canonical slot (top -> secondary, bottom -> tertiary).
Definition at line 499 of file padstack.cpp.
References B_Cu, F_Cu, findBackdrillDrill(), m_secondaryDrill, m_tertiaryDrill, PADSTACK::DRILL_PROPS::size, PADSTACK::DRILL_PROPS::start, and VECTOR2< T >::x.
Referenced by SetBackdrillEndLayer(), SetBackdrillMode(), and SetBackdrillSize().
|
inline |
Definition at line 387 of file padstack.h.
References m_backMaskProps.
Referenced by Deserialize(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), VIA_PROTECTION_UI_MIXIN::getViaConfiguration(), IsCovered(), IsPlugged(), IsTented(), PCB_IO_KICAD_SEXPR_PARSER::parsePadstack(), Serialize(), VIA_PROTECTION_UI_MIXIN::setViaConfiguration(), SolderMaskMargin(), SolderMaskMargin(), SolderPasteMargin(), SolderPasteMargin(), SolderPasteMarginRatio(), and SolderPasteMarginRatio().
|
inline |
Definition at line 388 of file padstack.h.
References m_backMaskProps.
|
inline |
Definition at line 373 of file padstack.h.
References m_backPostMachining.
Referenced by EXPORTER_STEP::buildFootprint3DShapes(), EXPORTER_STEP::buildTrack3DShape(), Deserialize(), PCB_IO_IPC2581::ensureBackdrillSpecs(), PCB_IO_KICAD_SEXPR::format(), GetMaxHoleSize(), RENDER_3D_RAYTRACE_BASE::insertHole(), mixBackdrillIntoPadstackHash(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::transferDataToPad(), and DIALOG_TRACK_VIA_PROPERTIES::TransferDataToWindow().
|
inline |
Definition at line 374 of file padstack.h.
References m_backPostMachining.
| int & PADSTACK::ChamferPositions | ( | PCB_LAYER_ID | aLayer | ) |
Definition at line 981 of file padstack.cpp.
References PADSTACK::SHAPE_PROPS::chamfered_rect_positions, CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::shape.
| const int & PADSTACK::ChamferPositions | ( | PCB_LAYER_ID | aLayer | ) | const |
Definition at line 987 of file padstack.cpp.
References PADSTACK::SHAPE_PROPS::chamfered_rect_positions, CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::shape.
| double PADSTACK::ChamferRatio | ( | PCB_LAYER_ID | aLayer | ) | const |
Definition at line 969 of file padstack.cpp.
References PADSTACK::SHAPE_PROPS::chamfered_rect_ratio, CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::shape.
| std::optional< int > & PADSTACK::Clearance | ( | PCB_LAYER_ID | aLayer = F_Cu | ) |
Definition at line 999 of file padstack.cpp.
References PADSTACK::COPPER_LAYER_PROPS::clearance, and CopperLayer().
Referenced by PCB_IO_KICAD_SEXPR::format(), and PCB_IO_KICAD_SEXPR_PARSER::parsePadstack().
| const std::optional< int > & PADSTACK::Clearance | ( | PCB_LAYER_ID | aLayer = F_Cu | ) | const |
Definition at line 1005 of file padstack.cpp.
References PADSTACK::COPPER_LAYER_PROPS::clearance, and CopperLayer().
|
private |
Clear every slot whose start layer marks it as the given backdrill side, so a malformed padstack with the side duplicated across both slots is fully cleared.
Definition at line 517 of file padstack.cpp.
References B_Cu, F_Cu, m_secondaryDrill, and m_tertiaryDrill.
Referenced by SetBackdrillEndLayer(), SetBackdrillMode(), and SetBackdrillSize().
| void PADSTACK::ClearPrimitives | ( | PCB_LAYER_ID | aLayer | ) |
Definition at line 1179 of file padstack.cpp.
References CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::custom_shapes.
Referenced by operator=(), ReplacePrimitives(), and unpackCopperLayer().
Compare two padstacks and return 0 if they are equal.
Definition at line 1414 of file padstack.cpp.
References EDA_ANGLE::AsTenthsOfADegree(), PADSTACK::COPPER_LAYER_PROPS::Compare(), PADSTACK::DRILL_PROPS::Compare(), PADSTACK::MASK_LAYER_PROPS::Compare(), PADSTACK::POST_MACHINING_PROPS::Compare(), CopperLayer(), CustomName(), ForEachUniqueLayer(), m_backMaskProps, m_backPostMachining, m_customShapeInZoneMode, m_drill, m_frontMaskProps, m_frontPostMachining, m_layerSet, m_mode, m_orientation, m_secondaryDrill, m_tertiaryDrill, m_unconnectedLayerMode, PADSTACK(), LSET::Seq(), and TEST.
Referenced by PAD::Compare(), and PADSTACK::COPPER_LAYER_PROPS::Compare().
| PADSTACK::COPPER_LAYER_PROPS & PADSTACK::CopperLayer | ( | PCB_LAYER_ID | aLayer | ) |
Definition at line 1185 of file padstack.cpp.
References ALL_LAYERS, B_Cu, F_Cu, FRONT_INNER_BACK, INNER_LAYERS, IsBackLayer(), IsFrontLayer(), m_copperProps, m_mode, and NORMAL.
Referenced by AddPrimitive(), AnchorShape(), AppendPrimitives(), ALLEGRO::BOARD_BUILDER::buildPadItems(), ChamferPositions(), ChamferPositions(), ChamferRatio(), Clearance(), Clearance(), ClearPrimitives(), Compare(), Deserialize(), Offset(), Offset(), operator==(), PADSTACK(), Primitives(), Primitives(), RoundRectRadiusRatio(), Serialize(), SetAnchorShape(), SetChamferPositions(), SetChamferRatio(), SetOffset(), SetRoundRectRadiusRatio(), SetShape(), SetSize(), SetThermalSpokeAngle(), Shape(), Similarity(), Size(), ThermalGap(), ThermalGap(), ThermalSpokeAngle(), ThermalSpokeWidth(), ThermalSpokeWidth(), DIALOG_PAD_PROPERTIES::transferDataToPad(), TrapezoidDeltaSize(), TrapezoidDeltaSize(), unpackCopperLayer(), ZoneConnection(), and ZoneConnection().
| const PADSTACK::COPPER_LAYER_PROPS & PADSTACK::CopperLayer | ( | PCB_LAYER_ID | aLayer | ) | const |
Definition at line 1204 of file padstack.cpp.
References ALL_LAYERS, B_Cu, CUSTOM, F_Cu, FRONT_INNER_BACK, INNER_LAYERS, IsBackLayer(), IsFrontLayer(), m_copperProps, and m_mode.
| const wxChar * PADSTACK::CustomName | ( | ) | const |
Definition at line 1580 of file padstack.cpp.
References m_customName.
Referenced by Compare(), Name(), operator=(), operator==(), and Similarity().
|
inline |
Definition at line 406 of file padstack.h.
References m_customShapeInZoneMode.
| EDA_ANGLE PADSTACK::DefaultThermalSpokeAngleForShape | ( | PCB_LAYER_ID | aLayer = F_Cu | ) | const |
Definition at line 1113 of file padstack.cpp.
References AnchorShape(), ANGLE_45, ANGLE_90, CIRCLE, CUSTOM, and Shape().
Referenced by Deserialize(), PCB_IO_KICAD_SEXPR::format(), and ThermalSpokeAngle().
|
overridevirtual |
Deserializes the given protobuf message into this object.
| aContainer | is an Any which should have a concrete type matching this object |
Reimplemented from SERIALIZABLE.
Definition at line 464 of file padstack.cpp.
References Deserialize().
Referenced by Deserialize().
| bool PADSTACK::Deserialize | ( | const kiapi::board::types::PadStack & | aInput | ) |
Definition at line 238 of file padstack.cpp.
References ALL_LAYERS, BackOuterLayers(), BackPostMachining(), CopperLayer(), COUNTERBORE, COUNTERSINK, DefaultThermalSpokeAngleForShape(), DEGREES_T, Drill(), PADSTACK::DRILL_PROPS::end, F_Cu, FromProtoEnum(), FrontOuterLayers(), FrontPostMachining(), INHERITED, PADSTACK::DRILL_PROPS::is_capped, PADSTACK::DRILL_PROPS::is_filled, m_mode, m_orientation, NOT_POST_MACHINED, SecondaryDrill(), SetLayerSet(), SetThermalSpokeAngle(), SetUnconnectedLayerMode(), PADSTACK::DRILL_PROPS::shape, PADSTACK::DRILL_PROPS::size, PADSTACK::MASK_LAYER_PROPS::solder_mask_margin, PADSTACK::MASK_LAYER_PROPS::solder_paste_margin, PADSTACK::MASK_LAYER_PROPS::solder_paste_margin_ratio, PADSTACK::DRILL_PROPS::start, TertiaryDrill(), PADSTACK::COPPER_LAYER_PROPS::thermal_gap, PADSTACK::COPPER_LAYER_PROPS::thermal_spoke_angle, PADSTACK::COPPER_LAYER_PROPS::thermal_spoke_width, UNDEFINED, UNDEFINED_LAYER, unpackCopperLayer(), kiapi::board::UnpackLayerSet(), kiapi::common::UnpackVector2(), and PADSTACK::COPPER_LAYER_PROPS::zone_connection.
|
inline |
Definition at line 361 of file padstack.h.
References m_drill.
Referenced by PCB_IO_EAGLE::adjustFootprintForDesignRules(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PCB_VIA::BottomLayer(), ALLEGRO::BOARD_BUILDER::buildPadItems(), PCB_VIA_STACK::CreateFromItems(), Deserialize(), ZONE_FILLER::Fill(), PCB_VIA::FlashLayer(), PCB_IO_KICAD_SEXPR::format(), PCB_VIA::GetLayer(), GetMaxHoleSize(), VIA_PROTECTION_UI_MIXIN::getViaConfiguration(), PCB_VIA::IsBlindVia(), PCB_VIA::IsBuriedVia(), PCB_VIA::IsOnLayer(), PCB_VIA::LayerPair(), PCB_VIA::PCB_VIA(), PCB_VIA_STACK::reuseMembers(), PCB_VIA::SanitizeLayers(), PCB_VIA::SetBottomLayer(), PCB_VIA::SetLayer(), PCB_VIA::SetLayerPair(), PCB_VIA::SetLayerSet(), PCB_VIA::SetTopLayer(), VIA_PROTECTION_UI_MIXIN::setViaConfiguration(), PCB_VIA::TopLayer(), and DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 362 of file padstack.h.
References m_drill.
| PAD_DRILL_SHAPE PADSTACK::DrillShape | ( | ) | const |
Definition at line 886 of file padstack.cpp.
References m_drill.
| PCB_LAYER_ID PADSTACK::EffectiveLayerFor | ( | PCB_LAYER_ID | aLayer | ) | const |
Determines which geometry layer should be used for the given input layer.
For example, for MODE::NORMAL, this will always be F_Cu, and for MODE::FRONT_INNER_BACK, this will be one of F_Cu, PADSTACK::INNER_LAYERS, and B_Cu depending on the input layer.
| aLayer | is a valid board layer |
Definition at line 1273 of file padstack.cpp.
References ALL_LAYERS, B_Cu, F_Cu, FRONT_INNER_BACK, INNER_LAYERS, IsBackLayer(), IsFrontLayer(), IsNonCopperLayer(), m_copperProps, m_mode, and NORMAL.
Referenced by PCB_IO_IPC2581::addLocationNode(), PCB_IO_IPC2581::addPadStack(), EDA_DATA::PACKAGE::AddPin(), PCB_IO_IPC2581::addShape(), PAD::GetEffectivePolygon(), PAD::GetEffectiveShape(), HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK(), HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK(), and AR_MATRIX::PlacePad().
| PCB_LAYER_ID PADSTACK::EndLayer | ( | ) | const |
Definition at line 1568 of file padstack.cpp.
References m_drill.
Referenced by TUNING_PROFILE_PARAMETERS_USER_DEFINED::getPropagationDelay().
|
private |
Definition at line 493 of file padstack.cpp.
|
private |
Return the drill slot holding the top (aTop true) or bottom backdrill, identified by its start layer (F_Cu for top, B_Cu for bottom) rather than by slot position, so layouts written by KiCad 10.0 - which stored the top backdrill in the tertiary slot - are read correctly.
Returns nullptr when that side is absent.
Definition at line 479 of file padstack.cpp.
References B_Cu, F_Cu, m_secondaryDrill, and m_tertiaryDrill.
Referenced by backdrillWriteSlot(), GetBackdrillEndLayer(), GetBackdrillMode(), and GetBackdrillSize().
| void PADSTACK::FlipLayers | ( | BOARD * | aBoard | ) |
Flips the padstack layers in the case that the pad's parent footprint is flipped to the other side of the board.
Definition at line 1527 of file padstack.cpp.
References B_Cu, CUSTOM, F_Cu, BOARD::FlipLayer(), FRONT_INNER_BACK, INNER_LAYERS, m_backMaskProps, m_backPostMachining, m_copperProps, m_drill, m_frontMaskProps, m_frontPostMachining, m_mode, m_secondaryDrill, and m_tertiaryDrill.
| void PADSTACK::ForEachUniqueLayer | ( | const std::function< void(PCB_LAYER_ID)> & | aMethod | ) | const |
Runs the given callable for each active unique copper layer in this padstack, meaning F_Cu for MODE::NORMAL; F_Cu, PADSTACK::INNER_LAYERS, and B_Cu for top/inner/bottom, and an arbitrary set of layers for full-custom padstacks.
| aMethod | will be called once for each independent copper layer in the padstack |
Definition at line 1239 of file padstack.cpp.
References ALL_LAYERS, B_Cu, F_Cu, FRONT_INNER_BACK, INNER_LAYERS, m_copperProps, m_mode, and NORMAL.
Referenced by PAD::BuildEffectivePolygon(), PAD::BuildEffectiveShapes(), PAD::CheckPad(), PAD::Clone(), Compare(), doPushPadProperties(), PAD_TOOL::explodePad(), DIALOG_FP_EDIT_PAD_TABLE::fillGridRow(), PAD::Flip(), PAD::FlipPrimitives(), PCB_IO_KICAD_SEXPR::format(), PCB_VIA::GetBoundingBox(), PAD::GetMsgPanelInfo(), PAD::HitTest(), PAD::HitTest(), PAD::HitTest(), PCB_VIA::HitTest(), PCB_VIA::HitTest(), PAD::ImportSettingsFrom(), PAD::IsNPTHWithNoCopper(), PAD::IsOnCopperLayer(), mirrorPad(), PAD::OnFootprintRescaled(), FOOTPRINT::cmp_pads::operator()(), operator=(), operator==(), LENGTH_DELAY_CALCULATION::optimiseVias(), padNeedsUpdate(), PADSTACK(), PAD::Recombine(), RelevantShapeLayers(), Serialize(), DIALOG_FP_EDIT_PAD_TABLE::setPadFromGridCell(), Similarity(), PNS_KICAD_IFACE_BASE::syncPad(), PNS_KICAD_IFACE_BASE::syncVia(), DIALOG_PAD_PROPERTIES::transferDataToPad(), UniqueLayers(), PAD_INFO_FORMATTER::UpdatePad(), viaNominalWidth(), viaStackName(), and PAD::ViewBBox().
|
inline |
Definition at line 384 of file padstack.h.
References m_frontMaskProps.
Referenced by Deserialize(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), VIA_PROTECTION_UI_MIXIN::getViaConfiguration(), IsCovered(), IsPlugged(), IsTented(), PCB_IO_KICAD_SEXPR_PARSER::parsePadstack(), Serialize(), VIA_PROTECTION_UI_MIXIN::setViaConfiguration(), SolderMaskMargin(), SolderMaskMargin(), SolderPasteMargin(), SolderPasteMargin(), SolderPasteMarginRatio(), and SolderPasteMarginRatio().
|
inline |
Definition at line 385 of file padstack.h.
References m_frontMaskProps.
|
inline |
Definition at line 370 of file padstack.h.
References m_frontPostMachining.
Referenced by EXPORTER_STEP::buildFootprint3DShapes(), EXPORTER_STEP::buildTrack3DShape(), Deserialize(), PCB_IO_IPC2581::ensureBackdrillSpecs(), PCB_IO_KICAD_SEXPR::format(), GetMaxHoleSize(), RENDER_3D_RAYTRACE_BASE::insertHole(), mixBackdrillIntoPadstackHash(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::transferDataToPad(), and DIALOG_TRACK_VIA_PROPERTIES::TransferDataToWindow().
|
inline |
Definition at line 371 of file padstack.h.
References m_frontPostMachining.
| PCB_LAYER_ID PADSTACK::GetBackdrillEndLayer | ( | bool | aTop | ) | const |
Definition at line 596 of file padstack.cpp.
References findBackdrillDrill(), and UNDEFINED_LAYER.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and DIALOG_PAD_PROPERTIES::initValues().
| BACKDRILL_MODE PADSTACK::GetBackdrillMode | ( | ) | const |
Definition at line 529 of file padstack.cpp.
References BACKDRILL_BOTH, BACKDRILL_BOTTOM, BACKDRILL_TOP, findBackdrillDrill(), and NO_BACKDRILL.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().
| std::optional< int > PADSTACK::GetBackdrillSize | ( | bool | aTop | ) | const |
Definition at line 571 of file padstack.cpp.
References findBackdrillDrill().
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and DIALOG_PAD_PROPERTIES::initValues().
| int PADSTACK::GetMaxHoleSize | ( | ) | const |
Definition at line 1334 of file padstack.cpp.
References BackPostMachining(), Drill(), PADSTACK::DRILL_PROPS::end, FrontPostMachining(), PADSTACK::POST_MACHINING_PROPS::mode, NOT_POST_MACHINED, SecondaryDrill(), PADSTACK::DRILL_PROPS::size, PADSTACK::POST_MACHINING_PROPS::size, PADSTACK::DRILL_PROPS::start, TertiaryDrill(), UNDEFINED_LAYER, UNKNOWN, and VECTOR2< T >::x.
Referenced by PAD::GetEffectiveHoleShape().
|
inline |
Definition at line 353 of file padstack.h.
References m_orientation.
| bool PADSTACK::HasExplicitDefinitionForLayer | ( | PCB_LAYER_ID | aLayer | ) | const |
Check if the padstack has an explicit definition for the given layer.
This is useful for detecting if a layer removal will cause data loss.
Definition at line 1468 of file padstack.cpp.
References m_copperProps.
Referenced by DIALOG_PAD_PROPERTIES::transferDataToPad().
| std::optional< bool > PADSTACK::IsCapped | ( | ) | const |
Definition at line 1399 of file padstack.cpp.
References m_drill.
Referenced by PCB_IO_IPC2581::addPadStack().
| std::optional< bool > PADSTACK::IsCovered | ( | PCB_LAYER_ID | aSide | ) | const |
Definition at line 1377 of file padstack.cpp.
References BackOuterLayers(), FrontOuterLayers(), PADSTACK::MASK_LAYER_PROPS::has_covering, IsBackLayer(), and IsFrontLayer().
Referenced by PCB_IO_IPC2581::addPadStack().
| std::optional< bool > PADSTACK::IsFilled | ( | ) | const |
Definition at line 1405 of file padstack.cpp.
References m_drill.
Referenced by PCB_IO_IPC2581::addPadStack().
| std::optional< bool > PADSTACK::IsPlugged | ( | PCB_LAYER_ID | aSide | ) | const |
Definition at line 1388 of file padstack.cpp.
References BackOuterLayers(), FrontOuterLayers(), PADSTACK::MASK_LAYER_PROPS::has_plugging, IsBackLayer(), and IsFrontLayer().
Referenced by PCB_IO_IPC2581::addPadStack().
| std::optional< bool > PADSTACK::IsTented | ( | PCB_LAYER_ID | aSide | ) | const |
Checks if this padstack is tented (covered in soldermask) on the given side.
| aSide | is a front or back layer (any will do) |
Definition at line 1366 of file padstack.cpp.
References BackOuterLayers(), FrontOuterLayers(), PADSTACK::MASK_LAYER_PROPS::has_solder_mask, IsBackLayer(), and IsFrontLayer().
Referenced by PCB_IO_IPC2581::addPadStack().
|
inline |
Definition at line 332 of file padstack.h.
References m_layerSet.
|
inline |
Definition at line 331 of file padstack.h.
References m_layerSet.
Referenced by PCB_IO_EAGLE::adjustFootprintForDesignRules(), LENGTH_DELAY_CALCULATION::inferViaInPad(), and LENGTH_DELAY_CALCULATION::optimiseVias().
|
inline |
Definition at line 344 of file padstack.h.
References m_mode.
Referenced by PCB_IO_EAGLE::adjustFootprintForDesignRules(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PAD_TOOL::explodePad(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), FOOTPRINT::cmp_pads::operator()(), padShapeName(), PadstackUniqueLayerAppliesToLayer(), PCB_IO_KICAD_SEXPR_PARSER::parsePadstack(), PCB_IO_KICAD_SEXPR_PARSER::parseViastack(), PNS_KICAD_IFACE_BASE::syncPad(), and PNS_KICAD_IFACE_BASE::syncVia().
| wxString PADSTACK::Name | ( | ) | const |
! Returns the name of this padstack in IPC-7351 format
Definition at line 1574 of file padstack.cpp.
References CustomName().
| VECTOR2I & PADSTACK::Offset | ( | PCB_LAYER_ID | aLayer | ) |
Definition at line 898 of file padstack.cpp.
References CopperLayer(), PADSTACK::SHAPE_PROPS::offset, and PADSTACK::COPPER_LAYER_PROPS::shape.
Referenced by PCB_IO_KICAD_SEXPR::format(), and unpackCopperLayer().
| const VECTOR2I & PADSTACK::Offset | ( | PCB_LAYER_ID | aLayer | ) | const |
Definition at line 904 of file padstack.cpp.
References CopperLayer(), PADSTACK::SHAPE_PROPS::offset, and PADSTACK::COPPER_LAYER_PROPS::shape.
|
inline |
Definition at line 303 of file padstack.h.
References operator==(), and PADSTACK().
Definition at line 85 of file padstack.cpp.
References ClearPrimitives(), CUSTOM, CustomName(), ForEachUniqueLayer(), m_backMaskProps, m_backPostMachining, m_copperProps, m_customShapeInZoneMode, m_drill, m_frontMaskProps, m_frontPostMachining, m_layerSet, m_mode, m_orientation, m_secondaryDrill, m_tertiaryDrill, m_unconnectedLayerMode, PADSTACK(), Primitives(), RECTANGLE, ReplacePrimitives(), ROUNDRECT, RoundRectRadiusRatio(), SetCustomName(), SetShape(), and Shape().
| bool PADSTACK::operator== | ( | const PADSTACK & | aOther | ) | const |
Definition at line 133 of file padstack.cpp.
References CopperLayer(), CustomName(), ForEachUniqueLayer(), m_backMaskProps, m_backPostMachining, m_customShapeInZoneMode, m_drill, m_frontMaskProps, m_frontPostMachining, m_layerSet, m_mode, m_orientation, m_secondaryDrill, m_tertiaryDrill, m_unconnectedLayerMode, and PADSTACK().
Referenced by operator!=().
| std::vector< std::shared_ptr< PCB_SHAPE > > & PADSTACK::Primitives | ( | PCB_LAYER_ID | aLayer | ) |
Definition at line 1139 of file padstack.cpp.
References CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::custom_shapes.
Referenced by PAD::Clone(), and operator=().
| const std::vector< std::shared_ptr< PCB_SHAPE > > & PADSTACK::Primitives | ( | PCB_LAYER_ID | aLayer | ) | const |
Definition at line 1145 of file padstack.cpp.
References CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::custom_shapes.
Returns the set of layers that must be considered if checking one padstack against another.
For example, two normal padstacks will just return a set with ALL_LAYERS, but if one of them is FRONT_INNER_BACK, there are three layers to check.
Definition at line 1308 of file padstack.cpp.
References ALL_LAYERS, ForEachUniqueLayer(), m_mode, NORMAL, PADSTACK(), and BASE_SET::set().
| void PADSTACK::ReplacePrimitives | ( | const std::vector< std::shared_ptr< PCB_SHAPE > > & | aPrimitivesList, |
| PCB_LAYER_ID | aLayer ) |
Clears the existing primitive list (freeing the owned shapes) and adds copies of the given shapes to the padstack for the given layer.
| aPrimitivesList | is a list of shapes to add copies of to this PADSTACK |
| aLayer | is the padstack layer to add to. |
Definition at line 1171 of file padstack.cpp.
References AppendPrimitives(), and ClearPrimitives().
Referenced by operator=().
| int PADSTACK::RoundRectRadius | ( | PCB_LAYER_ID | aLayer | ) | const |
Definition at line 952 of file padstack.cpp.
References KiROUND(), RoundRectRadiusRatio(), Size(), VECTOR2< T >::x, and VECTOR2< T >::y.
| double PADSTACK::RoundRectRadiusRatio | ( | PCB_LAYER_ID | aLayer | ) | const |
Definition at line 940 of file padstack.cpp.
References CopperLayer(), PADSTACK::SHAPE_PROPS::round_rect_radius_ratio, and PADSTACK::COPPER_LAYER_PROPS::shape.
Referenced by operator=(), and RoundRectRadius().
|
inline |
Definition at line 364 of file padstack.h.
References m_secondaryDrill.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), EXPORTER_STEP::buildFootprint3DShapes(), EXPORTER_STEP::buildTrack3DShape(), Deserialize(), PCB_IO_IPC2581::ensureBackdrillSpecs(), PCB_IO_KICAD_SEXPR::format(), GetMaxHoleSize(), mixBackdrillIntoPadstackHash(), and DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 365 of file padstack.h.
References m_secondaryDrill.
|
overridevirtual |
Serializes this object to the given Any message.
The Any message's concrete type will be specific to the object in question.
| aContainer | will be filled with a message describing this object |
Reimplemented from SERIALIZABLE.
Definition at line 846 of file padstack.cpp.
References Serialize().
Referenced by Serialize(), and PCB_VIA::Serialize().
| void PADSTACK::Serialize | ( | kiapi::board::types::PadStack & | aOutput | ) | const |
Definition at line 621 of file padstack.cpp.
References ALL_LAYERS, PADSTACK::SHAPE_PROPS::anchor_shape, PADSTACK::POST_MACHINING_PROPS::angle, BackOuterLayers(), PADSTACK::SHAPE_PROPS::chamfered_rect_positions, PADSTACK::SHAPE_PROPS::chamfered_rect_ratio, CopperLayer(), COUNTERBORE, COUNTERSINK, PADSTACK::COPPER_LAYER_PROPS::custom_shapes, PADSTACK::POST_MACHINING_PROPS::depth, ForEachUniqueLayer(), FrontOuterLayers(), m_backPostMachining, m_drill, m_frontPostMachining, m_layerSet, m_mode, m_orientation, m_secondaryDrill, m_tertiaryDrill, m_unconnectedLayerMode, PADSTACK::POST_MACHINING_PROPS::mode, NOT_POST_MACHINED, PADSTACK::SHAPE_PROPS::offset, kiapi::board::PackLayerSet(), kiapi::common::PackVector2(), RECT_CHAMFER_BOTTOM_LEFT, RECT_CHAMFER_BOTTOM_RIGHT, RECT_CHAMFER_TOP_LEFT, RECT_CHAMFER_TOP_RIGHT, PADSTACK::SHAPE_PROPS::round_rect_radius_ratio, PADSTACK::COPPER_LAYER_PROPS::shape, PADSTACK::SHAPE_PROPS::shape, PADSTACK::POST_MACHINING_PROPS::size, PADSTACK::SHAPE_PROPS::size, ToProtoEnum(), TRAPEZOID, and PADSTACK::SHAPE_PROPS::trapezoid_delta_size.
| void PADSTACK::SetAnchorShape | ( | PAD_SHAPE | aShape, |
| PCB_LAYER_ID | aLayer ) |
Definition at line 922 of file padstack.cpp.
References PADSTACK::SHAPE_PROPS::anchor_shape, CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::shape.
Referenced by unpackCopperLayer().
| void PADSTACK::SetBackdrillEndLayer | ( | bool | aTop, |
| PCB_LAYER_ID | aLayer ) |
Definition at line 605 of file padstack.cpp.
References B_Cu, backdrillWriteSlot(), clearBackdrillSide(), PADSTACK::DRILL_PROPS::end, F_Cu, PADSTACK::DRILL_PROPS::start, and UNDEFINED_LAYER.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
| void PADSTACK::SetBackdrillMode | ( | BACKDRILL_MODE | aMode | ) |
Definition at line 547 of file padstack.cpp.
References B_Cu, BACKDRILL_BOTH, BACKDRILL_BOTTOM, BACKDRILL_TOP, backdrillWriteSlot(), CIRCLE, clearBackdrillSide(), F_Cu, m_drill, PADSTACK::DRILL_PROPS::shape, PADSTACK::DRILL_PROPS::size, PADSTACK::DRILL_PROPS::start, and VECTOR2< T >::x.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().
| void PADSTACK::SetBackdrillSize | ( | bool | aTop, |
| std::optional< int > | aSize ) |
Definition at line 580 of file padstack.cpp.
References B_Cu, backdrillWriteSlot(), CIRCLE, clearBackdrillSide(), F_Cu, PADSTACK::DRILL_PROPS::shape, PADSTACK::DRILL_PROPS::size, and PADSTACK::DRILL_PROPS::start.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
| void PADSTACK::SetChamferPositions | ( | int | aPositions, |
| PCB_LAYER_ID | aLayer ) |
Definition at line 993 of file padstack.cpp.
References PADSTACK::SHAPE_PROPS::chamfered_rect_positions, CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::shape.
Referenced by ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper().
| void PADSTACK::SetChamferRatio | ( | double | aRatio, |
| PCB_LAYER_ID | aLayer ) |
Definition at line 975 of file padstack.cpp.
References PADSTACK::SHAPE_PROPS::chamfered_rect_ratio, CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::shape.
Referenced by ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper().
| void PADSTACK::SetCustomName | ( | const wxString & | aCustomName | ) |
|
inline |
Definition at line 407 of file padstack.h.
References m_customShapeInZoneMode.
| void PADSTACK::SetDrillShape | ( | PAD_DRILL_SHAPE | aShape | ) |
Definition at line 892 of file padstack.cpp.
References m_drill.
|
inline |
Definition at line 333 of file padstack.h.
References m_layerSet.
Referenced by ALLEGRO::BOARD_BUILDER::buildPadItems(), and Deserialize().
| void PADSTACK::SetMode | ( | MODE | aMode | ) |
Definition at line 1826 of file padstack.cpp.
References m_mode.
Referenced by ALLEGRO::BOARD_BUILDER::buildPadItems(), ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), PCB_IO_KICAD_SEXPR_PARSER::parsePadstack(), PCB_IO_KICAD_SEXPR_PARSER::parseViastack(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
| void PADSTACK::SetOffset | ( | const VECTOR2I & | aOffset, |
| PCB_LAYER_ID | aLayer ) |
Definition at line 910 of file padstack.cpp.
References CopperLayer(), PADSTACK::SHAPE_PROPS::offset, and PADSTACK::COPPER_LAYER_PROPS::shape.
Referenced by ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper().
|
inline |
Definition at line 355 of file padstack.h.
References m_orientation.
Referenced by PAD::OnFootprintTransformed().
| void PADSTACK::SetRoundRectRadius | ( | double | aRadius, |
| PCB_LAYER_ID | aLayer ) |
Definition at line 959 of file padstack.cpp.
References SetRoundRectRadiusRatio(), Size(), VECTOR2< T >::x, and VECTOR2< T >::y.
| void PADSTACK::SetRoundRectRadiusRatio | ( | double | aRatio, |
| PCB_LAYER_ID | aLayer ) |
Definition at line 946 of file padstack.cpp.
References CopperLayer(), PADSTACK::SHAPE_PROPS::round_rect_radius_ratio, and PADSTACK::COPPER_LAYER_PROPS::shape.
Referenced by ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), and SetRoundRectRadius().
| void PADSTACK::SetShape | ( | PAD_SHAPE | aShape, |
| PCB_LAYER_ID | aLayer ) |
Definition at line 880 of file padstack.cpp.
References CopperLayer(), PADSTACK::COPPER_LAYER_PROPS::shape, and PADSTACK::SHAPE_PROPS::shape.
Referenced by ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), operator=(), and unpackCopperLayer().
| void PADSTACK::SetSize | ( | const VECTOR2I & | aSize, |
| PCB_LAYER_ID | aLayer ) |
Definition at line 854 of file padstack.cpp.
References CopperLayer(), PADSTACK::COPPER_LAYER_PROPS::shape, PADSTACK::SHAPE_PROPS::size, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by PCB_IO_EAGLE::adjustFootprintForDesignRules(), ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), PCB_IO_KICAD_SEXPR_PARSER::parseViastack(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), and unpackCopperLayer().
| void PADSTACK::SetThermalSpokeAngle | ( | EDA_ANGLE | aAngle, |
| PCB_LAYER_ID | aLayer = F_Cu ) |
Definition at line 1133 of file padstack.cpp.
References CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::thermal_spoke_angle.
Referenced by Deserialize(), and PCB_IO_KICAD_SEXPR_PARSER::parsePadstack().
|
inline |
Definition at line 379 of file padstack.h.
References m_unconnectedLayerMode.
Referenced by PNS_KICAD_IFACE::createBoardItem(), Deserialize(), PNS_KICAD_IFACE::modifyBoardItem(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::processItem(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
| PAD_SHAPE PADSTACK::Shape | ( | PCB_LAYER_ID | aLayer | ) | const |
Definition at line 874 of file padstack.cpp.
References CopperLayer(), PADSTACK::COPPER_LAYER_PROPS::shape, and PADSTACK::SHAPE_PROPS::shape.
Referenced by DefaultThermalSpokeAngleForShape(), operator=(), and unpackCopperLayer().
| double PADSTACK::Similarity | ( | const PADSTACK & | aOther | ) | const |
Return a measure of how likely the other object is to represent the same object.
The scale runs from 0.0 (definitely different objects) to 1.0 (same)
Definition at line 1474 of file padstack.cpp.
References CopperLayer(), CustomName(), ForEachUniqueLayer(), m_backMaskProps, m_backPostMachining, m_customShapeInZoneMode, m_drill, m_frontMaskProps, m_frontPostMachining, m_layerSet, m_mode, m_orientation, m_secondaryDrill, m_tertiaryDrill, m_unconnectedLayerMode, PADSTACK(), and PADSTACK::COPPER_LAYER_PROPS::Similarity().
Referenced by PAD::Similarity().
| const VECTOR2I & PADSTACK::Size | ( | PCB_LAYER_ID | aLayer | ) | const |
Definition at line 868 of file padstack.cpp.
References CopperLayer(), PADSTACK::COPPER_LAYER_PROPS::shape, and PADSTACK::SHAPE_PROPS::size.
Referenced by PCB_IO_EAGLE::adjustFootprintForDesignRules(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), RoundRectRadius(), and SetRoundRectRadius().
| std::optional< int > & PADSTACK::SolderMaskMargin | ( | PCB_LAYER_ID | aLayer = F_Cu | ) |
Definition at line 1011 of file padstack.cpp.
References BackOuterLayers(), FrontOuterLayers(), IsBackLayer(), IsFrontLayer(), and PADSTACK::MASK_LAYER_PROPS::solder_mask_margin.
| const std::optional< int > & PADSTACK::SolderMaskMargin | ( | PCB_LAYER_ID | aLayer = F_Cu | ) | const |
Definition at line 1022 of file padstack.cpp.
References BackOuterLayers(), FrontOuterLayers(), IsBackLayer(), IsFrontLayer(), and PADSTACK::MASK_LAYER_PROPS::solder_mask_margin.
| std::optional< int > & PADSTACK::SolderPasteMargin | ( | PCB_LAYER_ID | aLayer = F_Cu | ) |
Definition at line 1033 of file padstack.cpp.
References BackOuterLayers(), FrontOuterLayers(), IsBackLayer(), IsFrontLayer(), and PADSTACK::MASK_LAYER_PROPS::solder_paste_margin.
| const std::optional< int > & PADSTACK::SolderPasteMargin | ( | PCB_LAYER_ID | aLayer = F_Cu | ) | const |
Definition at line 1044 of file padstack.cpp.
References BackOuterLayers(), FrontOuterLayers(), IsBackLayer(), IsFrontLayer(), and PADSTACK::MASK_LAYER_PROPS::solder_paste_margin.
| std::optional< double > & PADSTACK::SolderPasteMarginRatio | ( | PCB_LAYER_ID | aLayer = F_Cu | ) |
Definition at line 1055 of file padstack.cpp.
References BackOuterLayers(), FrontOuterLayers(), IsBackLayer(), IsFrontLayer(), and PADSTACK::MASK_LAYER_PROPS::solder_paste_margin_ratio.
| const std::optional< double > & PADSTACK::SolderPasteMarginRatio | ( | PCB_LAYER_ID | aLayer = F_Cu | ) | const |
Definition at line 1066 of file padstack.cpp.
References BackOuterLayers(), FrontOuterLayers(), IsBackLayer(), IsFrontLayer(), and PADSTACK::MASK_LAYER_PROPS::solder_paste_margin_ratio.
| PCB_LAYER_ID PADSTACK::StartLayer | ( | ) | const |
Definition at line 1562 of file padstack.cpp.
References m_drill.
Referenced by TUNING_PROFILE_PARAMETERS_USER_DEFINED::getPropagationDelay().
|
inline |
Definition at line 367 of file padstack.h.
References m_tertiaryDrill.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), EXPORTER_STEP::buildFootprint3DShapes(), EXPORTER_STEP::buildTrack3DShape(), Deserialize(), PCB_IO_IPC2581::ensureBackdrillSpecs(), PCB_IO_KICAD_SEXPR::format(), GetMaxHoleSize(), mixBackdrillIntoPadstackHash(), and DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 368 of file padstack.h.
References m_tertiaryDrill.
| std::optional< int > & PADSTACK::ThermalGap | ( | PCB_LAYER_ID | aLayer = F_Cu | ) |
Definition at line 1101 of file padstack.cpp.
References CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::thermal_gap.
Referenced by PCB_IO_KICAD_SEXPR::format(), and PCB_IO_KICAD_SEXPR_PARSER::parsePadstack().
| const std::optional< int > & PADSTACK::ThermalGap | ( | PCB_LAYER_ID | aLayer = F_Cu | ) | const |
Definition at line 1107 of file padstack.cpp.
References CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::thermal_gap.
| EDA_ANGLE PADSTACK::ThermalSpokeAngle | ( | PCB_LAYER_ID | aLayer = F_Cu | ) | const |
Definition at line 1124 of file padstack.cpp.
References CopperLayer(), DefaultThermalSpokeAngleForShape(), and PADSTACK::COPPER_LAYER_PROPS::thermal_spoke_angle.
Referenced by PCB_IO_KICAD_SEXPR::format().
| std::optional< int > & PADSTACK::ThermalSpokeWidth | ( | PCB_LAYER_ID | aLayer = F_Cu | ) |
Definition at line 1089 of file padstack.cpp.
References CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::thermal_spoke_width.
Referenced by PCB_IO_KICAD_SEXPR::format(), and PCB_IO_KICAD_SEXPR_PARSER::parsePadstack().
| const std::optional< int > & PADSTACK::ThermalSpokeWidth | ( | PCB_LAYER_ID | aLayer = F_Cu | ) | const |
Definition at line 1095 of file padstack.cpp.
References CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::thermal_spoke_width.
| VECTOR2I & PADSTACK::TrapezoidDeltaSize | ( | PCB_LAYER_ID | aLayer | ) |
Definition at line 928 of file padstack.cpp.
References CopperLayer(), PADSTACK::COPPER_LAYER_PROPS::shape, and PADSTACK::SHAPE_PROPS::trapezoid_delta_size.
Referenced by unpackCopperLayer().
| const VECTOR2I & PADSTACK::TrapezoidDeltaSize | ( | PCB_LAYER_ID | aLayer | ) | const |
Definition at line 934 of file padstack.cpp.
References CopperLayer(), PADSTACK::COPPER_LAYER_PROPS::shape, and PADSTACK::SHAPE_PROPS::trapezoid_delta_size.
|
inline |
Definition at line 378 of file padstack.h.
References m_unconnectedLayerMode.
Referenced by ZONE_FILLER::Fill(), CONNECTIVITY_DATA::IsConnectedOnLayer(), and PNS_KICAD_IFACE_BASE::syncVia().
| std::vector< PCB_LAYER_ID > PADSTACK::UniqueLayers | ( | ) | const |
Definition at line 1259 of file padstack.cpp.
References ForEachUniqueLayer().
Referenced by padNeedsUpdate(), and viaSort().
|
private |
Definition at line 187 of file padstack.cpp.
References AddPrimitive(), ALL_LAYERS, B_Cu, PADSTACK::SHAPE_PROPS::chamfered_rect_positions, PADSTACK::SHAPE_PROPS::chamfered_rect_ratio, ClearPrimitives(), CopperLayer(), F_Cu, FromProtoEnum(), FRONT_INNER_BACK, INNER_LAYERS, m_mode, m_parent, NORMAL, Offset(), RECT_CHAMFER_BOTTOM_LEFT, RECT_CHAMFER_BOTTOM_RIGHT, RECT_CHAMFER_TOP_LEFT, RECT_CHAMFER_TOP_RIGHT, PADSTACK::SHAPE_PROPS::round_rect_radius_ratio, SetAnchorShape(), SetShape(), SetSize(), Shape(), PADSTACK::COPPER_LAYER_PROPS::shape, TRAPEZOID, TrapezoidDeltaSize(), and kiapi::common::UnpackVector2().
Referenced by Deserialize().
| std::optional< ZONE_CONNECTION > & PADSTACK::ZoneConnection | ( | PCB_LAYER_ID | aLayer = F_Cu | ) |
Definition at line 1077 of file padstack.cpp.
References CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::zone_connection.
Referenced by PCB_IO_KICAD_SEXPR::format(), and PCB_IO_KICAD_SEXPR_PARSER::parsePadstack().
| const std::optional< ZONE_CONNECTION > & PADSTACK::ZoneConnection | ( | PCB_LAYER_ID | aLayer = F_Cu | ) | const |
Definition at line 1083 of file padstack.cpp.
References CopperLayer(), and PADSTACK::COPPER_LAYER_PROPS::zone_connection.
|
staticconstexpr |
! The layer identifier to use for the single defintion on normal padstacks
Definition at line 179 of file padstack.h.
Referenced by addFootprint(), FEATURES_MANAGER::AddPad(), AddPadToBoard(), PCAD2KICAD::PCAD_PAD::AddToBoard(), PCAD2KICAD::PCAD_PAD::AddToFootprint(), AddVia(), FEATURES_MANAGER::AddViaDrillHole(), DIALOG_TRACK_VIA_PROPERTIES::afterPadstackModeChanged(), BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), buildCoincidentFootprint(), DIALOG_VIA_STITCH_PROPERTIES::buildGuardPreview(), PCB_VIA_STACK::BuildMembers(), PCB_VIA_STITCH::buildPlacementCells(), EDIT_TOOL::ChangeTrackWidth(), configureStitch(), ALTIUM_PCB::ConvertFills6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), ALTIUM_PCB::ConvertShapeBasedRegions6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertVias6ToFootprintItem(), CopperLayer(), CopperLayer(), BACKDRILL_TEST_FIXTURE::CreateBackdrilledVia(), MICROWAVE_TOOL::createBaseFootprint(), DIPTRACE::PCB_PARSER::CreateFootprint(), MICROWAVE_TOOL::createFootprint(), BACKDRILL_TEST_FIXTURE::CreateFootprintWithPad(), PCB_VIA_STACK::CreateFromItems(), MICROWAVE_TOOL::createMicrowaveInductor(), PCB_IO_EASYEDAPRO_PARSER::createPAD(), BACKDRILL_TEST_FIXTURE::CreatePostMachinedVia(), DIPTRACE::PCB_PARSER::CreateStandaloneVias(), DIPTRACE::PCB_PARSER::CreateTracksAndVias(), PCB_IO_EASYEDAPRO_V3_PARSER::createV3PAD(), Deserialize(), DRAWING_TOOL::DrawVia(), EffectiveLayerFor(), PCB_IO_AUTOTRAX::emitPad(), PCB_IO_AUTOTRAX::emitVia(), PCB_VIA_STACK::ExpandMultiHopMicrovias(), PAD_TOOL::explodePad(), ForEachUniqueLayer(), PAD_INFO_FORMATTER::Format(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), PAD::GetSizeX(), PAD::GetSizeY(), PCB_VIA_STITCH::GetViaSize(), PCB_VIA::GetWidth(), PCB_VIA_STITCH::InitializeDefaults(), FABMASTER::loadFootprints(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryCoppers(), CADSTAR_PCB_ARCHIVE_LOADER::loadNetVia(), PCB_IO_KICAD_LEGACY::loadPAD(), PCB_IO_KICAD_LEGACY::loadSETUP(), PCB_IO_PADS::loadTestPoints(), PCB_IO_KICAD_LEGACY::loadTrackList(), PCB_IO_PADS::loadTracksAndVias(), FABMASTER::loadVias(), CLIP_LINE_TO_VIA_FIXTURE::MakeCircularPad(), makeMicrovia(), makeMicrovia(), CLIP_LINE_TO_PAD_FIXTURE::MakePad(), makeRoundPad(), makeSharedNetMultiHopPair(), CLIP_LINE_TO_VIA_FIXTURE::MakeVia(), DIALOG_TRACK_VIA_PROPERTIES::onEditLayerChanged(), PAD::PAD(), PAD_DESC::PAD_DESC(), PADSTACK(), PCB_IO_EASYEDAPRO_PARSER::ParseBoard(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard(), PCB_IO_GEDA::parseElement(), GPCB_FPL_CACHE::parseFOOTPRINT(), PCB_IO_EASYEDA_PARSER::ParseToBoardItemContainer(), PCB_IO_GEDA::parseVia(), ALTIUM_PCB::ParseVias6Data(), PCB_VIA::PCB_VIA(), DRAWING_TOOL::PlaceMicroviaStack(), PAD::Recombine(), RelevantShapeLayers(), PCB_VIA_STACK::reuseMembers(), RunStructuralChecks(), RunStructuralChecks(), Serialize(), BOARD_DESIGN_SETTINGS::SetDefaultMasterPad(), PAD::SetSizeX(), PAD::SetSizeY(), PCB_EDIT_FRAME::SetTrackSegmentWidth(), PCB_VIA_STITCH::SetViaSize(), PCB_VIA::SetWidth(), PAD::SwapShapePositions(), unpackCopperLayer(), PCB_VIA_STITCH::Update(), BOARD_EDITOR_CONTROL::ViaSizeDec(), and BOARD_EDITOR_CONTROL::ViaSizeInc().
|
staticconstexpr |
! The layer identifier to use for "inner layers" on top/inner/bottom padstacks
Definition at line 182 of file padstack.h.
Referenced by DIALOG_PAD_PROPERTIES::afterPadstackModeChanged(), DIALOG_TRACK_VIA_PROPERTIES::afterPadstackModeChanged(), ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), ALTIUM_PCB::ConvertVias6ToFootprintItem(), CopperLayer(), CopperLayer(), EffectiveLayerFor(), FlipLayers(), ForEachUniqueLayer(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_VIA::IsGhostLayer(), FABMASTER::loadFootprints(), PCB_IO_PADS_BINARY::loadTracksAndVias(), DIALOG_PAD_PROPERTIES::OnEditLayerChanged(), DIALOG_TRACK_VIA_PROPERTIES::onEditLayerChanged(), PadstackUniqueLayerAppliesToLayer(), PCB_IO_KICAD_SEXPR_PARSER::parsePadstack(), ALTIUM_PCB::ParseVias6Data(), PCB_IO_KICAD_SEXPR_PARSER::parseViastack(), PNS_KICAD_IFACE_BASE::syncVia(), DIALOG_PAD_PROPERTIES::transferDataToPad(), and unpackCopperLayer().
|
private |
! The overrides applied to back outer technical layers
Definition at line 575 of file padstack.h.
Referenced by BackOuterLayers(), BackOuterLayers(), Compare(), FlipLayers(), operator=(), operator==(), and Similarity().
|
private |
Definition at line 597 of file padstack.h.
Referenced by BackPostMachining(), BackPostMachining(), Compare(), FlipLayers(), operator=(), operator==(), Serialize(), and Similarity().
|
private |
Definition at line 569 of file padstack.h.
Referenced by CopperLayer(), CopperLayer(), EffectiveLayerFor(), FlipLayers(), ForEachUniqueLayer(), HasExplicitDefinitionForLayer(), operator=(), and PADSTACK().
|
private |
! An override for the IPC-7351 padstack name
Definition at line 564 of file padstack.h.
Referenced by CustomName(), and SetCustomName().
|
private |
How to build the custom shape in zone, to create the clearance area: CUSTOM_SHAPE_ZONE_MODE::OUTLINE = use pad shape CUSTOM_SHAPE_ZONE_MODE::CONVEXHULL = use the convex hull of the pad shape.
Definition at line 584 of file padstack.h.
Referenced by Compare(), CustomShapeInZoneMode(), operator=(), operator==(), PADSTACK(), SetCustomShapeInZoneMode(), and Similarity().
|
private |
!
The primary drill parameters, which also define the start and end layers for through-hole vias and pads (F_Cu to B_Cu for normal holes; a subset of layers for blind/buried vias)
Definition at line 588 of file padstack.h.
Referenced by Compare(), Drill(), Drill(), DrillShape(), EndLayer(), FlipLayers(), IsCapped(), IsFilled(), operator=(), operator==(), PADSTACK(), Serialize(), SetBackdrillMode(), SetDrillShape(), Similarity(), and StartLayer().
|
private |
! The overrides applied to front outer technical layers
Definition at line 572 of file padstack.h.
Referenced by Compare(), FlipLayers(), FrontOuterLayers(), FrontOuterLayers(), operator=(), operator==(), and Similarity().
|
private |
Definition at line 596 of file padstack.h.
Referenced by Compare(), FlipLayers(), FrontPostMachining(), FrontPostMachining(), operator=(), operator==(), Serialize(), and Similarity().
|
private |
! The board layers that this padstack is active on
Definition at line 561 of file padstack.h.
Referenced by Compare(), LayerSet(), LayerSet(), operator=(), operator==(), Serialize(), SetLayerSet(), and Similarity().
|
private |
! The copper layer variation mode this padstack is in
Definition at line 558 of file padstack.h.
Referenced by Compare(), CopperLayer(), CopperLayer(), Deserialize(), EffectiveLayerFor(), FlipLayers(), ForEachUniqueLayer(), Mode(), operator=(), operator==(), PADSTACK(), RelevantShapeLayers(), Serialize(), SetMode(), Similarity(), and unpackCopperLayer().
|
private |
! The rotation of the pad relative to an outer reference frame
Definition at line 567 of file padstack.h.
Referenced by Compare(), Deserialize(), GetOrientation(), operator=(), operator==(), PADSTACK(), Serialize(), SetOrientation(), and Similarity().
|
private |
! The BOARD_ITEM this PADSTACK belongs to; will be used as the parent for owned shapes
Definition at line 555 of file padstack.h.
Referenced by AppendPrimitives(), PADSTACK(), PADSTACK(), and unpackCopperLayer().
|
private |
! Secondary drill, used to define back-drilling starting from the bottom side
Definition at line 591 of file padstack.h.
Referenced by backdrillWriteSlot(), clearBackdrillSide(), Compare(), findBackdrillDrill(), FlipLayers(), operator=(), operator==(), PADSTACK(), SecondaryDrill(), SecondaryDrill(), Serialize(), and Similarity().
|
private |
! Tertiary drill, used to define back-drilling starting from the top side
Definition at line 594 of file padstack.h.
Referenced by backdrillWriteSlot(), clearBackdrillSide(), Compare(), findBackdrillDrill(), FlipLayers(), operator=(), operator==(), PADSTACK(), Serialize(), Similarity(), TertiaryDrill(), and TertiaryDrill().
|
private |
Definition at line 577 of file padstack.h.
Referenced by Compare(), operator=(), operator==(), PADSTACK(), Serialize(), SetUnconnectedLayerMode(), Similarity(), and UnconnectedLayerMode().
|
staticconstexpr |
! Temporary layer identifier to identify code that is not padstack-aware
Definition at line 176 of file padstack.h.
Referenced by KI_TEST::CheckFpPad(), PNS_KICAD_IFACE::createBoardItem(), PCB_VIA_STITCH::defaultPitch(), PLACE_FILE_EXPORTER::GenReportData(), PAD::GetMsgPanelInfo(), PCB_IO_EAGLE::loadSignals(), PCB_POINT_EDITOR::makePoints(), DSN::SPECCTRA_DB::makeVIA(), PNS_KICAD_IFACE::modifyBoardItem(), PCB_IO_EAGLE::packageHole(), PCB_IO_EAGLE::packagePad(), PCB_IO_EAGLE::packageSMD(), BRDITEMS_PLOTTER::PlotDrillMarks(), BRDITEMS_PLOTTER::PlotPad(), BRDITEMS_PLOTTER::PlotPadNumber(), SPRINT_LAYOUT_PARSER::processPad(), PNS_KICAD_IFACE_BASE::syncVia(), and PCB_IO_EAGLE::transferPad().