KiCad PCB EDA Suite
|
#include <pad.h>
Public Member Functions | |
PAD (FOOTPRINT *parent) | |
PAD (const PAD &aPad) | |
PAD & | operator= (const PAD &aOther) |
bool | IsType (const std::vector< KICAD_T > &aScanTypes) const override |
Check whether the item is one of the listed types. More... | |
bool | HasHole () const override |
FOOTPRINT * | GetParent () const |
wxString | GetParentAsString () const |
bool | IsLocked () const override |
void | ImportSettingsFrom (const PAD &aMasterPad) |
Import the pad settings from aMasterPad. More... | |
bool | IsFlipped () const |
void | SetNumber (const wxString &aNumber) |
Set the pad number (note that it can be alphanumeric, such as the array reference "AA12"). More... | |
const wxString & | GetNumber () const |
bool | CanHaveNumber () const |
Indicates whether or not the pad can have a number. More... | |
void | SetPinFunction (const wxString &aName) |
Set the pad function (pin name in schematic) More... | |
const wxString & | GetPinFunction () const |
void | SetPinType (const wxString &aType) |
Set the pad electrical type. More... | |
const wxString & | GetPinType () const |
bool | SameLogicalPadAs (const PAD *aOther) const |
Before we had custom pad shapes it was common to have multiple overlapping pads to represent a more complex shape. More... | |
bool | SharesNetTieGroup (const PAD *aOther) const |
bool | IsNoConnectPad () const |
bool | IsFreePad () const |
void | SetShape (PAD_SHAPE aShape) |
Set the new shape of this pad. More... | |
PAD_SHAPE | GetShape () const |
void | SetPosition (const VECTOR2I &aPos) override |
VECTOR2I | GetPosition () const override |
PAD_SHAPE | GetAnchorPadShape () const |
CUST_PAD_SHAPE_IN_ZONE | GetCustomShapeInZoneOpt () const |
void | SetCustomShapeInZoneOpt (CUST_PAD_SHAPE_IN_ZONE aOption) |
Set the option for the custom pad shape to use as clearance area in copper zones. More... | |
void | SetAnchorPadShape (PAD_SHAPE aShape) |
Set the shape of the anchor pad for custom shaped pads. More... | |
bool | IsOnCopperLayer () const override |
void | SetY (int y) |
void | SetX (int x) |
void | SetPos0 (const VECTOR2I &aPos) |
const VECTOR2I & | GetPos0 () const |
void | SetY0 (int y) |
void | SetX0 (int x) |
void | SetSize (const VECTOR2I &aSize) |
const VECTOR2I & | GetSize () const |
void | SetSizeX (const int aX) |
int | GetSizeX () const |
void | SetSizeY (const int aY) |
int | GetSizeY () const |
void | SetDelta (const VECTOR2I &aSize) |
const VECTOR2I & | GetDelta () const |
void | SetDrillSize (const VECTOR2I &aSize) |
const VECTOR2I & | GetDrillSize () const |
void | SetDrillSizeX (const int aX) |
int | GetDrillSizeX () const |
void | SetDrillSizeY (const int aY) |
int | GetDrillSizeY () const |
void | SetOffset (const VECTOR2I &aOffset) |
const VECTOR2I & | GetOffset () const |
VECTOR2I | GetCenter () const override |
This defaults to the center of the bounding box if not overridden. More... | |
void | AddPrimitivePoly (const SHAPE_POLY_SET &aPoly, int aThickness, bool aFilled) |
Has meaning only for custom shape pads. More... | |
void | AddPrimitivePoly (const std::vector< VECTOR2I > &aPoly, int aThickness, bool aFilled) |
void | AddPrimitiveSegment (const VECTOR2I &aStart, const VECTOR2I &aEnd, int aThickness) |
void | AddPrimitiveCircle (const VECTOR2I &aCenter, int aRadius, int aThickness, bool aFilled) |
void | AddPrimitiveRect (const VECTOR2I &aStart, const VECTOR2I &aEnd, int aThickness, bool aFilled) |
void | AddPrimitiveArc (const VECTOR2I &aCenter, const VECTOR2I &aStart, const EDA_ANGLE &aArcAngle, int aThickness) |
void | AddPrimitiveCurve (const VECTOR2I &aStart, const VECTOR2I &aEnd, const VECTOR2I &aCtrl1, const VECTOR2I &aCtrl2, int aThickness) |
void | AddPrimitiveAnnotationBox (const VECTOR2I &aStart, const VECTOR2I &aEnd) |
Has meaning only for custom shape pads. More... | |
bool | GetBestAnchorPosition (VECTOR2I &aPos) |
void | MergePrimitivesAsPolygon (SHAPE_POLY_SET *aMergedPolygon, ERROR_LOC aErrorLoc=ERROR_INSIDE) const |
Merge all basic shapes to a SHAPE_POLY_SET. More... | |
void | DeletePrimitivesList () |
Clear the basic shapes list. More... | |
const std::vector< std::shared_ptr< PCB_SHAPE > > & | GetPrimitives () const |
Accessor to the basic shape list for custom-shaped pads. More... | |
void | Flip (const VECTOR2I &VECTOR2I, bool aFlipLeftRight) override |
Flip this object, i.e. More... | |
void | FlipPrimitives (bool aFlipLeftRight) |
Flip (mirror) the primitives left to right or top to bottom, around the anchor position in custom pads. More... | |
void | ReplacePrimitives (const std::vector< std::shared_ptr< PCB_SHAPE > > &aPrimitivesList) |
Clear the current custom shape primitives list and import a new list. More... | |
void | AppendPrimitives (const std::vector< std::shared_ptr< PCB_SHAPE > > &aPrimitivesList) |
Import a custom shape primitive list (composed of basic shapes) and add items to the current list. More... | |
void | AddPrimitive (PCB_SHAPE *aPrimitive) |
Add item to the custom shape primitives list. More... | |
void | SetOrientation (const EDA_ANGLE &aAngle) |
Set the rotation angle of the pad. More... | |
EDA_ANGLE | GetOrientation () const |
Return the rotation angle of the pad. More... | |
void | SetOrientationDegrees (double aOrientation) |
double | GetOrientationDegrees () const |
void | SetDrillShape (PAD_DRILL_SHAPE_T aShape) |
PAD_DRILL_SHAPE_T | GetDrillShape () const |
bool | IsDirty () const |
void | SetDirty () |
void | SetLayerSet (LSET aLayers) override |
LSET | GetLayerSet () const override |
Return a std::bitset of all layers on which the item physically resides. More... | |
void | SetAttribute (PAD_ATTRIB aAttribute) |
PAD_ATTRIB | GetAttribute () const |
void | SetProperty (PAD_PROP aProperty) |
PAD_PROP | GetProperty () const |
bool | IsAperturePad () const |
void | SetPadToDieLength (int aLength) |
int | GetPadToDieLength () const |
int | GetLocalSolderMaskMargin () const |
void | SetLocalSolderMaskMargin (int aMargin) |
int | GetLocalClearance (wxString *aSource) const override |
Return any local clearances set in the "classic" (ie: pre-rule) system. More... | |
int | GetLocalClearance () const |
void | SetLocalClearance (int aClearance) |
int | GetLocalSolderPasteMargin () const |
void | SetLocalSolderPasteMargin (int aMargin) |
double | GetLocalSolderPasteMarginRatio () const |
void | SetLocalSolderPasteMarginRatio (double aRatio) |
int | GetOwnClearance (PCB_LAYER_ID aLayer, wxString *aSource=nullptr) const override |
Return an item's "own" clearance in internal units. More... | |
void | TransformShapeToPolygon (SHAPE_POLY_SET &aBuffer, PCB_LAYER_ID aLayer, int aClearance, int aMaxError, ERROR_LOC aErrorLoc, bool ignoreLineWidth=false) const override |
Convert the pad shape to a closed polygon. More... | |
bool | TransformHoleToPolygon (SHAPE_POLY_SET &aBuffer, int aClearance, int aError, ERROR_LOC aErrorLoc) const |
Build the corner list of the polygonal drill shape in the board coordinate system. More... | |
virtual std::shared_ptr< SHAPE > | GetEffectiveShape (PCB_LAYER_ID aLayer=UNDEFINED_LAYER, FLASHING flashPTHPads=FLASHING::DEFAULT) const override |
Some pad shapes can be complex (rounded/chamfered rectangle), even without considering custom shapes. More... | |
const std::shared_ptr< SHAPE_POLY_SET > & | GetEffectivePolygon () const |
std::shared_ptr< SHAPE_SEGMENT > | GetEffectiveHoleShape () const override |
Return a SHAPE_SEGMENT object representing the pad's hole. More... | |
int | GetBoundingRadius () const |
Return the radius of a minimum sized circle which fully encloses this pad. More... | |
int | GetLocalClearanceOverrides (wxString *aSource) const override |
Return any local clearance overrides set in the "classic" (ie: pre-rule) system. More... | |
int | GetSolderMaskExpansion () const |
VECTOR2I | GetSolderPasteMargin () const |
Usually < 0 (mask shape smaller than pad)because the margin can be dependent on the pad size, the margin has a x and a y value. More... | |
void | SetZoneConnection (ZONE_CONNECTION aType) |
ZONE_CONNECTION | GetZoneConnection () const |
ZONE_CONNECTION | GetLocalZoneConnectionOverride (wxString *aSource=nullptr) const |
void | SetThermalSpokeWidth (int aWidth) |
Set the width of the thermal spokes connecting the pad to a zone. More... | |
int | GetThermalSpokeWidth () const |
int | GetLocalSpokeWidthOverride (wxString *aSource=nullptr) const |
void | SetThermalSpokeAngle (const EDA_ANGLE &aAngle) |
The orientation of the thermal spokes. More... | |
EDA_ANGLE | GetThermalSpokeAngle () const |
void | SetThermalSpokeAngleDegrees (double aAngle) |
double | GetThermalSpokeAngleDegrees () const |
void | SetThermalGap (int aGap) |
int | GetThermalGap () const |
int | GetLocalThermalGapOverride (wxString *aSource=nullptr) const |
void | SetRoundRectCornerRadius (double aRadius) |
Has meaning only for rounded rectangle pads. More... | |
int | GetRoundRectCornerRadius () const |
VECTOR2I | ShapePos () const |
void | SetRoundRectRadiusRatio (double aRadiusScale) |
Has meaning only for rounded rectangle pads. More... | |
double | GetRoundRectRadiusRatio () const |
void | SetChamferRectRatio (double aChamferScale) |
Has meaning only for chamfered rectangular pads. More... | |
double | GetChamferRectRatio () const |
void | SetChamferPositions (int aPositions) |
Has meaning only for chamfered rectangular pads. More... | |
int | GetChamferPositions () const |
int | GetSubRatsnest () const |
void | SetSubRatsnest (int aSubRatsnest) |
void | SetRemoveUnconnected (bool aSet) |
Set the unconnected removal property. More... | |
bool | GetRemoveUnconnected () const |
void | SetKeepTopBottom (bool aSet) |
Set whether we keep the top and bottom connections even if they are not connected. More... | |
bool | GetKeepTopBottom () const |
bool | ConditionallyFlashed (PCB_LAYER_ID aLayer) const |
void | GetMsgPanelInfo (EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList) override |
Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes. More... | |
bool | IsOnLayer (PCB_LAYER_ID aLayer) const override |
Test to see if this object is on the given layer. More... | |
bool | FlashLayer (int aLayer, bool aOnlyCheckIfPermitted=false) const |
Check to see whether the pad should be flashed on the specific layer. More... | |
bool | CanFlashLayer (int aLayer) |
PCB_LAYER_ID | GetLayer () const override |
Return the primary layer this item is on. More... | |
PCB_LAYER_ID | GetPrincipalLayer () const |
bool | FlashLayer (LSET aLayers) const |
Check to see if the pad should be flashed to any of the layers in the set. More... | |
bool | HitTest (const VECTOR2I &aPosition, int aAccuracy=0) const override |
Test if aPosition is inside or on the boundary of this item. More... | |
bool | HitTest (const BOX2I &aRect, bool aContained, int aAccuracy=0) const override |
Test if aRect intersects this item. More... | |
wxString | GetClass () const override |
Return the class name. More... | |
const BOX2I | GetBoundingBox () const override |
The bounding box is cached, so this will be efficient most of the time. More... | |
void | SetDrawCoord () |
void | SetLocalCoord () |
< Set relative coordinates. More... | |
void | Move (const VECTOR2I &aMoveVector) override |
Move this object. More... | |
void | Rotate (const VECTOR2I &aRotCentre, const EDA_ANGLE &aAngle) override |
Rotate this object. More... | |
wxString | GetItemDescription (UNITS_PROVIDER *aUnitsProvider) const override |
Return a user-visible description string of this item. More... | |
BITMAPS | GetMenuImage () const override |
Return a pointer to an image to be used in menus. More... | |
wxString | ShowPadShape () const |
wxString | ShowPadAttr () const |
EDA_ITEM * | Clone () const override |
Create a duplicate of this item with linked list members set to NULL. More... | |
PAD * | ClonePad () const |
Same as Clone, but returns a PAD item. More... | |
void | BuildEffectiveShapes (PCB_LAYER_ID aLayer) const |
Rebuild the effective shape cache (and bounding box and radius) for the pad and clears the dirty bit. More... | |
void | BuildEffectivePolygon () const |
virtual void | ViewGetLayers (int aLayers[], int &aCount) const override |
Return the all the layers within the VIEW the object is painted on. More... | |
double | ViewGetLOD (int aLayer, KIGFX::VIEW *aView) const override |
Return the level of detail (LOD) of the item. More... | |
virtual const BOX2I | ViewBBox () const override |
Return the bounding box of the item covering all its layers. More... | |
void | ClearZoneConnectionCache () |
const ZONE_LAYER_CONNECTION & | ZoneConnectionCache (PCB_LAYER_ID aLayer) const |
void | SetZoneConnectionCache (PCB_LAYER_ID aLayer, ZONE_LAYER_CONNECTION aConnection) |
bool | IsConnected () const override |
Returns information if the object is derived from BOARD_CONNECTED_ITEM. More... | |
NETINFO_ITEM * | GetNet () const |
Return #NET_INFO object for a given item. More... | |
void | SetNet (NETINFO_ITEM *aNetInfo) |
Set a NET_INFO object for the item. More... | |
int | GetNetCode () const |
bool | SetNetCode (int aNetCode, bool aNoAssert) |
Set net using a net code. More... | |
void | SetNetCode (int aNetCode) |
wxString | GetNetname () const |
wxString | GetNetnameMsg () const |
wxString | GetShortNetname () const |
wxString | GetUnescapedShortNetname () const |
virtual NETCLASS * | GetEffectiveNetClass () const |
Return the NETCLASS for this item. More... | |
wxString | GetNetClassName () const |
Returns the name of the effective netclass. More... | |
void | SetLocalRatsnestVisible (bool aVisible) |
bool | GetLocalRatsnestVisible () const |
void | SetParentGroup (PCB_GROUP *aGroup) |
PCB_GROUP * | GetParentGroup () const |
int | GetX () const |
int | GetY () const |
virtual bool | IsTented () const |
BOARD_ITEM_CONTAINER * | GetParentFootprint () const |
virtual bool | HasLineStroke () const |
Check if this item has line stoke properties. More... | |
virtual STROKE_PARAMS | GetStroke () const |
virtual void | SetStroke (const STROKE_PARAMS &aStroke) |
virtual void | SetLayer (PCB_LAYER_ID aLayer) |
Set the layer this item is on. More... | |
virtual BOARD_ITEM * | Duplicate () const |
Create a copy of this BOARD_ITEM. More... | |
void | SwapItemData (BOARD_ITEM *aImage) |
Swap data between aItem and aImage. More... | |
virtual bool | IsKnockout () const |
virtual void | SetIsKnockout (bool aKnockout) |
virtual void | SetLocked (bool aLocked) |
void | DeleteStructure () |
Delete this object after removing from its parent if it has one. More... | |
virtual const BOARD * | GetBoard () const |
Return the BOARD in which this BOARD_ITEM resides, or NULL if none. More... | |
virtual BOARD * | GetBoard () |
wxString | GetLayerName () const |
Return the name of the PCB layer on which the item resides. More... | |
KICAD_T | Type () const |
Returns the type of object. More... | |
virtual void | SetParent (EDA_ITEM *aParent) |
bool | IsModified () const |
bool | IsNew () const |
bool | IsMoving () const |
bool | IsSelected () const |
bool | IsEntered () const |
bool | IsBrightened () const |
bool | IsRollover () const |
void | SetSelected () |
void | SetBrightened () |
void | ClearSelected () |
void | ClearBrightened () |
void | SetModified () |
int | GetState (EDA_ITEM_FLAGS type) const |
void | SetState (EDA_ITEM_FLAGS type, bool state) |
EDA_ITEM_FLAGS | GetStatus () const |
void | SetStatus (EDA_ITEM_FLAGS aStatus) |
void | SetFlags (EDA_ITEM_FLAGS aMask) |
void | XorFlags (EDA_ITEM_FLAGS aMask) |
void | ClearFlags (EDA_ITEM_FLAGS aMask=EDA_ITEM_ALL_FLAGS) |
EDA_ITEM_FLAGS | GetFlags () const |
bool | HasFlag (EDA_ITEM_FLAGS aFlag) const |
EDA_ITEM_FLAGS | GetEditFlags () const |
void | ClearTempFlags () |
void | ClearEditFlags () |
virtual bool | RenderAsBitmap (double aWorldScale) const |
void | SetIsShownAsBitmap (bool aBitmap) |
bool | IsShownAsBitmap () const |
void | SetForceVisible (bool aEnable) |
Set and clear force visible flag used to force the item to be drawn even if it's draw attribute is set to not visible. More... | |
bool | IsForceVisible () const |
virtual wxString | GetFriendlyName () const |
virtual const VECTOR2I | GetFocusPosition () const |
Similar to GetPosition, but allows items to return their visual center rather than their anchor. More... | |
virtual VECTOR2I | GetSortPosition () const |
Return the coordinates that should be used for sorting this element visually compared to other elements. More... | |
virtual INSPECT_RESULT | Visit (INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &aScanTypes) |
May be re-implemented for each derived class in order to handle all the types given by its member data. More... | |
wxString | GetTypeDesc () const |
Return a translated description of the type for this EDA_ITEM for display in user facing messages. More... | |
virtual bool | Matches (const EDA_SEARCH_DATA &aSearchData, void *aAuxData) const |
Compare the item against the search criteria in aSearchData. More... | |
virtual bool | Replace (const EDA_SEARCH_DATA &aSearchData, void *aAuxData=nullptr) |
Perform a text replace using the find and replace criteria in aSearchData on items that support text find and replace. More... | |
virtual bool | IsReplaceable () const |
Override this method in any derived object that supports test find and replace. More... | |
bool | operator< (const EDA_ITEM &aItem) const |
Test if another item is less than this object. More... | |
virtual void | ViewDraw (int aLayer, VIEW *aView) const |
Draw the parts of the object belonging to layer aLayer. More... | |
VIEW_ITEM_DATA * | viewPrivData () const |
void | ClearViewPrivData () |
bool | Set (PROPERTY_BASE *aProperty, wxAny &aValue) |
template<typename T > | |
bool | Set (PROPERTY_BASE *aProperty, T aValue) |
template<typename T > | |
bool | Set (const wxString &aProperty, T aValue) |
wxAny | Get (PROPERTY_BASE *aProperty) const |
template<typename T > | |
T | Get (PROPERTY_BASE *aProperty) const |
template<typename T > | |
std::optional< T > | Get (const wxString &aProperty) const |
Static Public Member Functions | |
static LSET | PTHMask () |
layer set for a through hole pad More... | |
static LSET | SMDMask () |
layer set for a SMD pad on Front layer More... | |
static LSET | ConnSMDMask () |
layer set for a SMD pad on Front layer used for edge board connectors More... | |
static LSET | UnplatedHoleMask () |
layer set for a mechanical unplated through hole pad More... | |
static LSET | ApertureMask () |
layer set for an aperture pad More... | |
static bool | ClassOf (const EDA_ITEM *aItem) |
static int | Compare (const PAD *aPadRef, const PAD *aPadCmp) |
Compare two pads and return 0 if they are equal. More... | |
template<class T > | |
static INSPECT_RESULT | IterateForward (std::deque< T > &aList, INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &scanTypes) |
This changes first parameter to avoid the DList and use the main queue instead. More... | |
template<class T > | |
static INSPECT_RESULT | IterateForward (std::vector< T > &aList, INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &scanTypes) |
Change first parameter to avoid the DList and use std::vector instead. More... | |
static bool | Replace (const EDA_SEARCH_DATA &aSearchData, wxString &aText) |
Perform a text replace on aText using the find and replace criteria in aSearchData on items that support text find and replace. More... | |
static bool | Sort (const EDA_ITEM *aLeft, const EDA_ITEM *aRight) |
Helper function to be used by the C++ STL sort algorithm for sorting a STL container of EDA_ITEM pointers. More... | |
Public Attributes | |
const KIID | m_Uuid |
Static Public Attributes | |
static VECTOR2I | ZeroOffset |
A value of wxPoint(0,0) which can be passed to the Draw() functions. More... | |
Protected Member Functions | |
virtual void | swapData (BOARD_ITEM *aImage) override |
virtual wxString | layerMaskDescribe () const |
Return a string (to be shown to the user) describing a layer mask. More... | |
bool | Matches (const wxString &aText, const EDA_SEARCH_DATA &aSearchData) const |
Compare aText against search criteria in aSearchData. More... | |
Protected Attributes | |
NETINFO_ITEM * | m_netinfo |
Store all information about the net that item belongs to. More... | |
PCB_LAYER_ID | m_layer |
bool | m_isKnockout |
bool | m_isLocked |
PCB_GROUP * | m_group |
EDA_ITEM_FLAGS | m_status |
EDA_ITEM * | m_parent |
Linked list: Link (parent struct) More... | |
bool | m_forceVisible |
EDA_ITEM_FLAGS | m_flags |
Private Member Functions | |
void | addPadPrimitivesToPolygon (SHAPE_POLY_SET *aMergedPolygon, int aError, ERROR_LOC aErrorLoc) const |
PAD::PAD | ( | FOOTPRINT * | parent | ) |
Definition at line 62 of file pad.cpp.
References ANGLE_0, ANGLE_45, arrayDim(), CIRCLE, CUST_PAD_SHAPE_IN_ZONE_OUTLINE, GetParent(), FOOTPRINT::GetPosition(), INHERITED, m_attribute, m_chamferPositions, m_chamferScale, m_customShapeClearanceArea, m_drill, m_effectiveBoundingRadius, m_keepTopBottomLayer, m_layerMask, m_lengthPadToDie, m_localClearance, m_localSolderMaskMargin, m_localSolderPasteMargin, m_localSolderPasteMarginRatio, m_orient, EDA_ITEM::m_parent, m_pos, m_removeUnconnectedLayer, m_roundedCornerScale, m_size, m_thermalGap, m_thermalSpokeAngle, m_thermalSpokeWidth, m_zoneConnection, m_zoneLayerConnections, EDA_UNIT_UTILS::Mils2IU(), NONE, PAD_DRILL_SHAPE_CIRCLE, PCB_FOOTPRINT_T, pcbIUScale, PTH, PTHMask(), RECT_NO_CHAMFER, SetAnchorPadShape(), SetDirty(), SetDrillShape(), SetProperty(), SetShape(), SetSubRatsnest(), EDA_ITEM::Type(), VECTOR2< T >::x, VECTOR2< T >::y, and ZLC_UNCONNECTED.
Referenced by Clone().
PAD::PAD | ( | const PAD & | aPad | ) |
Definition at line 113 of file pad.cpp.
References EDA_ITEM::m_Uuid, and operator=().
|
private |
Definition at line 205 of file pad_custom_shape_functions.cpp.
References SHAPE_POLY_SET::BooleanAdd(), SHAPE_POLY_SET::Fracture(), m_editPrimitives, SHAPE_POLY_SET::OutlineCount(), SHAPE_POLY_SET::PM_FAST, SHAPE_POLY_SET::PM_STRICTLY_SIMPLE, SHAPE_POLY_SET::Simplify(), and UNDEFINED_LAYER.
Referenced by GetBestAnchorPosition(), and MergePrimitivesAsPolygon().
void PAD::AddPrimitive | ( | PCB_SHAPE * | aPrimitive | ) |
Add item to the custom shape primitives list.
Definition at line 187 of file pad_custom_shape_functions.cpp.
References m_editPrimitives, SetDirty(), and EDA_ITEM::SetParent().
Referenced by AppendPrimitives(), and PAD_TOOL::RecombinePad().
Has meaning only for custom shape pads.
Allows one to specify the box in which to place the pad number and/or net name (if they are being displayed).
Definition at line 150 of file pad_custom_shape_functions.cpp.
References m_editPrimitives, RECT, SetDirty(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFilled(), EDA_SHAPE::SetIsAnnotationProxy(), EDA_ITEM::SetParent(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), and SOLID.
void PAD::AddPrimitiveArc | ( | const VECTOR2I & | aCenter, |
const VECTOR2I & | aStart, | ||
const EDA_ANGLE & | aArcAngle, | ||
int | aThickness | ||
) |
Definition at line 92 of file pad_custom_shape_functions.cpp.
References ARC, m_editPrimitives, EDA_SHAPE::SetArcAngleAndEnd(), EDA_SHAPE::SetCenter(), SetDirty(), EDA_SHAPE::SetFilled(), EDA_ITEM::SetParent(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), and SOLID.
void PAD::AddPrimitiveCircle | ( | const VECTOR2I & | aCenter, |
int | aRadius, | ||
int | aThickness, | ||
bool | aFilled | ||
) |
Definition at line 123 of file pad_custom_shape_functions.cpp.
References CIRCLE, m_editPrimitives, SetDirty(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFilled(), EDA_ITEM::SetParent(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), SOLID, VECTOR2< T >::x, and VECTOR2< T >::y.
void PAD::AddPrimitiveCurve | ( | const VECTOR2I & | aStart, |
const VECTOR2I & | aEnd, | ||
const VECTOR2I & | aCtrl1, | ||
const VECTOR2I & | aCtrl2, | ||
int | aThickness | ||
) |
Definition at line 107 of file pad_custom_shape_functions.cpp.
References BEZIER, m_editPrimitives, EDA_SHAPE::SetBezierC1(), EDA_SHAPE::SetBezierC2(), SetDirty(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFilled(), EDA_ITEM::SetParent(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), and SOLID.
void PAD::AddPrimitivePoly | ( | const SHAPE_POLY_SET & | aPoly, |
int | aThickness, | ||
bool | aFilled | ||
) |
Has meaning only for custom shape pads.
add a free shape to the shape list. the shape can be
Definition at line 40 of file pad_custom_shape_functions.cpp.
References SHAPE_POLY_SET::Append(), SHAPE_POLY_SET::COutline(), SHAPE_POLY_SET::Fracture(), SHAPE_POLY_SET::HasHoles(), m_editPrimitives, SHAPE_POLY_SET::OutlineCount(), SHAPE_POLY_SET::PM_STRICTLY_SIMPLE, POLY, SetDirty(), EDA_SHAPE::SetFilled(), EDA_ITEM::SetParent(), EDA_SHAPE::SetPolyShape(), EDA_SHAPE::SetShape(), PCB_SHAPE::SetStroke(), and SOLID.
void PAD::AddPrimitivePoly | ( | const std::vector< VECTOR2I > & | aPoly, |
int | aThickness, | ||
bool | aFilled | ||
) |
Definition at line 67 of file pad_custom_shape_functions.cpp.
References m_editPrimitives, POLY, SetDirty(), EDA_SHAPE::SetFilled(), EDA_ITEM::SetParent(), EDA_SHAPE::SetPolyPoints(), PCB_SHAPE::SetStroke(), and SOLID.
void PAD::AddPrimitiveRect | ( | const VECTOR2I & | aStart, |
const VECTOR2I & | aEnd, | ||
int | aThickness, | ||
bool | aFilled | ||
) |
Definition at line 136 of file pad_custom_shape_functions.cpp.
References m_editPrimitives, RECT, SetDirty(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFilled(), EDA_ITEM::SetParent(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), and SOLID.
Definition at line 79 of file pad_custom_shape_functions.cpp.
References m_editPrimitives, SEGMENT, SetDirty(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFilled(), EDA_ITEM::SetParent(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), and SOLID.
|
static |
layer set for an aperture pad
Definition at line 224 of file pad.cpp.
References F_Paste.
Referenced by PAD_FIXTURE::MakeAperture(), and DIALOG_PAD_PROPERTIES::updatePadLayersList().
void PAD::AppendPrimitives | ( | const std::vector< std::shared_ptr< PCB_SHAPE > > & | aPrimitivesList | ) |
Import a custom shape primitive list (composed of basic shapes) and add items to the current list.
Copies the input, which is not altered.
Definition at line 177 of file pad_custom_shape_functions.cpp.
References AddPrimitive(), and SetDirty().
Referenced by ReplacePrimitives().
void PAD::BuildEffectivePolygon | ( | ) | const |
Definition at line 612 of file pad.cpp.
References ARC_HIGH_DEF, SHAPE_LINE_CHAIN::CPoint(), ERROR_INSIDE, BOARD_ITEM::GetBoard(), BOARD::GetDesignSettings(), KiROUND(), m_effectiveBoundingRadius, m_effectivePolygon, BOARD_DESIGN_SETTINGS::m_MaxError, m_polyBuildingLock, m_polyDirty, m_pos, SHAPE_LINE_CHAIN::PointCount(), TransformShapeToPolygon(), and UNDEFINED_LAYER.
Referenced by GetBoundingRadius(), and GetEffectivePolygon().
void PAD::BuildEffectiveShapes | ( | PCB_LAYER_ID | aLayer | ) | const |
Rebuild the effective shape cache (and bounding box and radius) for the pad and clears the dirty bit.
Definition at line 440 of file pad.cpp.
References std::abs(), SHAPE_LINE_CHAIN::Append(), ARC_HIGH_DEF, CHAMFERED_RECT, CIRCLE, SHAPE_POLY_SET::COutline(), SHAPE_LINE_CHAIN::CPoint(), CUSTOM, ERROR_INSIDE, GetAnchorPadShape(), BOARD_ITEM::GetBoard(), GetChamferPositions(), GetChamferRectRatio(), BOARD::GetDesignSettings(), GetRoundRectCornerRadius(), GetShape(), GetSize(), m_deltaSize, m_drill, m_editPrimitives, m_effectiveBoundingBox, m_effectiveHoleShape, m_effectiveShape, BOARD_DESIGN_SETTINGS::m_MaxError, m_orient, m_pos, m_shapesBuildingLock, m_shapesDirty, m_size, BOX2< Vec >::Merge(), EDA_IU_SCALE::mmToIU(), SHAPE_LINE_CHAIN::Move(), OVAL, PAD_SHAPE_T_asString(), pcbIUScale, SHAPE_LINE_CHAIN::PointCount(), RECT, SHAPE_LINE_CHAIN::Rotate(), RotatePoint(), ROUNDRECT, ShapePos(), TransformRoundChamferedRectToPolygon(), TRAPEZOID, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by GetBoundingBox(), GetEffectiveHoleShape(), and GetEffectiveShape().
|
inline |
Definition at line 645 of file pad.h.
References FlashLayer().
bool PAD::CanHaveNumber | ( | ) | const |
Indicates whether or not the pad can have a number.
(NPTH and SMD aperture pads can not.)
Definition at line 142 of file pad.cpp.
References GetAttribute(), IsAperturePad(), and NPTH.
|
inlinestatic |
|
inlineinherited |
Definition at line 119 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::ClearFlags().
Referenced by SCH_EDIT_FRAME::FocusOnItem(), PCB_BASE_FRAME::FocusOnItems(), EE_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlineinherited |
Definition at line 158 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and EDA_ITEM::GetEditFlags().
Referenced by BOARD::Add(), FOOTPRINT::Add(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), PL_DRAWING_TOOLS::PlaceItem(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_BASE_EDIT_FRAME::saveCopyInUndoList(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
inlineinherited |
Definition at line 141 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PNS_KICAD_IFACE::AddItem(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_MOVE_TOOL::AlignElements(), SCH_EDIT_TOOL::BreakWire(), FOOTPRINT::BuildCourtyardCaches(), EDA_ITEM::ClearBrightened(), EDA_ITEM::ClearEditFlags(), EDA_ITEM::ClearSelected(), EDA_ITEM::ClearTempFlags(), SCH_EDIT_FRAME::ConvertPart(), SYMBOL_EDITOR_EDIT_TOOL::Copy(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), SYMBOL_EDITOR_PIN_TOOL::CreateImagePins(), MICROWAVE_TOOL::createMicrowaveInductor(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), PCB_TOOL_BASE::doInteractiveItemPlacement(), KIGFX::SCH_PAINTER::draw(), SCH_ITEM::Duplicate(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_SELECTION_TOOL::ExitGroup(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::Init(), EE_COLLECTOR::Inspect(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromLibrary(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDIT_FRAME::RollbackSymbolFromUndo(), DRC_TEST_PROVIDER_DISALLOW::Run(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_SEXPR_PLUGIN_CACHE::savePin(), EE_SELECTION_TOOL::selectMultiple(), SCH_EDIT_FRAME::SelectUnit(), EDA_ITEM::SetIsShownAsBitmap(), BOARD_COMMIT::Stage(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), and EE_SELECTION_TOOL::unhighlight().
|
inlineinherited |
Definition at line 118 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and SELECTED.
Referenced by PCB_POINT_EDITOR::addCorner(), EDIT_TOOL::Duplicate(), ARRAY_CREATOR::Invoke(), LIB_SYMBOL::LIB_SYMBOL(), EE_TOOL_BASE< T >::saveCopyInUndoList(), SCH_DRAWING_TOOLS::TwoClickPlace(), EE_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and GERBVIEW_SELECTION_TOOL::unselectVisually().
|
inlineinherited |
Definition at line 153 of file eda_item.h.
References CANDIDATE, EDA_ITEM::ClearFlags(), IS_LINKED, SELECTED_BY_DRAG, and SKIP_STRUCT.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles(), and SCH_EDIT_FRAME::PutDataInPreviousState().
|
inlineinherited |
Definition at line 143 of file view_item.h.
References KIGFX::VIEW_ITEM::m_viewPrivData.
Referenced by KIGFX::VIEW::OnDestroy().
|
inline |
Definition at line 742 of file pad.h.
References arrayDim(), m_zoneLayerConnections, and ZLC_UNRESOLVED.
|
overridevirtual |
Create a duplicate of this item with linked list members set to NULL.
The default version will return NULL in release builds and likely crash the program. In debug builds, a warning message indicating the derived class has not implemented cloning. This really should be a pure virtual function. Due to the fact that there are so many objects derived from EDA_ITEM, the decision was made to return NULL until all the objects derived from EDA_ITEM implement cloning. Once that happens, this function should be made pure.
Reimplemented from EDA_ITEM.
Definition at line 1310 of file pad.cpp.
References PAD().
Referenced by ClonePad().
|
inline |
Same as Clone, but returns a PAD item.
Useful mainly for python scripts, because Clone returns an EDA_ITEM.
Definition at line 724 of file pad.h.
References Clone().
Compare two pads and return 0 if they are equal.
Definition at line 1139 of file pad.cpp.
References GetShape(), m_attribute, m_chamferPositions, m_chamferScale, m_deltaSize, m_drill, m_drillShape, m_editPrimitives, m_layerMask, m_offset, m_roundedCornerScale, m_size, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by CreatePadsShapesSection().
|
inline |
Definition at line 617 of file pad.h.
References B_Cu, F_Cu, m_keepTopBottomLayer, and m_removeUnconnectedLayer.
|
static |
layer set for a SMD pad on Front layer used for edge board connectors
Definition at line 210 of file pad.cpp.
Referenced by DIALOG_PAD_PROPERTIES::updatePadLayersList().
void PAD::DeletePrimitivesList | ( | ) |
Clear the basic shapes list.
Definition at line 197 of file pad_custom_shape_functions.cpp.
References m_editPrimitives, and SetDirty().
Referenced by PAD_TOOL::explodePad(), ReplacePrimitives(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inherited |
Delete this object after removing from its parent if it has one.
Definition at line 150 of file board_item.cpp.
References BOARD_ITEM::GetParent(), and BOARD_ITEM_CONTAINER::Remove().
Referenced by DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow().
|
virtualinherited |
Create a copy of this BOARD_ITEM.
Reimplemented in FOOTPRINT.
Definition at line 184 of file board_item.cpp.
References PCB_GROUP::AddItem(), EDA_ITEM::Clone(), BOARD_ITEM::GetParentGroup(), and EDA_ITEM::m_Uuid.
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::addAttribute(), PCB_GROUP::DeepDuplicate(), KIGFX::PCB_PAINTER::draw(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarText(), FOOTPRINT::Duplicate(), EDIT_TOOL::Duplicate(), FOOTPRINT::DuplicateItem(), and ARRAY_CREATOR::Invoke().
bool PAD::FlashLayer | ( | int | aLayer, |
bool | aOnlyCheckIfPermitted = false |
||
) | const |
Check to see whether the pad should be flashed on the specific layer.
aLayer | Layer to check for connectivity |
aOnlyCheckIfPermitted | indicates that the routine should just return whether or not a flashed connection is permitted on this layer (without checking for a connection) |
Heat sink pads always get copper
Definition at line 267 of file pad.cpp.
References B_Cu, LSET::BackBoardTechMask(), CIRCLE, F_Cu, LSET::FrontBoardTechMask(), GetAttribute(), BOARD_ITEM::GetBoard(), GetDrillShape(), GetDrillSize(), GetOffset(), GetProperty(), GetShape(), GetSize(), HEATSINK, IsCopperLayer(), IsOnLayer(), m_keepTopBottomLayer, m_removeUnconnectedLayer, m_zoneLayerConnections, NPTH, OVAL, PAD_DRILL_SHAPE_CIRCLE, PAD_DRILL_SHAPE_OBLONG, PCB_ARC_T, PCB_PAD_T, PCB_TRACE_T, PCB_VIA_T, PTH, UNDEFINED_LAYER, ZLC_CONNECTED, and ZLC_UNCONNECTED.
Referenced by CanFlashLayer(), KIGFX::PCB_PAINTER::draw(), FlashLayer(), GetEffectiveShape(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), and ViewGetLOD().
bool PAD::FlashLayer | ( | LSET | aLayers | ) | const |
Check to see if the pad should be flashed to any of the layers in the set.
aLayers | set of layers to check the via against |
Definition at line 255 of file pad.cpp.
References FlashLayer(), and LSET::Seq().
|
overridevirtual |
Flip this object, i.e.
change the board side for this object.
aCentre | the rotation point. |
aFlipLeftRight | mirror across Y axis instead of X (the default). |
Reimplemented from BOARD_ITEM.
Definition at line 718 of file pad.cpp.
References FlipLayerMask(), FlipPrimitives(), GetOrientation(), m_chamferPositions, m_deltaSize, m_layerMask, m_offset, m_pos, m_pos0, MIRROR(), RECT_CHAMFER_BOTTOM_LEFT, RECT_CHAMFER_BOTTOM_RIGHT, RECT_CHAMFER_TOP_LEFT, RECT_CHAMFER_TOP_RIGHT, SetDirty(), SetLayerSet(), SetOrientation(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by DIALOG_PAD_PROPERTIES::initValues(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
void PAD::FlipPrimitives | ( | bool | aFlipLeftRight | ) |
Flip (mirror) the primitives left to right or top to bottom, around the anchor position in custom pads.
Definition at line 776 of file pad.cpp.
References m_editPrimitives, and SetDirty().
Referenced by Flip(), mirrorPadX(), and mirrorPadY().
|
inlineinherited |
Definition at line 104 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 84 of file inspectable.h.
References PROPERTY_BASE::getter(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
Referenced by BOOST_AUTO_TEST_CASE(), CLASS_D_DESC::CLASS_D_DESC(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PROPERTIES_PANEL::getItemValue(), PCB_EXPR_VAR_REF::GetValue(), and PAD_DESC::PAD_DESC().
|
inlineinherited |
Definition at line 92 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inline |
Definition at line 207 of file pad.h.
References m_anchorPadShape.
Referenced by BuildEffectiveShapes(), PAD_TOOL::explodePad(), PCB_PLUGIN::format(), GetBestAnchorPosition(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), MergePrimitivesAsPolygon(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
|
inline |
Definition at line 400 of file pad.h.
References m_attribute.
Referenced by CanHaveNumber(), doPushPadProperties(), KIGFX::PCB_PAINTER::draw(), EXPORTER_PCB_VRML::ExportVrmlPadHole(), FlashLayer(), PCB_PLUGIN::format(), GetEffectiveShape(), GetItemDescription(), GetMsgPanelInfo(), GetOwnClearance(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), BOARD_INSPECTION_TOOL::InspectDRCError(), PAD_DESC::PAD_DESC(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::padValuesOK(), PAD_TOOL::PlacePad(), BRDITEMS_PLOTTER::PlotPad(), ShowPadAttr(), PNS_KICAD_IFACE_BASE::syncPad(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::transferDataToPad(), and ViewGetLOD().
bool PAD::GetBestAnchorPosition | ( | VECTOR2I & | aPos | ) |
Definition at line 255 of file pad_custom_shape_functions.cpp.
References addPadPrimitivesToPolygon(), ARC_LOW_DEF, SHAPE_POLY_SET::BBox(), CIRCLE, SHAPE_POLY_SET::Contains(), SHAPE_POLY_SET::COutline(), SHAPE_LINE_CHAIN::Distance(), ERROR_INSIDE, EuclideanNorm(), GetAnchorPadShape(), BOX2< Vec >::GetHeight(), GetSize(), SHAPE_POLY_SET::OutlineCount(), rescale(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
virtualinherited |
Definition at line 57 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), PCB_T, and EDA_ITEM::Type().
|
virtualinherited |
Return the BOARD in which this BOARD_ITEM resides, or NULL if none.
Definition at line 43 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), PCB_T, and EDA_ITEM::Type().
Referenced by BOARD_ADAPTER::addShape(), FOOTPRINT::BuildCourtyardCaches(), BuildEffectivePolygon(), BuildEffectiveShapes(), ZONE::BuildSmoothedPoly(), ZONE::CacheBoundingBox(), collidesWithArea(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), enclosedByAreaFunc(), existsOnLayerFunc(), PCB_VIA::FlashLayer(), FlashLayer(), FP_SHAPE::Flip(), FP_TEXT::Flip(), FP_TEXTBOX::Flip(), PCB_DIMENSION_BASE::Flip(), PCB_SHAPE::Flip(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), PCB_TEXTBOX::Flip(), PCB_TRACK::Flip(), PCB_ARC::Flip(), PCB_VIA::Flip(), ZONE::Flip(), PCB_PLUGIN::format(), fromToFunc(), BOARD_ITEM::GetBoard(), PCB_EXPR_CONTEXT::GetBoard(), NETINFO_ITEM::GetBoundingBox(), ZONE::GetBoundingBox(), FOOTPRINT::GetBoundingBox(), FOOTPRINT::GetBoundingHull(), FOOTPRINT::GetCourtyard(), BOARD_CONNECTED_ITEM::GetEffectiveNetClass(), FP_TEXT::GetEffectiveShape(), PCB_TEXT::GetEffectiveShape(), getFieldFunc(), ZONE::GetInteractingZones(), ZONE::GetItemDescription(), BOARD_ITEM::GetLayerName(), PCB_VIA::GetMinAnnulus(), NETINFO_ITEM::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), BOARD_CONNECTED_ITEM::GetOwnClearance(), GetOwnClearance(), PCB_MARKER::GetSeverity(), GetSolderMaskExpansion(), PCB_VIA::GetSolderMaskExpansion(), GetSolderPasteMargin(), BOARD::GetTrackLength(), PCB_TRACK::GetWidthConstraint(), inDiffPairFunc(), ROUTER_TOOL::Init(), intersectsAreaFunc(), intersectsBackCourtyardFunc(), intersectsCourtyardFunc(), intersectsFrontCourtyardFunc(), BOARD_ITEM::IsLocked(), PCB_VIA::IsTented(), BOARD_ITEM::layerMaskDescribe(), PCB_VIA::layerMaskDescribe(), MergePrimitivesAsPolygon(), ZONE::Move(), DIALOG_TEXTBOX_PROPERTIES::onBorderChecked(), EAGLE_PLUGIN::packageWire(), padsNeedUpdate(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), BOARD::ResolveDRCExclusions(), FOOTPRINT::ResolveTextVar(), BOARD_CONNECTED_ITEM::SetNetCode(), TEARDROP_DIALOG::TEARDROP_DIALOG(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), ZONE::TransformSmoothedOutlineToPolygon(), BOARD::UpdateRatsnestExclusions(), FOOTPRINT::ViewBBox(), ViewBBox(), PCB_TRACK::ViewBBox(), ViewGetLOD(), PCB_BITMAP::ViewGetLOD(), PCB_VIA::ViewGetLOD(), FOOTPRINT::~FOOTPRINT(), and ZONE::~ZONE().
|
overridevirtual |
The bounding box is cached, so this will be efficient most of the time.
Set absolute coordinates.
Reimplemented from EDA_ITEM.
Definition at line 650 of file pad.cpp.
References BuildEffectiveShapes(), m_effectiveBoundingBox, m_shapesDirty, and UNDEFINED_LAYER.
Referenced by AR_AUTOPLACER::addPad(), ZONE_FILLER::buildThermalSpokes(), KIGFX::PCB_PAINTER::draw(), HitTest(), DSN::SPECCTRA_DB::makePADSTACK(), ViewBBox(), and ViewGetLOD().
int PAD::GetBoundingRadius | ( | ) | const |
Return the radius of a minimum sized circle which fully encloses this pad.
The center is the pad position NOT THE SHAPE POS!
Definition at line 431 of file pad.cpp.
References BuildEffectivePolygon(), m_effectiveBoundingRadius, and m_polyDirty.
Referenced by HitTest().
|
inlineoverridevirtual |
This defaults to the center of the bounding box if not overridden.
Reimplemented from BOARD_ITEM.
Definition at line 276 of file pad.h.
References GetPosition().
|
inline |
Definition at line 594 of file pad.h.
References m_chamferPositions.
Referenced by BuildEffectiveShapes(), PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DSN::SPECCTRA_DB::makePADSTACK(), padsNeedUpdate(), BRDITEMS_PLOTTER::PlotPad(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and TransformShapeToPolygon().
|
inline |
Definition at line 584 of file pad.h.
References m_chamferScale.
Referenced by BuildEffectiveShapes(), PCB_PLUGIN::format(), ImportSettingsFrom(), DSN::SPECCTRA_DB::makePADSTACK(), DIALOG_PAD_PROPERTIES::OnPadShapeSelection(), padsNeedUpdate(), BRDITEMS_PLOTTER::PlotPad(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), TransformShapeToPolygon(), and DIALOG_PAD_PROPERTIES::updateRoundRectCornerValues().
|
inlineoverridevirtual |
|
inline |
Definition at line 212 of file pad.h.
References m_customShapeClearanceArea.
Referenced by ZONE_FILLER::addKnockout(), PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), padsNeedUpdate(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 264 of file pad.h.
References m_deltaSize.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DSN::SPECCTRA_DB::makePADSTACK(), mirrorPadX(), mirrorPadY(), padsNeedUpdate(), AR_MATRIX::PlacePad(), BRDITEMS_PLOTTER::PlotPad(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 383 of file pad.h.
References m_drillShape.
Referenced by STEP_PCB_MODEL::AddPadHole(), EXPORTER_PCB_VRML::ExportVrmlPadHole(), FlashLayer(), PCB_PLUGIN::format(), KIGFX::PCB_PAINTER::getDrillShape(), GetMsgPanelInfo(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 267 of file pad.h.
References m_drill.
Referenced by STEP_PCB_MODEL::AddPadHole(), DRC_TEST_PROVIDER_HOLE_SIZE::checkPadHole(), KIGFX::PCB_PAINTER::draw(), EXPORTER_PCB_VRML::ExportVrmlPadHole(), FlashLayer(), PCB_PLUGIN::format(), HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), RENDER_3D_RAYTRACE::insertHole(), BOARD_INSPECTION_TOOL::InspectConstraints(), DSN::isRoundKeepout(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::PadTypeSelected(), DIALOG_PAD_PROPERTIES::padValuesOK(), PNS_KICAD_IFACE_BASE::syncPad(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and TransformHoleToPolygon().
|
inline |
Definition at line 269 of file pad.h.
References m_drill, and VECTOR2< T >::x.
Referenced by HasHole(), PAD_DESC::PAD_DESC(), and VIAPAD::VIAPAD().
|
inline |
Definition at line 271 of file pad.h.
References m_drill, and VECTOR2< T >::y.
Referenced by HasHole(), PAD_DESC::PAD_DESC(), and VIAPAD::VIAPAD().
|
inlineinherited |
Definition at line 145 of file eda_item.h.
References IS_BROKEN, IS_CHANGED, IS_MOVING, IS_NEW, IS_PASTED, EDA_ITEM::m_flags, and STRUCT_DELETED.
Referenced by SCH_EDIT_TOOL::ChangeTextType(), EDA_ITEM::ClearEditFlags(), SCH_EDIT_FRAME::DeleteJunction(), SCH_EDIT_TOOL::editFieldText(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), SCH_SYMBOL::GetMsgPanelInfo(), SELECTION_CONDITIONS::Idle(), SELECTION_CONDITIONS::IdleSelection(), SYMBOL_EDITOR_MOVE_TOOL::Main(), PCB_POINT_EDITOR::OnSelectionChange(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_IMAGE_PROPERTIES::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), and DIALOG_TEXTBOX_PROPERTIES::TransferDataFromWindow().
|
overridevirtual |
Return a SHAPE_SEGMENT object representing the pad's hole.
Reimplemented from BOARD_ITEM.
Definition at line 422 of file pad.cpp.
References BuildEffectiveShapes(), m_effectiveHoleShape, m_shapesDirty, and UNDEFINED_LAYER.
Referenced by BOARD_ADAPTER::createPadWithDrill(), KIGFX::PCB_PAINTER::draw(), GetEffectiveShape(), KIGFX::PCB_PAINTER::getPadHoleShape(), DIALOG_PAD_PROPERTIES::padValuesOK(), PNS_KICAD_IFACE_BASE::syncPad(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), and TransformHoleToPolygon().
|
virtualinherited |
Return the NETCLASS for this item.
Definition at line 97 of file board_connected_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD::GetDesignSettings(), NETINFO_ITEM::GetNetClass(), BOARD_CONNECTED_ITEM::m_netinfo, and BOARD_DESIGN_SETTINGS::m_NetSettings.
Referenced by PCB_VIA::GetDrillValue(), BOARD_INSPECTION_TOOL::getItemDescription(), GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetClassName(), PCB_EXPR_NETCLASS_REF::GetValue(), PCB_EDIT_FRAME::SetTrackSegmentWidth(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem().
const std::shared_ptr< SHAPE_POLY_SET > & PAD::GetEffectivePolygon | ( | ) | const |
Definition at line 376 of file pad.cpp.
References BuildEffectivePolygon(), m_effectivePolygon, and m_polyDirty.
Referenced by BOARD_ADAPTER::buildPadOutlineAsPolygon(), BOARD_ADAPTER::buildPadOutlineAsSegments(), HitTest(), and BRDITEMS_PLOTTER::PlotPad().
|
overridevirtual |
Some pad shapes can be complex (rounded/chamfered rectangle), even without considering custom shapes.
This routine returns a COMPOUND shape (set of simple shapes which make up the pad for use with routing, collision determination, etc).
aLayer | optional parameter allowing a caller to specify a particular layer (default is to return the pad's "natural" shape). |
aFlash | optional parameter allowing a caller to force the pad to be flashed (or not flashed) on the current layer (default is to honour the pad's setting and the current connections for the given layer). |
Reimplemented from BOARD_ITEM.
Definition at line 385 of file pad.cpp.
References ALWAYS_FLASHED, BuildEffectiveShapes(), Edge_Cuts, FlashLayer(), GetAttribute(), GetEffectiveHoleShape(), m_effectiveShape, m_shapesDirty, NEVER_FLASHED, NPTH, and PTH.
Referenced by BOARD_ADAPTER::createPadWithMargin(), KIGFX::PCB_PAINTER::draw(), and PNS_KICAD_IFACE_BASE::syncPad().
|
inlineinherited |
Definition at line 142 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by BACK_ANNOTATE::applyChangelist(), BuildBoardPolygonOutlines(), collidesWithArea(), ConvertOutlineToPolygon(), SCH_EDIT_FRAME::ConvertPart(), BOARD_COMMIT::dirtyIntersectingZones(), PL_EDIT_TOOL::DoDelete(), PCB_TOOL_BASE::doInteractiveItemPlacement(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRC_ENGINE::EvalRules(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), LIB_SYMBOL::LIB_SYMBOL(), BOARD_INSPECTION_TOOL::makeDRCEngine(), CONVERT_TOOL::makePolysFromChainedSegs(), DIALOG_DRC::OnDRCItemSelected(), DIALOG_FOOTPRINT_CHECKER::OnSelectItem(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), LIB_SYMBOL::operator=(), BOARD_COMMIT::Push(), PAD_TOOL::RecombinePad(), BOARD::Remove(), FOOTPRINT::Remove(), SCH_EDIT_FRAME::SaveCopyInUndoList(), SCH_EDIT_FRAME::SelectUnit(), DS_DATA_ITEM::SyncDrawItems(), DS_DATA_ITEM_POLYGONS::SyncDrawItems(), DS_DATA_ITEM_BITMAP::SyncDrawItems(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), and DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow().
|
inlinevirtualinherited |
Similar to GetPosition, but allows items to return their visual center rather than their anchor.
Reimplemented in BOARD, PCB_SHAPE, and PCB_TRACK.
Definition at line 256 of file eda_item.h.
References EDA_ITEM::GetPosition().
Referenced by SCH_EDIT_FRAME::FocusOnItem().
|
virtualinherited |
Reimplemented in PCB_SHAPE, PCB_TRACK, and ZONE.
Definition at line 310 of file eda_item.cpp.
References EDA_ITEM::GetTypeDesc().
Referenced by PROPERTIES_PANEL::rebuildProperties().
|
overridevirtual |
Return a user-visible description string of this item.
This description is used in disambiguation menus, the message panel, ERC/DRC reports, etc.
The default version of this function raises an assertion in the debug mode and returns a string to indicate that it was not overridden to provide the object specific text.
Reimplemented from EDA_ITEM.
Definition at line 1257 of file pad.cpp.
References _, CONN, Format(), GetAttribute(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), GetNumber(), GetParent(), BOARD_ITEM::layerMaskDescribe(), NPTH, and SMD.
|
inline |
Definition at line 615 of file pad.h.
References m_keepTopBottomLayer.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DIALOG_PAD_PROPERTIES::OnUpdateUI(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::PadTypeSelected(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
overridevirtual |
Return the primary layer this item is on.
Reimplemented from BOARD_ITEM.
Definition at line 239 of file pad.cpp.
References BOARD_ITEM::GetLayer().
Referenced by DRC_TEST_PROVIDER_MISC::testDisabledLayers().
|
inherited |
Return the name of the PCB layer on which the item resides.
Definition at line 94 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD::GetLayerName(), BOARD::GetStandardLayerName(), and BOARD_ITEM::m_layer.
Referenced by FP_SHAPE::GetItemDescription(), PCB_DIMENSION_BASE::GetItemDescription(), PCB_SHAPE::GetItemDescription(), PCB_TEXT::GetItemDescription(), PCB_TEXTBOX::GetItemDescription(), PCB_TRACK::GetItemDescription(), FP_TEXT::GetMsgPanelInfo(), FP_TEXTBOX::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_DIM_LEADER::GetMsgPanelInfo(), PCB_SHAPE::GetMsgPanelInfo(), PCB_TARGET::GetMsgPanelInfo(), PCB_TEXT::GetMsgPanelInfo(), PCB_TEXTBOX::GetMsgPanelInfo(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), PCB_TEXT::GetShownText(), PCB_TEXTBOX::GetShownText(), and FOOTPRINT::ResolveTextVar().
|
inlineoverridevirtual |
Return a std::bitset of all layers on which the item physically resides.
Reimplemented from BOARD_ITEM.
Definition at line 397 of file pad.h.
References m_layerMask.
Referenced by doPushPadProperties(), PAD_TOOL::explodePad(), PCB_PLUGIN::format(), GetPrincipalLayer(), HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), IsOnCopperLayer(), DSN::isRoundKeepout(), DSN::SPECCTRA_DB::makePADSTACK(), DIALOG_PAD_PROPERTIES::OnUpdateUI(), DIALOG_PAD_PROPERTIES::OnUpdateUINonCopperWarning(), FOOTPRINT::cmp_pads::operator()(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::padValuesOK(), AR_MATRIX::PlacePad(), PAD_TOOL::RecombinePad(), PNS_KICAD_IFACE_BASE::syncPad(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 419 of file pad.h.
References m_localClearance.
Referenced by GetLocalClearanceOverrides(), and PAD_DESC::PAD_DESC().
|
overridevirtual |
Return any local clearances set in the "classic" (ie: pre-rule) system.
These are things like zone clearance which are not an override.
aSource | [out] optionally reports the source as a user readable string. |
Reimplemented from BOARD_CONNECTED_ITEM.
Definition at line 814 of file pad.cpp.
References _, and m_localClearance.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
overridevirtual |
Return any local clearance overrides set in the "classic" (ie: pre-rule) system.
aSource | [out] optionally reports the source as a user-readable string. |
Reimplemented from BOARD_CONNECTED_ITEM.
Definition at line 800 of file pad.cpp.
References FOOTPRINT::GetLocalClearance(), GetLocalClearance(), and GetParent().
|
inlineinherited |
Definition at line 176 of file board_connected_item.h.
References BOARD_CONNECTED_ITEM::m_localRatsnestVisible.
Referenced by PCB_EDIT_FRAME::ExchangeFootprint().
|
inline |
Definition at line 415 of file pad.h.
References m_localSolderMaskMargin.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 422 of file pad.h.
References m_localSolderPasteMargin.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 425 of file pad.h.
References m_localSolderPasteMarginRatio.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
int PAD::GetLocalSpokeWidthOverride | ( | wxString * | aSource = nullptr | ) | const |
int PAD::GetLocalThermalGapOverride | ( | wxString * | aSource = nullptr | ) | const |
Definition at line 962 of file pad.cpp.
References _, and m_thermalGap.
Referenced by ZONE::GetThermalReliefGap().
ZONE_CONNECTION PAD::GetLocalZoneConnectionOverride | ( | wxString * | aSource = nullptr | ) | const |
Definition at line 944 of file pad.cpp.
References _, INHERITED, and m_zoneConnection.
|
overridevirtual |
|
overridevirtual |
Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes.
aList | is the list to populate. |
Reimplemented from EDA_ITEM.
Definition at line 971 of file pad.cpp.
References _, ANGLE_0, EDA_ANGLE::AsDegrees(), KIID::AsString(), BGA, CASTELLATED, CIRCLE, CONN, FIDUCIAL_GLBL, FIDUCIAL_LOCAL, Format(), GetAttribute(), GetDrillShape(), BOARD_CONNECTED_ITEM::GetEffectiveNetClass(), BOARD_CONNECTED_ITEM::GetNetname(), FOOTPRINT::GetOrientation(), GetOrientation(), GetOwnClearance(), GetPadToDieLength(), GetPinFunction(), GetPinType(), GetProperty(), FOOTPRINT::GetReference(), GetShape(), HEATSINK, IsLocked(), EDA_ANGLE::IsZero(), BOARD_ITEM::layerMaskDescribe(), m_drill, m_number, EDA_ITEM::m_parent, m_size, EDA_ITEM::m_Uuid, UNITS_PROVIDER::MessageTextFromValue(), NONE, EDA_ANGLE::Normalize180(), OVAL, PAD_DRILL_SHAPE_CIRCLE, PCB_EDIT_FRAME_NAME, ShowPadAttr(), ShowPadShape(), SMD, TESTPOINT, UNDEFINED_LAYER, UnescapeString(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
inlineinherited |
Return #NET_INFO object for a given item.
Definition at line 75 of file board_connected_item.h.
References BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by PNS_PCBNEW_RULE_RESOLVER::DpNetPair(), EDIT_TOOL::DragArcTrack(), EDIT_TOOL::FilletTracks(), BOARD_INSPECTION_TOOL::InspectClearance(), isCoupledDiffPairFunc(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes(), BOARD_EDITOR_CONTROL::RepairBoard(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow().
|
inherited |
Returns the name of the effective netclass.
Primarily for the use of the property system.
Definition at line 106 of file board_connected_item.cpp.
References BOARD_CONNECTED_ITEM::GetEffectiveNetClass(), and NETCLASS::GetName().
Referenced by BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), and main().
|
inherited |
Definition at line 89 of file board_connected_item.cpp.
References NETINFO_ITEM::GetNetCode(), and BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), ZONE_FILLER::buildCopperItemClearances(), KI_TEST::CheckFpZone(), connectedItemFilter(), CreateRoutesSection(), TEARDROP_MANAGER::createTeardrop(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), KIGFX::PCB_PAINTER::draw(), DRAWING_TOOL::DrawVia(), PCB_EDIT_FRAME::ExchangeFootprint(), PNS::NODE::FindItemByParent(), TEARDROP_MANAGER::findTouchingTrack(), PCB_PLUGIN::format(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), CONNECTIVITY_DATA::GetConnectedItems(), ZONE::GetInteractingZones(), PCB_TRACK::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), CONNECTIVITY_DATA::GetRatsnestForPad(), BOARD_INSPECTION_TOOL::highlightNet(), DIALOG_PAD_PROPERTIES::initValues(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectDRCError(), CONNECTIVITY_DATA::IsConnectedOnLayer(), ZONE::IsIsland(), ZONE::IsSame(), TEARDROP_MANAGER::isViaAndTrackInSameZone(), ZONE_FILLER::knockoutThermalReliefs(), CN_CONNECTIVITY_ALGO::markItemNetAsDirty(), AR_AUTOPLACER::nearestPad(), ROUTER_TOOL::NeighboringSegmentFilter(), CN_ITEM::Net(), DIALOG_DRC::OnDRCItemSelected(), PCB_TRACK::cmp_tracks::operator()(), ZONE_SETTINGS::operator<<(), DIALOG_PAD_PROPERTIES::PadTypeSelected(), process(), BOARD_EDITOR_CONTROL::RepairBoard(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), ZONE::SameNet(), PCB_SELECTION_CONDITIONS::sameNetFunc(), PCB_SELECTION_TOOL::selectNet(), PNS_KICAD_IFACE_BASE::syncArc(), PNS_KICAD_IFACE_BASE::syncPad(), PNS_KICAD_IFACE_BASE::syncTrack(), PNS_KICAD_IFACE_BASE::syncVia(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones(), BOARD::TracksInNet(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), PCB_CONTROL::UpdateMessagePanel(), VIAPAD::VIAPAD(), PCB_TRACK::ViewGetLOD(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and BOARD_EDITOR_CONTROL::ZoneMerge().
|
inherited |
Definition at line 112 of file board_connected_item.cpp.
References NETINFO_ITEM::GetNetname(), and BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), KIGFX::PCB_PAINTER::draw(), PCB_PLUGIN::format(), GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_NETLIST_UPDATER::getNetname(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), ZONE_SEARCH_HANDLER::GetResultCell(), PCB_EXPR_NETNAME_REF::GetValue(), BOARD_INSPECTION_TOOL::InspectClearance(), isCoupledDiffPairFunc(), CN_CLUSTER::OriginNetName(), BRDITEMS_PLOTTER::PlotFilledAreas(), BRDITEMS_PLOTTER::PlotPad(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem().
|
inherited |
Definition at line 118 of file board_connected_item.cpp.
References _, BOARD_ITEM::GetBoard(), BOARD_CONNECTED_ITEM::GetNetCode(), BOARD_CONNECTED_ITEM::GetNetname(), and UnescapeString().
Referenced by GetItemDescription(), PCB_TRACK::GetItemDescription(), PCB_VIA::GetItemDescription(), and ZONE::GetItemDescription().
|
inline |
Definition at line 135 of file pad.h.
References m_number.
Referenced by FOOTPRINT::CheckNetTies(), DIALOG_TRACK_VIA_PROPERTIES::confirmPadChange(), KIGFX::PCB_PAINTER::draw(), PCB_PLUGIN::format(), GetItemDescription(), FOOTPRINT::GetNetTiePads(), DIALOG_PAD_PROPERTIES::initValues(), CADSTAR_PCB_ARCHIVE_LOADER::loadComponents(), FOOTPRINT::cmp_pads::operator()(), operator=(), PAD_DESC::PAD_DESC(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::PadTypeSelected(), BRDITEMS_PLOTTER::PlotPad(), SharesNetTieGroup(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and ViewGetLayers().
|
inline |
Definition at line 274 of file pad.h.
References m_offset.
Referenced by FlashLayer(), PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DSN::SPECCTRA_DB::makePADSTACK(), mirrorPadX(), mirrorPadY(), DIALOG_PAD_PROPERTIES::OnOffsetCheckbox(), padsNeedUpdate(), PNS_KICAD_IFACE_BASE::syncPad(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Return the rotation angle of the pad.
Definition at line 370 of file pad.h.
References m_orient.
Referenced by doPushPadProperties(), PAD_TOOL::explodePad(), EXPORTER_PCB_VRML::ExportVrmlPadHole(), Flip(), PCB_PLUGIN::format(), GetMsgPanelInfo(), HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), RENDER_3D_RAYTRACE::insertHole(), mirrorPadX(), mirrorPadY(), padsNeedUpdate(), AR_MATRIX::PlacePad(), BRDITEMS_PLOTTER::PlotPad(), PAD_TOOL::RecombinePad(), DIALOG_PAD_PROPERTIES::redraw(), PNS_KICAD_IFACE_BASE::syncPad(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 377 of file pad.h.
References EDA_ANGLE::AsDegrees(), and m_orient.
Referenced by PAD_DESC::PAD_DESC().
|
overridevirtual |
Return an item's "own" clearance in internal units.
aLayer | the layer in question. |
aSource | [out] optionally reports the source as a user-readable string. |
Reimplemented from BOARD_CONNECTED_ITEM.
Definition at line 823 of file pad.cpp.
References CLEARANCE_CONSTRAINT, GetAttribute(), BOARD_ITEM::GetBoard(), BOARD::GetDesignSettings(), DRC_CONSTRAINT::GetName(), MINOPTMAX< T >::HasMin(), HOLE_CLEARANCE_CONSTRAINT, BOARD_DESIGN_SETTINGS::m_DRCEngine, MINOPTMAX< T >::Min(), NPTH, and DRC_CONSTRAINT::Value().
Referenced by KIGFX::PCB_PAINTER::draw(), and GetMsgPanelInfo().
|
inline |
Definition at line 413 of file pad.h.
References m_lengthPadToDie.
Referenced by PCB_PLUGIN::format(), GetMsgPanelInfo(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DIALOG_PAD_PROPERTIES::OnPadToDieCheckbox(), operator=(), PAD_DESC::PAD_DESC(), padsNeedUpdate(), PNS_KICAD_IFACE_BASE::syncPad(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
FOOTPRINT * PAD::GetParent | ( | void | ) | const |
Definition at line 1486 of file pad.cpp.
References EDA_ITEM::m_parent.
Referenced by DIALOG_TRACK_VIA_PROPERTIES::confirmPadChange(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), doPushPadProperties(), GetItemDescription(), GetLocalClearanceOverrides(), GetSolderMaskExpansion(), GetSolderPasteMargin(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), IsFlipped(), IsLocked(), PAD(), padsNeedUpdate(), BRDITEMS_PLOTTER::PlotPad(), PAD_TOOL::pushPadSettings(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), EAGLE_PLUGIN::transferPad(), and ViewGetLayers().
wxString PAD::GetParentAsString | ( | ) | const |
Definition at line 1704 of file pad.cpp.
References KIID::AsString(), EDA_ITEM::m_parent, and EDA_ITEM::m_Uuid.
Referenced by PAD_DESC::PAD_DESC().
|
inherited |
Definition at line 239 of file board_item.cpp.
References BOARD_ITEM::GetParent(), PCB_FOOTPRINT_T, PCB_GROUP_T, and EDA_ITEM::Type().
Referenced by CN_CONNECTIVITY_ALGO::Add(), DRC_TEST_PROVIDER_SOLDER_MASK::checkItemMask(), DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture(), PNS::ITEM::collideSimple(), CONVERT_TOOL::CreatePolys(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), PCB_SHAPE::GetParentFootprint(), PNS_PCBNEW_RULE_RESOLVER::IsInNetTie(), DRC_ENGINE::IsNetTieExclusion(), LEGACY_PLUGIN::loadMODULE_TEXT(), PAD_TOOL::RecombinePad(), SameLogicalPadAs(), SharesNetTieGroup(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), and zonesNeedUpdate().
|
inlineinherited |
Definition at line 72 of file board_item.h.
References BOARD_ITEM::m_group.
Referenced by PCB_GROUP::AddItem(), BOARD_ITEM::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), getClosestGroup(), BOARD::GroupLegalOps(), BOARD_ITEM::IsLocked(), memberOfFunc(), BOARD::Move(), PCB_CONTROL::Paste(), PCB_CONTROL::placeBoardItems(), BOARD_COMMIT::Push(), BOARD::Remove(), FOOTPRINT::Remove(), GROUP_TOOL::RemoveFromGroup(), BOARD_ITEM::SwapItemData(), DIALOG_GROUP_PROPERTIES::TransferDataFromWindow(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and PCB_GROUP::WithinScope().
|
inline |
Definition at line 146 of file pad.h.
References m_pinFunction.
Referenced by PCB_EDIT_FRAME::ExchangeFootprint(), PCB_PLUGIN::format(), GetMsgPanelInfo(), BOARD_NETLIST_UPDATER::getPinFunction(), operator=(), PAD_DESC::PAD_DESC(), and BRDITEMS_PLOTTER::PlotPad().
|
inline |
Definition at line 152 of file pad.h.
References m_pinType.
Referenced by PCB_EDIT_FRAME::ExchangeFootprint(), PCB_PLUGIN::format(), GetMsgPanelInfo(), operator=(), and PAD_DESC::PAD_DESC().
|
inline |
Definition at line 251 of file pad.h.
References m_pos0.
Referenced by MICROWAVE_TOOL::createPolygonShape(), PCB_PLUGIN::format(), FOOTPRINT::cmp_pads::operator()(), operator=(), and padsNeedUpdate().
|
inlineoverridevirtual |
Reimplemented from EDA_ITEM.
Definition at line 202 of file pad.h.
References m_pos.
Referenced by STEP_PCB_MODEL::AddPadHole(), FOOTPRINT::CheckNetTies(), DRC_TEST_PROVIDER_HOLE_SIZE::checkPadHole(), AR_AUTOPLACER::computePlacementRatsnestCost(), KIGFX::PCB_PAINTER::draw(), PAD_TOOL::explodePad(), EXPORTER_PCB_VRML::ExportVrmlPadHole(), GetCenter(), KIGFX::PCB_PRINT_PAINTER::getPadHoleShape(), HitTest(), DIALOG_PAD_PROPERTIES::initValues(), RENDER_3D_RAYTRACE::insertHole(), mirrorPadX(), mirrorPadY(), AR_AUTOPLACER::nearestPad(), operator=(), DIALOG_PAD_PROPERTIES::padValuesOK(), DIALOG_PAD_PROPERTIES::prepareCanvas(), PAD_TOOL::RecombinePad(), DIALOG_PAD_PROPERTIES::redraw(), DRC_TEST_PROVIDER_FOOTPRINT_CHECKS::Run(), DIALOG_FOOTPRINT_CHECKER::runChecks(), sortPadsByXthenYCoord(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and VIAPAD::VIAPAD().
|
inline |
Accessor to the basic shape list for custom-shaped pads.
Definition at line 330 of file pad.h.
References m_editPrimitives.
Referenced by KIGFX::PCB_PAINTER::draw(), PAD_TOOL::explodePad(), PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
PCB_LAYER_ID PAD::GetPrincipalLayer | ( | ) | const |
Definition at line 245 of file pad.cpp.
References CONN, GetLayerSet(), m_attribute, BOARD_ITEM::m_layer, LSET::Seq(), and SMD.
Referenced by DRC_TEST_PROVIDER_FOOTPRINT_CHECKS::Run().
|
inline |
Definition at line 403 of file pad.h.
References m_property.
Referenced by FlashLayer(), PCB_PLUGIN::format(), GetMsgPanelInfo(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::padValuesOK(), BRDITEMS_PLOTTER::PlotPad(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inline |
Definition at line 609 of file pad.h.
References m_removeUnconnectedLayer.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DIALOG_PAD_PROPERTIES::OnUpdateUI(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::PadTypeSelected(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
int PAD::GetRoundRectCornerRadius | ( | ) | const |
Definition at line 345 of file pad.cpp.
References KiROUND(), m_roundedCornerScale, m_size, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by BuildEffectiveShapes(), DSN::SPECCTRA_DB::makePADSTACK(), DIALOG_PAD_PROPERTIES::onCornerSizePercentChange(), padsNeedUpdate(), BRDITEMS_PLOTTER::PlotPad(), TransformShapeToPolygon(), and DIALOG_PAD_PROPERTIES::updateRoundRectCornerValues().
|
inline |
Definition at line 575 of file pad.h.
References m_roundedCornerScale.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DIALOG_PAD_PROPERTIES::onCornerRadiusChange(), DIALOG_PAD_PROPERTIES::OnPadShapeSelection(), PAD_DESC::PAD_DESC(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PROPERTIES::updateRoundRectCornerValues().
|
inline |
Definition at line 194 of file pad.h.
References m_padShape.
Referenced by ZONE_FILLER::addKnockout(), BuildEffectiveShapes(), BOARD_ADAPTER::buildPadOutlineAsPolygon(), BOARD_ADAPTER::buildPadOutlineAsSegments(), Compare(), BOARD_ADAPTER::createPadWithMargin(), doPushPadProperties(), KIGFX::PCB_PAINTER::draw(), PAD_TOOL::explodePad(), FlashLayer(), PCB_PLUGIN::format(), GetMsgPanelInfo(), HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DSN::isRoundKeepout(), DSN::SPECCTRA_DB::makePADSTACK(), mirrorPadX(), mirrorPadY(), DIALOG_PAD_PROPERTIES::onCornerRadiusChange(), DIALOG_PAD_PROPERTIES::onCornerSizePercentChange(), FOOTPRINT::cmp_pads::operator()(), PAD_DESC::PAD_DESC(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::padValuesOK(), AR_MATRIX::PlacePad(), BRDITEMS_PLOTTER::PlotPad(), PAD_TOOL::RecombinePad(), ShowPadShape(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::transferDataToPad(), TransformShapeToPolygon(), and VIAPAD::VIAPAD().
|
inherited |
Definition at line 134 of file board_connected_item.cpp.
References NETINFO_ITEM::GetShortNetname(), and BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by IsFreePad(), and IsNoConnectPad().
|
inline |
Definition at line 257 of file pad.h.
References m_size.
Referenced by BuildEffectiveShapes(), BOARD_ADAPTER::buildPadOutlineAsPolygon(), BOARD_ADAPTER::buildPadOutlineAsSegments(), BOARD_ADAPTER::createPadWithMargin(), KIGFX::PCB_PAINTER::draw(), FlashLayer(), PCB_PLUGIN::format(), GetBestAnchorPosition(), HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DSN::isRoundKeepout(), DSN::SPECCTRA_DB::makePADSTACK(), MergePrimitivesAsPolygon(), FOOTPRINT::cmp_pads::operator()(), padsNeedUpdate(), DIALOG_PAD_PROPERTIES::padValuesOK(), AR_MATRIX::PlacePad(), BRDITEMS_PLOTTER::PlotPad(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::transferDataToPad(), EAGLE_PLUGIN::transferPad(), and VIAPAD::VIAPAD().
|
inline |
Definition at line 259 of file pad.h.
References m_size, and VECTOR2< T >::x.
Referenced by PAD_DESC::PAD_DESC(), and PAD_TOOL::RecombinePad().
|
inline |
Definition at line 261 of file pad.h.
References m_size, and VECTOR2< T >::y.
Referenced by PAD_DESC::PAD_DESC(), and PAD_TOOL::RecombinePad().
int PAD::GetSolderMaskExpansion | ( | ) | const |
Usually > 0 (mask shape bigger than pad). For pads not on copper layers, the value is the local value because there is no default shape to build. For pads also on copper layers, the value (used to build a default shape) is: 1 the local value 2 if 0, the parent footprint value 3 if 0, the global value
Definition at line 849 of file pad.cpp.
References LSET::AllCuMask(), BOARD_ITEM::GetBoard(), BOARD::GetDesignSettings(), FOOTPRINT::GetLocalSolderMaskMargin(), GetParent(), m_layerMask, m_localSolderMaskMargin, m_size, BOARD_DESIGN_SETTINGS::m_SolderMaskExpansion, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by KIGFX::PCB_PAINTER::draw(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), and ViewBBox().
VECTOR2I PAD::GetSolderPasteMargin | ( | ) | const |
Usually < 0 (mask shape smaller than pad)because the margin can be dependent on the pad size, the margin has a x and a y value.
For pads not on copper layers, the value is the local value because there is no default shape to build. For pads also on copper layers, the value (used to build a default shape) is: 1 the local value 2 if 0, the parent footprint value 3 if 0, the global value
Definition at line 894 of file pad.cpp.
References LSET::AllCuMask(), BOARD_ITEM::GetBoard(), FOOTPRINT::GetLocalSolderPasteMargin(), FOOTPRINT::GetLocalSolderPasteMarginRatio(), GetParent(), KiROUND(), m_layerMask, m_localSolderPasteMargin, m_localSolderPasteMarginRatio, m_size, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by KIGFX::PCB_PAINTER::draw(), and ViewBBox().
|
inlinevirtualinherited |
Return the coordinates that should be used for sorting this element visually compared to other elements.
For instance, for lines the midpoint might be a better sorting point than either end.
Reimplemented in SCH_LINE.
Definition at line 265 of file eda_item.h.
References EDA_ITEM::GetPosition().
|
inlineinherited |
|
inlineinherited |
|
virtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 82 of file board_item.cpp.
References DEFAULT_LINE_WIDTH, EDA_IU_SCALE::mmToIU(), and pcbIUScale.
Referenced by CONVERT_TOOL::CreatePolys(), and PCB_BASE_EDIT_FRAME::ShowGraphicItemPropertiesDialog().
|
inline |
Definition at line 599 of file pad.h.
References m_subRatsnest.
Referenced by operator=().
|
inline |
Definition at line 554 of file pad.h.
References m_thermalGap.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), padsNeedUpdate(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 541 of file pad.h.
References m_thermalSpokeAngle.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), padsNeedUpdate(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 548 of file pad.h.
References EDA_ANGLE::AsDegrees(), and m_thermalSpokeAngle.
Referenced by PAD_DESC::PAD_DESC().
|
inline |
Definition at line 531 of file pad.h.
References m_thermalSpokeWidth.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), padsNeedUpdate(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inherited |
Return a translated description of the type for this EDA_ITEM for display in user facing messages.
Definition at line 301 of file eda_item.cpp.
References ENUM_MAP< T >::Instance(), and EDA_ITEM::Type().
Referenced by PCB_GROUP::AddItem(), EDIT_TOOL::doMoveSelection(), and EDA_ITEM::GetFriendlyName().
|
inherited |
Definition at line 140 of file board_connected_item.cpp.
References NETINFO_ITEM::GetUnescapedShortNetname(), and BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by KIGFX::PCB_PAINTER::draw(), and PCB_TRACK::ViewGetLOD().
|
inlineinherited |
Definition at line 76 of file board_item.h.
References EDA_ITEM::GetPosition(), and VECTOR2< T >::x.
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), ZONE_SEARCH_HANDLER::GetResultCell(), BOARD_ITEM::SetY(), TRACK_VIA_DESC::TRACK_VIA_DESC(), and ZONE_DESC::ZONE_DESC().
|
inlineinherited |
Definition at line 82 of file board_item.h.
References EDA_ITEM::GetPosition(), and VECTOR2< T >::y.
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), ZONE_SEARCH_HANDLER::GetResultCell(), BOARD_ITEM::SetX(), TRACK_VIA_DESC::TRACK_VIA_DESC(), and ZONE_DESC::ZONE_DESC().
|
inline |
Definition at line 522 of file pad.h.
References m_zoneConnection.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), padsNeedUpdate(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inlineinherited |
Definition at line 143 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by GRAPHICS_CLEANER::cleanupShapes(), SCH_EDIT_TOOL::DoDelete(), KIGFX::SCH_PAINTER::draw(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::getConnectedItems(), FOOTPRINT::IsConflicting(), ZONE::IsConflicting(), SCH_MOVE_TOOL::Main(), SCH_SCREEN::MarkConnections(), SCH_MOVE_TOOL::moveItem(), SCH_MOVE_TOOL::orthoLineDrag(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), and EE_SELECTION_TOOL::selectMultiple().
|
inlineoverridevirtual |
Reimplemented from BOARD_ITEM.
Definition at line 106 of file pad.h.
References GetDrillSizeX(), and GetDrillSizeY().
Referenced by BOARD_ADAPTER::createPadWithDrill(), IsType(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem().
|
inlinevirtualinherited |
Check if this item has line stoke properties.
Reimplemented in PCB_SHAPE.
Definition at line 172 of file board_item.h.
|
overridevirtual |
Test if aRect intersects this item.
aRect | A reference to a BOX2I object containing the rectangle to test. |
aContained | Set to true to test for containment instead of an intersection. |
aAccuracy | Increase aRect by this amount. |
Reimplemented from EDA_ITEM.
Definition at line 1097 of file pad.cpp.
References BOX2< Vec >::Contains(), GetBoundingBox(), GetEffectivePolygon(), BOX2< Vec >::Inflate(), BOX2< Vec >::Intersects(), and BOX2< Vec >::Normalize().
|
overridevirtual |
Test if aPosition is inside or on the boundary of this item.
aPosition | A reference to a VECTOR2I object containing the coordinates to test. |
aAccuracy | Increase the item bounding box by this amount. |
Reimplemented from EDA_ITEM.
Definition at line 1085 of file pad.cpp.
References delta, GetBoundingRadius(), GetEffectivePolygon(), GetPosition(), and SEG::Square().
void PAD::ImportSettingsFrom | ( | const PAD & | aMasterPad | ) |
Import the pad settings from aMasterPad.
The result is "this" has the same settings (sizes, shapes ... ) as aMasterPad.
aMasterPad | the template pad. |
Definition at line 1492 of file pad.cpp.
References CIRCLE, CONN, GetAnchorPadShape(), GetAttribute(), GetChamferPositions(), GetChamferRectRatio(), GetCustomShapeInZoneOpt(), GetDelta(), GetDrillShape(), GetDrillSize(), GetKeepTopBottom(), GetLayerSet(), GetLocalClearance(), GetLocalSolderMaskMargin(), GetLocalSolderPasteMargin(), GetLocalSolderPasteMarginRatio(), GetOffset(), FOOTPRINT::GetOrientation(), GetOrientation(), GetPadToDieLength(), GetParent(), GetPrimitives(), GetProperty(), GetRemoveUnconnected(), GetRoundRectRadiusRatio(), GetShape(), GetSize(), GetThermalGap(), GetThermalSpokeAngle(), GetThermalSpokeWidth(), GetZoneConnection(), ReplacePrimitives(), SetAnchorPadShape(), SetAttribute(), SetChamferPositions(), SetChamferRectRatio(), SetCustomShapeInZoneOpt(), SetDelta(), SetDirty(), SetDrillShape(), SetDrillSize(), SetKeepTopBottom(), SetLayerSet(), SetLocalClearance(), SetLocalSolderMaskMargin(), SetLocalSolderPasteMargin(), SetLocalSolderPasteMarginRatio(), SetOffset(), SetOrientation(), SetPadToDieLength(), SetProperty(), SetRemoveUnconnected(), SetRoundRectRadiusRatio(), SetShape(), SetSize(), SetThermalGap(), SetThermalSpokeAngle(), SetThermalSpokeWidth(), SetZoneConnection(), SMD, and TRAPEZOID.
Referenced by operator=(), PAD_TOOL::pastePadProperties(), and PAD_TOOL::PlacePad().
|
inline |
Definition at line 407 of file pad.h.
References LSET::AllCuMask(), and m_layerMask.
Referenced by CanHaveNumber(), doPushPadProperties(), and DIALOG_PAD_PROPERTIES::initValues().
|
inlineinherited |
Definition at line 108 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::m_flags.
Referenced by KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::GERBVIEW_PAINTER::draw(), SCH_FIND_REPLACE_TOOL::FindNext(), SCH_EDIT_FRAME::FocusOnItem(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIGFX::SCH_PAINTER::getLineWidth(), KIGFX::SCH_PAINTER::setDeviceColors(), SCH_FIND_REPLACE_TOOL::UpdateFind(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlineoverridevirtualinherited |
Returns information if the object is derived from BOARD_CONNECTED_ITEM.
Reimplemented from BOARD_ITEM.
Reimplemented in ZONE.
Definition at line 67 of file board_connected_item.h.
|
inline |
Definition at line 385 of file pad.h.
References m_polyDirty, and m_shapesDirty.
|
inlineinherited |
Definition at line 107 of file eda_item.h.
References ENTERED, and EDA_ITEM::m_flags.
Referenced by KIGFX::PCB_PAINTER::draw().
bool PAD::IsFlipped | ( | ) | const |
Definition at line 231 of file pad.cpp.
References B_Cu, FOOTPRINT::GetLayer(), and GetParent().
Referenced by DIALOG_PAD_PROPERTIES::initValues(), and ViewGetLOD().
|
inlineinherited |
Definition at line 201 of file eda_item.h.
References EDA_ITEM::m_forceVisible.
Referenced by KIGFX::SCH_PAINTER::draw(), and SCH_FIELD::Print().
bool PAD::IsFreePad | ( | ) | const |
Definition at line 189 of file pad.cpp.
References BOARD_CONNECTED_ITEM::GetShortNetname(), and m_pinType.
Referenced by CN_CLUSTER::Add(), KIGFX::PCB_PAINTER::draw(), isMaskAperture(), and PNS_KICAD_IFACE_BASE::syncPad().
|
inlinevirtualinherited |
Definition at line 250 of file board_item.h.
References BOARD_ITEM::m_isKnockout.
Referenced by BOARD_ADAPTER::addText(), KIGFX::PCB_PAINTER::draw(), PCB_PLUGIN::format(), PCB_TEXT::GetBoundingBox(), FP_TEXT::GetEffectiveShape(), PCB_TEXT::GetEffectiveShape(), PCB_TEXT_DESC::PCB_TEXT_DESC(), BRDITEMS_PLOTTER::PlotFootprintGraphicItems(), BRDITEMS_PLOTTER::PlotPcbGraphicItem(), PNS_KICAD_IFACE_BASE::syncTextItem(), and PCB_TEXT::TextHitTest().
|
overridevirtual |
Reimplemented from BOARD_ITEM.
Definition at line 156 of file pad.cpp.
References GetParent(), BOARD_ITEM::IsLocked(), and IsLocked().
Referenced by PCB_PLUGIN::format(), GetMsgPanelInfo(), and IsLocked().
|
inlineinherited |
Definition at line 102 of file eda_item.h.
References IS_CHANGED, and EDA_ITEM::m_flags.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles().
|
inlineinherited |
Definition at line 104 of file eda_item.h.
References IS_MOVING, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::AutoplaceFields(), LIB_PIN::CalcEdit(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), PCB_BASE_FRAME::PlaceFootprint(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), and SCH_EDIT_TOOL::Swap().
|
inlineinherited |
Definition at line 103 of file eda_item.h.
References IS_NEW, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_TOOL::ConvertDeMorgan(), EDIT_TOOL::DragArcTrack(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SCH_MOVE_TOOL::getConnectedDragItems(), DIALOG_PIN_PROPERTIES::getSyncPinsMessage(), SYMBOL_EDITOR_DRAWING_TOOLS::Init(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus(), EE_POINT_EDITOR::Main(), SCH_MOVE_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), EDIT_TOOL::MoveExact(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), and DIALOG_SHEET_PROPERTIES::TransferDataToWindow().
bool PAD::IsNoConnectPad | ( | ) | const |
Definition at line 182 of file pad.cpp.
References BOARD_CONNECTED_ITEM::GetShortNetname(), and m_pinType.
Referenced by KIGFX::PCB_PAINTER::draw().
|
inlineoverridevirtual |
Reimplemented from BOARD_ITEM.
Definition at line 242 of file pad.h.
References LSET::AllCuMask(), and GetLayerSet().
Referenced by PCB_EDIT_FRAME::ExchangeFootprint(), and DIALOG_PAD_PROPERTIES::padValuesOK().
|
inlineoverridevirtual |
Test to see if this object is on the given layer.
Virtual so objects like PAD, which reside on multiple layers can do their own form of testing.
aLayer | The layer to test for. |
Reimplemented from BOARD_ITEM.
Definition at line 630 of file pad.h.
References m_layerMask.
Referenced by AR_AUTOPLACER::addPad(), PAD_TOOL::explodePad(), FlashLayer(), DSN::SPECCTRA_DB::makePADSTACK(), PAD_TOOL::RecombinePad(), and ViewGetLayers().
|
inlinevirtualinherited |
Override this method in any derived object that supports test find and replace.
Reimplemented in LIB_TEXTBOX, SCH_FIELD, SCH_LABEL, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TEXT, and SCH_TEXTBOX.
Definition at line 420 of file eda_item.h.
Referenced by EDA_ITEM::Matches().
|
inlineinherited |
Definition at line 110 of file eda_item.h.
References IS_MOVING, IS_ROLLOVER, and EDA_ITEM::m_flags.
Referenced by KIGFX::SCH_PAINTER::draw().
|
inlineinherited |
Definition at line 106 of file eda_item.h.
References EDA_ITEM::m_flags, and SELECTED.
Referenced by ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_FRAME::ConvertPart(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersVertically(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), EDIT_TOOL::doMoveSelection(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), KIGFX::SCH_PAINTER::getLineWidth(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), DIALOG_CHANGE_SYMBOLS::isMatch(), SCH_SCREEN::MarkConnections(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), SCH_MOVE_TOOL::moveItem(), KIGFX::SCH_PAINTER::nonCached(), SCH_MOVE_TOOL::orthoLineDrag(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), BOARD_COMMIT::Push(), EE_SELECTION_TOOL::RebuildSelection(), PCB_SELECTION_TOOL::RebuildSelection(), RENDER_3D_OPENGL::renderFootprint(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::select(), EE_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), KIGFX::SCH_PAINTER::setDeviceColors(), GERBVIEW_SELECTION_TOOL::unselect(), HIERARCHY_PANE::UpdateHierarchySelection(), PCB_BASE_FRAME::UpdateUserUnits(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem().
|
inlineinherited |
|
inlinevirtualinherited |
Reimplemented in PCB_VIA.
Definition at line 133 of file board_item.h.
Referenced by BOARD_INSPECTION_TOOL::InspectClearance(), and DRC_TEST_PROVIDER_SILK_CLEARANCE::Run().
|
inlineoverridevirtual |
Check whether the item is one of the listed types.
aScanTypes | List of item types |
Reimplemented from EDA_ITEM.
Definition at line 85 of file pad.h.
References HasHole(), EDA_ITEM::IsType(), m_attribute, NPTH, PCB_LOCATE_HOLE_T, PCB_LOCATE_NPTH_T, and PCB_LOCATE_PTH_T.
|
inlinestaticinherited |
This changes first parameter to avoid the DList and use the main queue instead.
Definition at line 302 of file eda_item.h.
References CONTINUE, QUIT, and EDA_ITEM::Visit().
Referenced by GERBER_FILE_IMAGE::Visit().
|
inlinestaticinherited |
Change first parameter to avoid the DList and use std::vector instead.
Definition at line 322 of file eda_item.h.
References CONTINUE, QUIT, and EDA_ITEM::Visit().
|
protectedvirtualinherited |
Return a string (to be shown to the user) describing a layer mask.
Reimplemented in PCB_VIA.
Definition at line 106 of file board_item.cpp.
References _, LSET::AllCuMask(), LSET::AllTechMask(), B_Cu, F_Cu, BOARD_ITEM::GetBoard(), BOARD::GetEnabledLayers(), BOARD::GetLayerName(), BOARD_ITEM::GetLayerSet(), PCB_LAYER_ID_COUNT, and PCBNEW_LAYER_ID_START.
Referenced by GetItemDescription(), GetMsgPanelInfo(), and PCB_TRACK::GetMsgPanelInfo().
|
inlinevirtualinherited |
Compare the item against the search criteria in aSearchData.
The base class returns false since many of the objects derived from EDA_ITEM do not have any text to search.
aSearchData | A reference to a wxFindReplaceData object containing the search criteria. |
aAuxData | A pointer to optional data required for the search or NULL if not used. |
Reimplemented in SCH_MARKER, LIB_TEXTBOX, SCH_FIELD, SCH_LABEL_BASE, SCH_PIN, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TEXT, SCH_TEXTBOX, FP_TEXT, FP_TEXTBOX, NETINFO_ITEM, PCB_MARKER, PCB_TEXT, PCB_TEXTBOX, and ZONE.
Definition at line 382 of file eda_item.h.
Referenced by SCH_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SCH_FIND_REPLACE_TOOL::HasMatch(), SCH_MARKER::Matches(), LIB_TEXTBOX::Matches(), SCH_FIELD::Matches(), SCH_LABEL_BASE::Matches(), SCH_PIN::Matches(), SCH_SHEET_PIN::Matches(), SCH_TEXT::Matches(), SCH_TEXTBOX::Matches(), FP_TEXT::Matches(), FP_TEXTBOX::Matches(), NETINFO_ITEM::Matches(), PCB_MARKER::Matches(), PCB_TEXT::Matches(), PCB_TEXTBOX::Matches(), ZONE::Matches(), SCH_FIND_REPLACE_TOOL::ReplaceAndFindNext(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_FIND_REPLACE_TOOL::UpdateFind().
|
protectedinherited |
Compare aText against search criteria in aSearchData.
This is a helper function for simplify derived class logic.
aText | A reference to a wxString object containing the string to test. |
aSearchData | The criteria to search against. |
Definition at line 117 of file eda_item.cpp.
References EDA_SEARCH_DATA::findString, EDA_ITEM::IsReplaceable(), EDA_SEARCH_DATA::matchCase, EDA_SEARCH_DATA::matchMode, next(), EDA_SEARCH_DATA::searchAndReplace, text, WHOLEWORD, and WILDCARD.
void PAD::MergePrimitivesAsPolygon | ( | SHAPE_POLY_SET * | aMergedPolygon, |
ERROR_LOC | aErrorLoc = ERROR_INSIDE |
||
) | const |
Merge all basic shapes to a SHAPE_POLY_SET.
aMergedPolygon | will store the final polygon |
aErrorLoc | is used when a circle (or arc) is approximated by segments = ERROR_INSIDE to build a polygon inside the arc/circle (usual shape to raw/plot) = ERROR_OUIDE to build a polygon outside the arc/circle (for instance when building a clearance area) |
Definition at line 226 of file pad_custom_shape_functions.cpp.
References SHAPE_POLY_SET::AddOutline(), addPadPrimitivesToPolygon(), ARC_HIGH_DEF, CIRCLE, GetAnchorPadShape(), BOARD_ITEM::GetBoard(), BOARD::GetDesignSettings(), GetSize(), BOARD_DESIGN_SETTINGS::m_MaxError, SHAPE_RECT::Outline(), RECT, SHAPE_POLY_SET::RemoveAllContours(), and TransformCircleToPolygon().
Referenced by DSN::SPECCTRA_DB::makePADSTACK(), DIALOG_PAD_PROPERTIES::padValuesOK(), and TransformShapeToPolygon().
|
inlineoverridevirtual |
Move this object.
aMoveVector | the move vector for this object. |
Reimplemented from BOARD_ITEM.
Definition at line 694 of file pad.h.
References m_pos, SetDirty(), and SetLocalCoord().
|
inherited |
Test if another item is less than this object.
aItem | - Item to compare against. |
Definition at line 231 of file eda_item.cpp.
References Format(), and EDA_ITEM::GetClass().
Definition at line 122 of file pad.cpp.
References GetNumber(), GetPadToDieLength(), GetPinFunction(), GetPinType(), GetPos0(), GetPosition(), GetSubRatsnest(), ImportSettingsFrom(), m_effectiveBoundingRadius, m_keepTopBottomLayer, m_removeUnconnectedLayer, EDA_ITEM::operator=(), SetNumber(), SetPadToDieLength(), SetPinFunction(), SetPinType(), SetPos0(), SetPosition(), and SetSubRatsnest().
Referenced by PAD().
|
static |
layer set for a through hole pad
Definition at line 196 of file pad.cpp.
References LSET::AllCuMask(), B_Mask, and F_Mask.
Referenced by ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), FABMASTER::loadFootprints(), PAD(), PAD_TOOL::PlacePad(), and DIALOG_PAD_PROPERTIES::updatePadLayersList().
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Perform a text replace using the find and replace criteria in aSearchData on items that support text find and replace.
This function must be overridden for items that support text replace.
aSearchData | A reference to a wxFindReplaceData object containing the search and replace criteria. |
aAuxData | A pointer to optional data required for the search or NULL if not used. |
Reimplemented in LIB_TEXTBOX, SCH_LABEL_BASE, SCH_PIN, SCH_TEXT, SCH_TEXTBOX, SCH_FIELD, and SCH_SHEET_PIN.
Definition at line 409 of file eda_item.h.
|
staticinherited |
Perform a text replace on aText using the find and replace criteria in aSearchData on items that support text find and replace.
aSearchData | A reference to a wxFindReplaceData object containing the search and replace criteria. |
aText | A reference to a wxString object containing the text to be replaced. |
Definition at line 168 of file eda_item.cpp.
References EDA_SEARCH_DATA::findString, EDA_SEARCH_DATA::matchCase, EDA_SEARCH_DATA::matchMode, next(), EDA_SEARCH_DATA::replaceString, text, and WHOLEWORD.
Referenced by EDA_TEXT::Replace(), SCH_FIELD::Replace(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), and SCH_FIND_REPLACE_TOOL::ReplaceAndFindNext().
void PAD::ReplacePrimitives | ( | const std::vector< std::shared_ptr< PCB_SHAPE > > & | aPrimitivesList | ) |
Clear the current custom shape primitives list and import a new list.
Copies the input, which is not altered.
Definition at line 164 of file pad_custom_shape_functions.cpp.
References AppendPrimitives(), DeletePrimitivesList(), and SetDirty().
Referenced by ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
Rotate this object.
aRotCentre | the rotation center point. |
Reimplemented from BOARD_ITEM.
Definition at line 1215 of file pad.cpp.
References m_orient, m_pos, EDA_ANGLE::Normalize(), RotatePoint(), SetDirty(), and SetLocalCoord().
|
inline |
Before we had custom pad shapes it was common to have multiple overlapping pads to represent a more complex shape.
Definition at line 158 of file pad.h.
References BOARD_ITEM::GetParentFootprint(), and m_number.
|
inlineinherited |
Definition at line 66 of file inspectable.h.
References PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_BASE::set(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 54 of file inspectable.h.
References PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_BASE::set(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 42 of file inspectable.h.
References PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_BASE::setter(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
Referenced by PCB_PROPERTIES_PANEL::valueChanged().
|
inline |
Set the shape of the anchor pad for custom shaped pads.
aShape | is the shape of the anchor pad shape( currently, only PAD_SHAPE::RECT or PAD_SHAPE::CIRCLE. |
Definition at line 233 of file pad.h.
References CIRCLE, m_anchorPadShape, RECT, and SetDirty().
Referenced by ImportSettingsFrom(), PAD(), PCB_PARSER::parsePAD_option(), PAD_TOOL::RecombinePad(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
void PAD::SetAttribute | ( | PAD_ATTRIB | aAttribute | ) |
Definition at line 690 of file pad.cpp.
References m_attribute, m_drill, SetDirty(), and SMD.
Referenced by ImportSettingsFrom(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
|
inlineinherited |
Definition at line 116 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::SetFlags().
Referenced by KIGFX::SCH_PAINTER::draw(), SCH_EDIT_FRAME::FocusOnItem(), PCB_BASE_FRAME::FocusOnItems(), EE_SELECTION_TOOL::highlight(), PL_SELECTION_TOOL::highlight(), PCB_SELECTION_TOOL::highlightInternal(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inline |
Has meaning only for chamfered rectangular pads.
Set the position of the chamfers for orientation 0.
aPositions | a bit-set of RECT_CHAMFER_POSITIONS. |
Definition at line 593 of file pad.h.
References m_chamferPositions.
Referenced by ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
void PAD::SetChamferRectRatio | ( | double | aChamferScale | ) |
Has meaning only for chamfered rectangular pads.
Set the ratio between the smaller X or Y size and chamfered corner size. Cannot be < 0.5.
Definition at line 368 of file pad.cpp.
References m_chamferScale, and SetDirty().
Referenced by ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::OnPadShapeSelection(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
|
inline |
Set the option for the custom pad shape to use as clearance area in copper zones.
aOption | is the clearance area shape CUST_PAD_SHAPE_IN_ZONE option |
Definition at line 222 of file pad.h.
References m_customShapeClearanceArea.
Referenced by ImportSettingsFrom(), PCB_PARSER::parsePAD_option(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
|
inline |
Definition at line 263 of file pad.h.
References m_deltaSize, and SetDirty().
Referenced by ImportSettingsFrom(), mirrorPadX(), mirrorPadY(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
|
inline |
Definition at line 390 of file pad.h.
References m_polyDirty, and m_shapesDirty.
Referenced by AddPrimitive(), AddPrimitiveAnnotationBox(), AddPrimitiveArc(), AddPrimitiveCircle(), AddPrimitiveCurve(), AddPrimitivePoly(), AddPrimitiveRect(), AddPrimitiveSegment(), AppendPrimitives(), DeletePrimitivesList(), Flip(), FlipPrimitives(), ImportSettingsFrom(), Move(), PAD(), ReplacePrimitives(), Rotate(), SetAnchorPadShape(), SetAttribute(), SetChamferRectRatio(), SetDelta(), SetDrawCoord(), SetDrillSize(), SetDrillSizeX(), SetDrillSizeY(), SetOffset(), SetOrientation(), SetPosition(), SetProperty(), SetRoundRectRadiusRatio(), SetShape(), SetSize(), SetSizeX(), SetSizeY(), SetX(), and SetY().
void PAD::SetDrawCoord | ( | ) |
Definition at line 659 of file pad.cpp.
References FOOTPRINT::GetOrientation(), FOOTPRINT::GetPosition(), EDA_ITEM::m_parent, m_pos, m_pos0, RotatePoint(), SetDirty(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
inline |
Definition at line 382 of file pad.h.
References m_drillShape, and m_shapesDirty.
Referenced by ImportSettingsFrom(), PAD(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
|
inline |
Definition at line 266 of file pad.h.
References m_drill, and SetDirty().
Referenced by ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
|
inline |
Definition at line 268 of file pad.h.
References m_drill, SetDirty(), and VECTOR2< T >::x.
Referenced by PAD_DESC::PAD_DESC().
|