![]() |
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 |
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 *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 aShape) |
Set the new shape of this pad. More... | |
PAD_SHAPE | GetShape () const |
void | SetPosition (const wxPoint &aPos) override |
wxPoint | 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 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, 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 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 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 (double aAngle) |
Set the rotation angle of the pad. More... | |
void | SetOrientationDegrees (double aOrientation) |
Set orientation in degrees. More... | |
double | GetOrientation () const |
Return 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_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) |
void | TransformShapeWithClearanceToPolygon (SHAPE_POLY_SET &aCornerBuffer, PCB_LAYER_ID aLayer, int aClearanceValue, int aMaxError, ERROR_LOC aErrorLoc, bool ignoreLineWidth=false) const override |
Convert the pad shape to a closed polygon. More... | |
bool | TransformHoleWithClearanceToPolygon (SHAPE_POLY_SET &aCornerBuffer, int aInflateValue, 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 aFlash=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 |
const SHAPE_SEGMENT * | GetEffectiveHoleShape () const |
Return a SHAPE 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 | GetSolderMaskMargin () const |
wxSize | 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 | 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) |
Has meaning only for rounded rectangle pads. More... | |
int | GetRoundRectCornerRadius () const |
wxPoint | 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 |
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) const |
Check to see whether the pad should be flashed on the specific layer. More... | |
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 wxPoint &aPosition, int aAccuracy=0) const override |
Test if aPosition is inside or on the boundary of this item. More... | |
bool | HitTest (const EDA_RECT &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 EDA_RECT | 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 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... | |
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... | |
virtual void | SwapData (BOARD_ITEM *aImage) override |
Swap data between aItem and aImage. More... | |
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 |
virtual int | GetOwnClearance (PCB_LAYER_ID aLayer, wxString *aSource=nullptr) const |
Return an item's "own" clearance in internal units. More... | |
virtual NETCLASS * | GetNetClass () const |
Return the NETCLASS for this item. More... | |
virtual NETCLASS * | GetEffectiveNetclass () const |
Return the NETCLASS for this item, or the default netclass if none is defined. More... | |
virtual wxString | GetNetClassName () const |
Returns 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 |
BOARD_ITEM_CONTAINER * | GetParentFootprint () 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 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 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 | 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 (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 | 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 () |
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 *aPadRef, const PAD *aPadCmp) |
Compare two pads and return 0 if they are equal. 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 |
Store all information about the net that item belongs to. More... | |
PCB_LAYER_ID | m_layer |
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 60 of file pad.cpp.
References 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_thermalWidth, m_zoneConnection, NONE, PAD_DRILL_SHAPE_CIRCLE, PCB_FOOTPRINT_T, PTH, 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 107 of file pad.cpp.
References EDA_ITEM::m_Uuid, and operator=().
|
private |
Definition at line 191 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 173 of file pad_custom_shape_functions.cpp.
References m_editPrimitives, SetDirty(), and EDA_ITEM::SetParent().
Referenced by AppendPrimitives(), and PAD_TOOL::recombinePad().
void PAD::AddPrimitiveArc | ( | const wxPoint & | aCenter, |
const wxPoint & | aStart, | ||
int | 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(), and EDA_SHAPE::SetWidth().
void PAD::AddPrimitiveCircle | ( | const wxPoint & | 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(), and EDA_SHAPE::SetWidth().
void PAD::AddPrimitiveCurve | ( | const wxPoint & | aStart, |
const wxPoint & | aEnd, | ||
const wxPoint & | aCtrl1, | ||
const wxPoint & | 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(), and EDA_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
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, and SetDirty().
Referenced by FABMASTER::loadFootprints().
void PAD::AddPrimitivePoly | ( | const std::vector< wxPoint > & | 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(), and EDA_SHAPE::SetWidth().
void PAD::AddPrimitiveRect | ( | const wxPoint & | aStart, |
const wxPoint & | 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(), and EDA_SHAPE::SetWidth().
void PAD::AddPrimitiveSegment | ( | const wxPoint & | aStart, |
const wxPoint & | aEnd, | ||
int | aThickness | ||
) |
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(), and EDA_SHAPE::SetWidth().
|
static |
layer set for an aperture pad
Definition at line 187 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 163 of file pad_custom_shape_functions.cpp.
References AddPrimitive(), and SetDirty().
Referenced by ReplacePrimitives().
void PAD::BuildEffectivePolygon | ( | ) | const |
Definition at line 530 of file 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 |
Rebuild the effective shape cache (and bounding box and radius) for the pad and clears the dirty bit.
Definition at line 354 of file pad.cpp.
References SHAPE_LINE_CHAIN::Append(), CHAMFERED_RECT, CIRCLE, SHAPE_POLY_SET::COutline(), SHAPE_LINE_CHAIN::CPoint(), CUSTOM, 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, EDA_RECT::Merge(), Millimeter2iu(), SHAPE_LINE_CHAIN::Move(), OVAL, PAD_SHAPE_T_asString(), SHAPE_LINE_CHAIN::PointCount(), r, RECT, SHAPE_LINE_CHAIN::Rotate(), RotatePoint(), ROUNDRECT, ShapePos(), TransformRoundChamferedRectToPolygon(), TRAPEZOID, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by GetBoundingBox(), GetEffectiveHoleShape(), and GetEffectiveShape().
bool PAD::CanHaveNumber | ( | ) | const |
Indicates whether or not the pad can have a number.
(NPTH and SMD aperture pads can not.)
Definition at line 136 of file pad.cpp.
References GetAttribute(), IsAperturePad(), and NPTH.
|
inlinestatic |
|
inlineinherited |
Definition at line 132 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::ClearFlags().
Referenced by GERBVIEW_SELECTION_TOOL::disambiguationMenu(), SCH_EDIT_FRAME::FocusOnItem(), PCB_BASE_FRAME::FocusOnItems(), PL_SELECTION_TOOL::unhighlight(), EE_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlineinherited |
Definition at line 171 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_DRAWING_TOOLS::PlaceSymbol(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_BASE_EDIT_FRAME::SaveCopyInUndoList(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
inlineinherited |
Definition at line 153 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(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RebuildSelection(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDIT_FRAME::RollbackSymbolFromUndo(), SCH_EDIT_FRAME::SaveCopyForRepeatItem(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_SEXPR_PLUGIN_CACHE::savePin(), EE_SELECTION_TOOL::selectMultiple(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and SCH_DRAWING_TOOLS::TwoClickPlace().
|
inlineinherited |
Definition at line 131 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< 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 165 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 143 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 1240 of file pad.cpp.
References PAD().
Referenced by ClonePad(), and GetEffectiveShape().
|
inline |
Compare two pads and return 0 if they are equal.
Definition at line 1066 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, and m_size.
Referenced by CreatePadsShapesSection().
|
static |
layer set for a SMD pad on Front layer used for edge board connectors
Definition at line 173 of file pad.cpp.
Referenced by DIALOG_PAD_PROPERTIES::updatePadLayersList().
void PAD::DeletePrimitivesList | ( | ) |
Clear the basic shapes list.
Definition at line 183 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 128 of file board_item.cpp.
References BOARD_ITEM::GetParent(), and BOARD_ITEM_CONTAINER::Remove().
Referenced by BOARD::PadDelete(), and DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow().
|
virtualinherited |
Create a copy of this BOARD_ITEM.
Reimplemented in FOOTPRINT.
Definition at line 144 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(), BOOST_AUTO_TEST_CASE(), PCB_GROUP::DeepDuplicate(), KIGFX::PCB_PAINTER::draw(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarText(), EDIT_TOOL::Duplicate(), FOOTPRINT::Duplicate(), and ARRAY_CREATOR::Invoke().
bool PAD::FlashLayer | ( | int | aLayer | ) | const |
Check to see whether the pad should be flashed on the specific layer.
aLayer | Layer to check for connectivity |
Heat sink pads always get copper
Definition at line 214 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, NPTH, OVAL, PAD_DRILL_SHAPE_CIRCLE, PAD_DRILL_SHAPE_OBLONG, PCB_ARC_T, PCB_FP_ZONE_T, PCB_PAD_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, PTH, and UNDEFINED_LAYER.
Referenced by KIGFX::PCB_PAINTER::draw(), FlashLayer(), GetEffectiveShape(), GetSelectMenuText(), 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 202 of file pad.cpp.
References FlashLayer(), and LSET::Seq().
|
inlineinherited |
Definition at line 264 of file board_item.h.
References BOARD_ITEM::Flip(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
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 639 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(), and SetOrientation().
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 697 of file pad.cpp.
References m_editPrimitives, and SetDirty().
Referenced by Flip(), and mirrorPadX().
|
inlineinherited |
Definition at line 86 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(), PCB_EXPR_VAR_REF::GetValue(), and PAD_DESC::PAD_DESC().
|
inlineinherited |
Definition at line 95 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
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().
|
inline |
Definition at line 183 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 371 of file pad.h.
References m_attribute.
Referenced by ZONE_FILLER::addHoleKnockout(), CanHaveNumber(), doPushPadProperties(), EXPORTER_PCB_VRML::ExportVrmlPadHole(), FlashLayer(), PCB_PLUGIN::format(), GetEffectiveShape(), GetMsgPanelInfo(), GetSelectMenuText(), DRC_ENGINE::GetShape(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::padValuesOK(), 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 241 of file pad_custom_shape_functions.cpp.
References addPadPrimitivesToPolygon(), 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(), NULLOPT, SHAPE_POLY_SET::OutlineCount(), rescale(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
virtualinherited |
Return the BOARD in which this BOARD_ITEM resides, or NULL if none.
Definition at line 36 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), PCB_T, and EDA_ITEM::Type().
Referenced by ZONE_FILLER::addHoleKnockout(), BuildEffectivePolygon(), BuildEffectiveShapes(), ZONE::BuildSmoothedPoly(), calcIsInsideArea(), KIGFX::PCB_PAINTER::Draw(), KIGFX::PCB_PAINTER::draw(), PCB_LAYER_VALUE::EqualTo(), existsOnLayer(), exprFromTo(), PCB_VIA::FlashLayer(), FlashLayer(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), PCB_TRACK::Flip(), FP_SHAPE::Flip(), PCB_SHAPE::Flip(), FP_TEXT::Flip(), PCB_DIMENSION_BASE::Flip(), PCB_ARC::Flip(), PCB_VIA::Flip(), ZONE::Flip(), PCB_EXPR_CONTEXT::GetBoard(), BOARD_ITEM::GetBoard(), FOOTPRINT::GetBoundingBox(), FOOTPRINT::GetBoundingHull(), BOARD_CONNECTED_ITEM::GetEffectiveNetclass(), GetEffectiveShape(), PCB_VIA::GetEffectiveShape(), ZONE::GetInteractingZones(), BOARD_ITEM::GetLayerName(), PCB_VIA::GetMinAnnulus(), PCB_DRAW_PANEL_GAL::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), NETINFO_ITEM::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetClass(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), BOARD_CONNECTED_ITEM::GetOwnClearance(), ZONE::GetSelectMenuText(), DRC_ENGINE::GetShape(), FP_TEXT::GetShownText(), GetSolderMaskMargin(), GetSolderPasteMargin(), BOARD::GetTrackLength(), inDiffPair(), insideArea(), insideBackCourtyard(), insideCourtyard(), insideFrontCourtyard(), isInsideArea(), isInsideCourtyard(), BOARD_ITEM::IsLocked(), BOARD_ITEM::layerMaskDescribe(), PCB_VIA::layerMaskDescribe(), CONVERT_TOOL::makePolysFromCircles(), MergePrimitivesAsPolygon(), EAGLE_PLUGIN::packageWire(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), BOARD::ResolveDRCExclusions(), BOARD_CONNECTED_ITEM::SetNetCode(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), ZONE::TransformSmoothedOutlineToPolygon(), ZONE::TransformSolidAreasShapesToPolygon(), PCB_TRACK::ViewBBox(), FOOTPRINT::ViewBBox(), PCB_VIA::ViewGetLOD(), and ViewGetLOD().
|
virtualinherited |
Definition at line 50 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), PCB_T, and EDA_ITEM::Type().
|
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 569 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 345 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 252 of file pad.h.
References GetPosition().
|
inline |
Definition at line 543 of file pad.h.
References m_chamferPositions.
Referenced by BuildEffectiveShapes(), PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DSN::SPECCTRA_DB::makePADSTACK(), BRDITEMS_PLOTTER::PlotPad(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and TransformShapeWithClearanceToPolygon().
|
inline |
Definition at line 533 of file pad.h.
References m_chamferScale.
Referenced by BuildEffectiveShapes(), PCB_PLUGIN::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 188 of file pad.h.
References m_customShapeClearanceArea.
Referenced by ZONE_FILLER::addKnockout(), PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 240 of file pad.h.
References m_deltaSize.
Referenced by PCB_PLUGIN::format(), 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 354 of file pad.h.
References m_drillShape.
Referenced by EXPORTER_PCB_VRML::ExportVrmlPadHole(), FlashLayer(), PCB_PLUGIN::format(), KIGFX::PCB_PAINTER::getDrillShape(), GetMsgPanelInfo(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 243 of file pad.h.
References m_drill.
Referenced by DRC_TEST_PROVIDER_HOLE_SIZE::checkPad(), BOARD_ADAPTER::createPadWithDrill(), KIGFX::PCB_PAINTER::draw(), EXPORTER_PCB_VRML::ExportVrmlPadHole(), FlashLayer(), PCB_PLUGIN::format(), KIGFX::PCB_PAINTER::getDrillSize(), HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), RENDER_3D_RAYTRACE::insertHole(), DSN::isRoundKeepout(), DIALOG_PAD_PROPERTIES::PadTypeSelected(), DIALOG_PAD_PROPERTIES::padValuesOK(), PNS_KICAD_IFACE_BASE::syncPad(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and TransformHoleWithClearanceToPolygon().
|
inline |
Definition at line 245 of file pad.h.
References m_drill.
Referenced by BOARD_INSPECTION_TOOL::InspectClearance(), PAD_DESC::PAD_DESC(), and ViewGetLOD().
|
inline |
Definition at line 247 of file pad.h.
References m_drill.
Referenced by BOARD_INSPECTION_TOOL::InspectClearance(), PAD_DESC::PAD_DESC(), and ViewGetLOD().
|
inlineinherited |
Definition at line 157 of file eda_item.h.
References IS_DRAGGING, IS_MOVING, IS_NEW, IS_PASTED, IS_RESIZING, IS_WIRE_IMAGE, EDA_ITEM::m_flags, and STRUCT_DELETED.
Referenced by 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_TOOL::Properties(), PAD_TOOL::recombinePad(), SCH_EDIT_FRAME::SchematicCleanUp(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_AND_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), and DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow().
const SHAPE_SEGMENT * PAD::GetEffectiveHoleShape | ( | ) | const |
Return a SHAPE object representing the pad's hole.
Definition at line 336 of file pad.cpp.
References BuildEffectiveShapes(), m_effectiveHoleShape, m_shapesDirty, and UNDEFINED_LAYER.
Referenced by BOARD_ADAPTER::createPadWithDrill(), KIGFX::PCB_PAINTER::draw(), GetEffectiveShape(), DRC_ENGINE::GetShape(), DIALOG_PAD_PROPERTIES::padValuesOK(), PNS_KICAD_IFACE_BASE::syncPad(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), and TransformHoleWithClearanceToPolygon().
|
virtualinherited |
Return the NETCLASS for this item, or the default netclass if none is defined.
Definition at line 66 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 300 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 | 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 309 of file pad.cpp.
References BuildEffectiveShapes(), Clone(), FlashLayer(), GetAttribute(), BOARD_ITEM::GetBoard(), BOARD::GetDesignSettings(), GetEffectiveHoleShape(), BOARD_DESIGN_SETTINGS::GetHolePlatingThickness(), m_effectiveShape, m_shapesDirty, NEVER_FLASHED, PTH, and UNDEFINED_LAYER.
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 879 of file 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 860 of file 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 839 of file pad.cpp.
References _, GetParent(), FOOTPRINT::GetZoneConnection(), INHERITED, and m_zoneConnection.
Referenced by ZONE::GetPadConnection(), and ImportSettingsFrom().
|
inlineinherited |
Definition at line 154 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by BACK_ANNOTATE::applyChangelist(), calcIsInsideArea(), ConvertOutlineToPolygon(), SCH_EDIT_FRAME::ConvertPart(), KIGFX::SCH_PAINTER::draw(), DRC_ENGINE::EvalRules(), PCB_SELECTION_TOOL::expandConnection(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), BOARD_INSPECTION_TOOL::InspectConstraints(), LIB_SYMBOL::LIB_SYMBOL(), DIALOG_DRC::OnDRCItemSelected(), DIALOG_FOOTPRINT_CHECKER::OnSelectItem(), LIB_SYMBOL::operator=(), BOARD_COMMIT::Push(), FOOTPRINT::Remove(), BOARD::Remove(), SCH_EDIT_FRAME::SaveCopyInUndoList(), SCH_EDIT_FRAME::SchematicCleanUp(), 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_TRACK, and PCB_SHAPE.
Definition at line 258 of file eda_item.h.
References EDA_ITEM::GetPosition().
Referenced by SCH_EDIT_FRAME::FocusOnItem().
|
inline |
Definition at line 564 of file pad.h.
References m_keepTopBottomLayer.
Referenced by PCB_PLUGIN::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 143 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(), EDIT_TOOL::DragArcTrack(), KIGFX::PCB_PAINTER::draw(), PCB_EDIT_FRAME::ExchangeFootprint(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), extractDiffPairCoupledItems(), EDIT_TOOL::FilletTracks(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), PCB_TRACK::Flip(), FP_SHAPE::Flip(), PCB_SHAPE::Flip(), FP_TEXT::Flip(), PCB_DIMENSION_BASE::Flip(), FOOTPRINT::Flip(), PCB_ARC::Flip(), FOOTPRINT_DESC::FOOTPRINT_DESC(), PCB_PLUGIN::FootprintSave(), FootprintWriteShape(), PCB_PLUGIN::format(), PCB_PLUGIN::formatLayer(), FP_TEXT::FP_TEXT(), DSN::SPECCTRA_DB::FromBOARD(), AR_AUTOPLACER::genModuleOnRoutingMatrix(), FOOTPRINT::GetBoundingBox(), ZONE::GetLayer(), getMatchingTextItem(), PCB_TRACK::GetMsgPanelInfo(), PCB_VIA::GetMsgPanelInfo(), GetMsgPanelInfo(), AR_AUTOPLACER::getOptimalFPPlacement(), BOARD::GetPad(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), idf_export_footprint(), GENERAL_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), isEdge(), IsFlipped(), FOOTPRINT::IsFlipped(), PNS_KICAD_IFACE::IsItemVisible(), BOARD_ITEM::IsOnCopperLayer(), FP_SHAPE::IsParentFlipped(), FP_TEXT::IsParentFlipped(), itemIsIncludedByFilter(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnAddField(), DIALOG_FOOTPRINT_PROPERTIES::OnAddField(), DIALOG_FOOTPRINT_CHECKER::OnSelectItem(), PCB_SHAPE::cmp_drawings::operator()(), PCB_TRACK::cmp_tracks::operator()(), BOARD_ITEM::ptr_cmp::operator()(), FOOTPRINT::cmp_drawings::operator()(), BOARD::cmp_items::operator()(), BOARD::cmp_drawings::operator()(), EAGLE_PLUGIN::packagePad(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotFootprintGraphicItems(), BRDITEMS_PLOTTER::PlotFootprintTextItem(), BRDITEMS_PLOTTER::PlotFootprintTextItems(), BRDITEMS_PLOTTER::PlotPcbShape(), BRDITEMS_PLOTTER::PlotPcbTarget(), BRDITEMS_PLOTTER::PlotPcbText(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), processTextItem(), PAD_TOOL::recombinePad(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), CLIPBOARD_IO::SaveSelection(), CONVERT_TOOL::SegmentToArc(), PCB_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::selectConnectedTracks(), GLOBAL_EDIT_TOOL::swapBoardItem(), PNS_KICAD_IFACE_BASE::syncArc(), PNS_KICAD_IFACE_BASE::syncGraphicalItem(), PNS_KICAD_IFACE_BASE::syncTrack(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), AR_AUTOPLACER::testFootprintOnBoard(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), TRACK_VIA_DESC::TRACK_VIA_DESC(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_DIMENSION_PROPERTIES::TransferDataToWindow(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), BOARD_ADAPTER::transformFPShapesToPolygon(), FOOTPRINT::TransformFPShapesWithClearanceToPolygon(), PCB_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 75 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(), PCB_SHAPE::GetMsgPanelInfo(), FP_TEXT::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_DIM_LEADER::GetMsgPanelInfo(), PCB_SHAPE::GetSelectMenuText(), PCB_TEXT::GetSelectMenuText(), FP_SHAPE::GetSelectMenuText(), PCB_TRACK::GetSelectMenuText(), PCB_DIMENSION_BASE::GetSelectMenuText(), PCB_TEXT::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 368 of file pad.h.
References m_layerMask.
Referenced by doPushPadProperties(), PAD_TOOL::explodePad(), PCB_PLUGIN::format(), 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(), DIALOG_PAD_PROPERTIES::padValuesOK(), AR_MATRIX::PlacePad(), PAD_TOOL::recombinePad(), PNS_KICAD_IFACE_BASE::syncPad(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and ViewBBox().
|
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 735 of file pad.cpp.
References _, and m_localClearance.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 390 of file pad.h.
References m_localClearance.
Referenced by GetLocalClearanceOverrides(), and PAD_DESC::PAD_DESC().
|
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 721 of file pad.cpp.
References FOOTPRINT::GetLocalClearance(), GetLocalClearance(), and GetParent().
|
inlineinherited |
Definition at line 184 of file board_connected_item.h.
References BOARD_CONNECTED_ITEM::m_localRatsnestVisible.
Referenced by PCB_EDIT_FRAME::ExchangeFootprint().
|
inline |
Definition at line 386 of file pad.h.
References m_localSolderMaskMargin.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 393 of file pad.h.
References m_localSolderPasteMargin.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 396 of file pad.h.
References m_localSolderPasteMarginRatio.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
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 898 of file pad.cpp.
References _, KIID::AsString(), BGA, CASTELLATED, CIRCLE, CONN, FIDUCIAL_GLBL, FIDUCIAL_LOCAL, Format(), GetAttribute(), GetDrillShape(), BOARD_ITEM::GetLayer(), BOARD_CONNECTED_ITEM::GetNetClass(), BOARD_CONNECTED_ITEM::GetNetname(), FOOTPRINT::GetOrientationDegrees(), GetOrientationDegrees(), BOARD_CONNECTED_ITEM::GetOwnClearance(), GetPadToDieLength(), GetPinFunction(), GetPinType(), GetProperty(), FOOTPRINT::GetReference(), GetShape(), EDA_BASE_FRAME::GetUserUnits(), HEATSINK, IsLocked(), BOARD_ITEM::layerMaskDescribe(), m_drill, m_number, EDA_ITEM::m_parent, m_size, EDA_ITEM::m_Uuid, MessageTextFromValue(), NONE, NormalizeAngleDegrees(), OVAL, PAD_DRILL_SHAPE_CIRCLE, PCB_EDIT_FRAME_NAME, ShowPadAttr(), ShowPadShape(), SMD, TESTPOINT, and UnescapeString().
|
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(), isCoupledDiffPair(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes(), 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 |
Return the NETCLASS for this item.
Reimplemented in ZONE.
Definition at line 108 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 PCB_VIA::GetDrillValue(), BOARD_CONNECTED_ITEM::GetEffectiveNetclass(), BOARD_INSPECTION_TOOL::getItemDescription(), GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), ZONE::GetNetClass(), PCB_EDIT_FRAME::SetTrackSegmentWidth(), and DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow().
|
virtualinherited |
Returns 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 117 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().
|
inherited |
Definition at line 100 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(), connectedItemFilter(), CreateRoutesSection(), KIGFX::PCB_PAINTER::draw(), DRAWING_TOOL::DrawVia(), PCB_EDIT_FRAME::ExchangeFootprint(), ZONE_FILLER::Fill(), PNS::NODE::FindItemByParent(), PCB_PLUGIN::format(), DSN::SPECCTRA_DB::FromBOARD(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), CONNECTIVITY_DATA::GetConnectedItems(), ZONE::GetInteractingZones(), PCB_TRACK::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), CONNECTIVITY_DATA::GetRatsnestForPad(), hasThermalConnection(), BOARD_INSPECTION_TOOL::highlightNet(), DIALOG_PAD_PROPERTIES::initValues(), BOARD_INSPECTION_TOOL::InspectClearance(), CONNECTIVITY_DATA::IsConnectedOnLayer(), ZONE::IsIsland(), ZONE::IsSame(), ZONE_FILLER::knockoutThermalReliefs(), 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(), 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_SOLDER_MASK::testMaskItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones(), BOARD::TracksInNet(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and BOARD_EDITOR_CONTROL::ZoneMerge().
|
inherited |
Definition at line 126 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(), DSN::SPECCTRA_DB::FromBOARD(), ZONE::GetMsgPanelInfo(), GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_NETLIST_UPDATER::getNetname(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), CN_CLUSTER::OriginNetName(), BRDITEMS_PLOTTER::PlotFilledAreas(), BRDITEMS_PLOTTER::PlotPad(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem().
|
inherited |
Definition at line 132 of file board_connected_item.cpp.
References _, BOARD_ITEM::GetBoard(), BOARD_CONNECTED_ITEM::GetNetCode(), BOARD_CONNECTED_ITEM::GetNetname(), and UnescapeString().
Referenced by PCB_TRACK::GetSelectMenuText(), PCB_VIA::GetSelectMenuText(), GetSelectMenuText(), and ZONE::GetSelectMenuText().
|
inline |
Definition at line 129 of file pad.h.
References m_number.
Referenced by BOOST_FIXTURE_TEST_CASE(), DIALOG_TRACK_VIA_PROPERTIES::confirmPadChange(), KIGFX::PCB_PAINTER::draw(), PCB_PLUGIN::format(), PLACE_FILE_EXPORTER::GenReportData(), GetSelectMenuText(), DIALOG_PAD_PROPERTIES::initValues(), CADSTAR_PCB_ARCHIVE_LOADER::loadComponents(), FOOTPRINT::cmp_pads::operator()(), operator=(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::PadTypeSelected(), BRDITEMS_PLOTTER::PlotPad(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and ViewGetLayers().
|
inline |
Definition at line 250 of file pad.h.
References m_offset.
Referenced by FlashLayer(), PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DSN::SPECCTRA_DB::makePADSTACK(), mirrorPadX(), DIALOG_PAD_PROPERTIES::OnOffsetCheckbox(), PNS_KICAD_IFACE_BASE::syncPad(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Return the rotation angle of the pad in a variety of units (the basic call returns tenths of degrees).
Definition at line 349 of file pad.h.
References m_orient.
Referenced by doPushPadProperties(), PAD_TOOL::explodePad(), EXPORTER_PCB_VRML::ExportVrmlPadHole(), Flip(), PCB_PLUGIN::format(), HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), RENDER_3D_RAYTRACE::insertHole(), mirrorPadX(), 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 350 of file pad.h.
References m_orient.
Referenced by GetMsgPanelInfo(), and PAD_DESC::PAD_DESC().
|
inline |
|
virtualinherited |
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. |
Definition at line 77 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(), PCB_TRACK::GetMsgPanelInfo(), PCB_VIA::GetMsgPanelInfo(), GetMsgPanelInfo(), and ViewBBox().
|
inline |
Definition at line 384 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(), PNS_KICAD_IFACE_BASE::syncPad(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
FOOTPRINT * PAD::GetParent | ( | void | ) | const |
Definition at line 1439 of file pad.cpp.
References EDA_ITEM::m_parent.
Referenced by DIALOG_TRACK_VIA_PROPERTIES::confirmPadChange(), 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_SOLDER_MASK::testItemAgainstItems(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), EAGLE_PLUGIN::transferPad(), and ViewGetLayers().
|
inline |
Definition at line 107 of file pad.h.
References KIID::AsString(), EDA_ITEM::m_parent, and EDA_ITEM::m_Uuid.
Referenced by PAD_DESC::PAD_DESC().
|
inherited |
Definition at line 191 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(), PNS::ITEM::collideSimple(), CONVERT_TOOL::CreatePolys(), and DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems().
|
inlineinherited |
Definition at line 60 of file board_item.h.
References BOARD_ITEM::m_group.
Referenced by PCB_GROUP::AddItem(), BOARD_ITEM::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), getTopLevelGroup(), BOARD_ITEM::IsLocked(), memberOf(), PCB_CONTROL::placeBoardItems(), BOARD_COMMIT::Push(), EDIT_TOOL::Remove(), FOOTPRINT::Remove(), BOARD::Remove(), GROUP_TOOL::RemoveFromGroup(), DIALOG_GROUP_PROPERTIES::TransferDataFromWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inline |
Definition at line 140 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 146 of file pad.h.
References m_pinType.
Referenced by KIGFX::PCB_PAINTER::draw(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_PLUGIN::format(), GetMsgPanelInfo(), operator=(), and PAD_DESC::PAD_DESC().
|
inline |
Definition at line 227 of file pad.h.
References m_pos0.
Referenced by MICROWAVE_TOOL::createPolygonShape(), PCB_PLUGIN::format(), and operator=().
|
inlineoverridevirtual |
Reimplemented from EDA_ITEM.
Definition at line 178 of file pad.h.
References m_pos.
Referenced by DRC_TEST_PROVIDER_HOLE_SIZE::checkPad(), AR_AUTOPLACER::computePlacementRatsnestCost(), BOARD_ADAPTER::createPadWithDrill(), PAD_TOOL::explodePad(), EXPORTER_PCB_VRML::ExportVrmlPadHole(), GetCenter(), FOOTPRINT::GetTopLeftPad(), HitTest(), DIALOG_PAD_PROPERTIES::initValues(), RENDER_3D_RAYTRACE::insertHole(), FABMASTER::loadFootprints(), mirrorPadX(), AR_AUTOPLACER::nearestPad(), operator=(), DIALOG_PAD_PROPERTIES::prepareCanvas(), PAD_TOOL::recombinePad(), DIALOG_PAD_PROPERTIES::redraw(), sortPadsByXthenYCoord(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Accessor to the basic shape list for custom-shaped pads.
Definition at line 301 of file pad.h.
References m_editPrimitives.
Referenced by PAD_TOOL::explodePad(), PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), DIALOG_PAD_PROPERTIES::padValuesOK(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 374 of file pad.h.
References m_property.
Referenced by FlashLayer(), PCB_PLUGIN::format(), GetMsgPanelInfo(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::padValuesOK(), and BRDITEMS_PLOTTER::PlotPad().
|
inline |
Definition at line 558 of file pad.h.
References m_removeUnconnectedLayer.
Referenced by PCB_PLUGIN::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 269 of file pad.cpp.
References KiROUND(), m_roundedCornerScale, and m_size.
Referenced by BuildEffectiveShapes(), DSN::SPECCTRA_DB::makePADSTACK(), DIALOG_PAD_PROPERTIES::onCornerSizePercentChange(), BRDITEMS_PLOTTER::PlotPad(), TransformShapeWithClearanceToPolygon(), and DIALOG_PAD_PROPERTIES::updateRoundRectCornerValues().
|
inline |
Definition at line 524 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(), 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 1183 of file pad.cpp.
References _, CONN, FlashLayer(), Format(), GetAttribute(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), GetNumber(), GetParent(), BOARD_ITEM::layerMaskDescribe(), NPTH, SMD, and UNDEFINED_LAYER.
|
inline |
Definition at line 170 of file pad.h.
References m_padShape.
Referenced by ZONE_FILLER::addKnockout(), BuildEffectiveShapes(), BOARD_ADAPTER::buildPadOutlineAsPolygon(), BOARD_ADAPTER::buildPadOutlineAsSegments(), Compare(), BOARD_ADAPTER::createPadWithClearance(), 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(), DIALOG_PAD_PROPERTIES::onCornerRadiusChange(), DIALOG_PAD_PROPERTIES::onCornerSizePercentChange(), PAD_DESC::PAD_DESC(), DIALOG_PAD_PROPERTIES::padValuesOK(), AR_MATRIX::PlacePad(), BRDITEMS_PLOTTER::PlotPad(), PAD_TOOL::recombinePad(), ShowPadShape(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::transferDataToPad(), TransformShapeWithClearanceToPolygon(), and ViewGetLOD().
|
inherited |
Definition at line 148 of file board_connected_item.cpp.
References NETINFO_ITEM::GetShortNetname(), and BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by KIGFX::PCB_PAINTER::draw().
|
inline |
Definition at line 233 of file pad.h.
References m_size.
Referenced by BuildEffectiveShapes(), BOARD_ADAPTER::buildPadOutlineAsPolygon(), BOARD_ADAPTER::buildPadOutlineAsSegments(), BOARD_ADAPTER::createPadWithClearance(), 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(), DIALOG_PAD_PROPERTIES::padValuesOK(), AR_MATRIX::PlacePad(), BRDITEMS_PLOTTER::PlotPad(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::transferDataToPad(), and EAGLE_PLUGIN::transferPad().
|
inline |
Definition at line 235 of file pad.h.
References m_size.
Referenced by PAD_DESC::PAD_DESC(), PAD_TOOL::recombinePad(), and ViewGetLOD().
|
inline |
Definition at line 237 of file pad.h.
References m_size.
Referenced by PAD_DESC::PAD_DESC(), PAD_TOOL::recombinePad(), and ViewGetLOD().
int PAD::GetSolderMaskMargin | ( | ) | 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 744 of file 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 |
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 789 of file 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 136 of file eda_item.h.
References EDA_ITEM::m_status.
Referenced by BOARD_ITEM::IsLocked().
|
inlineinherited |
|
inline |
Definition at line 548 of file pad.h.
References m_subRatsnest.
Referenced by operator=().
|
inline |
Definition at line 500 of file pad.h.
References m_thermalGap.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 492 of file pad.h.
References m_thermalWidth.
Referenced by PCB_PLUGIN::format(), ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), PAD_DESC::PAD_DESC(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inlineinherited |
Definition at line 64 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 70 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 477 of file pad.h.
References m_zoneConnection.
Referenced by PCB_PLUGIN::format(), DIALOG_PAD_PROPERTIES::initValues(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inlineinherited |
Definition at line 155 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by TRACKS_CLEANER::cleanup(), GRAPHICS_CLEANER::cleanupShapes(), 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 inside or on the boundary of this 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 1012 of file pad.cpp.
References delta, GetBoundingRadius(), GetEffectivePolygon(), GetPosition(), and SEG::Square().
|
overridevirtual |
Test if aRect intersects this 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 1024 of file pad.cpp.
References EDA_RECT::Contains(), GetBoundingBox(), GetEffectivePolygon(), EDA_RECT::Inflate(), EDA_RECT::Intersects(), and EDA_RECT::Normalize().
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 1445 of file pad.cpp.
References CIRCLE, CONN, 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(), ReplacePrimitives(), SetAnchorPadShape(), SetAttribute(), SetChamferPositions(), SetChamferRectRatio(), SetCustomShapeInZoneOpt(), SetDelta(), SetDirty(), SetDrillShape(), SetDrillSize(), SetLayerSet(), SetLocalClearance(), SetLocalSolderMaskMargin(), SetLocalSolderPasteMargin(), SetLocalSolderPasteMarginRatio(), SetOffset(), SetOrientation(), SetPadToDieLength(), SetProperty(), SetRoundRectRadiusRatio(), SetShape(), SetSize(), SetThermalGap(), SetThermalSpokeWidth(), SetZoneConnection(), SMD, and TRAPEZOID.
Referenced by operator=().
|
inline |
Definition at line 378 of file pad.h.
References LSET::AllCuMask(), and m_layerMask.
Referenced by CanHaveNumber(), doPushPadProperties(), and DIALOG_PAD_PROPERTIES::initValues().
|
inlineinherited |
Definition at line 125 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::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIGFX::SCH_PAINTER::getRenderColor(), SCH_EDITOR_CONTROL::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 |
|
inlineinherited |
Definition at line 120 of file eda_item.h.
References IS_DRAGGING, and EDA_ITEM::m_flags.
Referenced by DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES().
|
inlineinherited |
Definition at line 123 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 194 of file pad.cpp.
References B_Cu, BOARD_ITEM::GetLayer(), and GetParent().
Referenced by DIALOG_PAD_PROPERTIES::initValues(), and ViewGetLOD().
|
inlineinherited |
Definition at line 205 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 150 of file pad.cpp.
References GetParent(), and BOARD_ITEM::IsLocked().
Referenced by PCB_PLUGIN::format(), GetMsgPanelInfo(), and DIALOG_PAD_PROPERTIES::initValues().
|
inlineinherited |
Definition at line 117 of file eda_item.h.
References IS_CHANGED, and EDA_ITEM::m_flags.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles().
|
inlineinherited |
Definition at line 119 of file eda_item.h.
References IS_MOVING, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::AutoplaceFields(), LIB_SHAPE::CalcArcAngles(), LIB_PIN::CalcEdit(), 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(), and SCH_EDIT_TOOL::Rotate().
|
inlineinherited |
Definition at line 118 of file eda_item.h.
References IS_NEW, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::ConvertDeMorgan(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), EDIT_TOOL::DragArcTrack(), SYMBOL_EDITOR_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(), SCH_EDIT_FRAME::SaveSymbolToSchematic(), DIALOG_SHEET_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_AND_LABEL_PROPERTIES::TransferDataFromWindow(), and DIALOG_SHEET_PROPERTIES::TransferDataFromWindow().
|
inlineoverridevirtual |
Reimplemented from BOARD_ITEM.
Definition at line 218 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 568 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 SCH_SYMBOL, SCH_SHEET, SCH_LABEL, SCH_TEXT, SCH_FIELD, and SCH_SHEET_PIN.
Definition at line 402 of file eda_item.h.
Referenced by EDA_ITEM::Matches().
|
inlineinherited |
|
inlineinherited |
Definition at line 122 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_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(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), KIGFX::PCB_PAINTER::draw(), DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM(), KIGFX::DS_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(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), DIALOG_CHANGE_SYMBOLS::isMatch(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), SCH_MOVE_TOOL::moveItem(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RebuildSelection(), EE_SELECTION_TOOL::RebuildSelection(), RENDER_3D_OPENGL::renderFootprint(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< SCH_BASE_FRAME >::saveCopyInUndoList(), SCH_EDIT_FRAME::SchematicCleanUp(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::selectionContains(), PCB_SELECTION_TOOL::selectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), KIGFX::SCH_PAINTER::setDeviceColors(), GERBVIEW_SELECTION_TOOL::unselect(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inlineinherited |
Test to see if this object is a track or via (or microvia).
Definition at line 205 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 84 of file pad.h.
References EOT, EDA_ITEM::IsType(), m_attribute, m_drill, NPTH, PCB_LOCATE_HOLE_T, PCB_LOCATE_NPTH_T, and PCB_LOCATE_PTH_T.
|
inlineinherited |
Definition at line 121 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 294 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 313 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 PCB_VIA.
Definition at line 87 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 PCB_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_SYMBOL, SCH_SHEET, SCH_TEXT, SCH_FIELD, SCH_SHEET_PIN, ZONE, SCH_PIN, PCB_MARKER, SCH_MARKER, FP_TEXT, and PCB_TEXT.
Definition at line 364 of file eda_item.h.
Referenced by SCH_EDITOR_CONTROL::HasMatch(), PCB_TEXT::Matches(), FP_TEXT::Matches(), SCH_MARKER::Matches(), PCB_MARKER::Matches(), SCH_PIN::Matches(), ZONE::Matches(), SCH_SHEET_PIN::Matches(), SCH_FIELD::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 118 of file eda_item.cpp.
References FR_MATCH_WILDCARD, FR_SEARCH_REPLACE, EDA_ITEM::IsReplaceable(), next(), and text.
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 212 of file pad_custom_shape_functions.cpp.
References SHAPE_POLY_SET::AddOutline(), addPadPrimitivesToPolygon(), 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 FABMASTER::loadFootprints(), DSN::SPECCTRA_DB::makePADSTACK(), DIALOG_PAD_PROPERTIES::padValuesOK(), and TransformShapeWithClearanceToPolygon().
|
inlineinherited |
Definition at line 238 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 618 of file pad.h.
References m_pos, SetDirty(), and SetLocalCoord().