KiCad PCB EDA Suite
|
#include <footprint.h>
Classes | |
struct | cmp_drawings |
struct | cmp_pads |
struct | cmp_zones |
Public Member Functions | |
FOOTPRINT (BOARD *parent) | |
FOOTPRINT (const FOOTPRINT &aFootprint) | |
FOOTPRINT (FOOTPRINT &&aFootprint) | |
~FOOTPRINT () | |
FOOTPRINT & | operator= (const FOOTPRINT &aOther) |
FOOTPRINT & | operator= (FOOTPRINT &&aOther) |
LSET | GetPrivateLayers () const |
void | SetPrivateLayers (LSET aLayers) |
Adds an item to the container. More... | |
void | Add (BOARD_ITEM *aItem, ADD_MODE aMode=ADD_MODE::INSERT, bool aSkipConnectivity=false) override |
Removes an item from the container. More... | |
void | Remove (BOARD_ITEM *aItem, REMOVE_MODE aMode=REMOVE_MODE::NORMAL) override |
Removes an item from the container. More... | |
void | ClearAllNets () |
Clear (i.e. More... | |
bool | FixUuids () |
Old footprints do not always have a valid UUID (some can be set to null uuid) However null UUIDs, having a special meaning in editor, create issues when editing a footprint So all null uuids a re replaced by a valid uuid. More... | |
BOX2I | GetFpPadsLocalBbox () const |
Return the bounding box containing pads when the footprint is on the front side, orientation 0, position 0,0. More... | |
SHAPE_POLY_SET | GetBoundingHull () const |
Return a bounding polygon for the shapes and pads in the footprint. More... | |
const BOX2I | GetBoundingBox () const override |
Return the orthogonal bounding box of this object for display purposes. More... | |
const BOX2I | GetBoundingBox (bool aIncludeText, bool aIncludeInvisibleText) const |
PADS & | Pads () |
const PADS & | Pads () const |
DRAWINGS & | GraphicalItems () |
const DRAWINGS & | GraphicalItems () const |
FP_ZONES & | Zones () |
const FP_ZONES & | Zones () const |
FP_GROUPS & | Groups () |
const FP_GROUPS & | Groups () const |
bool | HasThroughHolePads () const |
std::vector< FP_3DMODEL > & | Models () |
const std::vector< FP_3DMODEL > & | Models () const |
void | SetPosition (const VECTOR2I &aPos) override |
VECTOR2I | GetPosition () const override |
void | SetOrientation (const EDA_ANGLE &aNewAngle) |
EDA_ANGLE | GetOrientation () const |
void | SetLayerAndFlip (PCB_LAYER_ID aLayer) |
Used as Layer property setter – performs a flip if necessary to set the footprint layer. More... | |
PCB_LAYER_ID | GetLayer () const override |
Return the primary layer this item is on. More... | |
void | SetOrientationDegrees (double aOrientation) |
double | GetOrientationDegrees () const |
const LIB_ID & | GetFPID () const |
void | SetFPID (const LIB_ID &aFPID) |
wxString | GetFPIDAsString () const |
void | SetFPIDAsString (const wxString &aFPID) |
wxString | GetDescription () const |
void | SetDescription (const wxString &aDoc) |
wxString | GetKeywords () const |
void | SetKeywords (const wxString &aKeywords) |
const KIID_PATH & | GetPath () const |
void | SetPath (const KIID_PATH &aPath) |
int | GetLocalSolderMaskMargin () const |
void | SetLocalSolderMaskMargin (int aMargin) |
int | GetLocalClearance () const |
void | SetLocalClearance (int aClearance) |
int | GetLocalClearance (wxString *aSource) const |
int | GetLocalSolderPasteMargin () const |
void | SetLocalSolderPasteMargin (int aMargin) |
double | GetLocalSolderPasteMarginRatio () const |
void | SetLocalSolderPasteMarginRatio (double aRatio) |
void | SetZoneConnection (ZONE_CONNECTION aType) |
ZONE_CONNECTION | GetZoneConnection () const |
int | GetAttributes () const |
void | SetAttributes (int aAttributes) |
void | SetFlag (int aFlag) |
void | IncrementFlag () |
int | GetFlag () const |
bool | IsNetTie () const |
const std::vector< wxString > & | GetNetTiePadGroups () const |
void | ClearNetTiePadGroups () |
void | AddNetTiePadGroup (const wxString &aGroup) |
std::map< wxString, int > | MapPadNumbersToNetTieGroups () const |
std::vector< PAD * > | GetNetTiePads (PAD *aPad) const |
int | GetLikelyAttribute () const |
Returns the most likely attribute based on pads Either FP_THROUGH_HOLE/FP_SMD/OTHER(0) More... | |
void | Move (const VECTOR2I &aMoveVector) override |
Move this object. More... | |
void | Rotate (const VECTOR2I &aRotCentre, const EDA_ANGLE &aAngle) override |
Rotate this object. More... | |
void | Flip (const VECTOR2I &aCentre, bool aFlipLeftRight) override |
Flip this object, i.e. More... | |
void | MoveAnchorPosition (const VECTOR2I &aMoveVector) |
Move the reference point of the footprint. More... | |
bool | IsFlipped () const |
bool | IsOnLayer (PCB_LAYER_ID aLayer) const override |
A special IsOnLayer for footprints: return true if the footprint contains only items on the given layer, even if that layer is not one of the valid footprint layers F_Cu and B_Cu. More... | |
bool | IsLocked () const override |
void | SetLocked (bool isLocked) override |
Set the #MODULE_is_LOCKED bit in the m_ModuleStatus. More... | |
bool | IsConflicting () const |
bool | IsPlaced () const |
void | SetIsPlaced (bool isPlaced) |
bool | NeedsPlaced () const |
void | SetNeedsPlaced (bool needsPlaced) |
bool | LegacyPadsLocked () const |
void | CheckFootprintAttributes (const std::function< void(const wxString &)> &aErrorHandler) |
Test if footprint attributes for type (SMD/Through hole/Other) match the expected type based on the pads in the footprint. More... | |
void | CheckPads (const std::function< void(const PAD *, int, const wxString &)> &aErrorHandler) |
Run non-board-specific DRC checks on footprint's pads. More... | |
void | CheckShortingPads (const std::function< void(const PAD *, const PAD *, const VECTOR2I &)> &aErrorHandler) |
Check for overlapping, different-numbered, non-net-tie pads. More... | |
void | CheckNetTies (const std::function< void(const BOARD_ITEM *aItem, const BOARD_ITEM *bItem, const BOARD_ITEM *cItem, const VECTOR2I &)> &aErrorHandler) |
Check for un-allowed shorting of pads in net-tie footprints. More... | |
void | CheckNetTiePadGroups (const std::function< void(const wxString &)> &aErrorHandler) |
Sanity check net-tie pad groups. More... | |
void | TransformPadsToPolySet (SHAPE_POLY_SET &aBuffer, PCB_LAYER_ID aLayer, int aClearance, int aMaxError, ERROR_LOC aErrorLoc, bool aSkipNPTHPadsWihNoCopper=false, bool aSkipPlatedPads=false, bool aSkipNonPlatedPads=false) const |
Generate pads shapes on layer aLayer as polygons and adds these polygons to aBuffer. More... | |
void | TransformFPShapesToPolySet (SHAPE_POLY_SET &aBuffer, PCB_LAYER_ID aLayer, int aClearance, int aError, ERROR_LOC aErrorLoc, bool aIncludeText=true, bool aIncludeShapes=true, bool aIncludePrivateItems=false) const |
Generate shapes of graphic items (outlines) on layer aLayer as polygons and adds these polygons to aBuffer. More... | |
void | TransformFPTextToPolySet (SHAPE_POLY_SET &aBuffer, PCB_LAYER_ID aLayer, int aClearance, int aError, ERROR_LOC aErrorLoc) const |
This function is the same as TransformFPShapesToPolySet but only generates text. More... | |
void | GetContextualTextVars (wxArrayString *aVars) const |
Return the list of system text vars for this footprint. More... | |
bool | ResolveTextVar (wxString *token, int aDepth=0) const |
Resolve any references to system tokens supported by the component. More... | |
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 | HitTest (const VECTOR2I &aPosition, int aAccuracy=0) const override |
Test if aPosition is inside or on the boundary of this item. More... | |
bool | HitTestAccurate (const VECTOR2I &aPosition, int aAccuracy=0) const |
Test if a point is inside the bounding polygon of the footprint. More... | |
bool | HitTest (const BOX2I &aRect, bool aContained, int aAccuracy=0) const override |
Test if aRect intersects this item. More... | |
const wxString & | GetReference () const |
void | SetReference (const wxString &aReference) |
wxString | GetReferenceAsString () const |
void | IncrementReference (int aDelta) |
Bump the current reference by aDelta. More... | |
const wxString & | GetValue () const |
void | SetValue (const wxString &aValue) |
wxString | GetValueAsString () const |
FP_TEXT & | Value () |
read/write accessors: More... | |
FP_TEXT & | Reference () |
FP_TEXT & | Value () const |
The const versions to keep the compiler happy. More... | |
FP_TEXT & | Reference () const |
const std::map< wxString, wxString > & | GetProperties () const |
void | SetProperties (const std::map< wxString, wxString > &aProps) |
const wxString & | GetProperty (const wxString &aKey) |
bool | HasProperty (const wxString &aKey) |
void | SetProperty (const wxString &aKey, const wxString &aVal) |
bool | IsBoardOnly () const |
void | SetBoardOnly (bool aIsBoardOnly=true) |
bool | IsExcludedFromPosFiles () const |
void | SetExcludedFromPosFiles (bool aExclude=true) |
bool | IsExcludedFromBOM () const |
void | SetExcludedFromBOM (bool aExclude=true) |
bool | AllowMissingCourtyard () const |
void | SetAllowMissingCourtyard (bool aAllow=true) |
void | SetFileFormatVersionAtLoad (int aVersion) |
int | GetFileFormatVersionAtLoad () const |
PAD * | FindPadByNumber (const wxString &aPadNumber, PAD *aSearchAfterMe=nullptr) const |
Return a PAD with a matching number. More... | |
PAD * | GetPad (const VECTOR2I &aPosition, LSET aLayerMask=LSET::AllLayersMask()) |
Get a pad at aPosition on aLayerMask in the footprint. More... | |
unsigned | GetPadCount (INCLUDE_NPTH_T aIncludeNPTH=INCLUDE_NPTH_T(INCLUDE_NPTH)) const |
Return the number of pads. More... | |
unsigned | GetUniquePadCount (INCLUDE_NPTH_T aIncludeNPTH=INCLUDE_NPTH_T(INCLUDE_NPTH)) const |
Return the number of unique non-blank pads. More... | |
wxString | GetNextPadNumber (const wxString &aLastPadName) const |
Return the next available pad number in the footprint. More... | |
wxString | GetTypeName () const |
Get the type of footprint. More... | |
double | GetArea (int aPadding=0) const |
KIID | GetLink () const |
void | SetLink (const KIID &aLink) |
BOARD_ITEM * | Duplicate () const override |
Create a copy of this BOARD_ITEM. More... | |
BOARD_ITEM * | DuplicateItem (const BOARD_ITEM *aItem, bool aAddToFootprint=false) |
Duplicate a given item within the footprint, optionally adding it to the board. More... | |
void | Add3DModel (FP_3DMODEL *a3DModel) |
Add a3DModel definition to the end of the 3D model list. More... | |
INSPECT_RESULT | Visit (INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &aScanTypes) override |
May be re-implemented for each derived class in order to handle all the types given by its member data. More... | |
wxString | GetClass () const override |
Return the class name. More... | |
wxString | GetItemDescription (UNITS_PROVIDER *aUnitsProvider) const override |
Return a user-visible description string of this item. More... | |
BITMAPS | GetMenuImage () const override |
Return a pointer to an image to be used in menus. More... | |
EDA_ITEM * | Clone () const override |
Create a duplicate of this item with linked list members set to NULL. More... | |
void | RunOnChildren (const std::function< void(BOARD_ITEM *)> &aFunction) const |
Invoke a function on all BOARD_ITEMs that belong to the footprint (pads, drawings, texts). More... | |
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... | |
bool | FootprintNeedsUpdate (const FOOTPRINT *aLibFootprint) |
Return true if a board footprint differs from the library version. More... | |
void | SetInitialComments (wxArrayString *aInitialComments) |
Take ownership of caller's heap allocated aInitialComments block. More... | |
double | CoverageRatio (const GENERAL_COLLECTOR &aCollector) const |
Calculate the ratio of total area of the footprint pads and graphical items to the area of the footprint. More... | |
const wxArrayString * | GetInitialComments () const |
const SHAPE_POLY_SET & | GetCourtyard (PCB_LAYER_ID aLayer) const |
Used in DRC to test the courtyard area (a complex polygon). More... | |
void | BuildCourtyardCaches (OUTLINE_ERROR_HANDLER *aErrorHandler=nullptr) |
Build complex polygons of the courtyard areas from graphic items on the courtyard layers. More... | |
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... | |
virtual void | Delete (BOARD_ITEM *aItem) |
Removes an item from the container and deletes it. More... | |
virtual const ZONE_SETTINGS & | GetZoneSettings () const |
Fetch the zone settings for this container. More... | |
virtual void | SetZoneSettings (const ZONE_SETTINGS &aSettings) |
Set the zone settings for this container. More... | |
void | SetParentGroup (PCB_GROUP *aGroup) |
PCB_GROUP * | GetParentGroup () const |
int | GetX () const |
int | GetY () const |
virtual VECTOR2I | GetCenter () const |
This defaults to the center of the bounding box if not overridden. More... | |
void | SetX (int aX) |
void | SetY (int aY) |
virtual bool | IsConnected () const |
Returns information if the object is derived from BOARD_CONNECTED_ITEM. More... | |
virtual bool | IsOnCopperLayer () const |
virtual bool | HasHole () const |
virtual bool | IsTented () const |
virtual std::shared_ptr< SHAPE_SEGMENT > | GetEffectiveHoleShape () const |
BOARD_ITEM_CONTAINER * | GetParent () const |
BOARD_ITEM_CONTAINER * | GetParentFootprint () const |
virtual bool | HasLineStroke () const |
Check if this item has line stoke properties. More... | |
virtual STROKE_PARAMS | GetStroke () const |
virtual void | SetStroke (const STROKE_PARAMS &aStroke) |
virtual LSET | GetLayerSet () const |
Return a std::bitset of all layers on which the item physically resides. More... | |
virtual void | SetLayerSet (LSET aLayers) |
virtual void | SetLayer (PCB_LAYER_ID aLayer) |
Set the layer this item is on. More... | |
void | SwapItemData (BOARD_ITEM *aImage) |
Swap data between aItem and aImage. More... | |
virtual bool | IsKnockout () const |
virtual void | SetIsKnockout (bool aKnockout) |
void | DeleteStructure () |
Delete this object after removing from its parent if it has one. More... | |
virtual const BOARD * | GetBoard () const |
Return the BOARD in which this BOARD_ITEM resides, or NULL if none. More... | |
virtual BOARD * | GetBoard () |
wxString | GetLayerName () const |
Return the name of the PCB layer on which the item resides. More... | |
virtual void | TransformShapeToPolygon (SHAPE_POLY_SET &aBuffer, PCB_LAYER_ID aLayer, int aClearance, int aError, ERROR_LOC aErrorLoc, bool ignoreLineWidth=false) const |
Convert the item shape to a closed polygon. More... | |
KICAD_T | Type () const |
Returns the type of object. More... | |
virtual void | SetParent (EDA_ITEM *aParent) |
bool | IsModified () const |
bool | IsNew () const |
bool | IsMoving () const |
bool | IsSelected () const |
bool | IsEntered () const |
bool | IsBrightened () const |
bool | IsRollover () const |
void | SetSelected () |
void | SetBrightened () |
void | ClearSelected () |
void | ClearBrightened () |
void | SetModified () |
int | GetState (EDA_ITEM_FLAGS type) const |
void | SetState (EDA_ITEM_FLAGS type, bool state) |
EDA_ITEM_FLAGS | GetStatus () const |
void | SetStatus (EDA_ITEM_FLAGS aStatus) |
void | SetFlags (EDA_ITEM_FLAGS aMask) |
void | XorFlags (EDA_ITEM_FLAGS aMask) |
void | ClearFlags (EDA_ITEM_FLAGS aMask=EDA_ITEM_ALL_FLAGS) |
EDA_ITEM_FLAGS | GetFlags () const |
bool | HasFlag (EDA_ITEM_FLAGS aFlag) const |
EDA_ITEM_FLAGS | GetEditFlags () const |
void | ClearTempFlags () |
void | ClearEditFlags () |
virtual bool | RenderAsBitmap (double aWorldScale) const |
void | SetIsShownAsBitmap (bool aBitmap) |
bool | IsShownAsBitmap () const |
virtual bool | IsType (const std::vector< KICAD_T > &aScanTypes) const |
Check whether the item is one of the listed types. More... | |
void | SetForceVisible (bool aEnable) |
Set and clear force visible flag used to force the item to be drawn even if it's draw attribute is set to not visible. More... | |
bool | IsForceVisible () const |
virtual wxString | GetFriendlyName () const |
virtual const VECTOR2I | GetFocusPosition () const |
Similar to GetPosition, but allows items to return their visual center rather than their anchor. More... | |
virtual VECTOR2I | GetSortPosition () const |
Return the coordinates that should be used for sorting this element visually compared to other elements. More... | |
wxString | GetTypeDesc () const |
Return a translated description of the type for this EDA_ITEM for display in user facing messages. More... | |
virtual bool | Matches (const EDA_SEARCH_DATA &aSearchData, void *aAuxData) const |
Compare the item against the search criteria in aSearchData. More... | |
virtual bool | Replace (const EDA_SEARCH_DATA &aSearchData, void *aAuxData=nullptr) |
Perform a text replace using the find and replace criteria in aSearchData on items that support text find and replace. More... | |
virtual bool | IsReplaceable () const |
Override this method in any derived object that supports test find and replace. More... | |
bool | operator< (const EDA_ITEM &aItem) const |
Test if another item is less than this object. More... | |
virtual void | ViewDraw (int aLayer, VIEW *aView) const |
Draw the parts of the object belonging to layer aLayer. More... | |
VIEW_ITEM_DATA * | viewPrivData () const |
void | ClearViewPrivData () |
bool | Set (PROPERTY_BASE *aProperty, wxAny &aValue) |
template<typename T > | |
bool | Set (PROPERTY_BASE *aProperty, T aValue) |
template<typename T > | |
bool | Set (const wxString &aProperty, T aValue) |
wxAny | Get (PROPERTY_BASE *aProperty) const |
template<typename T > | |
T | Get (PROPERTY_BASE *aProperty) const |
template<typename T > | |
std::optional< T > | Get (const wxString &aProperty) const |
Static Public Member Functions | |
static bool | ClassOf (const EDA_ITEM *aItem) |
static bool | IsLibNameValid (const wxString &aName) |
Test for validity of a name of a footprint to be used in a footprint library ( no spaces, dir separators ... ). More... | |
static const wxChar * | StringLibNameInvalidChars (bool aUserReadable) |
Test for validity of the name in a library of the footprint ( no spaces, dir separators ... ). More... | |
static double | GetCoverageArea (const BOARD_ITEM *aItem, const GENERAL_COLLECTOR &aCollector) |
Return the initial comments block or NULL if none, without transfer of ownership. More... | |
template<class T > | |
static INSPECT_RESULT | IterateForward (std::deque< T > &aList, INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &scanTypes) |
This changes first parameter to avoid the DList and use the main queue instead. More... | |
template<class T > | |
static INSPECT_RESULT | IterateForward (std::vector< T > &aList, INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &scanTypes) |
Change first parameter to avoid the DList and use std::vector instead. More... | |
static bool | Replace (const EDA_SEARCH_DATA &aSearchData, wxString &aText) |
Perform a text replace on aText using the find and replace criteria in aSearchData on items that support text find and replace. More... | |
static bool | Sort (const EDA_ITEM *aLeft, const EDA_ITEM *aRight) |
Helper function to be used by the C++ STL sort algorithm for sorting a STL container of EDA_ITEM pointers. More... | |
Public Attributes | |
const KIID | m_Uuid |
Static Public Attributes | |
static VECTOR2I | ZeroOffset |
A value of wxPoint(0,0) which can be passed to the Draw() functions. More... | |
Protected Member Functions | |
virtual void | swapData (BOARD_ITEM *aImage) override |
virtual wxString | layerMaskDescribe () const |
Return a string (to be shown to the user) describing a layer mask. More... | |
bool | Matches (const wxString &aText, const EDA_SEARCH_DATA &aSearchData) const |
Compare aText against search criteria in aSearchData. More... | |
Protected Attributes | |
PCB_LAYER_ID | m_layer |
bool | m_isKnockout |
bool | m_isLocked |
PCB_GROUP * | m_group |
EDA_ITEM_FLAGS | m_status |
EDA_ITEM * | m_parent |
Linked list: Link (parent struct) More... | |
bool | m_forceVisible |
EDA_ITEM_FLAGS | m_flags |
Definition at line 100 of file footprint.h.
FOOTPRINT::FOOTPRINT | ( | BOARD * | parent | ) |
Definition at line 55 of file footprint.cpp.
References ANGLE_0, F_Cu, FP_PADS_are_LOCKED, INHERITED, m_3D_Drawings, m_arflag, m_attributes, m_fileFormatVersionAtLoad, m_fpStatus, m_lastEditTime, BOARD_ITEM::m_layer, m_link, m_localClearance, m_localSolderMaskMargin, m_localSolderPasteMargin, m_localSolderPasteMarginRatio, m_orient, m_reference, m_value, m_zoneConnection, FP_TEXT::TEXT_is_REFERENCE, and FP_TEXT::TEXT_is_VALUE.
Referenced by Clone().
FOOTPRINT::FOOTPRINT | ( | const FOOTPRINT & | aFootprint | ) |
Definition at line 86 of file footprint.cpp.
References Add(), PCB_GROUP::AddItem(), APPEND, PCB_GROUP::GetItems(), GraphicalItems(), group, Groups(), m_3D_Drawings, m_arflag, m_attributes, m_boundingBoxCacheTimeStamp, m_cachedBoundingBox, m_cachedHull, m_cachedTextExcludedBBox, m_cachedVisibleBBox, m_doc, m_fileFormatVersionAtLoad, m_fpid, m_fpStatus, m_hullCacheTimeStamp, m_initial_comments, m_keywords, m_lastEditTime, m_link, m_localClearance, m_localSolderMaskMargin, m_localSolderPasteMargin, m_localSolderPasteMarginRatio, m_netTiePadGroups, m_orient, m_path, m_pos, m_privateLayers, m_properties, m_reference, m_textExcludedBBoxCacheTimeStamp, m_value, m_visibleBBoxCacheTimeStamp, m_zoneConnection, pad, Pads(), BOARD_CONNECTED_ITEM::SetNetCode(), EDA_ITEM::SetParent(), and Zones().
FOOTPRINT::FOOTPRINT | ( | FOOTPRINT && | aFootprint | ) |
Definition at line 192 of file footprint.cpp.
FOOTPRINT::~FOOTPRINT | ( | ) |
Definition at line 199 of file footprint.cpp.
References BOARD_ITEM::GetBoard(), group, m_drawings, m_fp_groups, m_fp_zones, m_initial_comments, m_pads, m_reference, and m_value.
|
overridevirtual |
Removes an item from the container.
Implements BOARD_ITEM_CONTAINER.
Definition at line 567 of file footprint.cpp.
References APPEND, EDA_ITEM::ClearEditFlags(), KI_FALLTHROUGH, m_drawings, m_fp_groups, m_fp_zones, m_pads, PCB_BITMAP_T, PCB_FP_DIM_ALIGNED_T, PCB_FP_DIM_CENTER_T, PCB_FP_DIM_LEADER_T, PCB_FP_DIM_ORTHOGONAL_T, PCB_FP_DIM_RADIAL_T, PCB_FP_SHAPE_T, PCB_FP_TEXT_T, PCB_FP_TEXTBOX_T, PCB_FP_ZONE_T, PCB_GROUP_T, PCB_PAD_T, EDA_ITEM::SetParent(), FP_TEXT::TEXT_is_DIVERS, and EDA_ITEM::Type().
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::addAttribute(), PCAD2KICAD::PCB_ARC::AddToFootprint(), PCAD2KICAD::PCB_LINE::AddToFootprint(), PCAD2KICAD::PCB_POLYGON::AddToFootprint(), PCAD2KICAD::PCB_PAD::AddToFootprint(), ALTIUM_PCB::ConvertArcs6ToFootprintItem(), ALTIUM_PCB::ConvertArcs6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertFills6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), ALTIUM_PCB::ConvertPads6ToFootprintItemOnNonCopper(), ALTIUM_PCB::ConvertShapeBasedRegions6ToFootprintItem(), ALTIUM_PCB::ConvertShapeBasedRegions6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertTexts6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertTracks6ToFootprintItem(), ALTIUM_PCB::ConvertTracks6ToFootprintItemOnLayer(), MICROWAVE_TOOL::createBaseFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), MICROWAVE_TOOL::createPolygonShape(), KI_TEST::DrawArc(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarShape(), KI_TEST::DrawSegment(), DuplicateItem(), PCB_EDIT_FRAME::ExchangeFootprint(), FOOTPRINT(), PCB_BASE_FRAME::GetFootprintFromBoardByReference(), GROUP_TOOL::Group(), ALTIUM_PCB::HelperCreateAndAddShape(), ALTIUM_PCB::HelperPcpShapeAsFootprintKeepoutRegion(), LEGACY_PLUGIN::loadFOOTPRINT(), FABMASTER::loadFootprints(), LEGACY_PLUGIN::loadFP_SHAPE(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryAreas(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryCoppers(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryPads(), LEGACY_PLUGIN::loadPAD(), operator=(), EAGLE_PLUGIN::packageCircle(), EAGLE_PLUGIN::packageHole(), EAGLE_PLUGIN::packagePad(), EAGLE_PLUGIN::packagePolygon(), EAGLE_PLUGIN::packageRectangle(), EAGLE_PLUGIN::packageSMD(), EAGLE_PLUGIN::packageText(), EAGLE_PLUGIN::packageWire(), PCB_PARSER::resolveGroups(), CLIPBOARD_IO::SaveSelection(), FOOTPRINT_EDIT_FRAME::SelectFootprintFromBoard(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataFromWindow().
void FOOTPRINT::Add3DModel | ( | FP_3DMODEL * | a3DModel | ) |
Add a3DModel definition to the end of the 3D model list.
a3DModel | A pointer to a FP_3DMODEL to add to the list. |
Definition at line 1260 of file footprint.cpp.
References m_3D_Drawings, and FP_3DMODEL::m_Filename.
|
inline |
Definition at line 279 of file footprint.h.
References m_netTiePadGroups.
Referenced by DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataFromWindow().
|
inline |
Definition at line 610 of file footprint.h.
References FP_ALLOW_MISSING_COURTYARD, and m_attributes.
Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC().
void FOOTPRINT::BuildCourtyardCaches | ( | OUTLINE_ERROR_HANDLER * | aErrorHandler = nullptr | ) |
Build complex polygons of the courtyard areas from graphic items on the courtyard layers.
Definition at line 2227 of file footprint.cpp.
References B_CrtYd, SHAPE_POLY_SET::CacheTriangulation(), SHAPE_POLY_SET::CHAMFER_ACUTE_CORNERS, EDA_ITEM::ClearFlags(), ConvertOutlineToPolygon(), F_CrtYd, BOARD_ITEM::GetBoard(), BOARD::GetTimeStamp(), GraphicalItems(), SHAPE_POLY_SET::Inflate(), m_courtyard_cache_back, m_courtyard_cache_front, m_courtyard_cache_timestamp, MALFORMED_B_COURTYARD, MALFORMED_COURTYARDS, MALFORMED_F_COURTYARD, EDA_IU_SCALE::mmToIU(), PCB_FP_SHAPE_T, pcbIUScale, SHAPE_POLY_SET::RemoveAllContours(), and EDA_ITEM::SetFlags().
Referenced by AR_AUTOPLACER::buildFpAreas(), GetCourtyard(), BOARD_INSPECTION_TOOL::makeDRCEngine(), and DIALOG_FOOTPRINT_CHECKER::runChecks().
void FOOTPRINT::CheckFootprintAttributes | ( | const std::function< void(const wxString &)> & | aErrorHandler | ) |
Test if footprint attributes for type (SMD/Through hole/Other) match the expected type based on the pads in the footprint.
Footprints with plated through-hole pads should usually be marked through hole even if they also have SMD because they might not be auto-placed. Exceptions to this might be shielded connectors. Otherwise, footprints with SMD pads should be marked SMD. Footprints with no connecting pads should be marked "Other"
aErrorHandler | callback to handle the error messages generated |
Definition at line 2361 of file footprint.cpp.
References _, FP_SMD, FP_THROUGH_HOLE, GetAttributes(), GetLikelyAttribute(), and GetTypeName().
Referenced by DIALOG_FOOTPRINT_CHECKER::runChecks().
void FOOTPRINT::CheckNetTiePadGroups | ( | const std::function< void(const wxString &)> & | aErrorHandler | ) |
Sanity check net-tie pad groups.
Pads cannot be listed more than once, and pad numbers must correspond to a pad.
aErrorHandler | callback to handle the error messages generated |
Definition at line 2617 of file footprint.cpp.
References _, FindPadByNumber(), MapPadNumbersToNetTieGroups(), and pad.
Referenced by DIALOG_FOOTPRINT_CHECKER::runChecks().
void FOOTPRINT::CheckNetTies | ( | const std::function< void(const BOARD_ITEM *aItem, const BOARD_ITEM *bItem, const BOARD_ITEM *cItem, const VECTOR2I &)> & | aErrorHandler | ) |
Check for un-allowed shorting of pads in net-tie footprints.
If two pads are shorted, they must both appear in one of the allowed-shorting lists.
aErrorHandler | callback to handle the error messages generated |
Definition at line 2511 of file footprint.cpp.
References ARC_HIGH_DEF, B_Cu, ERROR_OUTSIDE, F_Cu, PAD::GetNumber(), PAD::GetPosition(), In1_Cu, BOARD_ITEM::IsOnCopperLayer(), m_drawings, m_fp_zones, m_pads, m_reference, m_value, MapPadNumbersToNetTieGroups(), SHAPE_LINE_CHAIN::NearestPoint(), SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), pad, SHAPE_POLY_SET::PM_FAST, and SHAPE_POLY_SET::Simplify().
Referenced by DIALOG_FOOTPRINT_CHECKER::runChecks().
void FOOTPRINT::CheckPads | ( | const std::function< void(const PAD *, int, const wxString &)> & | aErrorHandler | ) |
Run non-board-specific DRC checks on footprint's pads.
These are the checks supported by both the PCB DRC and the Footprint Editor Footprint Checker.
aErrorHandler | callback to handle the error messages generated |
Definition at line 2386 of file footprint.cpp.
References _, LSET::AllCuMask(), ARC_HIGH_DEF, B_Cu, B_Mask, B_Paste, SHAPE_POLY_SET::BooleanSubtract(), DRCE_PAD_TH_WITH_NO_HOLE, DRCE_PADSTACK, ERROR_INSIDE, F_Cu, F_Mask, F_Paste, SHAPE_POLY_SET::IsEmpty(), NPTH, pad, Pads(), PTH, LSET::Seq(), SMD, and TransformOvalToPolygon().
Referenced by DIALOG_FOOTPRINT_CHECKER::runChecks().
void FOOTPRINT::CheckShortingPads | ( | const std::function< void(const PAD *, const PAD *, const VECTOR2I &)> & | aErrorHandler | ) |
Check for overlapping, different-numbered, non-net-tie pads.
aErrorHandler | callback to handle the error messages generated |
Definition at line 2465 of file footprint.cpp.
References LSET::AllCuMask(), SHAPE::Collide(), alg::contains(), GetNetTiePads(), pad, and Pads().
Referenced by DIALOG_FOOTPRINT_CHECKER::runChecks().
|
inlinestatic |
Definition at line 115 of file footprint.h.
References PCB_FOOTPRINT_T, and EDA_ITEM::Type().
void FOOTPRINT::ClearAllNets | ( | ) |
Clear (i.e.
force the ORPHANED dummy net info) the net info which depends on a given board for all pads of the footprint.
This is needed when a footprint is copied between the fp editor and the board editor for instance, because net info become fully broken
Definition at line 558 of file footprint.cpp.
References m_pads, NETINFO_LIST::ORPHANED, and pad.
Referenced by PCB_BASE_FRAME::loadFootprint(), and FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard().
|
inlineinherited |
Definition at line 119 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::ClearFlags().
Referenced by SCH_EDIT_FRAME::FocusOnItem(), PCB_BASE_FRAME::FocusOnItems(), EE_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlineinherited |
Definition at line 158 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and EDA_ITEM::GetEditFlags().
Referenced by BOARD::Add(), Add(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), PL_DRAWING_TOOLS::PlaceItem(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_BASE_EDIT_FRAME::saveCopyInUndoList(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
inlineinherited |
Definition at line 141 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PNS_KICAD_IFACE::AddItem(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_MOVE_TOOL::AlignElements(), SCH_EDIT_TOOL::BreakWire(), BuildCourtyardCaches(), EDA_ITEM::ClearBrightened(), EDA_ITEM::ClearEditFlags(), EDA_ITEM::ClearSelected(), EDA_ITEM::ClearTempFlags(), SCH_EDIT_FRAME::ConvertPart(), SYMBOL_EDITOR_EDIT_TOOL::Copy(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), SYMBOL_EDITOR_PIN_TOOL::CreateImagePins(), MICROWAVE_TOOL::createMicrowaveInductor(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), PCB_TOOL_BASE::doInteractiveItemPlacement(), KIGFX::SCH_PAINTER::draw(), SCH_ITEM::Duplicate(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_SELECTION_TOOL::ExitGroup(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::Init(), EE_COLLECTOR::Inspect(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromLibrary(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDIT_FRAME::RollbackSymbolFromUndo(), DRC_TEST_PROVIDER_DISALLOW::Run(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_SEXPR_PLUGIN_CACHE::savePin(), EE_SELECTION_TOOL::selectMultiple(), SCH_EDIT_FRAME::SelectUnit(), EDA_ITEM::SetIsShownAsBitmap(), BOARD_COMMIT::Stage(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), and EE_SELECTION_TOOL::unhighlight().
|
inline |
Definition at line 274 of file footprint.h.
References m_netTiePadGroups.
Referenced by DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataFromWindow().
|
inlineinherited |
Definition at line 118 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and SELECTED.
Referenced by PCB_POINT_EDITOR::addCorner(), EDIT_TOOL::Duplicate(), ARRAY_CREATOR::Invoke(), LIB_SYMBOL::LIB_SYMBOL(), EE_TOOL_BASE< T >::saveCopyInUndoList(), SCH_DRAWING_TOOLS::TwoClickPlace(), EE_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and GERBVIEW_SELECTION_TOOL::unselectVisually().
|
inlineinherited |
Definition at line 153 of file eda_item.h.
References CANDIDATE, EDA_ITEM::ClearFlags(), IS_LINKED, SELECTED_BY_DRAG, and SKIP_STRUCT.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles(), and SCH_EDIT_FRAME::PutDataInPreviousState().
|
inlineinherited |
Definition at line 143 of file view_item.h.
References KIGFX::VIEW_ITEM::m_viewPrivData.
Referenced by KIGFX::VIEW::OnDestroy().
|
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 1373 of file footprint.cpp.
References FOOTPRINT().
Referenced by FOOTPRINT_EDIT_FRAME::AddFootprintToBoard(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), PCB_PLUGIN::FootprintLoad(), FootprintNeedsUpdate(), PCB_PLUGIN::FootprintSave(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), BOARD_NETLIST_UPDATER::updateComponentPadConnections(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().
double FOOTPRINT::CoverageRatio | ( | const GENERAL_COLLECTOR & | aCollector | ) | const |
Calculate the ratio of total area of the footprint pads and graphical items to the area of the footprint.
Used by selection tool heuristics.
Definition at line 2111 of file footprint.cpp.
References SHAPE_POLY_SET::AddOutline(), ARC_LOW_DEF, ERROR_OUTSIDE, GetBoundingHull(), COLLECTOR::GetCount(), GENERAL_COLLECTOR::GetGuide(), BOARD_ITEM::GetParent(), KiROUND(), COLLECTORS_GUIDE::OnePixelInIU(), SHAPE_POLY_SET::Outline(), PCB_ARC_T, PCB_FOOTPRINT_T, PCB_FP_SHAPE_T, PCB_FP_TEXT_T, PCB_FP_TEXTBOX_T, PCB_SHAPE_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_TRACE_T, PCB_VIA_T, polygonArea(), TransformFPShapesToPolySet(), TransformPadsToPolySet(), BOARD_ITEM::TransformShapeToPolygon(), EDA_ITEM::Type(), and UNDEFINED_LAYER.
|
inlinevirtualinherited |
Removes an item from the container and deletes it.
Definition at line 77 of file board_item_container.h.
References BOARD_ITEM_CONTAINER::Remove().
Referenced by DRC_ITEMS_PROVIDER::DeleteItem(), PCB_PARSER::parseBOARD_unchecked(), and BOARD_COMMIT::Push().
|
inherited |
Delete this object after removing from its parent if it has one.
Definition at line 150 of file board_item.cpp.
References BOARD_ITEM::GetParent(), and BOARD_ITEM_CONTAINER::Remove().
Referenced by DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow().
|
overridevirtual |
Create a copy of this BOARD_ITEM.
Reimplemented from BOARD_ITEM.
Definition at line 1856 of file footprint.cpp.
References BOARD_ITEM::Duplicate(), EDA_ITEM::m_Uuid, and RunOnChildren().
Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), FOOTPRINT_PREVIEW_PANEL::DisplayFootprint(), GPCB_PLUGIN::FootprintLoad(), PCB_PLUGIN::FootprintLoad(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), and CADSTAR_PCB_ARCHIVE_LOADER::loadComponents().
BOARD_ITEM * FOOTPRINT::DuplicateItem | ( | const BOARD_ITEM * | aItem, |
bool | aAddToFootprint = false |
||
) |
Duplicate a given item within the footprint, optionally adding it to the board.
Definition at line 1869 of file footprint.cpp.
References Add(), BOARD_ITEM::Duplicate(), EDA_ITEM::GetClass(), FP_TEXT::GetType(), m_fp_zones, m_pads, EDA_ITEM::m_Uuid, PAD, PCB_FOOTPRINT_T, PCB_FP_DIM_ALIGNED_T, PCB_FP_DIM_CENTER_T, PCB_FP_DIM_LEADER_T, PCB_FP_DIM_ORTHOGONAL_T, PCB_FP_DIM_RADIAL_T, PCB_FP_SHAPE_T, PCB_FP_TEXT_T, PCB_FP_TEXTBOX_T, PCB_FP_ZONE_T, PCB_GROUP_T, PCB_PAD_T, EDA_TEXT::SetText(), FP_TEXT::SetType(), FP_TEXT::TEXT_is_DIVERS, FP_TEXT::TEXT_is_REFERENCE, FP_TEXT::TEXT_is_VALUE, and EDA_ITEM::Type().
Referenced by EDIT_TOOL::Duplicate(), and ARRAY_CREATOR::Invoke().
PAD * FOOTPRINT::FindPadByNumber | ( | const wxString & | aPadNumber, |
PAD * | aSearchAfterMe = nullptr |
||
) | const |
Return a PAD with a matching number.
aPadNumber | the pad number to find. |
aSearchAfterMe | = not nullptr to find a pad living after aAfterMe |
Definition at line 1174 of file footprint.cpp.
Referenced by CheckNetTiePadGroups(), PCB_EDIT_FRAME::ExchangeFootprint(), BOARD_NETLIST_UPDATER::testConnectivity(), and DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist().
bool FOOTPRINT::FixUuids | ( | ) |
Old footprints do not always have a valid UUID (some can be set to null uuid) However null UUIDs, having a special meaning in editor, create issues when editing a footprint So all null uuids a re replaced by a valid uuid.
Definition at line 238 of file footprint.cpp.
References group, m_drawings, m_fp_groups, m_fp_zones, m_pads, m_reference, m_value, niluuid, and pad.
Referenced by FOOTPRINT_EDIT_FRAME::AddFootprintToBoard().
|
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). |
Mirror the Y position (around the X axis)
Reimplemented from BOARD_ITEM.
Definition at line 1586 of file footprint.cpp.
References ANGLE_180, Flip(), FP_TEXT::Flip(), FlipLayer(), Format(), GetLayer(), m_boundingBoxCacheTimeStamp, m_cachedHull, m_courtyard_cache_back, m_courtyard_cache_front, m_courtyard_cache_timestamp, m_drawings, m_fp_zones, m_orient, m_pads, m_pos, m_reference, m_textExcludedBBoxCacheTimeStamp, m_value, m_visibleBBoxCacheTimeStamp, SHAPE_POLY_SET::Mirror(), MIRROR(), EDA_ANGLE::Normalize180(), pad, PCB_FP_DIM_ALIGNED_T, PCB_FP_DIM_CENTER_T, PCB_FP_DIM_LEADER_T, PCB_FP_DIM_ORTHOGONAL_T, PCB_FP_DIM_RADIAL_T, PCB_FP_SHAPE_T, PCB_FP_TEXT_T, PCB_FP_TEXTBOX_T, Rotate(), BOARD_ITEM::SetLayer(), SetPosition(), and VECTOR2< T >::y.
Referenced by PCB_BASE_FRAME::AddFootprintToBoard(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PCB_EDIT_FRAME::ExchangeFootprint(), Flip(), PCB_PLUGIN::FootprintSave(), DSN::SPECCTRA_DB::FromSESSION(), CADSTAR_PCB_ARCHIVE_LOADER::loadComponents(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FABMASTER::loadFootprints(), EAGLE_PLUGIN::orientFootprintAndText(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SetLayerAndFlip(), and DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow().
bool FOOTPRINT::FootprintNeedsUpdate | ( | const FOOTPRINT * | aLibFootprint | ) |
Return true if a board footprint differs from the library version.
Definition at line 348 of file drc_test_provider_library_parity.cpp.
References Clone(), FP_ALLOW_MISSING_COURTYARD, FP_ALLOW_SOLDERMASK_BRIDGES, FP_SMD, FP_THROUGH_HOLE, GetAttributes(), GetDescription(), GetKeywords(), GetLocalClearance(), GetLocalSolderMaskMargin(), GetLocalSolderPasteMargin(), GetLocalSolderPasteMarginRatio(), GetNetTiePadGroups(), GetZoneConnection(), GraphicalItems(), IsFlipped(), Models(), Pads(), PCB_FP_SHAPE_T, TEST, TEST_ATTR, TEST_D, TEST_MODELS, TEST_PADS, TEST_SHAPES, TEST_ZONES, and Zones().
Referenced by DIALOG_EXCHANGE_FOOTPRINTS::processFootprint().
|
inlineinherited |
Definition at line 104 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 84 of file inspectable.h.
References PROPERTY_BASE::getter(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
Referenced by BOOST_AUTO_TEST_CASE(), CLASS_D_DESC::CLASS_D_DESC(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PROPERTIES_PANEL::getItemValue(), PCB_EXPR_VAR_REF::GetValue(), and PAD_DESC::PAD_DESC().
|
inlineinherited |
Definition at line 92 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
double FOOTPRINT::GetArea | ( | int | aPadding = 0 | ) | const |
Definition at line 709 of file footprint.cpp.
References std::abs(), GetBoundingBox(), BOX2< Vec >::GetHeight(), and BOX2< Vec >::GetWidth().
Referenced by sortFootprintsByComplexity(), and sortFootprintsByRatsnestSize().
|
inline |
Definition at line 250 of file footprint.h.
References m_attributes.
Referenced by BOARD_NETLIST_UPDATER::addNewFootprint(), KI_TEST::CheckFootprint(), CheckFootprintAttributes(), DRC_TEST_PROVIDER_SOLDER_MASK::checkItemMask(), DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture(), EXPORTER_STEP::composePCB(), EDIT_TOOL::doMoveSelection(), PCB_EDIT_FRAME::ExchangeFootprint(), FootprintNeedsUpdate(), FootprintWriteShape(), PCB_PLUGIN::format(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().
|
virtualinherited |
Definition at line 57 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), PCB_T, and EDA_ITEM::Type().
|
virtualinherited |
Return the BOARD in which this BOARD_ITEM resides, or NULL if none.
Definition at line 43 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), PCB_T, and EDA_ITEM::Type().
Referenced by BOARD_ADAPTER::addShape(), BuildCourtyardCaches(), PAD::BuildEffectivePolygon(), PAD::BuildEffectiveShapes(), ZONE::BuildSmoothedPoly(), ZONE::CacheBoundingBox(), collidesWithArea(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), enclosedByAreaFunc(), existsOnLayerFunc(), PCB_VIA::FlashLayer(), PAD::FlashLayer(), FP_SHAPE::Flip(), FP_TEXT::Flip(), FP_TEXTBOX::Flip(), PCB_DIMENSION_BASE::Flip(), PCB_SHAPE::Flip(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), PCB_TEXTBOX::Flip(), PCB_TRACK::Flip(), PCB_ARC::Flip(), PCB_VIA::Flip(), ZONE::Flip(), PCB_PLUGIN::format(), fromToFunc(), BOARD_ITEM::GetBoard(), PCB_EXPR_CONTEXT::GetBoard(), NETINFO_ITEM::GetBoundingBox(), ZONE::GetBoundingBox(), GetBoundingBox(), GetBoundingHull(), GetCourtyard(), BOARD_CONNECTED_ITEM::GetEffectiveNetClass(), FP_TEXT::GetEffectiveShape(), PCB_TEXT::GetEffectiveShape(), getFieldFunc(), ZONE::GetInteractingZones(), ZONE::GetItemDescription(), BOARD_ITEM::GetLayerName(), PCB_VIA::GetMinAnnulus(), NETINFO_ITEM::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PAD::GetOwnClearance(), PCB_MARKER::GetSeverity(), PAD::GetSolderMaskExpansion(), PCB_VIA::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), BOARD::GetTrackLength(), PCB_TRACK::GetWidthConstraint(), inDiffPairFunc(), ROUTER_TOOL::Init(), intersectsAreaFunc(), intersectsBackCourtyardFunc(), intersectsCourtyardFunc(), intersectsFrontCourtyardFunc(), BOARD_ITEM::IsLocked(), PCB_VIA::IsTented(), BOARD_ITEM::layerMaskDescribe(), PCB_VIA::layerMaskDescribe(), PAD::MergePrimitivesAsPolygon(), ZONE::Move(), DIALOG_TEXTBOX_PROPERTIES::onBorderChecked(), EAGLE_PLUGIN::packageWire(), padsNeedUpdate(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), BOARD::ResolveDRCExclusions(), ResolveTextVar(), BOARD_CONNECTED_ITEM::SetNetCode(), TEARDROP_DIALOG::TEARDROP_DIALOG(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), ZONE::TransformSmoothedOutlineToPolygon(), BOARD::UpdateRatsnestExclusions(), ViewBBox(), PAD::ViewBBox(), PCB_TRACK::ViewBBox(), PAD::ViewGetLOD(), PCB_BITMAP::ViewGetLOD(), PCB_VIA::ViewGetLOD(), ~FOOTPRINT(), and ZONE::~ZONE().
|
overridevirtual |
Return the orthogonal bounding box of this object for display purposes.
This box should be an enclosing perimeter for visible components of this object, and the units should be in the pcb or schematic coordinate system. It is OK to overestimate the size by a few counts.
Reimplemented from EDA_ITEM.
Definition at line 804 of file footprint.cpp.
References GetBoundingBox().
Referenced by AR_AUTOPLACER::buildFpAreas(), PCB_GRID_HELPER::computeAnchors(), KIGFX::PCB_PAINTER::draw(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), AR_AUTOPLACER::genModuleOnRoutingMatrix(), GetArea(), GetBoundingBox(), GetBoundingBoxes(), FOOTPRINT_EDIT_FRAME::GetDocumentExtents(), AR_AUTOPLACER::getOptimalFPPlacement(), HitTest(), PCB_SELECTION_TOOL::hitTestDistance(), SpreadFootprints(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances(), AR_AUTOPLACER::testFootprintOnBoard(), and ViewBBox().
const BOX2I FOOTPRINT::GetBoundingBox | ( | bool | aIncludeText, |
bool | aIncludeInvisibleText | ||
) | const |
Definition at line 810 of file footprint.cpp.
References BOARD_ITEM::GetBoard(), FP_TEXT::GetBoundingBox(), BOARD_ITEM::GetLayer(), BOARD::GetTimeStamp(), BOX2< Vec >::Inflate(), BOARD::IsElementVisible(), BOARD::IsFootprintHolder(), BOARD::IsLayerVisible(), EDA_TEXT::IsVisible(), LAYER_MOD_REFERENCES, LAYER_MOD_TEXT, LAYER_MOD_VALUES, m_boundingBoxCacheTimeStamp, m_cachedBoundingBox, m_cachedTextExcludedBBox, m_cachedVisibleBBox, m_drawings, m_fp_zones, m_pads, m_pos, m_privateLayers, m_reference, m_textExcludedBBoxCacheTimeStamp, m_value, m_visibleBBoxCacheTimeStamp, BOX2< Vec >::Merge(), EDA_IU_SCALE::mmToIU(), pad, PCB_BITMAP_T, PCB_FP_TEXT_T, and pcbIUScale.
SHAPE_POLY_SET FOOTPRINT::GetBoundingHull | ( | ) | const |
Return a bounding polygon for the shapes and pads in the footprint.
This operation is slower but more accurate than calculating a bounding box.
Definition at line 935 of file footprint.cpp.
References SHAPE_POLY_SET::AddOutline(), SHAPE_POLY_SET::Append(), ARC_LOW_DEF, BuildConvexHull(), SHAPE_POLY_SET::COutline(), ERROR_OUTSIDE, BOARD_ITEM::GetBoard(), GetPosition(), BOARD::GetTimeStamp(), BOARD::IsFootprintHolder(), m_cachedHull, m_drawings, m_fp_zones, m_hullCacheTimeStamp, m_pads, m_privateLayers, EDA_IU_SCALE::mmToIU(), SHAPE_POLY_SET::NewOutline(), SHAPE_POLY_SET::OutlineCount(), pad, PCB_BITMAP_T, PCB_FP_TEXT_T, pcbIUScale, SHAPE_POLY_SET::RemoveAllContours(), and UNDEFINED_LAYER.
Referenced by CoverageRatio(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), GetCoverageArea(), HitTestAccurate(), and PCB_SELECTION_TOOL::hitTestDistance().
|
inlinevirtualinherited |
This defaults to the center of the bounding box if not overridden.
Reimplemented in PAD, PCB_MARKER, PCB_SHAPE, and PCB_ARC.
Definition at line 93 of file board_item.h.
References EDA_ITEM::GetBoundingBox(), and BOX2< Vec >::GetCenter().
Referenced by PCB_GRID_HELPER::computeAnchors(), PCB_SELECTION_TOOL::FindItem(), and ALTIUM_PCB::HelperParseDimensions6Radial().
|
inlineoverridevirtual |
Return the class name.
Implements EDA_ITEM.
Definition at line 702 of file footprint.h.
Referenced by Visit().
void FOOTPRINT::GetContextualTextVars | ( | wxArrayString * | aVars | ) | const |
Return the list of system text vars for this footprint.
Definition at line 480 of file footprint.cpp.
const SHAPE_POLY_SET & FOOTPRINT::GetCourtyard | ( | PCB_LAYER_ID | aLayer | ) | const |
Used in DRC to test the courtyard area (a complex polygon).
Definition at line 2215 of file footprint.cpp.
References BuildCourtyardCaches(), BOARD_ITEM::GetBoard(), IsBackLayer(), m_courtyard_cache_back, m_courtyard_cache_front, and m_courtyard_cache_timestamp.
Referenced by AR_AUTOPLACER::buildFpAreas(), collidesWithArea(), collidesWithCourtyard(), KIGFX::PCB_PAINTER::draw(), DRC_ENGINE::EvalRules(), GetEffectiveShape(), BOARD_INSPECTION_TOOL::InspectClearance(), and DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances().
|
static |
Return the initial comments block or NULL if none, without transfer of ownership.
Definition at line 2028 of file footprint.cpp.
References ARC, ARC_LOW_DEF, SHAPE_LINE_CHAIN::Area(), BEZIER, CIRCLE, ERROR_OUTSIDE, GetBoundingHull(), GetCoverageArea(), GENERAL_COLLECTOR::GetGuide(), PCB_GROUP::GetItems(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetWidth(), EDA_SHAPE::IsFilled(), KI_FALLTHROUGH, KiROUND(), COLLECTORS_GUIDE::OnePixelInIU(), PCB_ARC_T, PCB_FOOTPRINT_T, PCB_FP_TEXT_T, PCB_FP_TEXTBOX_T, PCB_GROUP_T, PCB_MARKER_T, PCB_SHAPE_T, PCB_TRACE_T, POLY, polygonArea(), RECT, SEGMENT, MARKER_BASE::ShapeToPolygon(), text, BOARD_ITEM::TransformShapeToPolygon(), PCB_SHAPE::TransformShapeToPolygon(), FP_TEXTBOX::TransformTextToPolySet(), EDA_ITEM::Type(), and UNDEFINED_LAYER.
Referenced by GetCoverageArea(), and PCB_SELECTION_TOOL::GuessSelectionCandidates().
|
inline |
Definition at line 218 of file footprint.h.
References m_doc.
Referenced by BASIC_FOOTPRINT_INFO::BASIC_FOOTPRINT_INFO(), KI_TEST::CheckFootprint(), FOOTPRINT_DESC::FOOTPRINT_DESC(), FootprintNeedsUpdate(), PCB_PLUGIN::format(), FOOTPRINT_INFO_GENERATOR::GenerateHtml(), GetMsgPanelInfo(), FP_TREE_SYNCHRONIZING_ADAPTER::GetValue(), FOOTPRINT_INFO_IMPL::load(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow().
|
inlineinherited |
Definition at line 145 of file eda_item.h.
References IS_BROKEN, IS_CHANGED, IS_MOVING, IS_NEW, IS_PASTED, EDA_ITEM::m_flags, and STRUCT_DELETED.
Referenced by SCH_EDIT_TOOL::ChangeTextType(), EDA_ITEM::ClearEditFlags(), SCH_EDIT_FRAME::DeleteJunction(), SCH_EDIT_TOOL::editFieldText(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), SCH_SYMBOL::GetMsgPanelInfo(), SELECTION_CONDITIONS::Idle(), SELECTION_CONDITIONS::IdleSelection(), SYMBOL_EDITOR_MOVE_TOOL::Main(), PCB_POINT_EDITOR::OnSelectionChange(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_IMAGE_PROPERTIES::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), and DIALOG_TEXTBOX_PROPERTIES::TransferDataFromWindow().
|
virtualinherited |
Reimplemented in PAD, and PCB_VIA.
Definition at line 229 of file board_item.cpp.
References EDA_ITEM::GetClass(), and UNIMPLEMENTED_FOR.
Referenced by collidesWithArea(), DRAWING_TOOL::DrawVia(), DRC_RTREE::Insert(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), and PCB_CONTROL::UpdateMessagePanel().
|
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. |
aFlash | optional parameter allowing a caller to force the pad to be flashed (or not flashed) on the current layer (default is to honour the pad's setting and the current connections for the given layer). |
Reimplemented from BOARD_ITEM.
Definition at line 2179 of file footprint.cpp.
References B_CrtYd, SHAPE_POLY_SET::COutline(), F_CrtYd, GetCourtyard(), GraphicalItems(), SHAPE_POLY_SET::OutlineCount(), pad, Pads(), and PCB_FP_SHAPE_T.
|
inline |
|
inline |
Definition at line 255 of file footprint.h.
References m_arflag.
Referenced by KI_TEST::CheckFootprint(), AR_AUTOPLACER::pickFootprint(), and sortFootprintsByRatsnestSize().
|
inlineinherited |
Definition at line 142 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by BACK_ANNOTATE::applyChangelist(), BuildBoardPolygonOutlines(), collidesWithArea(), ConvertOutlineToPolygon(), SCH_EDIT_FRAME::ConvertPart(), BOARD_COMMIT::dirtyIntersectingZones(), PL_EDIT_TOOL::DoDelete(), PCB_TOOL_BASE::doInteractiveItemPlacement(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRC_ENGINE::EvalRules(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), LIB_SYMBOL::LIB_SYMBOL(), BOARD_INSPECTION_TOOL::makeDRCEngine(), CONVERT_TOOL::makePolysFromChainedSegs(), DIALOG_DRC::OnDRCItemSelected(), DIALOG_FOOTPRINT_CHECKER::OnSelectItem(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), LIB_SYMBOL::operator=(), BOARD_COMMIT::Push(), PAD_TOOL::RecombinePad(), BOARD::Remove(), Remove(), SCH_EDIT_FRAME::SaveCopyInUndoList(), SCH_EDIT_FRAME::SelectUnit(), DS_DATA_ITEM::SyncDrawItems(), DS_DATA_ITEM_POLYGONS::SyncDrawItems(), DS_DATA_ITEM_BITMAP::SyncDrawItems(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), and DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow().
|
inlinevirtualinherited |
Similar to GetPosition, but allows items to return their visual center rather than their anchor.
Reimplemented in BOARD, PCB_SHAPE, and PCB_TRACK.
Definition at line 256 of file eda_item.h.
References EDA_ITEM::GetPosition().
Referenced by SCH_EDIT_FRAME::FocusOnItem().
|
inline |
Definition at line 212 of file footprint.h.
References m_fpid.
Referenced by FOOTPRINT_EDIT_FRAME::AddFootprintToBoard(), BASIC_FOOTPRINT_INFO::BASIC_FOOTPRINT_INFO(), FOOTPRINT_EDIT_FRAME::canCloseWindow(), FOOTPRINT_EDIT_FRAME::ClearModify(), EXPORTER_STEP::composePCB(), CreateDevicesSection(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), doPushPadProperties(), FOOTPRINT_EDITOR_CONTROL::DuplicateFootprint(), FOOTPRINT_EDIT_FRAME::DuplicateFootprint(), FOOTPRINT_EDIT_FRAME::editFootprintProperties(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PCB_EDIT_FRAME::ExchangeFootprint(), FOOTPRINT_EDIT_FRAME::ExportFootprint(), BOARD_EDITOR_CONTROL::ExportNetlist(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), PCB_PLUGIN::FootprintSave(), FP_LIB_TABLE::FootprintSave(), PCB_PLUGIN::format(), PLACE_FILE_EXPORTER::GenPositionData(), FOOTPRINT_EDIT_FRAME::GetLoadedFPID(), GetMsgPanelInfo(), FP_TREE_SYNCHRONIZING_ADAPTER::GetValue(), idf_export_footprint(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), PCBNEW_JOBS_HANDLER::JobExportFpSvg(), LEGACY_PLUGIN::loadFOOTPRINT(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), PCB_EDIT_FRAME::LoadFootprints(), LEGACY_PLUGIN::loadFP_SHAPE(), LEGACY_PLUGIN::loadPAD(), DSN::SPECCTRA_DB::makeIMAGE(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), EAGLE_PLUGIN::packageText(), DIALOG_EXCHANGE_FOOTPRINTS::processFootprint(), DIALOG_EXCHANGE_FOOTPRINTS::processMatchingFootprints(), BOARD_NETLIST_UPDATER::replaceFootprint(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), setLibNickname(), PCB_EDIT_FRAME::ShowFootprintPropertiesDialog(), BOARD_NETLIST_UPDATER::testConnectivity(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), FOOTPRINT_EDIT_FRAME::UpdateTitle(), PANEL_FP_PROPERTIES_3D_MODEL::validateModelExists(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inline |
Definition at line 215 of file footprint.h.
References LIB_ID::Format(), and m_fpid.
Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC().
BOX2I FOOTPRINT::GetFpPadsLocalBbox | ( | ) | const |
Return the bounding box containing pads when the footprint is on the front side, orientation 0, position 0,0.
Mainly used in Gerber place file to draw a footprint outline when the courtyard is missing or broken.
Definition at line 781 of file footprint.cpp.
References ANGLE_0, dummy, BOX2< Vec >::Merge(), and pad.
|
virtualinherited |
Reimplemented in PCB_SHAPE, PCB_TRACK, and ZONE.
Definition at line 310 of file eda_item.cpp.
References EDA_ITEM::GetTypeDesc().
Referenced by PROPERTIES_PANEL::rebuildProperties().
|
inline |
Definition at line 784 of file footprint.h.
References m_initial_comments.
Referenced by PCB_PLUGIN::format().
|
overridevirtual |
Return a user-visible description string of this item.
This description is used in disambiguation menus, the message panel, ERC/DRC reports, etc.
The default version of this function raises an assertion in the debug mode and returns a string to indicate that it was not overridden to provide the object specific text.
Reimplemented from EDA_ITEM.
Definition at line 1356 of file footprint.cpp.
References _, Format(), and GetReference().
Referenced by DRC_ENGINE::EvalRules().
|
inline |
Definition at line 221 of file footprint.h.
References m_keywords.
Referenced by BASIC_FOOTPRINT_INFO::BASIC_FOOTPRINT_INFO(), KI_TEST::CheckFootprint(), FOOTPRINT_DESC::FOOTPRINT_DESC(), FootprintNeedsUpdate(), PCB_PLUGIN::format(), FOOTPRINT_INFO_GENERATOR::GenerateHtml(), GetMsgPanelInfo(), FOOTPRINT_INFO_IMPL::load(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow().
|
inlineoverridevirtual |
Return the primary layer this item is on.
Reimplemented from BOARD_ITEM.
Definition at line 200 of file footprint.h.
References BOARD_ITEM::GetLayer().
Referenced by AR_AUTOPLACER::buildFpAreas(), EXPORTER_STEP::composePCB(), MICROWAVE_TOOL::createMicrowaveInductor(), PCB_EDIT_FRAME::ExchangeFootprint(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), Flip(), FOOTPRINT_DESC::FOOTPRINT_DESC(), PCB_PLUGIN::FootprintSave(), PCB_PLUGIN::format(), FP_TEXT::FP_TEXT(), DSN::SPECCTRA_DB::FromSESSION(), AR_AUTOPLACER::genModuleOnRoutingMatrix(), AR_AUTOPLACER::getOptimalFPPlacement(), idf_export_footprint(), GENERAL_COLLECTOR::Inspect(), IsFlipped(), PAD::IsFlipped(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), EAGLE_PLUGIN::packagePad(), SetLayerAndFlip(), AR_AUTOPLACER::testFootprintOnBoard(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), and DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow().
|
inherited |
Return the name of the PCB layer on which the item resides.
Definition at line 94 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD::GetLayerName(), BOARD::GetStandardLayerName(), and BOARD_ITEM::m_layer.
Referenced by FP_SHAPE::GetItemDescription(), PCB_DIMENSION_BASE::GetItemDescription(), PCB_SHAPE::GetItemDescription(), PCB_TEXT::GetItemDescription(), PCB_TEXTBOX::GetItemDescription(), PCB_TRACK::GetItemDescription(), FP_TEXT::GetMsgPanelInfo(), FP_TEXTBOX::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_DIM_LEADER::GetMsgPanelInfo(), PCB_SHAPE::GetMsgPanelInfo(), PCB_TARGET::GetMsgPanelInfo(), PCB_TEXT::GetMsgPanelInfo(), PCB_TEXTBOX::GetMsgPanelInfo(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), PCB_TEXT::GetShownText(), PCB_TEXTBOX::GetShownText(), and ResolveTextVar().
|
inlinevirtualinherited |
Return a std::bitset of all layers on which the item physically resides.
Reimplemented in PCB_GROUP, PAD, PCB_VIA, and ZONE.
Definition at line 185 of file board_item.h.
References BOARD_ITEM::m_layer, and UNDEFINED_LAYER.
Referenced by PCB_GRID_HELPER::BestSnapAnchor(), KI_TEST::CheckFpShape(), collidesWithArea(), BOARD_COMMIT::dirtyIntersectingZones(), APPEARANCE_CONTROLS::doApplyLayerPreset(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), DRAWING_TOOL::DrawVia(), DRC_ENGINE::EvalRules(), existsOnLayerFunc(), extractDiffPairCoupledItems(), FP_TEXT::Flip(), FP_TEXTBOX::Flip(), PCB_TEXT::Flip(), PCB_TEXTBOX::Flip(), hash_board_item(), BOARD_INSPECTION_TOOL::InspectClearance(), PNS_KICAD_IFACE::IsItemVisible(), isMaskAperture(), BOARD_ITEM::layerMaskDescribe(), FABMASTER::loadZone(), PCB_DIMENSION_BASE::Mirror(), PCB_GRID_HELPER::nearestAnchor(), PCB_POINT_EDITOR::OnSelectionChange(), DIALOG_CLEANUP_GRAPHICS::OnSelectItem(), DIALOG_FOOTPRINT_CHECKER::OnSelectItem(), CN_VISITOR::operator()(), BOARD_ITEM::ptr_cmp::operator()(), KI_TEST::kitest_cmp_drawings::operator()(), DRC_ENGINE::ProcessAssertions(), EDIT_TOOL::Properties(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), PCB_SELECTION_CONDITIONS::sameLayerFunc(), PCB_SELECTION_TOOL::selectAllConnectedTracks(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), and PCB_CONTROL::UpdateMessagePanel().
int FOOTPRINT::GetLikelyAttribute | ( | ) | const |
Returns the most likely attribute based on pads Either FP_THROUGH_HOLE/FP_SMD/OTHER(0)
Definition at line 719 of file footprint.cpp.
References BGA, CASTELLATED, FIDUCIAL_GLBL, FIDUCIAL_LOCAL, FP_SMD, FP_THROUGH_HOLE, HEATSINK, m_pads, NONE, pad, PTH, SMD, and TESTPOINT.
Referenced by CheckFootprintAttributes().
|
inline |
Definition at line 680 of file footprint.h.
References m_link.
Referenced by footprintIsFromBoard(), FOOTPRINT_EDIT_FRAME::IsCurrentFPFromBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateSaveFootprintToBoard(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), and FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard().
|
inline |
Definition at line 230 of file footprint.h.
References m_localClearance.
Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC(), FootprintNeedsUpdate(), PCB_PLUGIN::format(), PAD::GetLocalClearanceOverrides(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow().
|
inline |
Definition at line 233 of file footprint.h.
References _, Format(), GetReference(), and m_localClearance.
|
inline |
Definition at line 227 of file footprint.h.
References m_localSolderMaskMargin.
Referenced by FootprintNeedsUpdate(), PCB_PLUGIN::format(), PAD::GetSolderMaskExpansion(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow().
|
inline |
Definition at line 241 of file footprint.h.
References m_localSolderPasteMargin.
Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC(), FootprintNeedsUpdate(), PCB_PLUGIN::format(), PAD::GetSolderPasteMargin(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow().
|
inline |
Definition at line 244 of file footprint.h.
References m_localSolderPasteMarginRatio.
Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC(), FootprintNeedsUpdate(), PCB_PLUGIN::format(), PAD::GetSolderPasteMargin(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow().
|
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 1367 of file footprint.cpp.
References module.
|
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 1017 of file footprint.cpp.
References _, DO_NOT_INCLUDE_NPTH, Format(), FP_BOARD_ONLY, FP_EXCLUDE_FROM_BOM, FP_EXCLUDE_FROM_POS_FILES, FP_is_PLACED, FRAME_FOOTPRINT_EDITOR, FRAME_FOOTPRINT_VIEWER, FRAME_FOOTPRINT_VIEWER_MODAL, GetDescription(), GetFPID(), GetKeywords(), GetOrientation(), GetPadCount(), FP_TEXT::GetShownText(), LIB_ID::GetUniStringLibId(), IsFlipped(), IsLocked(), EDA_BASE_FRAME::IsType(), m_3D_Drawings, m_attributes, m_doc, m_fpid, m_fpStatus, m_keywords, m_reference, and m_value.
Referenced by PCB_CONTROL::UpdateMessagePanel(), DISPLAY_FOOTPRINTS_FRAME::UpdateMsgPanel(), FOOTPRINT_EDIT_FRAME::UpdateMsgPanel(), and FOOTPRINT_VIEWER_FRAME::UpdateMsgPanel().
|
inline |
Definition at line 272 of file footprint.h.
References m_netTiePadGroups.
Referenced by FootprintNeedsUpdate(), PCB_PLUGIN::format(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow().
Definition at line 2339 of file footprint.cpp.
References PAD::GetNumber(), m_pads, MapPadNumbersToNetTieGroups(), and pad.
Referenced by CheckShortingPads().
wxString FOOTPRINT::GetNextPadNumber | ( | const wxString & | aLastPadName | ) | const |
Return the next available pad number in the footprint.
aFillSequenceGaps | true if the numbering should "fill in" gaps in the sequence, else return the highest value + 1 |
Definition at line 1981 of file footprint.cpp.
References Format(), UTIL::GetRefDesPrefix(), GetTrailingInt(), m_pads, and pad.
Referenced by EDIT_TOOL::Duplicate().
|
inline |
Definition at line 191 of file footprint.h.
References m_orient.
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::addAttribute(), PCAD2KICAD::PCB_PAD::AddToFootprint(), KI_TEST::CheckFootprint(), EXPORTER_STEP::composePCB(), ConvertOutlineToPolygon(), ALTIUM_PCB::ConvertTexts6ToFootprintItemOnLayer(), doPushPadProperties(), KIGFX::PCB_PAINTER::draw(), PCB_EDIT_FRAME::ExchangeFootprint(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), PCB_PLUGIN::format(), FP_TEXT::GetDrawRotation(), FP_TEXTBOX::GetDrawRotation(), GetMsgPanelInfo(), PAD::GetMsgPanelInfo(), PCB_SHAPE::getParentOrientation(), hash_fp_item(), ALTIUM_PCB::HelperShapeSetLocalCoord(), idf_export_footprint(), PAD::ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), ROUTER_TOOL::InlineDrag(), LEGACY_PLUGIN::loadPAD(), DSN::SPECCTRA_DB::makeIMAGE(), MoveAnchorPosition(), EAGLE_PLUGIN::orientFPText(), padsNeedUpdate(), ALTIUM_PCB::ParseComponentsBodies6Data(), pasteFootprintItemsToFootprintEditor(), BRDITEMS_PLOTTER::PlotFootprintShape(), RENDER_3D_OPENGL::renderFootprint(), Rotate(), FP_SHAPE::SetDrawCoord(), FP_TEXT::SetDrawCoord(), PAD::SetDrawCoord(), FP_SHAPE::SetLocalCoord(), FP_TEXT::SetLocalCoord(), PAD::SetLocalCoord(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), EAGLE_PLUGIN::transferPad(), and zonesNeedUpdate().
|
inline |
Definition at line 207 of file footprint.h.
References EDA_ANGLE::AsDegrees(), and m_orient.
Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC().
PAD * FOOTPRINT::GetPad | ( | const VECTOR2I & | aPosition, |
LSET | aLayerMask = LSET::AllLayersMask() |
||
) |
Get a pad at aPosition on aLayerMask in the footprint.
aPosition | A VECTOR2I object containing the position to hit test. |
aLayerMask | A layer or layers to mask the hit test. |
Definition at line 1194 of file footprint.cpp.
unsigned FOOTPRINT::GetPadCount | ( | INCLUDE_NPTH_T | aIncludeNPTH = INCLUDE_NPTH_T(INCLUDE_NPTH) | ) | const |
Return the number of pads.
aIncludeNPTH | includes non-plated through holes when true. Does not include non-plated through holes when false. |
Definition at line 1210 of file footprint.cpp.
References m_pads, NPTH, and pad.
Referenced by BASIC_FOOTPRINT_INFO::BASIC_FOOTPRINT_INFO(), AR_AUTOPLACER::genModuleOnRoutingMatrix(), GetMsgPanelInfo(), FOOTPRINT_INFO_IMPL::load(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), sortFootprintsByComplexity(), and AR_AUTOPLACER::testFootprintOnBoard().
|
inlineinherited |
Definition at line 163 of file board_item.h.
References EDA_ITEM::m_parent.
Referenced by PCB_POINT_EDITOR::addCorner(), ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), PNS_KICAD_IFACE::Commit(), CoverageRatio(), BOARD_ITEM::DeleteStructure(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersVertically(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), EDIT_TOOL::DragArcTrack(), KIGFX::PCB_PAINTER::draw(), EDIT_TOOL::Duplicate(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_PLUGIN::format(), FormatProbeItem(), BOARD_ITEM::GetBoard(), getClosestGroup(), FP_TEXT::GetItemDescription(), FP_TEXTBOX::GetItemDescription(), BOARD_ITEM::GetParentFootprint(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), FP_TEXT::GetShownText(), FP_TEXTBOX::GetShownText(), PCB_TEXT::GetShownText(), PCB_TEXTBOX::GetShownText(), ALTIUM_PCB::HelperShapeSetLocalCoord(), GENERAL_COLLECTOR::Inspect(), FP_SHAPE::IsParentFlipped(), FP_TEXT::IsParentFlipped(), PCB_SELECTION_TOOL::itemPassesFilter(), memberOfFunc(), EDIT_TOOL::MoveExact(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotFootprintTextItem(), BOARD_COMMIT::Push(), PCB_PARSER::resolveGroups(), PCB_BASE_EDIT_FRAME::saveCopyInUndoList(), CLIPBOARD_IO::SaveSelection(), PCB_SELECTION_TOOL::Selectable(), BOARD_ITEM::SwapItemData(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), FP_ZONE::ViewGetLOD(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inherited |
Definition at line 239 of file board_item.cpp.
References BOARD_ITEM::GetParent(), PCB_FOOTPRINT_T, PCB_GROUP_T, and EDA_ITEM::Type().
Referenced by CN_CONNECTIVITY_ALGO::Add(), DRC_TEST_PROVIDER_SOLDER_MASK::checkItemMask(), DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture(), PNS::ITEM::collideSimple(), CONVERT_TOOL::CreatePolys(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), PCB_SHAPE::GetParentFootprint(), PNS_PCBNEW_RULE_RESOLVER::IsInNetTie(), DRC_ENGINE::IsNetTieExclusion(), LEGACY_PLUGIN::loadMODULE_TEXT(), PAD_TOOL::RecombinePad(), PAD::SameLogicalPadAs(), PAD::SharesNetTieGroup(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), and zonesNeedUpdate().
|
inlineinherited |
Definition at line 72 of file board_item.h.
References BOARD_ITEM::m_group.
Referenced by PCB_GROUP::AddItem(), BOARD_ITEM::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), getClosestGroup(), BOARD::GroupLegalOps(), BOARD_ITEM::IsLocked(), memberOfFunc(), BOARD::Move(), PCB_CONTROL::Paste(), PCB_CONTROL::placeBoardItems(), BOARD_COMMIT::Push(), BOARD::Remove(), Remove(), GROUP_TOOL::RemoveFromGroup(), BOARD_ITEM::SwapItemData(), DIALOG_GROUP_PROPERTIES::TransferDataFromWindow(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and PCB_GROUP::WithinScope().
|
inline |
Definition at line 224 of file footprint.h.
References m_path.
Referenced by PCB_EDIT_FRAME::ExchangeFootprint(), BOARD_EDITOR_CONTROL::ExportNetlist(), PCB_PLUGIN::format(), PCB_SELECTION_TOOL::selectSameSheet(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().
|
inlineoverridevirtual |
Reimplemented from EDA_ITEM.
Definition at line 188 of file footprint.h.
References m_pos.
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::addAttribute(), PCB_BASE_FRAME::AddFootprintToBoard(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PCAD2KICAD::PCB_PAD::AddToFootprint(), KI_TEST::CheckFootprint(), PNS_KICAD_IFACE::Commit(), EXPORTER_STEP::composePCB(), PCB_GRID_HELPER::computeAnchors(), ConvertOutlineToPolygon(), MICROWAVE_TOOL::createBaseFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), KIGFX::PCB_PAINTER::draw(), PCB_EDIT_FRAME::ExchangeFootprint(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), PCB_PLUGIN::FootprintSave(), PCB_PLUGIN::format(), FP_TEXT::FP_TEXT(), DSN::SPECCTRA_DB::FromSESSION(), GetBoundingHull(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), AR_AUTOPLACER::getOptimalFPPlacement(), PCB_SHAPE::getParentPosition(), hash_fp_item(), ALTIUM_PCB::HelperShapeSetLocalCoord(), idf_export_footprint(), ROUTER_TOOL::InlineDrag(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FABMASTER::loadFootprints(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryCoppers(), LEGACY_PLUGIN::loadPAD(), DSN::SPECCTRA_DB::makeIMAGE(), EAGLE_PLUGIN::orientFootprintAndText(), EAGLE_PLUGIN::packageHole(), EAGLE_PLUGIN::packageText(), PAD::PAD(), ALTIUM_PCB::ParseComponentsBodies6Data(), BOARD_EDITOR_CONTROL::PlaceFootprint(), BRDITEMS_PLOTTER::PlotFootprintShape(), RENDER_3D_OPENGL::renderFootprint(), CLIPBOARD_IO::SaveSelection(), DRAWING_TOOL::SetAnchor(), FP_SHAPE::SetDrawCoord(), FP_TEXT::SetDrawCoord(), PAD::SetDrawCoord(), SetLayerAndFlip(), FP_SHAPE::SetLocalCoord(), FP_TEXT::SetLocalCoord(), PAD::SetLocalCoord(), SetOrientation(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), EAGLE_PLUGIN::transferPad(), and zonesNeedUpdate().
|
inline |
Definition at line 120 of file footprint.h.
References m_privateLayers.
Referenced by KIGFX::PCB_PAINTER::Draw(), PCB_PLUGIN::format(), BRDITEMS_PLOTTER::PlotFootprintGraphicItems(), BRDITEMS_PLOTTER::PlotFootprintTextItems(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), and TransformFPShapesToPolySet().
|
inline |
Definition at line 574 of file footprint.h.
References m_properties.
Referenced by PCB_EDIT_FRAME::ExchangeFootprint(), PCB_PLUGIN::format(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().
|
inline |
|
inline |
Definition at line 519 of file footprint.h.
References EDA_TEXT::GetText(), and m_reference.
Referenced by FOOTPRINT_EDIT_FRAME::AddFootprintToBoard(), AR_AUTOPLACER::AutoplaceFootprints(), BOOST_AUTO_TEST_CASE(), FOOTPRINT_EDIT_FRAME::CanCloseFPFromBoard(), FOOTPRINT_EDIT_FRAME::canCloseWindow(), KI_TEST::CheckFootprint(), collectItemsForSyncParts(), CollisionMatchesExpected(), compareFootprintsbyRef(), EXPORTER_STEP::composePCB(), DIALOG_TRACK_VIA_PROPERTIES::confirmPadChange(), ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), PCB_BASE_FRAME::CreateNewFootprint(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), EDIT_TOOL::doMoveSelection(), BOARD_EDITOR_CONTROL::ExportNetlist(), FormatProbeItem(), GetItemDescription(), GetLocalClearance(), FP_SHAPE::GetMsgPanelInfo(), FP_TEXT::GetMsgPanelInfo(), PAD::GetMsgPanelInfo(), DIALOG_BOARD_REANNOTATE::GetNewRefDes(), CADSTAR_PCB_ARCHIVE_LOADER::getPadReference(), GetReferenceAsString(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), getShapeName(), IncrementReference(), GENERAL_COLLECTOR::Inspect(), InvalidMatchesExpected(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), EAGLE_PLUGIN::loadElements(), CADSTAR_PCB_ARCHIVE_LOADER::loadNets(), EDA_3D_CANVAS::OnMouseMove(), EAGLE_PLUGIN::packageText(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotFootprintTextItem(), BRDITEMS_PLOTTER::PlotPad(), DIALOG_EXCHANGE_FOOTPRINTS::processFootprint(), BOARD_NETLIST_UPDATER::replaceFootprint(), CLIPBOARD_IO::SaveSelection(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), BOARD_NETLIST_UPDATER::updateComponentPadConnections(), BOARD_NETLIST_UPDATER::updateFootprintParameters(), FOOTPRINT_EDIT_FRAME::UpdateTitle(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inline |
Definition at line 534 of file footprint.h.
References GetReference().
Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC().
|
inlinevirtualinherited |
Return the coordinates that should be used for sorting this element visually compared to other elements.
For instance, for lines the midpoint might be a better sorting point than either end.
Reimplemented in SCH_LINE.
Definition at line 265 of file eda_item.h.
References EDA_ITEM::GetPosition().
|
inlineinherited |
|
inlineinherited |
|
virtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 82 of file board_item.cpp.
References DEFAULT_LINE_WIDTH, EDA_IU_SCALE::mmToIU(), and pcbIUScale.
Referenced by CONVERT_TOOL::CreatePolys(), and PCB_BASE_EDIT_FRAME::ShowGraphicItemPropertiesDialog().
|
inherited |
Return a translated description of the type for this EDA_ITEM for display in user facing messages.
Definition at line 301 of file eda_item.cpp.
References ENUM_MAP< T >::Instance(), and EDA_ITEM::Type().
Referenced by PCB_GROUP::AddItem(), EDIT_TOOL::doMoveSelection(), and EDA_ITEM::GetFriendlyName().
wxString FOOTPRINT::GetTypeName | ( | ) | const |
Get the type of footprint.
Definition at line 769 of file footprint.cpp.
References _, FP_SMD, FP_THROUGH_HOLE, and m_attributes.
Referenced by KI_TEST::CheckFootprint(), and CheckFootprintAttributes().
unsigned FOOTPRINT::GetUniquePadCount | ( | INCLUDE_NPTH_T | aIncludeNPTH = INCLUDE_NPTH_T(INCLUDE_NPTH) | ) | const |
Return the number of unique non-blank pads.
A complex pad can be built with many pads having the same pad name to create a complex shape or fragmented solder paste areas.
aIncludeNPTH | includes non-plated through holes when true. Does not include non-plated through holes when false. |
Definition at line 1229 of file footprint.cpp.
References LSET::AllCuMask(), m_pads, NPTH, and pad.
Referenced by BASIC_FOOTPRINT_INFO::BASIC_FOOTPRINT_INFO(), and FOOTPRINT_INFO_IMPL::load().
|
inline |
Definition at line 547 of file footprint.h.
References EDA_TEXT::GetText(), and m_value.
Referenced by BOOST_AUTO_TEST_CASE(), KI_TEST::CheckFootprint(), CreateDevicesSection(), PCB_BASE_FRAME::CreateNewFootprint(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), FOOTPRINT_EDIT_FRAME::DuplicateFootprint(), PCB_EDIT_FRAME::ExchangeFootprint(), BOARD_EDITOR_CONTROL::ExportNetlist(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), GetValueAsString(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), EAGLE_PLUGIN::loadElements(), EAGLE_PLUGIN::packageText(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), CLIPBOARD_IO::SaveSelection(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().
|
inline |
Definition at line 561 of file footprint.h.
References GetValue().
Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC().
|
inlineinherited |
Definition at line 76 of file board_item.h.
References EDA_ITEM::GetPosition(), and VECTOR2< T >::x.
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), ZONE_SEARCH_HANDLER::GetResultCell(), BOARD_ITEM::SetY(), TRACK_VIA_DESC::TRACK_VIA_DESC(), and ZONE_DESC::ZONE_DESC().
|
inlineinherited |
Definition at line 82 of file board_item.h.
References EDA_ITEM::GetPosition(), and VECTOR2< T >::y.
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), ZONE_SEARCH_HANDLER::GetResultCell(), BOARD_ITEM::SetX(), TRACK_VIA_DESC::TRACK_VIA_DESC(), and ZONE_DESC::ZONE_DESC().
|
inline |
Definition at line 248 of file footprint.h.
References m_zoneConnection.
Referenced by DRC_ENGINE::EvalRules(), FOOTPRINT_DESC::FOOTPRINT_DESC(), FootprintNeedsUpdate(), PCB_PLUGIN::format(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow().
|
inlinevirtualinherited |
Fetch the zone settings for this container.
Reimplemented in BOARD.
Definition at line 86 of file board_item_container.h.
References BOARD_ITEM_CONTAINER::m_zoneSettings.
Referenced by ZONE::ZONE().
|
inline |
Definition at line 173 of file footprint.h.
References m_drawings.
Referenced by BOARD_ADAPTER::addFootprintShapes(), BuildCourtyardCaches(), KI_TEST::CheckFootprint(), PCB_BASE_FRAME::CreateNewFootprint(), DIALOG_CLEANUP_GRAPHICS::doCleanup(), KIGFX::PCB_PAINTER::draw(), PCB_EDIT_FRAME::ExchangeFootprint(), FOOTPRINT(), FootprintNeedsUpdate(), FootprintWriteShape(), PCB_PLUGIN::format(), FOOTPRINT_EDIT_FRAME::GetDocumentExtents(), GetEffectiveShape(), hash_fp_item(), hashFootprint(), ROUTER_TOOL::InlineDrag(), MoveAnchorPosition(), operator=(), pasteFootprintItemsToFootprintEditor(), PCB_CONTROL::placeBoardItems(), BRDITEMS_PLOTTER::PlotFootprintGraphicItems(), BRDITEMS_PLOTTER::PlotFootprintTextItems(), PCB_CONTROL::pruneItemLayers(), PAD_TOOL::RecombinePad(), BOARD_EDITOR_CONTROL::RepairBoard(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), PCB_BASE_EDIT_FRAME::saveCopyInUndoList(), PCB_SELECTION_TOOL::Selectable(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), BOARD_ADAPTER::transformFPShapesToPolySet(), and TransformFPShapesToPolySet().
|
inline |
|
inline |
Definition at line 179 of file footprint.h.
References m_fp_groups.
Referenced by KI_TEST::CheckFootprint(), FOOTPRINT(), PCB_PLUGIN::format(), operator=(), pasteFootprintItemsToFootprintEditor(), BOARD_EDITOR_CONTROL::RepairBoard(), and FOOTPRINT_EDITOR_CONTROL::RepairFootprint().
|
inline |
|
inlineinherited |
Definition at line 143 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by GRAPHICS_CLEANER::cleanupShapes(), SCH_EDIT_TOOL::DoDelete(), KIGFX::SCH_PAINTER::draw(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::getConnectedItems(), IsConflicting(), ZONE::IsConflicting(), SCH_MOVE_TOOL::Main(), SCH_SCREEN::MarkConnections(), SCH_MOVE_TOOL::moveItem(), SCH_MOVE_TOOL::orthoLineDrag(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), and EE_SELECTION_TOOL::selectMultiple().
|
inlinevirtualinherited |
Reimplemented in PAD, and PCB_VIA.
Definition at line 128 of file board_item.h.
Referenced by DRAWING_TOOL::DrawVia(), hasDrilledHole(), DRC_RTREE::Insert(), BOARD_INSPECTION_TOOL::InspectClearance(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), and PCB_CONTROL::UpdateMessagePanel().
|
inlinevirtualinherited |
Check if this item has line stoke properties.
Reimplemented in PCB_SHAPE.
Definition at line 172 of file board_item.h.
|
inline |
bool FOOTPRINT::HasThroughHolePads | ( | ) | const |
Definition at line 2650 of file footprint.cpp.
|
overridevirtual |
Test if aRect intersects this item.
aRect | A reference to a BOX2I object containing the rectangle to test. |
aContained | Set to true to test for containment instead of an intersection. |
aAccuracy | Increase aRect by this amount. |
Reimplemented from EDA_ITEM.
Definition at line 1122 of file footprint.cpp.
References BOX2< Vec >::Contains(), GetBoundingBox(), BOX2< Vec >::Inflate(), BOX2< Vec >::Intersects(), m_drawings, m_fp_zones, m_pads, pad, and PCB_FP_TEXT_T.
|
overridevirtual |
Test if aPosition is inside or on the boundary of this item.
aPosition | A reference to a VECTOR2I object containing the coordinates to test. |
aAccuracy | Increase the item bounding box by this amount. |
Reimplemented from EDA_ITEM.
Definition at line 1109 of file footprint.cpp.
References BOX2< Vec >::Contains(), GetBoundingBox(), and BOX2< Vec >::Inflate().
Referenced by GENERAL_COLLECTOR::Inspect().
bool FOOTPRINT::HitTestAccurate | ( | const VECTOR2I & | aPosition, |
int | aAccuracy = 0 |
||
) | const |
Test if a point is inside the bounding polygon of the footprint.
The other hit test methods are just checking the bounding box, which can be quite inaccurate for rotated or oddly-shaped footprints.
aPosition | is the point to test |
Definition at line 1116 of file footprint.cpp.
References SHAPE_POLY_SET::Collide(), and GetBoundingHull().
Referenced by GENERAL_COLLECTOR::Inspect().
|
inline |
void FOOTPRINT::IncrementReference | ( | int | aDelta | ) |
Bump the current reference by aDelta.
Definition at line 2001 of file footprint.cpp.
References Format(), UTIL::GetRefDesPrefix(), GetReference(), GetTrailingInt(), and SetReference().
|
inline |
Definition at line 583 of file footprint.h.
References FP_BOARD_ONLY, and m_attributes.
Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC().
|
inlineinherited |
Definition at line 108 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::m_flags.
Referenced by KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::GERBVIEW_PAINTER::draw(), SCH_FIND_REPLACE_TOOL::FindNext(), SCH_EDIT_FRAME::FocusOnItem(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIGFX::SCH_PAINTER::getLineWidth(), KIGFX::SCH_PAINTER::setDeviceColors(), SCH_FIND_REPLACE_TOOL::UpdateFind(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
bool FOOTPRINT::IsConflicting | ( | ) | const |
Definition at line 474 of file footprint.cpp.
References COURTYARD_CONFLICT, and EDA_ITEM::HasFlag().
Referenced by ViewGetLayers(), and ViewGetLOD().
|
inlinevirtualinherited |
Returns information if the object is derived from BOARD_CONNECTED_ITEM.
Reimplemented in BOARD_CONNECTED_ITEM, and ZONE.
Definition at line 115 of file board_item.h.
Referenced by PNS_PCBNEW_RULE_RESOLVER::DpNetPair(), DRC_ENGINE::EvalRules(), PNS::NODE::FindItemByParent(), BOARD_INSPECTION_TOOL::getItemDescription(), inDiffPairFunc(), BOARD_INSPECTION_TOOL::InspectClearance(), CONNECTIVITY_DATA::MarkItemNetAsDirty(), CN_CONNECTIVITY_ALGO::markItemNetAsDirty(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), and DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones().
|
inlineinherited |
Definition at line 107 of file eda_item.h.
References ENTERED, and EDA_ITEM::m_flags.
Referenced by KIGFX::PCB_PAINTER::draw().
|
inline |
Definition at line 601 of file footprint.h.
References FP_EXCLUDE_FROM_BOM, and m_attributes.
Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC().
|
inline |
Definition at line 592 of file footprint.h.
References FP_EXCLUDE_FROM_POS_FILES, and m_attributes.
Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC().
|
inline |
Definition at line 324 of file footprint.h.
References B_Cu, and GetLayer().
Referenced by PCB_BASE_FRAME::AddFootprintToBoard(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), FootprintNeedsUpdate(), GetMsgPanelInfo(), DIALOG_PAD_PROPERTIES::initValues(), ALTIUM_PCB::ParseComponentsBodies6Data(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PCB_CONTROL::pruneItemLayers(), RENDER_3D_OPENGL::renderFootprint(), and PCB_SELECTION_TOOL::Selectable().
|
inlineinherited |
Definition at line 201 of file eda_item.h.
References EDA_ITEM::m_forceVisible.
Referenced by KIGFX::SCH_PAINTER::draw(), and SCH_FIELD::Print().
|
inlinevirtualinherited |
Definition at line 250 of file board_item.h.
References BOARD_ITEM::m_isKnockout.
Referenced by BOARD_ADAPTER::addText(), KIGFX::PCB_PAINTER::draw(), PCB_PLUGIN::format(), PCB_TEXT::GetBoundingBox(), FP_TEXT::GetEffectiveShape(), PCB_TEXT::GetEffectiveShape(), PCB_TEXT_DESC::PCB_TEXT_DESC(), BRDITEMS_PLOTTER::PlotFootprintGraphicItems(), BRDITEMS_PLOTTER::PlotPcbGraphicItem(), PNS_KICAD_IFACE_BASE::syncTextItem(), and PCB_TEXT::TextHitTest().
|
static |
Test for validity of a name of a footprint to be used in a footprint library ( no spaces, dir separators ... ).
aName | is the name in library to validate. |
Definition at line 1516 of file footprint.cpp.
References StringLibNameInvalidChars().
Referenced by DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::checkFootprintName().
|
inlineoverridevirtual |
Reimplemented from BOARD_ITEM.
Definition at line 340 of file footprint.h.
References FP_is_LOCKED, and m_fpStatus.
Referenced by PCB_EDIT_FRAME::ExchangeFootprint(), PCB_PLUGIN::format(), GetMsgPanelInfo(), itemIsIncludedByFilter(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), and ViewGetLayers().
|
inlineinherited |
Definition at line 102 of file eda_item.h.
References IS_CHANGED, and EDA_ITEM::m_flags.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles().
|
inlineinherited |
Definition at line 104 of file eda_item.h.
References IS_MOVING, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::AutoplaceFields(), LIB_PIN::CalcEdit(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), PCB_BASE_FRAME::PlaceFootprint(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), and SCH_EDIT_TOOL::Swap().
|
inline |
Definition at line 257 of file footprint.h.
References group, and m_netTiePadGroups.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::checkItemMask(), PCB_PLUGIN::format(), DRC_ENGINE::IsNetTieExclusion(), DIALOG_FOOTPRINT_CHECKER::runChecks(), and PAD::SharesNetTieGroup().
|
inlineinherited |
Definition at line 103 of file eda_item.h.
References IS_NEW, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_TOOL::ConvertDeMorgan(), EDIT_TOOL::DragArcTrack(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SCH_MOVE_TOOL::getConnectedDragItems(), DIALOG_PIN_PROPERTIES::getSyncPinsMessage(), SYMBOL_EDITOR_DRAWING_TOOLS::Init(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus(), EE_POINT_EDITOR::Main(), SCH_MOVE_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), EDIT_TOOL::MoveExact(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), and DIALOG_SHEET_PROPERTIES::TransferDataToWindow().
|
inlinevirtualinherited |
Reimplemented in PAD, PCB_TRACK, and ZONE.
Definition at line 123 of file board_item.h.
References BOARD_ITEM::GetLayer(), and IsCopperLayer().
Referenced by CN_CONNECTIVITY_ALGO::Add(), CheckNetTies(), DRC_ENGINE::EvalRules(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_CONNECTED_ITEM::SetNetCode(), and PCB_CONTROL::UpdateMessagePanel().
|
overridevirtual |
A special IsOnLayer for footprints: return true if the footprint contains only items on the given layer, even if that layer is not one of the valid footprint layers F_Cu and B_Cu.
This allows selection of "graphic" footprints that contain only silkscreen, for example.
Reimplemented from BOARD_ITEM.
Definition at line 1086 of file footprint.cpp.
References m_drawings, m_fp_zones, BOARD_ITEM::m_layer, and m_pads.
|
inline |
Definition at line 363 of file footprint.h.
References FP_is_PLACED, and m_fpStatus.
Referenced by PCB_PLUGIN::format().
|
inlinevirtualinherited |
Override this method in any derived object that supports test find and replace.
Reimplemented in LIB_TEXTBOX, SCH_FIELD, SCH_LABEL, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TEXT, and SCH_TEXTBOX.
Definition at line 420 of file eda_item.h.
Referenced by EDA_ITEM::Matches().
|
inlineinherited |
Definition at line 110 of file eda_item.h.
References IS_MOVING, IS_ROLLOVER, and EDA_ITEM::m_flags.
Referenced by KIGFX::SCH_PAINTER::draw().
|
inlineinherited |
Definition at line 106 of file eda_item.h.
References EDA_ITEM::m_flags, and SELECTED.
Referenced by ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_FRAME::ConvertPart(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersVertically(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), EDIT_TOOL::doMoveSelection(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), KIGFX::SCH_PAINTER::getLineWidth(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), DIALOG_CHANGE_SYMBOLS::isMatch(), SCH_SCREEN::MarkConnections(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), SCH_MOVE_TOOL::moveItem(), KIGFX::SCH_PAINTER::nonCached(), SCH_MOVE_TOOL::orthoLineDrag(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), BOARD_COMMIT::Push(), EE_SELECTION_TOOL::RebuildSelection(), PCB_SELECTION_TOOL::RebuildSelection(), RENDER_3D_OPENGL::renderFootprint(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::select(), EE_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), KIGFX::SCH_PAINTER::setDeviceColors(), GERBVIEW_SELECTION_TOOL::unselect(), HIERARCHY_PANE::UpdateHierarchySelection(), PCB_BASE_FRAME::UpdateUserUnits(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem().
|
inlineinherited |
|
inlinevirtualinherited |
Reimplemented in PCB_VIA.
Definition at line 133 of file board_item.h.
Referenced by BOARD_INSPECTION_TOOL::InspectClearance(), and DRC_TEST_PROVIDER_SILK_CLEARANCE::Run().
|
inlinevirtualinherited |
Check whether the item is one of the listed types.
aScanTypes | List of item types |
Reimplemented in SCH_FIELD, SCH_ITEM, SCH_LABEL_BASE, SCH_LINE, FP_SHAPE, FP_TEXT, FP_TEXTBOX, PAD, PCB_DIMENSION_BASE, PCB_SHAPE, PCB_TEXT, PCB_TEXTBOX, and PCB_VIA.
Definition at line 181 of file eda_item.h.
References EDA_ITEM::m_structType, and SCH_LOCATE_ANY_T.
Referenced by SCH_EDIT_TOOL::AutoplaceFields(), ROUTER_TOOL::CanInlineDrag(), DIALOG_SCH_FIELD_PROPERTIES::DIALOG_SCH_FIELD_PROPERTIES(), SCH_FIELD::GetCanonicalName(), KIGFX::SCH_PAINTER::getLineWidth(), SCH_FIELD::GetName(), KIGFX::SCH_PAINTER::getRenderColor(), SCH_FIELD::GetShownText(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingBus(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLine(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingWire(), SCH_ITEM::IsType(), FP_TEXT::IsType(), FP_TEXTBOX::IsType(), PAD::IsType(), PCB_DIMENSION_BASE::IsType(), PCB_SHAPE::IsType(), PCB_TEXT::IsType(), PCB_TEXTBOX::IsType(), PCB_VIA::IsType(), EE_POINT_EDITOR::Main(), PL_POINT_EDITOR::Main(), CONVERT_TOOL::makePolysFromChainedSegs(), EE_SELECTION_TOOL::RequestSelection(), SCH_FIELD::SetId(), SCH_BASE_FRAME::UpdateItem(), and EDA_ITEM::Visit().
|
inlinestaticinherited |
This changes first parameter to avoid the DList and use the main queue instead.
Definition at line 302 of file eda_item.h.
References CONTINUE, QUIT, and EDA_ITEM::Visit().
Referenced by GERBER_FILE_IMAGE::Visit().
|
inlinestaticinherited |
Change first parameter to avoid the DList and use std::vector instead.
Definition at line 322 of file eda_item.h.
References CONTINUE, QUIT, and EDA_ITEM::Visit().
|
protectedvirtualinherited |
Return a string (to be shown to the user) describing a layer mask.
Reimplemented in PCB_VIA.
Definition at line 106 of file board_item.cpp.
References _, LSET::AllCuMask(), LSET::AllTechMask(), B_Cu, F_Cu, BOARD_ITEM::GetBoard(), BOARD::GetEnabledLayers(), BOARD::GetLayerName(), BOARD_ITEM::GetLayerSet(), PCB_LAYER_ID_COUNT, and PCBNEW_LAYER_ID_START.
Referenced by PAD::GetItemDescription(), PAD::GetMsgPanelInfo(), and PCB_TRACK::GetMsgPanelInfo().
|
inline |
std::map< wxString, int > FOOTPRINT::MapPadNumbersToNetTieGroups | ( | ) | const |
Definition at line 2284 of file footprint.cpp.
References group, m_netTiePadGroups, m_pads, and pad.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::checkItemMask(), CheckNetTiePadGroups(), CheckNetTies(), GetNetTiePads(), DRC_ENGINE::IsNetTieExclusion(), GRAPHICS_CLEANER::mergePads(), PAD::SharesNetTieGroup(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem().
|
inlinevirtualinherited |
Compare the item against the search criteria in aSearchData.
The base class returns false since many of the objects derived from EDA_ITEM do not have any text to search.
aSearchData | A reference to a wxFindReplaceData object containing the search criteria. |
aAuxData | A pointer to optional data required for the search or NULL if not used. |
Reimplemented in SCH_MARKER, LIB_TEXTBOX, SCH_FIELD, SCH_LABEL_BASE, SCH_PIN, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TEXT, SCH_TEXTBOX, FP_TEXT, FP_TEXTBOX, NETINFO_ITEM, PCB_MARKER, PCB_TEXT, PCB_TEXTBOX, and ZONE.
Definition at line 382 of file eda_item.h.
Referenced by SCH_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SCH_FIND_REPLACE_TOOL::HasMatch(), SCH_MARKER::Matches(), LIB_TEXTBOX::Matches(), SCH_FIELD::Matches(), SCH_LABEL_BASE::Matches(), SCH_PIN::Matches(), SCH_SHEET_PIN::Matches(), SCH_TEXT::Matches(), SCH_TEXTBOX::Matches(), FP_TEXT::Matches(), FP_TEXTBOX::Matches(), NETINFO_ITEM::Matches(), PCB_MARKER::Matches(), PCB_TEXT::Matches(), PCB_TEXTBOX::Matches(), ZONE::Matches(), SCH_FIND_REPLACE_TOOL::ReplaceAndFindNext(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_FIND_REPLACE_TOOL::UpdateFind().
|
protectedinherited |
Compare aText against search criteria in aSearchData.
This is a helper function for simplify derived class logic.
aText | A reference to a wxString object containing the string to test. |
aSearchData | The criteria to search against. |
Definition at line 117 of file eda_item.cpp.
References EDA_SEARCH_DATA::findString, EDA_ITEM::IsReplaceable(), EDA_SEARCH_DATA::matchCase, EDA_SEARCH_DATA::matchMode, next(), EDA_SEARCH_DATA::searchAndReplace, text, WHOLEWORD, and WILDCARD.
|
inline |
Definition at line 184 of file footprint.h.
References m_3D_Drawings.
Referenced by KI_TEST::CheckFootprint(), EXPORTER_STEP::composePCB(), PCB_EDIT_FRAME::ExchangeFootprint(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), FootprintNeedsUpdate(), PCB_PLUGIN::format(), idf_export_footprint(), LEGACY_PLUGIN::load3D(), MoveAnchorPosition(), ALTIUM_PCB::ParseComponentsBodies6Data(), PANEL_FP_PROPERTIES_3D_MODEL::ReloadModelsFromFootprint(), RENDER_3D_OPENGL::renderFootprint(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataFromWindow(), and PANEL_PREVIEW_3D_MODEL::UpdateDummyFootprint().
|
inline |
|
overridevirtual |
Move this object.
aMoveVector | the move vector for this object. |
Reimplemented from BOARD_ITEM.
Definition at line 1544 of file footprint.cpp.
References m_pos, and SetPosition().
Referenced by ROUTER_TOOL::InlineDrag(), CLIPBOARD_IO::SaveSelection(), and SpreadFootprints().
void FOOTPRINT::MoveAnchorPosition | ( | const VECTOR2I & | aMoveVector | ) |
Move the reference point of the footprint.
It looks like a move footprint: the footprints elements (pads, outlines, edges .. ) are moved However:
Definition at line 1728 of file footprint.cpp.
References GetOrientation(), FP_TEXT::GetPos0(), GraphicalItems(), EDA_IU_SCALE::IUTomm(), m_cachedBoundingBox, m_cachedHull, m_cachedTextExcludedBBox, m_cachedVisibleBBox, m_pads, m_reference, m_value, Models(), BOX2< Vec >::Move(), FP_SHAPE::Move(), SHAPE_POLY_SET::Move(), pad, PCB_FP_SHAPE_T, PCB_FP_TEXT_T, PCB_FP_TEXTBOX_T, pcbIUScale, RotatePoint(), FP_TEXT::SetDrawCoord(), FP_TEXT::SetPos0(), text, VECTOR2< T >::x, VECTOR2< T >::y, and Zones().
Referenced by CLIPBOARD_IO::SaveSelection(), and DRAWING_TOOL::SetAnchor().
|
inline |
Definition at line 372 of file footprint.h.
References FP_to_PLACE, and m_fpStatus.
Referenced by AR_AUTOPLACER::pickFootprint().
|
inherited |
Test if another item is less than this object.
aItem | - Item to compare against. |
Definition at line 231 of file eda_item.cpp.
References Format(), and EDA_ITEM::GetClass().
Definition at line 373 of file footprint.cpp.