![]() |
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 KICAD_T aScanTypes[]) const override |
Check whether the item is one of the listed types. More... | |
FOOTPRINT * | GetParent () const |
bool | IsLocked () const override |
void | ImportSettingsFrom (const PAD &aMasterPad) |
Imports the pad settings from aMasterPad. More... | |
bool | IsFlipped () const |
void | SetName (const wxString &aName) |
Set the pad name (sometimes called pad number, although it can be an array reference like AA12). More... | |
const wxString & | GetName () const |
void | SetPinFunction (const wxString &aName) |
Set the pad function (pin name in schematic) More... | |
const wxString & | GetPinFunction () const |
bool | SameLogicalPadAs (const PAD *other) const |
Before we had custom pad shapes it was common to have multiple overlapping pads to represent a more complex shape. More... | |
void | SetShape (PAD_SHAPE_T aShape) |
Set the new shape of this pad. More... | |
PAD_SHAPE_T | GetShape () const |
void | SetPosition (const wxPoint &aPos) override |
wxPoint | GetPosition () const override |
PAD_SHAPE_T | GetAnchorPadShape () const |
Function GetAnchorPadShape. More... | |
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_T aShape) |
Function SetAnchorPadShape Set the shape of the anchor pad for custm shped pads. More... | |
bool | IsOnCopperLayer () const override |
void | SetY (int y) |
void | SetX (int x) |
void | SetPos0 (const wxPoint &aPos) |
const wxPoint & | GetPos0 () const |
void | SetY0 (int y) |
void | SetX0 (int x) |
void | SetSize (const wxSize &aSize) |
const wxSize & | GetSize () const |
void | SetSizeX (const int aX) |
const int | GetSizeX () const |
void | SetSizeY (const int aY) |
const int | GetSizeY () const |
void | SetDelta (const wxSize &aSize) |
const wxSize & | GetDelta () const |
void | SetDrillSize (const wxSize &aSize) |
const wxSize & | GetDrillSize () const |
void | SetDrillSizeX (const int aX) |
const int | GetDrillSizeX () const |
void | SetDrillSizeY (const int aY) |
const int | GetDrillSizeY () const |
void | SetOffset (const wxPoint &aOffset) |
const wxPoint & | GetOffset () const |
wxPoint | 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< wxPoint > &aPoly, int aThickness, bool aFilled) |
void | AddPrimitiveSegment (const wxPoint &aStart, const wxPoint &aEnd, int aThickness) |
void | AddPrimitiveCircle (const wxPoint &aCenter, int aRadius, int aThickness, bool aFilled) |
void | AddPrimitiveRect (const wxPoint &aStart, const wxPoint &aEnd, int aThickness, bool aFilled) |
void | AddPrimitiveArc (const wxPoint &aCenter, const wxPoint &aStart, int aArcAngle, int aThickness) |
void | AddPrimitiveCurve (const wxPoint &aStart, const wxPoint &aEnd, const wxPoint &aCtrl1, const wxPoint &aCtrl2, int aThickness) |
bool | GetBestAnchorPosition (VECTOR2I &aPos) |
void | MergePrimitivesAsPolygon (SHAPE_POLY_SET *aMergedPolygon, PCB_LAYER_ID aLayer) const |
Merge all basic shapes to a SHAPE_POLY_SET Note: The results are relative to the pad position, orientation 0. 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 wxPoint &aCentre, 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 primites 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 (double aAngle) |
Function SetOrientation sets the rotation angle of the pad. More... | |
void | SetOrientationDegrees (double aOrientation) |
Set orientation in degrees. More... | |
double | GetOrientation () const |
Function GetOrientation returns the rotation angle of the pad in a variety of units (the basic call returns tenths of degrees). More... | |
double | GetOrientationDegrees () const |
double | GetOrientationRadians () 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_ATTR_T aAttribute) |
PAD_ATTR_T | GetAttribute () const |
void | SetProperty (PAD_PROP_T aProperty) |
PAD_PROP_T | 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 |
Function GetLocalClearance returns 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) |
void | TransformShapeWithClearanceToPolygon (SHAPE_POLY_SET &aCornerBuffer, PCB_LAYER_ID aLayer, int aClearanceValue, int aMaxError, ERROR_LOC aErrorLoc, bool ignoreLineWidth=false) const override |
Function TransformShapeWithClearanceToPolygon Convert the pad shape to a closed polygon. More... | |
bool | TransformHoleWithClearanceToPolygon (SHAPE_POLY_SET &aCornerBuffer, int aInflateValue, int aError, ERROR_LOC aErrorLoc) const |
Function TransformHoleWithClearanceToPolygon 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) 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 |
const SHAPE_SEGMENT * | GetEffectiveHoleShape () const |
Function GetEffectiveHoleShape Returns a SHAPE object representing the pad's hole. More... | |
int | GetBoundingRadius () const |
Function GetBoundingRadius returns the radius of a minimum sized circle which fully encloses this pad. More... | |
int | GetLocalClearanceOverrides (wxString *aSource) const override |
Function GetLocalClearanceOverrides returns any local clearance overrides set in the "classic" (ie: pre-rule) system. More... | |
int | GetSolderMaskMargin () const |
Function GetSolderMaskMargin. More... | |
wxSize | GetSolderPasteMargin () const |
Function GetSolderPasteMargin. More... | |
void | SetZoneConnection (ZONE_CONNECTION aType) |
ZONE_CONNECTION | GetZoneConnection () const |
ZONE_CONNECTION | GetEffectiveZoneConnection (wxString *aSource=nullptr) const |
Return the zone connection in effect (either locally overridden or overridden in the parent footprint). More... | |
void | SetThermalSpokeWidth (int aWidth) |
Set the width of the thermal spokes connecting the pad to a zone. More... | |
int | GetThermalSpokeWidth () const |
int | GetEffectiveThermalSpokeWidth (wxString *aSource=nullptr) const |
Return the effective thermal spoke width having resolved any inheritance. More... | |
void | SetThermalGap (int aGap) |
int | GetThermalGap () const |
int | GetEffectiveThermalGap (wxString *aSource=nullptr) const |
Return the effective thermal gap having resolved any inheritance. More... | |
void | SetRoundRectCornerRadius (double aRadius) |
Function SetRoundRectCornerRadius has meaning only for rounded rect pads. More... | |
int | GetRoundRectCornerRadius () const |
wxPoint | ShapePos () const |
void | SetRoundRectRadiusRatio (double aRadiusScale) |
has meaning only for rounded rect pads Set the ratio between the smaller X or Y size and the rounded corner radius. More... | |
double | GetRoundRectRadiusRatio () const |
void | SetChamferRectRatio (double aChamferScale) |
has meaning only for chamfered rect pads Set the ratio between the smaller X or Y size and chamfered corner size. More... | |
double | GetChamferRectRatio () const |
void | SetChamferPositions (int aPositions) |
has meaning only for chamfered rect pads set the position of the chamfers for orientation 0. More... | |
int | GetChamferPositions () const |
int | GetSubRatsnest () const |
Function GetSubRatsnest. More... | |
void | SetSubRatsnest (int aSubRatsnest) |
void | SetRemoveUnconnected (bool aSet) |
Sets the unconnected removal property. More... | |
bool | GetRemoveUnconnected () const |
void | SetKeepTopBottom (bool aSet) |
Sets whether we keep the top and bottom connections even if they are not connected. More... | |
bool | GetKeepTopBottom () 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 aIncludeZones=false) const |
Checks to see whether the pad should be flashed on the specific layer. More... | |
bool | FlashLayer (LSET aLayers, bool aIncludeZones=false) const |
Checks to see if the pad should be flashed to any of the layers in the set. More... | |
bool | HitTest (const wxPoint &aPosition, int aAccuracy=0) const override |
Test if aPosition is contained within or on the bounding box of an item. More... | |
bool | HitTest (const EDA_RECT &aRect, bool aContained, int aAccuracy=0) const override |
Test if aRect intersects or is contained within the bounding box of an item. More... | |
wxString | GetClass () const override |
Return the class name. More... | |
const EDA_RECT | GetBoundingBox () const override |
Function GetBoundingBox The bounding box is cached, so this will be efficient most of the time. More... | |
void | SetDrawCoord () |
More... | |
void | SetLocalCoord () |
More... | |
void | Move (const wxPoint &aMoveVector) override |
Move this object. More... | |
void | Rotate (const wxPoint &aRotCentre, double aAngle) override |
Rotate this object. More... | |
wxString | GetSelectMenuText (EDA_UNITS aUnits) const override |
Return the text to display to be used in the selection clarification context menu when multiple items are found at the current cursor position. More... | |
BITMAP_DEF | GetMenuImage () const override |
Return a pointer to an image to be used in menus. More... | |
wxString | ShowPadShape () const |
Function ShowPadShape. More... | |
wxString | ShowPadAttr () const |
Function ShowPadAttr. More... | |
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 |
Rebuilds 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... | |
virtual void | SwapData (BOARD_ITEM *aImage) override |
Swap data between aItem and aImage. More... | |
bool | IsConnected () const override |
More... | |
NETINFO_ITEM * | GetNet () const |
Function GetNet Returns NET_INFO object for a given item. More... | |
void | SetNet (NETINFO_ITEM *aNetInfo) |
Function SetNet Sets a NET_INFO object for the item. More... | |
int | GetNetCode () const |
Function GetNetCode. More... | |
bool | SetNetCode (int aNetCode, bool aNoAssert) |
Sets net using a net code. More... | |
void | SetNetCode (int aNetCode) |
wxString | GetNetname () const |
Function GetNetname. More... | |
wxString | GetNetnameMsg () const |
Function GetNetnameMsg. More... | |
wxString | GetShortNetname () const |
Function GetShortNetname. More... | |
virtual int | GetOwnClearance (PCB_LAYER_ID aLayer, wxString *aSource=nullptr) const |
Function GetClearance returns an item's "own" clearance in internal units. More... | |
virtual NETCLASS * | GetNetClass () const |
Function GetNetClassPtr returns the NETCLASS for this item. More... | |
virtual NETCLASS * | GetEffectiveNetclass () const |
Function GetEffectiveNetclass returns the NETCLASS for this item, or the default netclass if none is defined. More... | |
virtual wxString | GetNetClassName () const |
Function GetNetClassName returns a pointer to the netclass of the zone. More... | |
void | SetLocalRatsnestVisible (bool aVisible) |
bool | GetLocalRatsnestVisible () const |
void | SetParentGroup (PCB_GROUP *aGroup) |
PCB_GROUP * | GetParentGroup () const |
int | GetX () const |
int | GetY () const |
virtual PCB_LAYER_ID | GetLayer () const |
Return the primary layer this item is on. More... | |
virtual void | SetLayer (PCB_LAYER_ID aLayer) |
Set the layer this item is on. More... | |
virtual BOARD_ITEM * | Duplicate () const |
Create a copy of a of this BOARD_ITEM. More... | |
bool | IsTrack () const |
Test to see if this object is a track or via (or microvia). More... | |
virtual void | SetLocked (bool aLocked) |
Modify the 'lock' status for of the item. More... | |
void | DeleteStructure () |
Delete this object after removing from its parent if it has one. More... | |
void | Move (const VECTOR2I &aMoveVector) |
void | Rotate (const VECTOR2I &aRotCentre, double aAngle) |
void | Flip (const VECTOR2I &aCentre, bool aFlipLeftRight) |
virtual BOARD * | GetBoard () const |
Return the BOARD in which this BOARD_ITEM resides, or NULL if none. More... | |
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 | IsDragging () const |
bool | IsWireImage () const |
bool | IsSelected () const |
bool | IsEntered () const |
bool | IsResized () const |
bool | IsBrightened () const |
void | SetWireImage () |
void | SetSelected () |
void | SetBrightened () |
void | ClearSelected () |
void | ClearBrightened () |
void | SetModified () |
int | GetState (int type) const |
void | SetState (int type, int state) |
STATUS_FLAGS | GetStatus () const |
void | SetStatus (STATUS_FLAGS aStatus) |
void | SetFlags (STATUS_FLAGS aMask) |
void | ClearFlags (STATUS_FLAGS aMask=EDA_ITEM_ALL_FLAGS) |
STATUS_FLAGS | GetFlags () const |
bool | HasFlag (STATUS_FLAGS aFlag) const |
STATUS_FLAGS | GetEditFlags () const |
void | ClearTempFlags () |
void | ClearEditFlags () |
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 const wxPoint | GetFocusPosition () const |
Similar to GetPosition, but allows items to return their visual center rather than their anchor. More... | |
virtual SEARCH_RESULT | Visit (INSPECTOR inspector, void *testData, const KICAD_T scanTypes[]) |
May be re-implemented for each derived class in order to handle all the types given by its member data. More... | |
virtual bool | Matches (const wxFindReplaceData &aSearchData, void *aAuxData) const |
Compare the item against the search criteria in aSearchData. More... | |
virtual bool | Replace (const wxFindReplaceData &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) |
template<typename T > | |
T | Get (PROPERTY_BASE *aProperty) |
template<typename T > | |
boost::optional< T > | Get (const wxString &aProperty) |
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 *padref, const PAD *padcmp) |
Function Compare compares two pads and return 0 if they are equal. More... | |
static wxString | ShowShape (PCB_SHAPE_TYPE_T aShape) |
Convert the enum PCB_SHAPE_TYPE_T integer value to a wxString. More... | |
template<class T > | |
static SEARCH_RESULT | IterateForward (std::deque< T > &aList, INSPECTOR inspector, void *testData, const KICAD_T scanTypes[]) |
This changes first parameter to avoid the DList and use the main queue instead. More... | |
template<class T > | |
static SEARCH_RESULT | IterateForward (std::vector< T > &aList, INSPECTOR inspector, void *testData, const KICAD_T scanTypes[]) |
Change first parameter to avoid the DList and use std::vector instead. More... | |
static bool | Replace (const wxFindReplaceData &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 wxPoint | ZeroOffset |
A value of wxPoint(0,0) which can be passed to the Draw() functions. More... | |
Protected Member Functions | |
virtual wxString | layerMaskDescribe () const |
Return a string (to be shown to the user) describing a layer mask. More... | |
bool | Matches (const wxString &aText, const wxFindReplaceData &aSearchData) const |
Compare aText against search criteria in aSearchData. More... | |
Protected Attributes | |
NETINFO_ITEM * | m_netinfo |
Stores all informations about the net that item belongs to. More... | |
PCB_LAYER_ID | m_layer |
PCB_GROUP * | m_group |
STATUS_FLAGS | m_status |
EDA_ITEM * | m_parent |
Linked list: Link (parent struct) More... | |
bool | m_forceVisible |
STATUS_FLAGS | m_flags |
Private Member Functions | |
void | addPadPrimitivesToPolygon (SHAPE_POLY_SET *aMergedPolygon, PCB_LAYER_ID aLayer, int aError, ERROR_LOC aErrorLoc) const |
PAD::PAD | ( | FOOTPRINT * | parent | ) |
Definition at line 49 of file pcbnew/pad.cpp.
References 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_thermalWidth, m_zoneConnection, PAD_ATTRIB_PTH, PAD_DRILL_SHAPE_CIRCLE, PAD_PROP_NONE, PAD_SHAPE_CIRCLE, PCB_FOOTPRINT_T, PTHMask(), RECT_NO_CHAMFER, SetAnchorPadShape(), SetDirty(), SetDrillShape(), SetProperty(), SetShape(), SetSubRatsnest(), and EDA_ITEM::Type().
Referenced by Clone().
PAD::PAD | ( | const PAD & | aPad | ) |
Definition at line 96 of file pcbnew/pad.cpp.
References GetName(), GetPadToDieLength(), GetPinFunction(), GetPos0(), GetPosition(), GetSubRatsnest(), ImportSettingsFrom(), m_effectiveBoundingRadius, m_keepTopBottomLayer, m_removeUnconnectedLayer, EDA_ITEM::m_Uuid, EDA_ITEM::operator=(), SetName(), SetPadToDieLength(), SetPinFunction(), SetPos0(), SetPosition(), and SetSubRatsnest().
|
private |
Definition at line 178 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, and SHAPE_POLY_SET::Simplify().
Referenced by GetBestAnchorPosition(), and MergePrimitivesAsPolygon().
void PAD::AddPrimitive | ( | PCB_SHAPE * | aPrimitive | ) |
Add item to the custom shape primitives list.
Definition at line 161 of file pad_custom_shape_functions.cpp.
References m_editPrimitives, and SetDirty().
Referenced by AppendPrimitives(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), and PAD_TOOL::recombinePad().
void PAD::AddPrimitiveArc | ( | const wxPoint & | aCenter, |
const wxPoint & | aStart, | ||
int | aArcAngle, | ||
int | aThickness | ||
) |
Definition at line 80 of file pad_custom_shape_functions.cpp.
References m_editPrimitives, S_ARC, PCB_SHAPE::SetAngle(), PCB_SHAPE::SetArcStart(), PCB_SHAPE::SetCenter(), SetDirty(), PCB_SHAPE::SetFilled(), PCB_SHAPE::SetShape(), and PCB_SHAPE::SetWidth().
void PAD::AddPrimitiveCircle | ( | const wxPoint & | aCenter, |
int | aRadius, | ||
int | aThickness, | ||
bool | aFilled | ||
) |
Definition at line 111 of file pad_custom_shape_functions.cpp.
References m_editPrimitives, S_CIRCLE, SetDirty(), PCB_SHAPE::SetEnd(), PCB_SHAPE::SetFilled(), PCB_SHAPE::SetShape(), PCB_SHAPE::SetStart(), and PCB_SHAPE::SetWidth().
void PAD::AddPrimitiveCurve | ( | const wxPoint & | aStart, |
const wxPoint & | aEnd, | ||
const wxPoint & | aCtrl1, | ||
const wxPoint & | aCtrl2, | ||
int | aThickness | ||
) |
Definition at line 95 of file pad_custom_shape_functions.cpp.
References m_editPrimitives, S_CURVE, PCB_SHAPE::SetBezControl1(), PCB_SHAPE::SetBezControl2(), SetDirty(), PCB_SHAPE::SetEnd(), PCB_SHAPE::SetFilled(), PCB_SHAPE::SetShape(), PCB_SHAPE::SetStart(), and PCB_SHAPE::SetWidth().
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 a polygon (outline can have a thickness) a thick segment a filled circle (thickness == 0) or ring a filled rect (thickness == 0) or rectangular outline a arc a bezier curve
Definition at line 39 of file pad_custom_shape_functions.cpp.
References SHAPE_POLY_SET::Append(), SHAPE_POLY_SET::CIterate(), SHAPE_POLY_SET::Fracture(), and SHAPE_POLY_SET::PM_STRICTLY_SIMPLE.
Referenced by MICROWAVE_TOOL::createFootprint().
void PAD::AddPrimitivePoly | ( | const std::vector< wxPoint > & | aPoly, |
int | aThickness, | ||
bool | aFilled | ||
) |
Definition at line 55 of file pad_custom_shape_functions.cpp.
References m_editPrimitives, S_POLYGON, SetDirty(), PCB_SHAPE::SetFilled(), PCB_SHAPE::SetPolyPoints(), PCB_SHAPE::SetShape(), and PCB_SHAPE::SetWidth().
void PAD::AddPrimitiveRect | ( | const wxPoint & | aStart, |
const wxPoint & | aEnd, | ||
int | aThickness, | ||
bool | aFilled | ||
) |
Definition at line 124 of file pad_custom_shape_functions.cpp.
References m_editPrimitives, S_RECT, SetDirty(), PCB_SHAPE::SetEnd(), PCB_SHAPE::SetFilled(), PCB_SHAPE::SetShape(), PCB_SHAPE::SetStart(), and PCB_SHAPE::SetWidth().
void PAD::AddPrimitiveSegment | ( | const wxPoint & | aStart, |
const wxPoint & | aEnd, | ||
int | aThickness | ||
) |
Definition at line 67 of file pad_custom_shape_functions.cpp.
References m_editPrimitives, S_SEGMENT, SetDirty(), PCB_SHAPE::SetEnd(), PCB_SHAPE::SetFilled(), PCB_SHAPE::SetShape(), PCB_SHAPE::SetStart(), and PCB_SHAPE::SetWidth().
|
static |
layer set for an aperture pad
Definition at line 171 of file pcbnew/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 primites list (composed of basic shapes) and add items to the current list.
Copies the input, which is not altered.
Definition at line 151 of file pad_custom_shape_functions.cpp.
References AddPrimitive(), and SetDirty().
Referenced by ReplacePrimitives().
void PAD::BuildEffectivePolygon | ( | ) | const |
Definition at line 482 of file pcbnew/pad.cpp.
References SHAPE_LINE_CHAIN::CPoint(), ERROR_INSIDE, EuclideanNorm(), 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(), TransformShapeWithClearanceToPolygon(), and UNDEFINED_LAYER.
Referenced by GetBoundingRadius(), and GetEffectivePolygon().
void PAD::BuildEffectiveShapes | ( | PCB_LAYER_ID | aLayer | ) | const |
Rebuilds the effective shape cache (and bounding box and radius) for the pad and clears the dirty bit.
Definition at line 310 of file pcbnew/pad.cpp.
References SHAPE_LINE_CHAIN::Append(), SHAPE_POLY_SET::COutline(), SHAPE_LINE_CHAIN::CPoint(), DECIDEG2RAD(), ERROR_INSIDE, GetAnchorPadShape(), BOARD_ITEM::GetBoard(), GetChamferPositions(), GetChamferRectRatio(), BOARD::GetDesignSettings(), BOX2< Vec >::GetHeight(), BOX2< Vec >::GetPosition(), GetRoundRectCornerRadius(), GetShape(), GetSize(), BOX2< Vec >::GetWidth(), 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, Millimeter2iu(), SHAPE_LINE_CHAIN::Move(), PAD_SHAPE_CHAMFERED_RECT, PAD_SHAPE_CIRCLE, PAD_SHAPE_CUSTOM, PAD_SHAPE_OVAL, PAD_SHAPE_RECT, PAD_SHAPE_ROUNDRECT, PAD_SHAPE_T_asString(), PAD_SHAPE_TRAPEZOID, SHAPE_LINE_CHAIN::PointCount(), SHAPE_LINE_CHAIN::Rotate(), RotatePoint(), ShapePos(), TransformRoundChamferedRectToPolygon(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by GetBoundingBox(), GetEffectiveHoleShape(), and GetEffectiveShape().
|
inlinestatic |
|
inlineinherited |
Definition at line 181 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::ClearFlags().
Referenced by GERBVIEW_SELECTION_TOOL::disambiguationMenu(), PCB_BASE_FRAME::FocusOnItem(), SCH_EDIT_FRAME::FocusOnItem(), PL_SELECTION_TOOL::unhighlight(), EE_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlineinherited |
Definition at line 220 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and EDA_ITEM::GetEditFlags().
Referenced by FOOTPRINT::Add(), BOARD::Add(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), PL_DRAWING_TOOLS::PlaceItem(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_BASE_EDIT_FRAME::SaveCopyInUndoList(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
inlineinherited |
Definition at line 202 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(), FOOTPRINT::BuildPolyCourtyards(), EDA_ITEM::ClearBrightened(), EDA_ITEM::ClearEditFlags(), EDA_ITEM::ClearSelected(), EDA_ITEM::ClearTempFlags(), ConvertOutlineToPolygon(), 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(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SCH_ITEM::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_SELECTION_TOOL::ExitGroup(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromLibrary(), EE_SELECTION_TOOL::Main(), EE_SELECTION_TOOL::narrowSelection(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), DRAWING_TOOL::PlaceText(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RebuildSelection(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDITOR_PIN_TOOL::RepeatPin(), SYMBOL_EDIT_FRAME::RollbackSymbolFromUndo(), SCH_EDIT_FRAME::SaveCopyForRepeatItem(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_SEXPR_PLUGIN_CACHE::savePin(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and SCH_DRAWING_TOOLS::TwoClickPlace().
|
inlineinherited |
Definition at line 180 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and SELECTED.
Referenced by POINT_EDITOR::addCorner(), EDIT_TOOL::Duplicate(), ARRAY_CREATOR::Invoke(), LIB_PART::LIB_PART(), EE_TOOL_BASE< SCH_BASE_FRAME >::saveCopyInUndoList(), PL_SELECTION_TOOL::unhighlight(), EE_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and GERBVIEW_SELECTION_TOOL::unselectVisually().
|
inlineinherited |
Definition at line 214 of file eda_item.h.
References CANDIDATE, EDA_ITEM::ClearFlags(), DO_NOT_DRAW, ENDPOINT, IS_LINKED, SKIP_STRUCT, STARTPOINT, and TEMP_SELECTED.
Referenced by SCH_EDIT_FRAME::PutDataInPreviousState().
|
inlineinherited |
Definition at line 148 of file view_item.h.
References KIGFX::VIEW_ITEM::m_viewPrivData.
Referenced by KIGFX::VIEW::OnDestroy().
|
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 1139 of file pcbnew/pad.cpp.
References PAD().
Referenced by ClonePad().
|
inline |
Function Compare compares two pads and return 0 if they are equal.
Definition at line 1001 of file pcbnew/pad.cpp.
References GetDrillShape(), GetShape(), m_deltaSize, m_drill, m_layerMask, m_offset, and m_size.
Referenced by CreatePadsShapesSection().
|
static |
layer set for a SMD pad on Front layer used for edge board connectors
Definition at line 157 of file pcbnew/pad.cpp.
Referenced by DIALOG_PAD_PROPERTIES::updatePadLayersList().
void PAD::DeletePrimitivesList | ( | ) |
clear the basic shapes list
Definition at line 170 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 113 of file board_item.cpp.
References BOARD_ITEM::GetParent(), and BOARD_ITEM_CONTAINER::Remove().
Referenced by BOARD::PadDelete(), and DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow().
|
inlinevirtualinherited |
Create a copy of a of this BOARD_ITEM.
Reimplemented in FOOTPRINT.
Definition at line 202 of file board_item.h.
References EDA_ITEM::Clone(), and EDA_ITEM::m_Uuid.
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::addAttribute(), PCB_GROUP::DeepDuplicate(), KIGFX::PCB_PAINTER::draw(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarText(), EDIT_TOOL::Duplicate(), and ARRAY_CREATOR::Invoke().
bool PAD::FlashLayer | ( | int | aLayer, |
bool | aIncludeZones = false |
||
) | const |
Checks to see whether the pad should be flashed on the specific layer.
aLayer | Layer to check for connectivity |
aIncludeZones | We include zones in potentially connected elements when drawing |
Normally, we don't need to include zones in our flash check because the zones will fill over the hole. But, when we are drawing the pad in pcbnew, it is helpful to show the annular ring where the pad is connected
We don't remove the copper from non-PTH pads
Heatsink pads always get copper
Plated through hole pads need copper on the top/bottom layers for proper soldering Unless the user has removed them in the pad dialog
Definition at line 198 of file pcbnew/pad.cpp.
References B_Cu, F_Cu, GetAttribute(), BOARD_ITEM::GetBoard(), BOARD::GetConnectivity(), GetProperty(), IsOnLayer(), m_keepTopBottomLayer, m_removeUnconnectedLayer, PAD_ATTRIB_PTH, PAD_PROP_HEATSINK, PCB_ARC_T, PCB_FP_ZONE_T, PCB_PAD_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, and UNDEFINED_LAYER.
Referenced by KIGFX::PCB_PAINTER::draw(), FlashLayer(), PNS_KICAD_IFACE::IsFlashedOnLayer(), DIALOG_DRC::OnDRCItemSelected(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), and ViewGetLOD().
bool PAD::FlashLayer | ( | LSET | aLayers, |
bool | aIncludeZones = false |
||
) | const |
Checks 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 |
aIncludeZones | We include zones in potentially connected elements when drawing |
Definition at line 186 of file pcbnew/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 594 of file pcbnew/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(), and SetOrientation().
Referenced by DIALOG_PAD_PROPERTIES::initValues(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inlineinherited |
Definition at line 315 of file board_item.h.
References BOARD_ITEM::Flip(), VECTOR2< T >::x, and VECTOR2< T >::y.
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 653 of file pcbnew/pad.cpp.
References m_editPrimitives, and SetDirty().
Referenced by Flip(), and mirrorPadX().
|
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 CLASS_D_DESC::CLASS_D_DESC(), PCB_EXPR_VAR_REF::GetValue(), and PAD_DESC::PAD_DESC().
|
inlineinherited |
Definition at line 93 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 102 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inline |
Function GetAnchorPadShape.
Definition at line 176 of file pad.h.
References m_anchorPadShape.
Referenced by BuildEffectiveShapes(), PAD_TOOL::explodePad(), PCB_IO::format(), GetBestAnchorPosition(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), MergePrimitivesAsPolygon(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PROPERTIES::transferDataToPad().
|
inline |
Definition at line 359 of file pad.h.
References m_attribute.
Referenced by CN_LIST::Add(), doPushPadProperties(), export_vrml_pad(), FlashLayer(), PCB_IO::format(), GetMsgPanelInfo(), GetSelectMenuText(), getShape(), hasThermalConnection(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), GENERAL_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), isCopper(), isPlated(), PNS::ROUTER::isStartingPointRoutable(), PAD_DESC::PAD_DESC(), PAD_NAMING::PadCanHaveName(), DIALOG_PAD_PROPERTIES::padValuesOK(), BRDITEMS_PLOTTER::PlotPad(), BOARD_INSPECTION_TOOL::reportZoneConnection(), PCB_SELECTION_TOOL::Selectable(), ShowPadAttr(), PNS_KICAD_IFACE_BASE::syncPad(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::transferDataToPad(), and ViewGetLOD().
bool PAD::GetBestAnchorPosition | ( | VECTOR2I & | aPos | ) |
Definition at line 225 of file pad_custom_shape_functions.cpp.
References addPadPrimitivesToPolygon(), SHAPE_POLY_SET::BBox(), SHAPE_POLY_SET::Contains(), SHAPE_POLY_SET::COutline(), SHAPE_LINE_CHAIN::Distance(), ERROR_INSIDE, EuclideanNorm(), GetAnchorPadShape(), BOX2< Vec >::GetHeight(), GetSize(), NULLOPT, SHAPE_POLY_SET::OutlineCount(), PAD_SHAPE_CIRCLE, rescale(), UNDEFINED_LAYER, VECTOR2< T >::x, and VECTOR2< T >::y.
|
virtualinherited |
Return the BOARD in which this BOARD_ITEM resides, or NULL if none.
Definition at line 46 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), NULL, PCB_T, and EDA_ITEM::Type().
Referenced by BuildEffectivePolygon(), BuildEffectiveShapes(), ZONE::BuildSmoothedPoly(), KIGFX::PCB_PAINTER::draw(), exprFromTo(), VIA::FlashLayer(), FlashLayer(), PCB_TEXT::Flip(), TRACK::Flip(), ARC::Flip(), VIA::Flip(), ZONE::Flip(), BOARD_ITEM::GetBoard(), FOOTPRINT::GetBoundingBox(), BOARD_CONNECTED_ITEM::GetEffectiveNetclass(), ZONE::GetInteractingZones(), BOARD_ITEM::GetLayerName(), VIA::GetMinAnnulus(), PCB_DRAW_PANEL_GAL::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), NETINFO_ITEM::GetMsgPanelInfo(), TRACK::GetMsgPanelInfo(), TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetClass(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), BOARD_CONNECTED_ITEM::GetOwnClearance(), ZONE::GetSelectMenuText(), getShape(), FP_TEXT::GetShownText(), GetSolderMaskMargin(), GetSolderPasteMargin(), BOARD::GetTrackLength(), TRACK::GetWidthConstraints(), insideArea(), insideCourtyard(), isDiffPair(), BOARD_ITEM::layerMaskDescribe(), VIA::layerMaskDescribe(), CONVERT_TOOL::makePolysFromCircles(), MergePrimitivesAsPolygon(), EAGLE_PLUGIN::packageWire(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), BOARD::ResolveDRCExclusions(), BOARD_CONNECTED_ITEM::SetNetCode(), ZONE::TransformSmoothedOutlineToPolygon(), ZONE::TransformSolidAreasShapesToPolygon(), TRACK::ViewBBox(), FOOTPRINT::ViewBBox(), and ViewGetLOD().
|
overridevirtual |
Function GetBoundingBox The bounding box is cached, so this will be efficient most of the time.
Reimplemented from EDA_ITEM.
Definition at line 524 of file pcbnew/pad.cpp.
References BuildEffectiveShapes(), m_effectiveBoundingBox, m_shapesDirty, and UNDEFINED_LAYER.
Referenced by AR_AUTOPLACER::addPad(), ZONE_FILLER::buildThermalSpokes(), KIGFX::PCB_PAINTER::draw(), hasThermalConnection(), HitTest(), DSN::SPECCTRA_DB::makePADSTACK(), ViewBBox(), and ViewGetLOD().
int PAD::GetBoundingRadius | ( | ) | const |
Function GetBoundingRadius returns 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 301 of file pcbnew/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 248 of file pad.h.
References GetPosition().
|
inline |
Definition at line 530 of file pad.h.
References m_chamferPositions.
Referenced by BuildEffectiveShapes(), PCB_IO::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DSN::SPECCTRA_DB::makePADSTACK(), BRDITEMS_PLOTTER::PlotPad(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and TransformShapeWithClearanceToPolygon().
|
inline |
Definition at line 522 of file pad.h.
References m_chamferScale.
Referenced by BuildEffectiveShapes(), PCB_IO::format(), ImportSettingsFrom(), DSN::SPECCTRA_DB::makePADSTACK(), DIALOG_PAD_PROPERTIES::OnPadShapeSelection(), BRDITEMS_PLOTTER::PlotPad(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), TransformShapeWithClearanceToPolygon(), and DIALOG_PAD_PROPERTIES::updateRoundRectCornerValues().
|
inlineoverridevirtual |
|
inline |
Definition at line 182 of file pad.h.
References m_customShapeClearanceArea.
Referenced by ZONE_FILLER::addKnockout(), PCB_IO::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 236 of file pad.h.
References m_deltaSize.
Referenced by CreatePadsShapesSection(), export_vrml_padshape(), PCB_IO::format(), hash_fp_item(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DSN::SPECCTRA_DB::makePADSTACK(), mirrorPadX(), AR_MATRIX::PlacePad(), BRDITEMS_PLOTTER::PlotPad(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 342 of file pad.h.
References m_drillShape.
Referenced by Compare(), export_vrml_pad(), PCB_IO::format(), KIGFX::PCB_PAINTER::getDrillShape(), GetMsgPanelInfo(), hash_fp_item(), PNS_PCBNEW_RULE_RESOLVER::holeRadius(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 239 of file pad.h.
References m_drill.
Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), DRC_TEST_PROVIDER_HOLE_SIZE::checkPad(), CreatePadsShapesSection(), BOARD_ADAPTER::createPadWithDrill(), KIGFX::PCB_PAINTER::draw(), export_vrml_pad(), PCB_IO::format(), getDrilledHoleShape(), KIGFX::PCB_PAINTER::getDrillSize(), PNS_PCBNEW_RULE_RESOLVER::holeRadius(), HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), RENDER_3D_RAYTRACE::insertHole(), DSN::isRoundKeepout(), DSN::SPECCTRA_DB::makeIMAGE(), EAGLE_PLUGIN::packagePad(), DIALOG_PAD_PROPERTIES::PadTypeSelected(), DIALOG_PAD_PROPERTIES::padValuesOK(), PAD_TOOL::recombinePad(), DRC_TEST_PROVIDER_HOLE_CLEARANCE::Run(), PNS_KICAD_IFACE_BASE::syncPad(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), TransformHoleWithClearanceToPolygon(), and POINT_EDITOR::updateItem().
|
inline |
Definition at line 241 of file pad.h.
References m_drill.
Referenced by KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), and PAD_DESC::PAD_DESC().
|
inline |
Definition at line 243 of file pad.h.
References m_drill.
Referenced by KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), and PAD_DESC::PAD_DESC().
|
inlineinherited |
Definition at line 206 of file eda_item.h.
References IS_DRAGGED, IS_MOVED, IS_NEW, IS_PASTED, IS_RESIZED, IS_WIRE_IMAGE, 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::EditWithLibEdit(), SCH_COMPONENT::GetMsgPanelInfo(), SELECTION_CONDITIONS::Idle(), SELECTION_CONDITIONS::IdleSelection(), SYMBOL_EDITOR_MOVE_TOOL::Main(), POINT_EDITOR::OnSelectionChange(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), SCH_EDIT_TOOL::Properties(), PAD_TOOL::recombinePad(), SCH_EDIT_FRAME::SchematicCleanUp(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_LABEL_EDITOR::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), and SCH_EDIT_FRAME::TrimWire().
const SHAPE_SEGMENT * PAD::GetEffectiveHoleShape | ( | ) | const |
Function GetEffectiveHoleShape Returns a SHAPE object representing the pad's hole.
Definition at line 292 of file pcbnew/pad.cpp.
References BuildEffectiveShapes(), m_effectiveHoleShape, m_shapesDirty, and UNDEFINED_LAYER.
Referenced by BOARD_ADAPTER::createPadWithDrill(), KIGFX::PCB_PAINTER::draw(), getShape(), insideArea(), DIALOG_PAD_PROPERTIES::padValuesOK(), PNS_KICAD_IFACE_BASE::syncPad(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), and TransformHoleWithClearanceToPolygon().
|
virtualinherited |
Function GetEffectiveNetclass returns the NETCLASS for this item, or the default netclass if none is defined.
Note: do NOT return a std::shared_ptr from this. It is used heavily in DRC, and the std::shared_ptr stuff shows up large in performance profiling.
Definition at line 67 of file board_connected_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_DESIGN_SETTINGS::GetDefault(), BOARD::GetDesignSettings(), BOARD_CONNECTED_ITEM::GetNetClass(), NETINFO_ITEM::GetNetCode(), and BOARD_CONNECTED_ITEM::m_netinfo.
const std::shared_ptr< SHAPE_POLY_SET > & PAD::GetEffectivePolygon | ( | ) | const |
Definition at line 274 of file pcbnew/pad.cpp.
References BuildEffectivePolygon(), m_effectivePolygon, and m_polyDirty.
Referenced by BOARD_ADAPTER::buildPadOutlineAsPolygon(), BOARD_ADAPTER::buildPadOutlineAsSegments(), CN_ITEM::GetAnchor(), HitTest(), BRDITEMS_PLOTTER::PlotPad(), and PNS_KICAD_IFACE_BASE::syncPad().
|
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 | in case of items spanning multiple layers, only the shapes belonging to aLayer will be returned. Pass UNDEFINED_LAYER to return shapes for all layers. |
Reimplemented from BOARD_ITEM.
Definition at line 283 of file pcbnew/pad.cpp.
References BuildEffectiveShapes(), m_effectiveShape, and m_shapesDirty.
Referenced by BOARD_ADAPTER::createPadWithClearance(), KIGFX::PCB_PAINTER::draw(), and PNS_KICAD_IFACE_BASE::syncPad().
int PAD::GetEffectiveThermalGap | ( | wxString * | aSource = nullptr | ) | const |
Return the effective thermal gap having resolved any inheritance.
Definition at line 838 of file pcbnew/pad.cpp.
References _, GetParent(), FOOTPRINT::GetThermalGap(), and m_thermalGap.
Referenced by ZONE::GetThermalReliefGap().
int PAD::GetEffectiveThermalSpokeWidth | ( | wxString * | aSource = nullptr | ) | const |
Return the effective thermal spoke width having resolved any inheritance.
Definition at line 819 of file pcbnew/pad.cpp.
References _, GetParent(), FOOTPRINT::GetThermalWidth(), and m_thermalWidth.
Referenced by ZONE::GetThermalReliefSpokeWidth().
ZONE_CONNECTION PAD::GetEffectiveZoneConnection | ( | wxString * | aSource = nullptr | ) | const |
Return the zone connection in effect (either locally overridden or overridden in the parent footprint).
Optionally reports on the source of the property (pad, parent footprint or zone).
Definition at line 798 of file pcbnew/pad.cpp.
References _, GetParent(), FOOTPRINT::GetZoneConnection(), INHERITED, and m_zoneConnection.
Referenced by PCB_IO::format(), ZONE::GetPadConnection(), ImportSettingsFrom(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inlineinherited |
Definition at line 203 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by BACK_ANNOTATE::applyChangelist(), ConvertOutlineToPolygon(), SCH_EDIT_FRAME::ConvertPart(), KIGFX::SCH_PAINTER::draw(), DRC_ENGINE::EvalRulesForItems(), PCB_SELECTION_TOOL::expandConnection(), insideArea(), BOARD_INSPECTION_TOOL::InspectConstraints(), LIB_PART::LIB_PART(), DIALOG_DRC::OnDRCItemSelected(), LIB_PART::operator=(), SCH_EDIT_FRAME::SaveCopyInUndoList(), SCH_EDIT_FRAME::SchematicCleanUp(), SCH_EDIT_FRAME::SelectUnit(), WS_DATA_ITEM::SyncDrawItems(), WS_DATA_ITEM_POLYGONS::SyncDrawItems(), WS_DATA_ITEM_TEXT::SyncDrawItems(), WS_DATA_ITEM_BITMAP::SyncDrawItems(), 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 TRACK.
Definition at line 307 of file eda_item.h.
References EDA_ITEM::GetPosition().
Referenced by PCB_BASE_FRAME::FocusOnItem(), and SCH_EDIT_FRAME::FocusOnItem().
|
inline |
Definition at line 551 of file pad.h.
References m_keepTopBottomLayer.
Referenced by PCB_IO::format(), DIALOG_PAD_PROPERTIES::initValues(), DIALOG_PAD_PROPERTIES::OnUpdateUI(), DIALOG_PAD_PROPERTIES::PadTypeSelected(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inlinevirtualinherited |
Return the primary layer this item is on.
Reimplemented in ZONE.
Definition at line 173 of file board_item.h.
References BOARD_ITEM::m_layer.
Referenced by CN_LIST::Add(), BOARD_ADAPTER::addFootprintShapesWithClearance(), GRAPHICS_CLEANER::areEquivalent(), BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), BOARD_ITEM_DESC::BOARD_ITEM_DESC(), AR_AUTOPLACER::buildFpAreas(), TRACKS_CLEANER::cleanup(), CreateBoardSection(), MICROWAVE_TOOL::createMicrowaveInductor(), PCB_BASE_FRAME::CreateNewFootprint(), CreateRoutesSection(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_GRAPHIC_ITEM_PROPERTIES::DIALOG_GRAPHIC_ITEM_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), KIGFX::PCB_PAINTER::draw(), PCB_EDIT_FRAME::ExchangeFootprint(), export_vrml_drawsegment(), export_vrml_footprint(), export_vrml_fp_shape(), export_vrml_fp_text(), export_vrml_pcbtext(), export_vrml_tracks(), extractDiffPairCoupledItems(), EDIT_TOOL::FilletTracks(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), FP_SHAPE::Flip(), TRACK::Flip(), FP_TEXT::Flip(), DIMENSION_BASE::Flip(), FOOTPRINT::Flip(), ARC::Flip(), PCB_SHAPE::Flip(), FOOTPRINT_DESC::FOOTPRINT_DESC(), PCB_IO::FootprintSave(), FootprintWriteShape(), PCB_IO::format(), PCB_IO::formatLayer(), FP_TEXT::FP_TEXT(), DSN::SPECCTRA_DB::FromBOARD(), AR_AUTOPLACER::genModuleOnRoutingMatrix(), FOOTPRINT::GetBoundingBox(), ZONE::GetLayer(), getMatchingTextItem(), TRACK::GetMsgPanelInfo(), VIA::GetMsgPanelInfo(), GetMsgPanelInfo(), AR_AUTOPLACER::getOptimalFPPlacement(), BOARD::GetPad(), TEXT_MOD_GRID_TABLE::GetValueAsLong(), TRACK::GetWidthConstraints(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), idf_export_footprint(), GENERAL_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), IsFlipped(), PNS_KICAD_IFACE::IsItemVisible(), BOARD_ITEM::IsOnCopperLayer(), FP_SHAPE::IsParentFlipped(), FP_TEXT::IsParentFlipped(), itemIsIncludedByFilter(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), DIALOG_FOOTPRINT_FP_EDITOR::OnAddField(), DIALOG_FOOTPRINT_PROPERTIES::OnAddField(), TRACK::cmp_tracks::operator()(), PCB_SHAPE::cmp_drawings::operator()(), BOARD_ITEM::ptr_cmp::operator()(), FOOTPRINT::cmp_drawings::operator()(), EAGLE_PLUGIN::packagePad(), BRDITEMS_PLOTTER::PlotBoardGraphicItems(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotFootprintGraphicItems(), BRDITEMS_PLOTTER::PlotFootprintTextItems(), BRDITEMS_PLOTTER::PlotPcbShape(), BRDITEMS_PLOTTER::PlotPcbTarget(), BRDITEMS_PLOTTER::PlotPcbText(), CONVERT_TOOL::PolyToLines(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), processTextItem(), PAD_TOOL::recombinePad(), CLIPBOARD_IO::SaveSelection(), CONVERT_TOOL::SegmentToArc(), PCB_SELECTION_TOOL::Selectable(), TEXT_MOD_GRID_TABLE::SetValueAsLong(), GLOBAL_EDIT_TOOL::swapBoardItem(), PNS_KICAD_IFACE_BASE::syncArc(), PNS_KICAD_IFACE_BASE::syncGraphicalItem(), PNS_KICAD_IFACE_BASE::syncTrack(), AR_AUTOPLACER::testFootprintOnBoard(), TRACK_VIA_DESC::TRACK_VIA_DESC(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_DIMENSION_PROPERTIES::TransferDataToWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), BOARD_ADAPTER::transformFPShapesToPolygon(), FOOTPRINT::TransformFPShapesWithClearanceToPolygon(), TRACK::ViewGetLayers(), FP_TEXT::ViewGetLayers(), FP_TEXT::ViewGetLOD(), FP_ZONE::ViewGetLOD(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inherited |
Return the name of the PCB layer on which the item resides.
Definition at line 60 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD::GetLayerName(), BOARD::GetStandardLayerName(), and BOARD_ITEM::m_layer.
Referenced by PCB_TEXT::GetMsgPanelInfo(), PCB_TARGET::GetMsgPanelInfo(), FP_TEXT::GetMsgPanelInfo(), DIMENSION_BASE::GetMsgPanelInfo(), PCB_SHAPE::GetMsgPanelInfo(), LEADER::GetMsgPanelInfo(), PCB_TEXT::GetSelectMenuText(), FP_SHAPE::GetSelectMenuText(), TRACK::GetSelectMenuText(), DIMENSION_BASE::GetSelectMenuText(), PCB_SHAPE::GetSelectMenuText(), PCB_TEXT::GetShownText(), TEXT_MOD_GRID_TABLE::GetValue(), and FOOTPRINT::ResolveTextVar().
|
inlineoverridevirtual |
Return a std::bitset of all layers on which the item physically resides.
Reimplemented from BOARD_ITEM.
Definition at line 356 of file pad.h.
References m_layerMask.
Referenced by CN_LIST::Add(), CreatePadsShapesSection(), doPushPadProperties(), PAD_TOOL::explodePad(), export_vrml_pad(), PCB_IO::format(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), BOARD::GetPad(), HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), IsOnCopperLayer(), DSN::isRoundKeepout(), DSN::SPECCTRA_DB::makeIMAGE(), DSN::SPECCTRA_DB::makePADSTACK(), DIALOG_PAD_PROPERTIES::OnUpdateUI(), DIALOG_PAD_PROPERTIES::OnUpdateUINonCopperWarning(), EAGLE_PLUGIN::packagePad(), EAGLE_PLUGIN::packageSMD(), DIALOG_PAD_PROPERTIES::padValuesOK(), ALTIUM_PCB::ParsePads6Data(), AR_MATRIX::PlacePad(), PAD_TOOL::recombinePad(), PCB_SELECTION_TOOL::Selectable(), PNS_KICAD_IFACE_BASE::syncPad(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and ViewGetLOD().
|
overridevirtual |
Function GetLocalClearance returns 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 692 of file pcbnew/pad.cpp.
References _, Format(), GetName(), and m_localClearance.
Referenced by PCB_IO::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 375 of file pad.h.
References m_localClearance.
Referenced by GetLocalClearanceOverrides(), and PAD_DESC::PAD_DESC().
|
overridevirtual |
Function GetLocalClearanceOverrides returns 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 678 of file pcbnew/pad.cpp.
References FOOTPRINT::GetLocalClearance(), GetLocalClearance(), and GetParent().
|
inlineinherited |
Definition at line 204 of file board_connected_item.h.
References BOARD_CONNECTED_ITEM::m_localRatsnestVisible.
Referenced by PCB_EDIT_FRAME::ExchangeFootprint().
|
inline |
Definition at line 371 of file pad.h.
References m_localSolderMaskMargin.
Referenced by PCB_IO::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 378 of file pad.h.
References m_localSolderPasteMargin.
Referenced by PCB_IO::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 381 of file pad.h.
References m_localSolderPasteMarginRatio.
Referenced by PCB_IO::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
overridevirtual |
Return a pointer to an image to be used in menus.
The default version returns the right arrow image. Override this function to provide object specific menu images.
Reimplemented from EDA_ITEM.
Definition at line 1133 of file pcbnew/pad.cpp.
References pad_xpm.
|
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 857 of file pcbnew/pad.cpp.
References _, Format(), GetAttribute(), GetDrillShape(), BOARD_ITEM::GetLayer(), GetName(), BOARD_CONNECTED_ITEM::GetNetClass(), BOARD_CONNECTED_ITEM::GetNetname(), FOOTPRINT::GetOrientationDegrees(), GetOrientationDegrees(), BOARD_CONNECTED_ITEM::GetOwnClearance(), GetPadToDieLength(), GetPinFunction(), GetProperty(), FOOTPRINT::GetReference(), GetShape(), EDA_BASE_FRAME::GetUserUnits(), BOARD_ITEM::layerMaskDescribe(), m_drill, m_name, EDA_ITEM::m_parent, m_size, MessageTextFromValue(), NormalizeAngleDegrees(), PAD_ATTRIB_CONN, PAD_ATTRIB_SMD, PAD_DRILL_SHAPE_CIRCLE, PAD_PROP_BGA, PAD_PROP_CASTELLATED, PAD_PROP_FIDUCIAL_GLBL, PAD_PROP_FIDUCIAL_LOCAL, PAD_PROP_HEATSINK, PAD_PROP_NONE, PAD_PROP_TESTPOINT, PAD_SHAPE_CIRCLE, PAD_SHAPE_OVAL, ShowPadAttr(), ShowPadShape(), and UnescapeString().
|
inline |
Definition at line 130 of file pad.h.
References m_name.
Referenced by FROM_TO_CACHE::cacheFromToPaths(), DIALOG_TRACK_VIA_PROPERTIES::confirmPadChange(), KIGFX::PCB_PAINTER::draw(), PCB_IO::format(), PLACE_FILE_EXPORTER::GenReportData(), GetLocalClearance(), GetMsgPanelInfo(), GetSelectMenuText(), DIALOG_PAD_PROPERTIES::initValues(), CADSTAR_PCB_ARCHIVE_LOADER::loadComponents(), DSN::SPECCTRA_DB::makeIMAGE(), EDA_3D_CANVAS::OnMouseMove(), FOOTPRINT::cmp_pads::operator()(), operator=(), PAD(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::PadTypeSelected(), BRDITEMS_PLOTTER::PlotPad(), PCB_BASE_FRAME::ShowPadPropertiesDialog(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and ViewGetLayers().
|
inlineinherited |
Function GetNet Returns NET_INFO object for a given item.
Definition at line 81 of file board_connected_item.h.
References BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by PNS_PCBNEW_RULE_RESOLVER::DpNetPair(), EDIT_TOOL::FilletTracks(), EDA_3D_CANVAS::OnMouseMove(), BOARD_EDITOR_CONTROL::RepairBoard(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow().
|
virtualinherited |
Function GetNetClassPtr returns the NETCLASS for this item.
Note: do NOT return a std::shared_ptr from this. It is used heavily in DRC, and the std::shared_ptr stuff shows up large in performance profiling.
Reimplemented in ZONE.
Definition at line 107 of file board_connected_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_DESIGN_SETTINGS::GetDefault(), BOARD::GetDesignSettings(), NETINFO_ITEM::GetNetClass(), and BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by EDIT_TOOL::ChangeTrackWidth(), DRAWING_TOOL::DrawVia(), VIA::GetDrillValue(), BOARD_CONNECTED_ITEM::GetEffectiveNetclass(), BOARD_INSPECTION_TOOL::getItemDescription(), GetMsgPanelInfo(), TRACK::GetMsgPanelInfoBase_Common(), ZONE::GetNetClass(), PCB_EDIT_FRAME::SetTrackSegmentWidth(), and DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow().
|
virtualinherited |
Function GetNetClassName returns a pointer to the netclass of the zone.
If the net is not found (can happen when a netlist is reread, and the net name does not exist, return the default net class (should not return a null pointer).
Reimplemented in ZONE.
Definition at line 116 of file board_connected_item.cpp.
References NETINFO_ITEM::GetNetClassName(), and BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), ZONE::GetNetClassName(), main(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem().
|
inlineinherited |
Function GetNetCode.
Definition at line 99 of file board_connected_item.h.
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(), BOARD::CombineAllZonesInNet(), connectedItemFilter(), CreateRoutesSection(), KIGFX::PCB_PAINTER::draw(), DRAWING_TOOL::DrawVia(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), ZONE_FILLER::Fill(), PNS::NODE::FindItemByParent(), PCB_IO::format(), DSN::SPECCTRA_DB::FromBOARD(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), CONNECTIVITY_DATA::GetConnectedItems(), ZONE::GetInteractingZones(), TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), hash_fp_item(), hasThermalConnection(), BOARD_INSPECTION_TOOL::highlightNet(), DIALOG_PAD_PROPERTIES::initValues(), BOARD_INSPECTION_TOOL::InspectClearance(), CONNECTIVITY_DATA::IsConnectedOnLayer(), ZONE::IsIsland(), ZONE::IsSame(), DSN::SPECCTRA_DB::makeIMAGE(), AR_AUTOPLACER::nearestPad(), ROUTER_TOOL::NeighboringSegmentFilter(), CN_ITEM::Net(), BOARD::NormalizeAreaPolygon(), BOARD::OnAreaPolygonModified(), TRACK::cmp_tracks::operator()(), ZONE_SETTINGS::operator<<(), DIALOG_PAD_PROPERTIES::PadTypeSelected(), process(), BOARD_EDITOR_CONTROL::RepairBoard(), PCB_SELECTION_CONDITIONS::sameNetFunc(), SaveCopyOfZones(), PCB_SELECTION_TOOL::selectNet(), ZONE_FILLER::subtractHigherPriorityZones(), PNS_KICAD_IFACE_BASE::syncArc(), PNS_KICAD_IFACE_BASE::syncPad(), PNS_KICAD_IFACE_BASE::syncTrack(), PNS_KICAD_IFACE_BASE::syncVia(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), BOARD::TestZoneIntersections(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZones(), BOARD::TracksInNet(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and BOARD_EDITOR_CONTROL::ZoneMerge().
|
inlineinherited |
Function GetNetname.
Definition at line 124 of file board_connected_item.h.
References NETINFO_ITEM::GetNetname(), and BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), FROM_TO_CACHE::cacheFromToPaths(), KIGFX::PCB_PAINTER::draw(), PCB_IO::format(), DSN::SPECCTRA_DB::FromBOARD(), ZONE::GetMsgPanelInfo(), GetMsgPanelInfo(), TRACK::GetMsgPanelInfoBase_Common(), BOARD_NETLIST_UPDATER::getNetname(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), CN_CLUSTER::OriginNetName(), BRDITEMS_PLOTTER::PlotFilledAreas(), BRDITEMS_PLOTTER::PlotPad(), PlotStandardLayer(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem().
|
inherited |
Function GetNetnameMsg.
Definition at line 125 of file board_connected_item.cpp.
References _, BOARD_ITEM::GetBoard(), BOARD_CONNECTED_ITEM::GetNetCode(), BOARD_CONNECTED_ITEM::GetNetname(), and UnescapeString().
Referenced by TRACK::GetSelectMenuText(), VIA::GetSelectMenuText(), and ZONE::GetSelectMenuText().
|
inline |
Definition at line 246 of file pad.h.
References m_offset.
Referenced by CreatePadsShapesSection(), PCB_IO::format(), hash_fp_item(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DSN::SPECCTRA_DB::makePADSTACK(), mirrorPadX(), DIALOG_PAD_PROPERTIES::OnOffsetCheckbox(), PNS_KICAD_IFACE_BASE::syncPad(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and POINT_EDITOR::updateItem().
|
inline |
Function GetOrientation returns the rotation angle of the pad in a variety of units (the basic call returns tenths of degrees).
Definition at line 337 of file pad.h.
References m_orient.
Referenced by doPushPadProperties(), PAD_TOOL::explodePad(), export_vrml_pad(), export_vrml_padshape(), Flip(), PCB_IO::format(), CN_ITEM::GetAnchor(), hash_fp_item(), HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), RENDER_3D_RAYTRACE::insertHole(), POINT_EDITOR::makePoints(), mirrorPadX(), AR_MATRIX::PlacePad(), BRDITEMS_PLOTTER::PlotPad(), PAD_TOOL::recombinePad(), DIALOG_PAD_PROPERTIES::redraw(), PNS_KICAD_IFACE_BASE::syncPad(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), POINT_EDITOR::updateItem(), and POINT_EDITOR::updatePoints().
|
inline |
Definition at line 338 of file pad.h.
References m_orient.
Referenced by GetMsgPanelInfo(), DSN::SPECCTRA_DB::makeIMAGE(), and PAD_DESC::PAD_DESC().
|
inline |
|
virtualinherited |
Function GetClearance returns an item's "own" clearance in internal units.
aLayer | the layer in question |
aSource | [out] optionally reports the source as a user-readable string |
Definition at line 81 of file board_connected_item.cpp.
References CLEARANCE_CONSTRAINT, BOARD_ITEM::GetBoard(), BOARD::GetDesignSettings(), DRC_CONSTRAINT::GetName(), MINOPTMAX< T >::HasMin(), BOARD_DESIGN_SETTINGS::m_DRCEngine, MINOPTMAX< T >::Min(), and DRC_CONSTRAINT::Value().
Referenced by KIGFX::PCB_PAINTER::draw(), ZONE::GetMsgPanelInfo(), TRACK::GetMsgPanelInfo(), VIA::GetMsgPanelInfo(), and GetMsgPanelInfo().
|
inline |
Definition at line 369 of file pad.h.
References m_lengthPadToDie.
Referenced by PCB_IO::format(), GetMsgPanelInfo(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DIALOG_PAD_PROPERTIES::OnPadToDieCheckbox(), operator=(), PAD(), PAD_DESC::PAD_DESC(), PNS_KICAD_IFACE_BASE::syncPad(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
FOOTPRINT * PAD::GetParent | ( | void | ) | const |
Definition at line 1296 of file pcbnew/pad.cpp.
References EDA_ITEM::m_parent.
Referenced by FROM_TO_CACHE::cacheFromToPaths(), DIALOG_TRACK_VIA_PROPERTIES::confirmPadChange(), GERBER_WRITER::createDrillFile(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), doPushPadProperties(), GetEffectiveThermalGap(), GetEffectiveThermalSpokeWidth(), GetEffectiveZoneConnection(), GetLocalClearanceOverrides(), GetSelectMenuText(), GetSolderMaskMargin(), GetSolderPasteMargin(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), IsFlipped(), IsLocked(), PAD(), BRDITEMS_PLOTTER::PlotPad(), PAD_TOOL::pushPadSettings(), SameLogicalPadAs(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), EAGLE_PLUGIN::transferPad(), POINT_EDITOR::updatePoints(), and ViewGetLayers().
|
inlineinherited |
Definition at line 93 of file board_item.h.
References BOARD_ITEM::m_group.
Referenced by PCB_GROUP::AddItem(), PCB_EDIT_FRAME::ExchangeFootprint(), BOARD::GroupsSanityCheckInternal(), memberOf(), PCB_CONTROL::placeBoardItems(), EDIT_TOOL::Remove(), GROUP_TOOL::RemoveFromGroup(), PCB_GROUP::TopLevelGroup(), DIALOG_GROUP_PROPERTIES::TransferDataFromWindow(), and PCB_GROUP::WithinScope().
|
inline |
Definition at line 136 of file pad.h.
References m_pinFunction.
Referenced by PCB_EDIT_FRAME::ExchangeFootprint(), PCB_IO::format(), GetMsgPanelInfo(), BOARD_NETLIST_UPDATER::getPinFunction(), operator=(), PAD(), and BRDITEMS_PLOTTER::PlotPad().
|
inline |
Definition at line 223 of file pad.h.
References m_pos0.
Referenced by MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createPolygonShape(), PCB_IO::format(), hash_fp_item(), DSN::SPECCTRA_DB::makeIMAGE(), operator=(), PAD(), and PCB_PARSER::parseFOOTPRINT_unchecked().
|
inlineoverridevirtual |
Reimplemented from EDA_ITEM.
Definition at line 170 of file pad.h.
References m_pos.
Referenced by DRC_TEST_PROVIDER_HOLE_SIZE::checkPad(), AR_AUTOPLACER::computePlacementRatsnestCost(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), BOARD_ADAPTER::createPadWithDrill(), PAD_TOOL::explodePad(), export_vrml_pad(), CN_ITEM::GetAnchor(), GetCenter(), getDrilledHoleShape(), BOARD::GetPad(), FOOTPRINT::GetTopLeftPad(), hash_fp_item(), HitTest(), DIALOG_PAD_PROPERTIES::initValues(), RENDER_3D_RAYTRACE::insertHole(), mirrorPadX(), AR_AUTOPLACER::nearestPad(), operator=(), PAD(), DIALOG_PAD_PROPERTIES::prepareCanvas(), PAD_TOOL::recombinePad(), DIALOG_PAD_PROPERTIES::redraw(), CLIPBOARD_IO::SaveSelection(), PCB_SELECTION_TOOL::selectConnectedTracks(), sortPadsByXthenYCoord(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and POINT_EDITOR::updateItem().
|
inline |
Accessor to the basic shape list for custom-shaped pads.
Definition at line 289 of file pad.h.
References m_editPrimitives.
Referenced by PAD_TOOL::explodePad(), PCB_IO::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 362 of file pad.h.
References m_property.
Referenced by GERBER_WRITER::createDrillFile(), FlashLayer(), PCB_IO::format(), GetMsgPanelInfo(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::padValuesOK(), and BRDITEMS_PLOTTER::PlotPad().
|
inline |
Definition at line 545 of file pad.h.
References m_removeUnconnectedLayer.
Referenced by PCB_IO::format(), DIALOG_PAD_PROPERTIES::initValues(), DIALOG_PAD_PROPERTIES::OnUpdateUI(), DIALOG_PAD_PROPERTIES::PadTypeSelected(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
int PAD::GetRoundRectCornerRadius | ( | ) | const |
Definition at line 243 of file pcbnew/pad.cpp.
References KiROUND(), m_roundedCornerScale, and m_size.
Referenced by BuildEffectiveShapes(), CreatePadsShapesSection(), export_vrml_padshape(), DSN::SPECCTRA_DB::makePADSTACK(), DIALOG_PAD_PROPERTIES::onCornerSizePercentChange(), BRDITEMS_PLOTTER::PlotPad(), TransformShapeWithClearanceToPolygon(), and DIALOG_PAD_PROPERTIES::updateRoundRectCornerValues().
|
inline |
Definition at line 514 of file pad.h.
References m_roundedCornerScale.
Referenced by PCB_IO::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DIALOG_PAD_PROPERTIES::onCornerRadiusChange(), DIALOG_PAD_PROPERTIES::OnPadShapeSelection(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PROPERTIES::updateRoundRectCornerValues().
|
overridevirtual |
Return the text to display to be used in the selection clarification context menu when multiple items are found at the current cursor position.
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 1098 of file pcbnew/pad.cpp.
References _, Format(), GetAttribute(), GetName(), GetParent(), BOARD_ITEM::layerMaskDescribe(), PAD_ATTRIB_CONN, and PAD_ATTRIB_SMD.
|
inline |
Definition at line 162 of file pad.h.
References m_padShape.
Referenced by ZONE_FILLER::addKnockout(), BuildEffectiveShapes(), BOARD_ADAPTER::buildPadOutlineAsPolygon(), BOARD_ADAPTER::buildPadOutlineAsSegments(), Compare(), CreatePadsShapesSection(), BOARD_ADAPTER::createPadWithClearance(), doPushPadProperties(), KIGFX::PCB_PAINTER::draw(), PAD_TOOL::explodePad(), export_vrml_padshape(), PCB_IO::format(), CN_ITEM::GetAnchor(), GetMsgPanelInfo(), hash_fp_item(), HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DSN::isRoundKeepout(), DSN::SPECCTRA_DB::makePADSTACK(), POINT_EDITOR::makePoints(), mirrorPadX(), DIALOG_PAD_PROPERTIES::onCornerRadiusChange(), DIALOG_PAD_PROPERTIES::onCornerSizePercentChange(), EAGLE_PLUGIN::packagePad(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::padValuesOK(), GPCB_FPL_CACHE::parseFOOTPRINT(), AR_MATRIX::PlacePad(), BRDITEMS_PLOTTER::PlotPad(), PAD_TOOL::recombinePad(), ShowPadShape(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::transferDataToPad(), TransformShapeWithClearanceToPolygon(), POINT_EDITOR::updateItem(), POINT_EDITOR::updatePoints(), and DIALOG_PAD_PROPERTIES::updateRoundRectCornerValues().
|
inlineinherited |
Function GetShortNetname.
Definition at line 140 of file board_connected_item.h.
References NETINFO_ITEM::GetShortNetname(), and BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by KIGFX::PCB_PAINTER::draw().
|
inline |
Definition at line 229 of file pad.h.
References m_size.
Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), BuildEffectiveShapes(), BOARD_ADAPTER::buildPadOutlineAsPolygon(), BOARD_ADAPTER::buildPadOutlineAsSegments(), MICROWAVE_TOOL::createFootprint(), CreatePadsShapesSection(), BOARD_ADAPTER::createPadWithClearance(), KIGFX::PCB_PAINTER::draw(), export_vrml_padshape(), PCB_IO::format(), CN_ITEM::GetAnchor(), GetBestAnchorPosition(), hash_fp_item(), HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DSN::isRoundKeepout(), DSN::SPECCTRA_DB::makePADSTACK(), POINT_EDITOR::makePoints(), MergePrimitivesAsPolygon(), EAGLE_PLUGIN::packagePad(), DIALOG_PAD_PROPERTIES::padValuesOK(), GPCB_FPL_CACHE::parseFOOTPRINT(), AR_MATRIX::PlacePad(), BRDITEMS_PLOTTER::PlotPad(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::transferDataToPad(), EAGLE_PLUGIN::transferPad(), and POINT_EDITOR::updatePoints().
|
inline |
Definition at line 231 of file pad.h.
References m_size.
Referenced by KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), and PAD_DESC::PAD_DESC().
|
inline |
Definition at line 233 of file pad.h.
References m_size.
Referenced by KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), and PAD_DESC::PAD_DESC().
int PAD::GetSolderMaskMargin | ( | ) | const |
Function GetSolderMaskMargin.
Definition at line 703 of file pcbnew/pad.cpp.
References LSET::AllCuMask(), BOARD_ITEM::GetBoard(), BOARD::GetDesignSettings(), FOOTPRINT::GetLocalSolderMaskMargin(), GetParent(), m_layerMask, m_localSolderMaskMargin, m_size, and BOARD_DESIGN_SETTINGS::m_SolderMaskMargin.
Referenced by KIGFX::PCB_PAINTER::draw(), and ViewBBox().
wxSize PAD::GetSolderPasteMargin | ( | ) | const |
Function GetSolderPasteMargin.
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
For pads NOT on copper layers, the value is the local value because there is no default shape to build
Definition at line 748 of file pcbnew/pad.cpp.
References LSET::AllCuMask(), BOARD_ITEM::GetBoard(), FOOTPRINT::GetLocalSolderPasteMargin(), FOOTPRINT::GetLocalSolderPasteMarginRatio(), GetParent(), KiROUND(), m_layerMask, m_localSolderPasteMargin, m_localSolderPasteMarginRatio, and m_size.
Referenced by KIGFX::PCB_PAINTER::draw(), and ViewBBox().
|
inlineinherited |
Definition at line 185 of file eda_item.h.
References EDA_ITEM::m_status.
Referenced by BOARD_ITEM::IsLocked().
|
inlineinherited |
|
inline |
Function GetSubRatsnest.
Definition at line 536 of file pad.h.
References m_subRatsnest.
Referenced by CreatePadsShapesSection(), operator=(), and PAD().
|
inline |
Definition at line 491 of file pad.h.
References m_thermalGap.
Referenced by PCB_IO::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 483 of file pad.h.
References m_thermalWidth.
Referenced by PCB_IO::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inlineinherited |
Definition at line 97 of file board_item.h.
References EDA_ITEM::GetPosition().
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), ALIGN_DISTRIBUTE_TOOL::DistributeHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), BOARD_ITEM::SetY(), and TRACK_VIA_DESC::TRACK_VIA_DESC().
|
inlineinherited |
Definition at line 103 of file board_item.h.
References EDA_ITEM::GetPosition().
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), ALIGN_DISTRIBUTE_TOOL::DistributeVertically(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), BOARD_ITEM::SetX(), and TRACK_VIA_DESC::TRACK_VIA_DESC().
|
inline |
Definition at line 468 of file pad.h.
References m_zoneConnection.
Referenced by DIALOG_PAD_PROPERTIES::initValues().
|
inlineinherited |
Definition at line 204 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by TRACKS_CLEANER::cleanup(), GRAPHICS_CLEANER::cleanupSegments(), BOARD::CombineAllZonesInNet(), SCH_EDIT_TOOL::DoDelete(), KIGFX::SCH_PAINTER::draw(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::moveItem(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), SCH_EDIT_TOOL::Rotate(), and EE_TOOL_BASE< SCH_BASE_FRAME >::saveCopyInUndoList().
|
overridevirtual |
Test if aPosition is contained within or on the bounding box of an item.
aPosition | A reference to a wxPoint object containing the coordinates to test. |
aAccuracy | Increase the item bounding box by this amount. |
Reimplemented from EDA_ITEM.
Definition at line 950 of file pcbnew/pad.cpp.
References GetBoundingRadius(), GetEffectivePolygon(), GetPosition(), SEG::Square(), and VECTOR2< T >::SquaredEuclideanNorm().
Referenced by BOARD::GetTrackLength().
|
overridevirtual |
Test if aRect intersects or is contained within the bounding box of an item.
aRect | A reference to a EDA_RECT 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 962 of file pcbnew/pad.cpp.
References SHAPE_POLY_SET::Append(), SHAPE_POLY_SET::BooleanIntersection(), EDA_RECT::Contains(), EDA_RECT::GetBottom(), GetBoundingBox(), GetEffectivePolygon(), EDA_RECT::GetLeft(), EDA_RECT::GetOrigin(), EDA_RECT::GetRight(), EDA_RECT::GetTop(), EDA_RECT::Inflate(), EDA_RECT::Intersects(), SHAPE_POLY_SET::NewOutline(), EDA_RECT::Normalize(), and SHAPE_POLY_SET::PM_FAST.
void PAD::ImportSettingsFrom | ( | const PAD & | aMasterPad | ) |
Imports the pad settings from aMasterPad.
The result is "this" has the same settinds (sizes, shapes ... ) as aMasterPad
aMasterPad | = the template pad |
Definition at line 1302 of file pcbnew/pad.cpp.
References GetAnchorPadShape(), GetAttribute(), GetChamferPositions(), GetChamferRectRatio(), GetCustomShapeInZoneOpt(), GetDelta(), GetDrillShape(), GetDrillSize(), GetEffectiveZoneConnection(), GetLayerSet(), GetLocalClearance(), GetLocalSolderMaskMargin(), GetLocalSolderPasteMargin(), GetLocalSolderPasteMarginRatio(), GetOffset(), FOOTPRINT::GetOrientation(), GetOrientation(), GetPadToDieLength(), GetParent(), GetPrimitives(), GetProperty(), GetRoundRectRadiusRatio(), GetShape(), GetSize(), GetThermalGap(), GetThermalSpokeWidth(), PAD_ATTRIB_CONN, PAD_ATTRIB_SMD, PAD_SHAPE_CIRCLE, PAD_SHAPE_TRAPEZOID, ReplacePrimitives(), SetAnchorPadShape(), SetAttribute(), SetChamferPositions(), SetChamferRectRatio(), SetCustomShapeInZoneOpt(), SetDelta(), SetDirty(), SetDrillShape(), SetDrillSize(), SetLayerSet(), SetLocalClearance(), SetLocalSolderMaskMargin(), SetLocalSolderPasteMargin(), SetLocalSolderPasteMarginRatio(), SetOffset(), SetOrientation(), SetPadToDieLength(), SetProperty(), SetRoundRectRadiusRatio(), SetShape(), SetSize(), SetThermalGap(), SetThermalSpokeWidth(), and SetZoneConnection().
Referenced by PAD_TOOL::copyPadSettings(), operator=(), PAD(), and PAD_TOOL::PlacePad().
|
inline |
Definition at line 366 of file pad.h.
References LSET::AllCuMask(), and m_layerMask.
Referenced by doPushPadProperties(), DIALOG_PAD_PROPERTIES::initValues(), and PAD_NAMING::PadCanHaveName().
|
inlineinherited |
Definition at line 174 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::m_flags.
Referenced by GERBVIEW_SELECTION_TOOL::disambiguationMenu(), KIGFX::SCH_PAINTER::draw(), KIGFX::GERBVIEW_PAINTER::draw(), KIGFX::WS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIGFX::SCH_PAINTER::getRenderColor(), SCH_EDITOR_CONTROL::UpdateFind(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlineoverridevirtualinherited |
Reimplemented from BOARD_ITEM.
Reimplemented in ZONE.
Definition at line 72 of file board_connected_item.h.
Referenced by BOARD_INSPECTION_TOOL::InspectClearance().
|
inline |
|
inlineinherited |
Definition at line 169 of file eda_item.h.
References IS_DRAGGED, and EDA_ITEM::m_flags.
Referenced by DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES(), and KIGFX::SCH_PAINTER::setDeviceColors().
|
inlineinherited |
Definition at line 172 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 178 of file pcbnew/pad.cpp.
References B_Cu, BOARD_ITEM::GetLayer(), and GetParent().
Referenced by DIALOG_PAD_PROPERTIES::initValues(), and ViewGetLOD().
|
inlineinherited |
Definition at line 254 of file eda_item.h.
References EDA_ITEM::m_forceVisible.
Referenced by KIGFX::SCH_PAINTER::draw(), and SCH_FIELD::Print().
|
overridevirtual |
Reimplemented from BOARD_ITEM.
Definition at line 134 of file pcbnew/pad.cpp.
References GetParent(), and BOARD_ITEM::IsLocked().
Referenced by PCB_IO::format(), DIALOG_PAD_PROPERTIES::initValues(), POINT_EDITOR::makePoints(), and POINT_EDITOR::updatePoints().
|
inlineinherited |
Definition at line 166 of file eda_item.h.
References IS_CHANGED, and EDA_ITEM::m_flags.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles().
|
inlineinherited |
Definition at line 168 of file eda_item.h.
References IS_MOVED, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), LIB_PIN::CalcEdit(), LIB_ARC::CalcRadiusAngles(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), SCH_EDIT_TOOL::Mirror(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), SCH_EDIT_TOOL::Rotate(), and KIGFX::SCH_PAINTER::setDeviceColors().
|
inlineinherited |
Definition at line 167 of file eda_item.h.
References IS_NEW, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::AutoplaceFields(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_TOOL::ConvertDeMorgan(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SCH_EDIT_TOOL::Duplicate(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SYMBOL_EDITOR_DRAWING_TOOLS::Init(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus(), EE_POINT_EDITOR::Main(), PL_POINT_EDITOR::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), SCH_MOVE_TOOL::Main(), EDIT_TOOL::MoveExact(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), DIALOG_SHEET_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), DIALOG_LABEL_EDITOR::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataToWindow(), and SCH_EDIT_FRAME::UpdateSymbolFromEditor().
|
inlineoverridevirtual |
Reimplemented from BOARD_ITEM.
Definition at line 214 of file pad.h.
References LSET::AllCuMask(), and GetLayerSet().
Referenced by CN_LIST::Add(), isCopper(), EDA_3D_CANVAS::OnMouseMove(), 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 555 of file pad.h.
References m_layerMask.
Referenced by AR_AUTOPLACER::addPad(), PAD_TOOL::explodePad(), FlashLayer(), GENERAL_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), DSN::SPECCTRA_DB::makePADSTACK(), PAD_TOOL::recombinePad(), PCB_SELECTION_TOOL::Selectable(), and ViewGetLayers().
|
inlinevirtualinherited |
Override this method in any derived object that supports test find and replace.
Reimplemented in SCH_COMPONENT, SCH_SHEET, SCH_LABEL, SCH_TEXT, SCH_SHEET_PIN, and SCH_FIELD.
Definition at line 451 of file eda_item.h.
Referenced by EDA_ITEM::Matches().
|
inlineinherited |
Definition at line 173 of file eda_item.h.
References IS_RESIZED, and EDA_ITEM::m_flags.
Referenced by KIGFX::SCH_PAINTER::setDeviceColors().
|
inlineinherited |
Definition at line 171 of file eda_item.h.
References EDA_ITEM::m_flags, and SELECTED.
Referenced by SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_FRAME::ConvertPart(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::WS_RENDER_SETTINGS::GetColor(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), KIGFX::SCH_PAINTER::getLineWidth(), KIGFX::SCH_PAINTER::getRenderColor(), KIGFX::SCH_PAINTER::getTextThickness(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), SCH_MOVE_TOOL::moveItem(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RebuildSelection(), EE_SELECTION_TOOL::RebuildSelection(), RENDER_3D_LEGACY::renderFootprint(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< SCH_BASE_FRAME >::saveCopyInUndoList(), SCH_EDIT_FRAME::SchematicCleanUp(), PCB_SELECTION_TOOL::select(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::selectionContains(), EE_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), KIGFX::SCH_PAINTER::setDeviceColors(), GERBVIEW_SELECTION_TOOL::unselect(), and WS_PROXY_UNDO_ITEM::WS_PROXY_UNDO_ITEM().
|
inlineinherited |
Test to see if this object is a track or via (or microvia).
Definition at line 241 of file board_item.h.
References PCB_TRACE_T, PCB_VIA_T, and EDA_ITEM::Type().
|
inlineoverridevirtual |
Check whether the item is one of the listed types.
aScanTypes | List of item types |
Reimplemented from EDA_ITEM.
Definition at line 86 of file pad.h.
References EOT, EDA_ITEM::IsType(), m_attribute, m_drill, PAD_ATTRIB_NPTH, PCB_LOCATE_HOLE_T, PCB_LOCATE_NPTH_T, and PCB_LOCATE_PTH_T.
|
inlineinherited |
Definition at line 170 of file eda_item.h.
References IS_WIRE_IMAGE, and EDA_ITEM::m_flags.
|
inlinestaticinherited |
This changes first parameter to avoid the DList and use the main queue instead.
Definition at line 343 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 362 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.
The BOARD is needed because layer names are customizable.
Reimplemented in VIA.
Definition at line 72 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 TRACK::GetMsgPanelInfo(), GetMsgPanelInfo(), and GetSelectMenuText().
|
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_COMPONENT, SCH_SHEET, SCH_TEXT, SCH_SHEET_PIN, SCH_FIELD, ZONE, SCH_PIN, SCH_MARKER, PCB_MARKER, FP_TEXT, and PCB_TEXT.
Definition at line 413 of file eda_item.h.
Referenced by SCH_EDITOR_CONTROL::HasMatch(), PCB_TEXT::Matches(), FP_TEXT::Matches(), PCB_MARKER::Matches(), SCH_MARKER::Matches(), SCH_PIN::Matches(), ZONE::Matches(), SCH_FIELD::Matches(), SCH_SHEET_PIN::Matches(), SCH_TEXT::Matches(), SCH_EDITOR_CONTROL::ReplaceAndFindNext(), and SCH_EDITOR_CONTROL::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 132 of file eda_item.cpp.
References FR_MATCH_WILDCARD, FR_SEARCH_REPLACE, and EDA_ITEM::IsReplaceable().
void PAD::MergePrimitivesAsPolygon | ( | SHAPE_POLY_SET * | aMergedPolygon, |
PCB_LAYER_ID | aLayer | ||
) | const |
Merge all basic shapes to a SHAPE_POLY_SET Note: The results are relative to the pad position, orientation 0.
Definition at line 196 of file pad_custom_shape_functions.cpp.
References SHAPE_POLY_SET::AddOutline(), addPadPrimitivesToPolygon(), ERROR_INSIDE, GetAnchorPadShape(), BOARD_ITEM::GetBoard(), BOARD::GetDesignSettings(), GetSize(), BOARD_DESIGN_SETTINGS::m_MaxError, SHAPE_RECT::Outline(), PAD_SHAPE_CIRCLE, PAD_SHAPE_RECT, SHAPE_POLY_SET::RemoveAllContours(), and TransformCircleToPolygon().
Referenced by CreatePadsShapesSection(), export_vrml_padshape(), DSN::SPECCTRA_DB::makePADSTACK(), DIALOG_PAD_PROPERTIES::padValuesOK(), and TransformShapeWithClearanceToPolygon().
|
inlineinherited |
Definition at line 283 of file board_item.h.
References BOARD_ITEM::Move(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
inlineoverridevirtual |
Move this object.
aMoveVector | the move vector for this object. |
Reimplemented from BOARD_ITEM.
Definition at line 604 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 185 of file eda_item.cpp.
References Format(), and EDA_ITEM::GetClass().
Definition at line 115 of file pcbnew/pad.cpp.