KiCad PCB EDA Suite
Loading...
Searching...
No Matches
FOOTPRINT Class Reference

#include <footprint.h>

Inheritance diagram for FOOTPRINT:
BOARD_ITEM_CONTAINER EMBEDDED_FILES BOARD_ITEM EDA_ITEM KIGFX::VIEW_ITEM SERIALIZABLE INSPECTABLE

Classes

struct  cmp_drawings
 
struct  cmp_pads
 
struct  cmp_zones
 
struct  FP_UNIT_INFO
 

Public Types

enum  COMPARE_FLAGS : int { DRC = 0x01 , INSTANCE_TO_INSTANCE = 0x02 }
 
enum class  RETURN_CODE : int {
  OK , FILE_NOT_FOUND , PERMISSIONS_ERROR , FILE_ALREADY_EXISTS ,
  OUT_OF_MEMORY , CHECKSUM_ERROR
}
 
using FILE_ADDED_CALLBACK = std::function<void( EMBEDDED_FILE* )>
 

Public Member Functions

 FOOTPRINT (BOARD *parent)
 
 FOOTPRINT (const FOOTPRINT &aFootprint)
 
 FOOTPRINT (FOOTPRINT &&aFootprint)
 
 ~FOOTPRINT ()
 
FOOTPRINToperator= (const FOOTPRINT &aOther)
 
FOOTPRINToperator= (FOOTPRINT &&aOther)
 
void CopyFrom (const BOARD_ITEM *aOther) override
 
void Serialize (google::protobuf::Any &aContainer) const override
 Serializes this object to the given Any message.
 
bool Deserialize (const google::protobuf::Any &aContainer) override
 Deserializes the given protobuf message into this object.
 
void InvalidateGeometryCaches ()
 Resets the caches for this footprint, for example if it was modified via the API.
 
LSET GetPrivateLayers () const
 
void SetPrivateLayers (const LSET &aLayers)
 Adds an item to the container.
 
void Add (BOARD_ITEM *aItem, ADD_MODE aMode=ADD_MODE::INSERT, bool aSkipConnectivity=false) override
 Removes an item from the container.
 
void Remove (BOARD_ITEM *aItem, REMOVE_MODE aMode=REMOVE_MODE::NORMAL) override
 Removes an item from the container.
 
void ClearAllNets ()
 Clear (i.e.
 
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.
 
BOX2I GetFpPadsLocalBbox () const
 Return the bounding box containing pads when the footprint is on the front side, orientation 0, position 0,0.
 
SHAPE_POLY_SET GetBoundingHull () const
 Return a bounding polygon for the shapes and pads in the footprint.
 
SHAPE_POLY_SET GetBoundingHull (PCB_LAYER_ID aLayer) const
 
bool TextOnly () const
 
const BOX2I GetBoundingBox () const override
 Return the orthogonal bounding box of this object for display purposes.
 
const BOX2I GetBoundingBox (bool aIncludeText) const
 
const BOX2I GetLayerBoundingBox (const LSET &aLayers) const
 Return the bounding box of the footprint on a given set of layers.
 
VECTOR2I GetCenter () const override
 This defaults to the center of the bounding box if not overridden.
 
std::deque< PAD * > & Pads ()
 
const std::deque< PAD * > & Pads () const
 
DRAWINGS & GraphicalItems ()
 
const DRAWINGS & GraphicalItems () const
 
ZONESZones ()
 
const ZONESZones () const
 
GROUPS & Groups ()
 
const GROUPS & Groups () const
 
PCB_POINTS & Points ()
 
const PCB_POINTS & Points () 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.
 
PCB_LAYER_ID GetLayer () const override
 Return the primary layer this item is on.
 
void SetOrientationDegrees (double aOrientation)
 
double GetOrientationDegrees () const
 
const LIB_IDGetFPID () const
 
void SetFPID (const LIB_ID &aFPID)
 
wxString GetFPIDAsString () const
 
void SetFPIDAsString (const wxString &aFPID)
 
wxString GetLibDescription () const
 
void SetLibDescription (const wxString &aDesc)
 
wxString GetKeywords () const
 
void SetKeywords (const wxString &aKeywords)
 
const KIID_PATHGetPath () const
 
void SetPath (const KIID_PATH &aPath)
 
wxString GetSheetname () const
 
void SetSheetname (const wxString &aSheetname)
 
wxString GetSheetfile () const
 
void SetSheetfile (const wxString &aSheetfile)
 
wxString GetFilters () const
 
void SetFilters (const wxString &aFilters)
 
std::optional< int > GetLocalClearance () const
 
void SetLocalClearance (std::optional< int > aClearance)
 
std::optional< int > GetLocalSolderMaskMargin () const
 
void SetLocalSolderMaskMargin (std::optional< int > aMargin)
 
std::optional< int > GetLocalSolderPasteMargin () const
 
void SetLocalSolderPasteMargin (std::optional< int > aMargin)
 
std::optional< double > GetLocalSolderPasteMarginRatio () const
 
void SetLocalSolderPasteMarginRatio (std::optional< double > aRatio)
 
void SetLocalZoneConnection (ZONE_CONNECTION aType)
 
ZONE_CONNECTION GetLocalZoneConnection () const
 
void SetStackupMode (FOOTPRINT_STACKUP aMode)
 Set the stackup mode for this footprint.
 
FOOTPRINT_STACKUP GetStackupMode () const
 
void SetStackupLayers (LSET aLayers)
 If the footprint has a non-default stackup, set the layers that should be used for the stackup.
 
const LSETGetStackupLayers () const
 
int GetAttributes () const
 
void SetAttributes (int aAttributes)
 
bool AllowMissingCourtyard () const
 
void SetAllowMissingCourtyard (bool aAllow)
 
bool AllowSolderMaskBridges () const
 
void SetAllowSolderMaskBridges (bool aAllow)
 
void SetFlag (int aFlag)
 
void IncrementFlag ()
 
int GetFlag () const
 
bool IsNetTie () const
 
std::optional< int > GetLocalClearance (wxString *aSource) const
 
std::optional< int > GetClearanceOverrides (wxString *aSource) const
 Return any local clearance overrides set in the "classic" (ie: pre-rule) system.
 
ZONE_CONNECTION GetZoneConnectionOverrides (wxString *aSource) 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)
 
void Move (const VECTOR2I &aMoveVector) override
 Move this object.
 
void Rotate (const VECTOR2I &aRotCentre, const EDA_ANGLE &aAngle) override
 Rotate this object.
 
void Flip (const VECTOR2I &aCentre, FLIP_DIRECTION aFlipDirection) override
 Flip this object, i.e.
 
void MoveAnchorPosition (const VECTOR2I &aMoveVector)
 Move the reference point of the footprint.
 
bool IsFlipped () const
 
PCB_LAYER_ID GetSide () const
 Use instead of IsFlipped() when you also need to account for unsided footprints (those purely on user-layers, etc.).
 
bool IsOnLayer (PCB_LAYER_ID aLayer) const override
 Test to see if this object is on the given layer.
 
bool IsLocked () const override
 
void SetLocked (bool isLocked) override
 Set the #MODULE_is_LOCKED bit in the m_ModuleStatus.
 
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.
 
void CheckPads (UNITS_PROVIDER *aUnitsProvider, const std::function< void(const PAD *, int, const wxString &)> &aErrorHandler)
 Run non-board-specific DRC checks on footprint's pads.
 
void CheckShortingPads (const std::function< void(const PAD *, const PAD *, int aErrorCode, const VECTOR2I &)> &aErrorHandler)
 Check for overlapping, different-numbered, non-net-tie pads.
 
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.
 
void CheckNetTiePadGroups (const std::function< void(const wxString &)> &aErrorHandler)
 Sanity check net-tie pad groups.
 
void CheckClippedSilk (const std::function< void(BOARD_ITEM *aItemA, BOARD_ITEM *aItemB, const VECTOR2I &aPt)> &aErrorHandler)
 
void BuildNetTieCache ()
 Cache the pads that are allowed to connect to each other in the footprint.
 
const std::set< int > & GetNetTieCache (const BOARD_ITEM *aItem) const
 Get the set of net codes that are allowed to connect to a footprint item.
 
void TransformPadsToPolySet (SHAPE_POLY_SET &aBuffer, PCB_LAYER_ID aLayer, int aClearance, int aMaxError, ERROR_LOC aErrorLoc) const
 Generate pads shapes on layer aLayer as polygons and adds these polygons to aBuffer.
 
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.
 
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.
 
void GetContextualTextVars (wxArrayString *aVars) const
 Return the list of system text vars for this footprint.
 
bool ResolveTextVar (wxString *token, int aDepth=0) const
 Resolve any references to system tokens supported by the component.
 
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.
 
bool HitTest (const VECTOR2I &aPosition, int aAccuracy=0) const override
 Test if aPosition is inside or on the boundary of this item.
 
bool Matches (const EDA_SEARCH_DATA &aSearchData, void *aAuxData) const override
 Compare the item against the search criteria in aSearchData.
 
bool HitTestAccurate (const VECTOR2I &aPosition, int aAccuracy=0) const
 Test if a point is inside the bounding polygon of the footprint.
 
bool HitTest (const BOX2I &aRect, bool aContained, int aAccuracy=0) const override
 Test if aRect intersects this item.
 
bool HitTest (const SHAPE_LINE_CHAIN &aPoly, bool aContained) const override
 Test if aPoly intersects this item.
 
bool HitTestOnLayer (const VECTOR2I &aPosition, PCB_LAYER_ID aLayer, int aAccuracy=0) const
 Test if the point hits one or more of the footprint elements on a given layer.
 
bool HitTestOnLayer (const BOX2I &aRect, bool aContained, PCB_LAYER_ID aLayer, int aAccuracy=0) const
 
const wxString & GetReference () const
 
void SetReference (const wxString &aReference)
 
wxString GetReferenceAsString () const
 
void IncrementReference (int aDelta)
 Bump the current reference by aDelta.
 
const wxString & GetValue () const
 
void SetValue (const wxString &aValue)
 
wxString GetValueAsString () const
 
PCB_FIELDValue ()
 read/write accessors:
 
PCB_FIELDReference ()
 
const PCB_FIELDValue () const
 The const versions to keep the compiler happy.
 
const PCB_FIELDReference () const
 
PCB_FIELDGetField (FIELD_T aFieldType)
 Return a mandatory field in this footprint.
 
const PCB_FIELDGetField (FIELD_T aFieldNdx) const
 
PCB_FIELDGetField (const wxString &aFieldName) const
 Return a field in this symbol.
 
bool HasField (const wxString &aFieldName) const
 
void GetFields (std::vector< PCB_FIELD * > &aVector, bool aVisibleOnly) const
 Populate a std::vector with PCB_TEXTs.
 
const std::deque< PCB_FIELD * > & GetFields () const
 Return a reference to the deque holding the footprint's fields.
 
std::deque< PCB_FIELD * > & GetFields ()
 
int GetNextFieldOrdinal () const
 Return the next ordinal for a user field for this footprint.
 
void ApplyDefaultSettings (const BOARD &board, bool aStyleFields, bool aStyleText, bool aStyleShapes, bool aStyleDimensions, bool aStyleBarcodes)
 Apply default board settings to the footprint field text properties.
 
void SetUnitInfo (const std::vector< FP_UNIT_INFO > &aUnits)
 
const std::vector< FP_UNIT_INFO > & GetUnitInfo () const
 
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 IsDNP () const
 
void SetDNP (bool aDNP=true)
 
void SetFileFormatVersionAtLoad (int aVersion)
 
int GetFileFormatVersionAtLoad () const
 
PADFindPadByNumber (const wxString &aPadNumber, PAD *aSearchAfterMe=nullptr) const
 Return a PAD with a matching number.
 
PADGetPad (const VECTOR2I &aPosition, const LSET &aLayerMask=LSET::AllLayersMask())
 Get a pad at aPosition on aLayerMask in the footprint.
 
std::vector< const PAD * > GetPads (const wxString &aPadNumber, const PAD *aIgnore=nullptr) const
 
unsigned GetPadCount (INCLUDE_NPTH_T aIncludeNPTH=INCLUDE_NPTH_T(INCLUDE_NPTH)) const
 Return the number of pads.
 
unsigned GetUniquePadCount (INCLUDE_NPTH_T aIncludeNPTH=INCLUDE_NPTH_T(INCLUDE_NPTH)) const
 Return the number of unique non-blank pads.
 
std::set< wxString > GetUniquePadNumbers (INCLUDE_NPTH_T aIncludeNPTH=INCLUDE_NPTH_T(INCLUDE_NPTH)) const
 Return the names of the unique, non-blank pads.
 
wxString GetNextPadNumber (const wxString &aLastPadName) const
 Return the next available pad number in the footprint.
 
bool GetDuplicatePadNumbersAreJumpers () const
 
void SetDuplicatePadNumbersAreJumpers (bool aEnabled)
 
std::vector< std::set< wxString > > & JumperPadGroups ()
 Each jumper pad group is a set of pad numbers that should be treated as internally connected.
 
const std::vector< std::set< wxString > > & JumperPadGroups () const
 
std::optional< const std::set< wxString > > GetJumperPadGroup (const wxString &aPadNumber) const
 Retrieves the jumper group containing the specified pad number, if one exists.
 
void AutoPositionFields ()
 Position Reference and Value fields at the top and bottom of footprint's bounding box.
 
wxString GetTypeName () const
 Get the type of footprint.
 
double GetArea (int aPadding=0) const
 
KIID GetLink () const
 
void SetLink (const KIID &aLink)
 
BOARD_ITEMDuplicate (bool addToParentGroup, BOARD_COMMIT *aCommit=nullptr) const override
 Create a copy of this BOARD_ITEM.
 
BOARD_ITEMDuplicateItem (bool addToParentGroup, BOARD_COMMIT *aCommit, const BOARD_ITEM *aItem, bool addToFootprint=false)
 Duplicate a given item within the footprint, optionally adding it to the board.
 
void Add3DModel (FP_3DMODEL *a3DModel)
 Add a3DModel definition to the end of the 3D model list.
 
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.
 
wxString GetClass () const override
 Return the class name.
 
wxString GetItemDescription (UNITS_PROVIDER *aUnitsProvider, bool aFull) const override
 Return a user-visible description string of this item.
 
BITMAPS GetMenuImage () const override
 Return a pointer to an image to be used in menus.
 
EDA_ITEMClone () const override
 Invoke a function on all children.
 
void RunOnChildren (const std::function< void(BOARD_ITEM *)> &aFunction, RECURSE_MODE aMode) const override
 Invoke a function on all children.
 
virtual std::vector< int > ViewGetLayers () const override
 Return the all the layers within the VIEW the object is painted on.
 
double ViewGetLOD (int aLayer, const KIGFX::VIEW *aView) const override
 Return the level of detail (LOD) of the item.
 
virtual const BOX2I ViewBBox () const override
 Return the bounding box of the item covering all its layers.
 
bool FootprintNeedsUpdate (const FOOTPRINT *aLibFP, int aCompareFlags=0, REPORTER *aReporter=nullptr)
 Return true if a board footprint differs from the library version.
 
void SetInitialComments (wxArrayString *aInitialComments)
 Take ownership of caller's heap allocated aInitialComments block.
 
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.
 
const wxArrayString * GetInitialComments () const
 Return the initial comments block or NULL if none, without transfer of ownership.
 
const SHAPE_POLY_SETGetCourtyard (PCB_LAYER_ID aLayer) const
 Used in DRC to test the courtyard area (a complex polygon).
 
const SHAPE_POLY_SETGetCachedCourtyard (PCB_LAYER_ID aLayer) const
 Return the cached courtyard area.
 
void BuildCourtyardCaches (OUTLINE_ERROR_HANDLER *aErrorHandler=nullptr)
 Build complex polygons of the courtyard areas from graphic items on the courtyard layers.
 
std::shared_ptr< SHAPEGetEffectiveShape (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.
 
EMBEDDED_FILESGetEmbeddedFiles () override
 
const EMBEDDED_FILESGetEmbeddedFiles () const
 
std::set< KIFONT::OUTLINE_FONT * > GetFonts () const override
 Get a list of outline fonts referenced in the footprint.
 
void EmbedFonts () override
 
double Similarity (const BOARD_ITEM &aOther) const override
 Return a measure of how likely the other object is to represent the same object.
 
void SetStaticComponentClass (const COMPONENT_CLASS *aClass) const
 Sets the component class object pointer for this footprint.
 
const COMPONENT_CLASSGetStaticComponentClass () const
 Returns the component class for this footprint.
 
const COMPONENT_CLASSGetComponentClass () const
 Returns the component class for this footprint.
 
wxString GetComponentClassAsString () const
 Used for display in the properties panel.
 
void RecomputeComponentClass () const
 Forces immediate recalculation of the component class for this footprint.
 
void InvalidateComponentClassCache () const
 Forces deferred (on next access) recalculation of the component class for this footprint.
 
void SetTransientComponentClassNames (const std::unordered_set< wxString > &classNames)
 Sets the transient component class names.
 
const std::unordered_set< wxString > & GetTransientComponentClassNames ()
 Gets the transient component class names.
 
void ClearTransientComponentClassNames ()
 Remove the transient component class names.
 
void ResolveComponentClassNames (BOARD *aBoard, const std::unordered_set< wxString > &aComponentClassNames)
 Resolves a set of component class names to this footprint's actual component class.
 
bool operator== (const BOARD_ITEM &aOther) const override
 
bool operator== (const FOOTPRINT &aOther) const
 
virtual void Delete (BOARD_ITEM *aItem)
 Removes an item from the container and deletes it.
 
bool IsGroupableType () const
 
int GetX () const
 
int GetY () const
 
void SetX (int aX)
 
void SetY (int aY)
 
virtual bool IsConnected () const
 Returns information if the object is derived from BOARD_CONNECTED_ITEM.
 
virtual bool IsOnCopperLayer () const
 
virtual bool HasHole () const
 
virtual bool HasDrilledHole () const
 
virtual bool IsTented (PCB_LAYER_ID aLayer) const
 Checks if the given object is tented (its copper shape is covered by solder mask) on a given side of the board.
 
virtual std::shared_ptr< SHAPE_SEGMENTGetEffectiveHoleShape () const
 
BOARD_ITEM_CONTAINERGetParent () const
 
FOOTPRINTGetParentFootprint () const
 
VECTOR2I GetFPRelativePosition () const
 
void SetFPRelativePosition (const VECTOR2I &aPos)
 
virtual bool HasLineStroke () const
 Check if this item has line stoke properties.
 
virtual STROKE_PARAMS GetStroke () const
 
virtual void SetStroke (const STROKE_PARAMS &aStroke)
 
const KIFONT::METRICSGetFontMetrics () const
 
virtual int BoardLayerCount () const
 Return the total number of layers for the board that this item resides on.
 
virtual int BoardCopperLayerCount () const
 Return the total number of copper layers for the board that this item resides on.
 
virtual LSET BoardLayerSet () const
 Return the LSET for the board that this item resides on.
 
virtual LSET GetLayerSet () const
 Return a std::bitset of all layers on which the item physically resides.
 
virtual void SetLayerSet (const LSET &aLayers)
 
bool IsSideSpecific () const
 
virtual void SetLayer (PCB_LAYER_ID aLayer)
 Set the layer this item is on.
 
void SwapItemData (BOARD_ITEM *aImage)
 Swap data between aItem and aImage.
 
virtual bool IsKnockout () const
 
virtual void SetIsKnockout (bool aKnockout)
 
int GetMaxError () const
 
virtual void StyleFromSettings (const BOARD_DESIGN_SETTINGS &settings, bool aCheckSide)
 
void DeleteStructure ()
 Delete this object after removing from its parent if it has one.
 
virtual void Mirror (const VECTOR2I &aCentre, FLIP_DIRECTION aFlipDirection)
 Mirror this object relative to a given horizontal axis the layer is not changed.
 
virtual void Normalize ()
 Perform any normalization required after a user rotate and/or flip.
 
virtual void NormalizeForCompare ()
 Perform any normalization required to compare 2 graphics, especially if the can be rotated and/or flipped.
 
virtual const BOARDGetBoard () const
 Return the BOARD in which this BOARD_ITEM resides, or NULL if none.
 
virtual BOARDGetBoard ()
 
wxString GetParentAsString () const
 For "parent" property.
 
wxString GetLayerName () const
 Return the name of the PCB layer on which the item resides.
 
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.
 
virtual void TransformShapeToPolySet (SHAPE_POLY_SET &aBuffer, PCB_LAYER_ID aLayer, int aClearance, int aError, ERROR_LOC aErrorLoc) const
 Convert the item shape to a polyset.
 
const std::vector< wxString > * GetEmbeddedFonts () override
 
KICAD_T Type () const
 Returns the type of object.
 
virtual void SetParent (EDA_ITEM *aParent)
 
virtual void SetParentGroup (EDA_GROUP *aGroup)
 
virtual EDA_GROUPGetParentGroup () const
 
KIID GetParentGroupId () const
 
bool IsModified () const
 
bool IsNew () const
 
bool IsMoving () const
 
bool IsSelected () const
 
bool IsEntered () const
 
bool IsBrightened () const
 
bool IsRollover () const
 
void SetIsRollover (bool aIsRollover)
 
void SetSelected ()
 
void SetBrightened ()
 
void ClearSelected ()
 
void ClearBrightened ()
 
void SetModified ()
 
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
 
virtual void ClearEditFlags ()
 
EDA_ITEM_FLAGS GetTempFlags () const
 
virtual void ClearTempFlags ()
 
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.
 
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.
 
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.
 
virtual VECTOR2I GetSortPosition () const
 Return the coordinates that should be used for sorting this element visually compared to other elements.
 
wxString GetTypeDesc () const
 Return a translated description of the type for this EDA_ITEM for display in user facing messages.
 
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.
 
virtual bool IsReplaceable () const
 Override this method in any derived object that supports test find and replace.
 
bool operator< (const EDA_ITEM &aItem) const
 Test if another item is less than this object.
 
bool IsSCH_ITEM () const
 
bool IsBOARD_ITEM () const
 
virtual void ViewDraw (int aLayer, VIEW *aView) const
 Draw the parts of the object belonging to layer aLayer.
 
VIEW_ITEM_DATA * viewPrivData () const
 
void SetForcedTransparency (double aForcedTransparency)
 
double GetForcedTransparency () const
 
bool Set (PROPERTY_BASE *aProperty, wxAny &aValue, bool aNotify=true)
 
template<typename T>
bool Set (PROPERTY_BASE *aProperty, T aValue, bool aNotify=true)
 
bool Set (PROPERTY_BASE *aProperty, wxVariant aValue, bool aNotify=true)
 
template<typename T>
bool Set (const wxString &aProperty, T aValue, bool aNotify=true)
 
wxAny Get (PROPERTY_BASE *aProperty) const
 
template<typename T>
T Get (PROPERTY_BASE *aProperty) const
 
template<typename T>
std::optional< TGet (const wxString &aProperty) const
 
void SetFileAddedCallback (FILE_ADDED_CALLBACK callback)
 
FILE_ADDED_CALLBACK GetFileAddedCallback () const
 
EMBEDDED_FILEAddFile (const wxFileName &aName, bool aOverwrite)
 Load a file from disk and adds it to the collection.
 
void AddFile (EMBEDDED_FILE *aFile)
 Append a file to the collection.
 
void RemoveFile (const wxString &name, bool aErase=true)
 Remove a file from the collection and frees the memory.
 
void WriteEmbeddedFiles (OUTPUTFORMATTER &aOut, bool aWriteData) const
 Output formatter for the embedded files.
 
wxString GetEmbeddedFileLink (const EMBEDDED_FILE &aFile) const
 Return the link for an embedded file.
 
bool HasFile (const wxString &name) const
 
bool IsEmpty () const
 
virtual void RunOnNestedEmbeddedFiles (const std::function< void(EMBEDDED_FILES *)> &aFunction)
 Provide access to nested embedded files, such as symbols in schematics and footprints in boards.
 
const std::vector< wxString > * UpdateFontFiles ()
 Helper function to get a list of fonts for fontconfig to add to the library.
 
const std::vector< wxString > * GetFontFiles () const
 If we just need the cached version of the font files, we can use this function which is const and will not update the font files.
 
void ClearEmbeddedFonts ()
 Remove all embedded fonts from the collection.
 
EMBEDDED_FILEGetEmbeddedFile (const wxString &aName) const
 Returns the embedded file with the given name or nullptr if it does not exist.
 
const std::map< wxString, EMBEDDED_FILE * > & EmbeddedFileMap () const
 
wxFileName GetTemporaryFileName (const wxString &aName) const
 
wxFileName GetTemporaryFileName (EMBEDDED_FILE *aFile) const
 
void ClearEmbeddedFiles (bool aDeleteFiles=true)
 
void SetAreFontsEmbedded (bool aEmbedFonts)
 
bool GetAreFontsEmbedded () 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 ... ).
 
static const wxChar * StringLibNameInvalidChars (bool aUserReadable)
 Test for validity of the name in a library of the footprint ( no spaces, dir separators ... ).
 
static double GetCoverageArea (const BOARD_ITEM *aItem, const GENERAL_COLLECTOR &aCollector)
 
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.
 
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.
 
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.
 
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.
 
static RETURN_CODE CompressAndEncode (EMBEDDED_FILE &aFile)
 Take data from the #decompressedData buffer and compresses it using ZSTD into the #compressedEncodedData buffer.
 
static RETURN_CODE DecompressAndDecode (EMBEDDED_FILE &aFile)
 Takes data from the #compressedEncodedData buffer and Base64 decodes it.
 
static uint32_t Seed ()
 

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.
 

Protected Member Functions

virtual void swapData (BOARD_ITEM *aImage) override
 
void addMandatoryFields ()
 
virtual wxString layerMaskDescribe () const
 Return a string (to be shown to the user) describing a layer mask.
 
bool Matches (const wxString &aText, const EDA_SEARCH_DATA &aSearchData) const
 Compare aText against search criteria in aSearchData.
 
EDA_ITEMfindParent (KICAD_T aType) const
 

Static Protected Member Functions

static double lodScaleForThreshold (const KIGFX::VIEW *aView, int aWhatIu, int aThresholdIu)
 Get the scale at which aWhatIu would be drawn at the same size as aThresholdIu on screen.
 

Protected Attributes

PCB_LAYER_ID m_layer
 
bool m_isKnockout
 
bool m_isLocked
 
EDA_ITEM_FLAGS m_flags
 
EDA_ITEMm_parent
 Owner.
 
EDA_GROUPm_group
 The group this item belongs to, if any. No ownership implied.
 
bool m_forceVisible
 
bool m_isRollover
 
bool m_embedFonts = false
 If set, fonts will be embedded in the element on save.
 

Static Protected Attributes

static constexpr double LOD_HIDE = std::numeric_limits<double>::max()
 Return this constant from ViewGetLOD() to hide the item unconditionally.
 
static constexpr double LOD_SHOW = 0.0
 Return this constant from ViewGetLOD() to show the item unconditionally.
 

Private Attributes

std::deque< PCB_FIELD * > m_fields
 
std::deque< BOARD_ITEM * > m_drawings
 
std::deque< PAD * > m_pads
 
std::vector< ZONE * > m_zones
 
std::deque< PCB_GROUP * > m_groups
 
std::deque< PCB_POINT * > m_points
 
EDA_ANGLE m_orient
 
VECTOR2I m_pos
 
LIB_ID m_fpid
 
int m_attributes
 
int m_fpStatus
 
int m_fileFormatVersionAtLoad
 
BOX2I m_cachedBoundingBox
 
int m_boundingBoxCacheTimeStamp
 
BOX2I m_cachedTextExcludedBBox
 
int m_textExcludedBBoxCacheTimeStamp
 
SHAPE_POLY_SET m_cachedHull
 
int m_hullCacheTimeStamp
 
std::vector< wxString > m_netTiePadGroups
 
std::map< const BOARD_ITEM *, std::set< int > > m_netTieCache
 
std::vector< std::set< wxString > > m_jumperPadGroups
 A list of jumper pad groups, each of which is a set of pad numbers that should be jumpered together (treated as internally connected for the purposes of connectivity)
 
bool m_duplicatePadNumbersAreJumpers
 Flag that this footprint should automatically treat sets of two or more pads with the same number as jumpered pin groups.
 
bool m_allowMissingCourtyard
 
bool m_allowSolderMaskBridges
 
ZONE_CONNECTION m_zoneConnection
 
std::optional< int > m_clearance
 
std::optional< int > m_solderMaskMargin
 
std::optional< int > m_solderPasteMargin
 
std::optional< double > m_solderPasteMarginRatio
 
LSET m_stackupLayers
 
FOOTPRINT_STACKUP m_stackupMode
 
LSET m_privateLayers
 
wxString m_libDescription
 
wxString m_keywords
 
KIID_PATH m_path
 
wxString m_sheetname
 
wxString m_sheetfile
 
wxString m_filters
 
timestamp_t m_lastEditTime
 
int m_arflag
 
KIID m_link
 
std::vector< FP_3DMODELm_3D_Drawings
 
wxArrayString * m_initial_comments
 
SHAPE_POLY_SET m_courtyard_cache_front
 
SHAPE_POLY_SET m_courtyard_cache_back
 
HASH_128 m_courtyard_cache_front_hash
 
HASH_128 m_courtyard_cache_back_hash
 
std::mutex m_courtyard_cache_mutex
 
std::unordered_set< wxString > m_transientComponentClassNames
 
std::unique_ptr< COMPONENT_CLASS_CACHE_PROXYm_componentClassCacheProxy
 
std::vector< FP_UNIT_INFOm_unitInfo
 
KICAD_T m_structType
 Run time identification, keep private so it can never be changed after a ctor sets it.
 
bool m_isSCH_ITEM
 
bool m_isBOARD_ITEM
 
VIEW_ITEM_DATA * m_viewPrivData
 
double m_forcedTransparency
 Additional transparency for diff'ing items.
 
std::map< wxString, EMBEDDED_FILE * > m_files
 
std::vector< wxString > m_fontFiles
 
FILE_ADDED_CALLBACK m_fileAddedCallback
 

Detailed Description

Definition at line 136 of file footprint.h.

Member Typedef Documentation

◆ FILE_ADDED_CALLBACK

using EMBEDDED_FILES::FILE_ADDED_CALLBACK = std::function<void( EMBEDDED_FILE* )>
inherited

Definition at line 113 of file embedded_files.h.

Member Enumeration Documentation

◆ COMPARE_FLAGS

enum BOARD_ITEM::COMPARE_FLAGS : int
inherited
Enumerator
DRC 
INSTANCE_TO_INSTANCE 

Definition at line 433 of file board_item.h.

◆ RETURN_CODE

enum class EMBEDDED_FILES::RETURN_CODE : int
stronginherited
Enumerator
OK 

Success.

FILE_NOT_FOUND 

File not found on disk.

PERMISSIONS_ERROR 

Could not read/write file.

FILE_ALREADY_EXISTS 

File already exists in the collection.

OUT_OF_MEMORY 

Could not allocate memory.

CHECKSUM_ERROR 

Checksum in file does not match data.

Definition at line 92 of file embedded_files.h.

Constructor & Destructor Documentation

◆ FOOTPRINT() [1/3]

◆ FOOTPRINT() [2/3]

◆ FOOTPRINT() [3/3]

FOOTPRINT::FOOTPRINT ( FOOTPRINT && aFootprint)

Definition at line 256 of file footprint.cpp.

References BOARD_ITEM_CONTAINER::BOARD_ITEM_CONTAINER(), and FOOTPRINT().

◆ ~FOOTPRINT()

FOOTPRINT::~FOOTPRINT ( )

Member Function Documentation

◆ Add()

void FOOTPRINT::Add ( BOARD_ITEM * aItem,
ADD_MODE aMode = ADD_MODE::INSERT,
bool aSkipConnectivity = false )
overridevirtual

Removes an item from the container.

Implements BOARD_ITEM_CONTAINER.

Definition at line 1142 of file footprint.cpp.

References APPEND, BOARD_ITEM::BOARD_ITEM(), EDA_ITEM::ClearEditFlags(), m_drawings, m_fields, m_groups, m_pads, m_points, m_zones, PCB_BARCODE_T, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_FIELD_T, PCB_FOOTPRINT_T, PCB_GROUP_T, PCB_MARKER_T, PCB_PAD_T, PCB_POINT_T, PCB_REFERENCE_IMAGE_T, PCB_SHAPE_T, PCB_TABLE_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_ZONE_T, EDA_ITEM::SetParent(), and EDA_ITEM::Type().

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::addAttribute(), PCAD2KICAD::PCAD_ARC::AddToBoard(), PCAD2KICAD::PCAD_POLYGON::AddToBoard(), PCAD2KICAD::PCAD_PAD::AddToFootprint(), BOOST_AUTO_TEST_CASE(), ALTIUM_PCB::ConvertArcs6ToFootprintItem(), ALTIUM_PCB::ConvertArcs6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertBarcodes6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertFills6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), ALTIUM_PCB::ConvertPads6ToFootprintItemOnNonCopper(), ALTIUM_PCB::ConvertShapeBasedRegions6ToFootprintItem(), ALTIUM_PCB::ConvertShapeBasedRegions6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertTexts6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertTracks6ToFootprintItem(), ALTIUM_PCB::ConvertTracks6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertVias6ToFootprintItem(), Deserialize(), KI_TEST::DrawArc(), KI_TEST::DrawSegment(), DuplicateItem(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_IO_EASYEDAPRO_PARSER::fillFootprintModelInfo(), FOOTPRINT(), PCB_BASE_FRAME::GetLibraryItemsForListDialog(), ALTIUM_PCB::HelperPcpShapeAsFootprintKeepoutRegion(), PCB_IO_KICAD_LEGACY::loadFOOTPRINT(), FABMASTER::loadFootprints(), PCB_IO_KICAD_LEGACY::loadFP_SHAPE(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryAreas(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryCoppers(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryPads(), PCB_IO_KICAD_LEGACY::loadPAD(), operator=(), operator=(), PCB_IO_EAGLE::packageCircle(), PCB_IO_EAGLE::packageHole(), PCB_IO_EAGLE::packagePad(), PCB_IO_EAGLE::packagePolygon(), PCB_IO_EAGLE::packageRectangle(), PCB_IO_EAGLE::packageSMD(), PCB_IO_EAGLE::packageText(), PCB_IO_EAGLE::packageWire(), PCB_IO_EASYEDAPRO_PARSER::ParseFootprint(), PCB_IO_EASYEDA_PARSER::ParseToBoardItemContainer(), CLIPBOARD_IO::SaveSelection(), FOOTPRINT_EDIT_FRAME::SelectFootprintFromBoard(), PCB_FOOTPRINT_FIELD_PROPERTY::setter(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().

◆ Add3DModel()

void FOOTPRINT::Add3DModel ( FP_3DMODEL * a3DModel)

Add a3DModel definition to the end of the 3D model list.

Parameters
a3DModelA pointer to a FP_3DMODEL to add to the list.

Definition at line 2221 of file footprint.cpp.

References m_3D_Drawings, and FP_3DMODEL::m_Filename.

◆ AddFile() [1/2]

◆ AddFile() [2/2]

void EMBEDDED_FILES::AddFile ( EMBEDDED_FILE * aFile)
inherited

Append a file to the collection.

Definition at line 114 of file embedded_files.cpp.

References m_fileAddedCallback, m_files, and EMBEDDED_FILES::EMBEDDED_FILE::name.

◆ addMandatoryFields()

void FOOTPRINT::addMandatoryFields ( )
protected

◆ AddNetTiePadGroup()

void FOOTPRINT::AddNetTiePadGroup ( const wxString & aGroup)
inline

Definition at line 389 of file footprint.h.

References m_netTiePadGroups.

Referenced by Deserialize().

◆ AllowMissingCourtyard()

bool FOOTPRINT::AllowMissingCourtyard ( ) const
inline

◆ AllowSolderMaskBridges()

◆ ApplyDefaultSettings()

void FOOTPRINT::ApplyDefaultSettings ( const BOARD & board,
bool aStyleFields,
bool aStyleText,
bool aStyleShapes,
bool aStyleDimensions,
bool aStyleBarcodes )

Apply default board settings to the footprint field text properties.

This is needed because the board settings are not available when the footprint is being created in the footprint library cache, and we want these fields to have the correct default text properties.

Definition at line 694 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), m_drawings, m_fields, PCB_BARCODE_T, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_SHAPE_T, PCB_TEXT_T, and PCB_TEXTBOX_T.

Referenced by PCB_BASE_FRAME::loadFootprint(), and FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard().

◆ AutoPositionFields()

◆ BoardCopperLayerCount()

int BOARD_ITEM::BoardCopperLayerCount ( ) const
virtualinherited

Return the total number of copper layers for the board that this item resides on.

Definition at line 159 of file board_item.cpp.

References GetBoard(), and BOARD::GetCopperLayerCount().

Referenced by PAD::ClearZoneLayerOverrides(), PCB_VIA::ClearZoneLayerOverrides(), PAD::Flip(), PCB_VIA::GetLayerSet(), PAD::PAD(), PCB_VIA::PCB_VIA(), PADSTACK::RelevantShapeLayers(), and PNS_KICAD_IFACE_BASE::syncPad().

◆ BoardLayerCount()

int BOARD_ITEM::BoardLayerCount ( ) const
virtualinherited

Return the total number of layers for the board that this item resides on.

Definition at line 148 of file board_item.cpp.

References GetBoard(), and BOARD::GetLayerSet().

◆ BoardLayerSet()

LSET BOARD_ITEM::BoardLayerSet ( ) const
virtualinherited

Return the LSET for the board that this item resides on.

Definition at line 170 of file board_item.cpp.

References LSET::AllLayersMask(), GetBoard(), and BOARD::GetEnabledLayers().

Referenced by ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper().

◆ BuildCourtyardCaches()

◆ BuildNetTieCache()

void FOOTPRINT::BuildNetTieCache ( )

Cache the pads that are allowed to connect to each other in the footprint.

Definition at line 3342 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), BOARD_ITEM::GetBoard(), m_drawings, m_netTieCache, and MapPadNumbersToNetTieGroups().

◆ CheckClippedSilk()

void FOOTPRINT::CheckClippedSilk ( const std::function< void(BOARD_ITEM *aItemA, BOARD_ITEM *aItemB, const VECTOR2I &aPt)> & aErrorHandler)

◆ CheckFootprintAttributes()

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"

Parameters
aErrorHandlercallback to handle the error messages generated

Definition at line 3495 of file footprint.cpp.

References _, FP_SMD, FP_THROUGH_HOLE, GetAttributes(), GetLikelyAttribute(), and GetTypeName().

Referenced by DIALOG_FOOTPRINT_CHECKER::runChecks().

◆ CheckNetTiePadGroups()

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.

Parameters
aErrorHandlercallback to handle the error messages generated

Definition at line 3718 of file footprint.cpp.

References _, FindPadByNumber(), MapPadNumbersToNetTieGroups(), and pad.

Referenced by DIALOG_FOOTPRINT_CHECKER::runChecks().

◆ CheckNetTies()

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.

Parameters
aErrorHandlercallback to handle the error messages generated

Definition at line 3607 of file footprint.cpp.

References B_Cu, BOARD_ITEM::BOARD_ITEM(), ERROR_OUTSIDE, F_Cu, BOARD_ITEM::GetMaxError(), PAD::GetNumber(), PAD::GetPosition(), In1_Cu, BOARD_ITEM::IsOnCopperLayer(), m_drawings, m_fields, m_pads, m_zones, MapPadNumbersToNetTieGroups(), SHAPE_LINE_CHAIN::NearestPoint(), SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), pad, RECURSE, and SHAPE_POLY_SET::Simplify().

Referenced by DIALOG_FOOTPRINT_CHECKER::runChecks().

◆ CheckPads()

void FOOTPRINT::CheckPads ( UNITS_PROVIDER * aUnitsProvider,
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.

Parameters
aErrorHandlercallback to handle the error messages generated

Definition at line 3520 of file footprint.cpp.

References pad, and Pads().

Referenced by DIALOG_FOOTPRINT_CHECKER::runChecks().

◆ CheckShortingPads()

void FOOTPRINT::CheckShortingPads ( const std::function< void(const PAD *, const PAD *, int aErrorCode, const VECTOR2I &)> & aErrorHandler)

◆ ClassOf()

static bool FOOTPRINT::ClassOf ( const EDA_ITEM * aItem)
inlinestatic

Definition at line 156 of file footprint.h.

References EDA_ITEM::EDA_ITEM(), PCB_FOOTPRINT_T, and EDA_ITEM::Type().

◆ ClearAllNets()

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 1133 of file footprint.cpp.

References m_pads, NETINFO_LIST::ORPHANED, and pad.

Referenced by PCB_BASE_FRAME::loadFootprint(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), and PCB_BASE_FRAME::OnFpChangeDebounceTimer().

◆ ClearBrightened()

◆ ClearEditFlags()

◆ ClearEmbeddedFiles()

void EMBEDDED_FILES::ClearEmbeddedFiles ( bool aDeleteFiles = true)
inlineinherited

Definition at line 242 of file embedded_files.h.

References m_files.

Referenced by PCB_IO_KICAD_SEXPR::format(), operator=(), and operator=().

◆ ClearEmbeddedFonts()

void EMBEDDED_FILES::ClearEmbeddedFonts ( )
inherited

Remove all embedded fonts from the collection.

Definition at line 138 of file embedded_files.cpp.

References EMBEDDED_FILES::EMBEDDED_FILE::FONT, and m_files.

Referenced by SCH_IO_KICAD_SEXPR_LIB_CACHE::SaveSymbol().

◆ ClearFlags()

void EDA_ITEM::ClearFlags ( EDA_ITEM_FLAGS aMask = EDA_ITEM_ALL_FLAGS)
inlineinherited

Definition at line 144 of file eda_item.h.

References EDA_ITEM_ALL_FLAGS, and m_flags.

Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PNS_KICAD_IFACE::AddItem(), PNS_KICAD_IFACE_GENERATOR::AddItem(), SCH_MOVE_TOOL::AlignToGrid(), BACK_ANNOTATE::applyChangelist(), PCB_CONTROL::ApplyDesignBlockLayout(), SCH_DRAWING_TOOLS::AutoPlaceAllSheetPins(), SCH_EDIT_TOOL::BreakWire(), FOOTPRINT::BuildCourtyardCaches(), ClearBrightened(), ClearEditFlags(), ClearSelected(), ClearTempFlags(), SYMBOL_EDITOR_EDIT_TOOL::Copy(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), SYMBOL_EDITOR_PIN_TOOL::CreateImagePins(), SCH_EDIT_TOOL::DoDelete(), PCB_TOOL_BASE::doInteractiveItemPlacement(), SCH_MOVE_TOOL::doMoveSelection(), KIGFX::SCH_PAINTER::draw(), SCH_ITEM::Duplicate(), PCB_TUNING_PATTERN::EditCancel(), PCB_TUNING_PATTERN::EditFinish(), PCB_EDIT_FRAME::ExchangeFootprint(), SCH_IO_KICAD_SEXPR::Format(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), SCH_COLLECTOR::Inspect(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromLibrary(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), SCH_COMMIT::pushSchEdit(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), PCB_SELECTION_TOOL::RebuildSelection(), PAD::Recombine(), GERBVIEW_FRAME::RemapLayers(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_IO_KICAD_SEXPR_LIB_CACHE::savePin(), SCH_SELECTION_TOOL::SelectMultiple(), SetIsShownAsBitmap(), SCH_DRAWING_TOOLS::TwoClickPlace(), SCH_SELECTION_TOOL::unhighlight(), and SCOPED_FLAGS_CLEANER::~SCOPED_FLAGS_CLEANER().

◆ ClearNetTiePadGroups()

void FOOTPRINT::ClearNetTiePadGroups ( )
inline

Definition at line 384 of file footprint.h.

References m_netTiePadGroups.

◆ ClearSelected()

◆ ClearTempFlags()

virtual void EDA_ITEM::ClearTempFlags ( )
inlinevirtualinherited

Reimplemented in LIB_SYMBOL.

Definition at line 169 of file eda_item.h.

References ClearFlags(), and GetTempFlags().

Referenced by LIB_SYMBOL::ClearTempFlags(), SCH_EDIT_FRAME::PutDataInPreviousState(), and SCH_ITEM::SwapFlags().

◆ ClearTransientComponentClassNames()

void FOOTPRINT::ClearTransientComponentClassNames ( )
inline

Remove the transient component class names.

Definition at line 1069 of file footprint.h.

References m_transientComponentClassNames.

Referenced by PCB_CONTROL::Paste().

◆ Clone()

◆ CompressAndEncode()

EMBEDDED_FILES::RETURN_CODE EMBEDDED_FILES::CompressAndEncode ( EMBEDDED_FILE & aFile)
staticinherited

Take data from the #decompressedData buffer and compresses it using ZSTD into the #compressedEncodedData buffer.

The data is then Base64 encoded. This call is used when adding a new file to the collection from disk.

Definition at line 218 of file embedded_files.cpp.

References MMH3_HASH::add(), EMBEDDED_FILES::EMBEDDED_FILE::compressedEncodedData, EMBEDDED_FILES::EMBEDDED_FILE::data_hash, EMBEDDED_FILES::EMBEDDED_FILE::decompressedData, MMH3_HASH::digest(), OK, OUT_OF_MEMORY, Seed(), and HASH_128::ToString().

Referenced by AddFile(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), ALTIUM_PCB::ConvertComponentBody6ToFootprintItem(), and ALTIUM_PCB::ParseComponentsBodies6Data().

◆ CopyFrom()

void FOOTPRINT::CopyFrom ( const BOARD_ITEM * aOther)
overridevirtual

Reimplemented from BOARD_ITEM.

Definition at line 1024 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), FOOTPRINT(), m_pads, pad, PCB_FOOTPRINT_T, and EDA_ITEM::Type().

◆ CoverageRatio()

◆ DecompressAndDecode()

EMBEDDED_FILES::RETURN_CODE EMBEDDED_FILES::DecompressAndDecode ( EMBEDDED_FILE & aFile)
staticinherited

Takes data from the #compressedEncodedData buffer and Base64 decodes it.

The data is then decompressed using ZSTD and stored in the #decompressedData buffer. This call is used when loading the embedded files using the parsers.

Definition at line 253 of file embedded_files.cpp.

References MMH3_HASH::add(), CHECKSUM_ERROR, EMBEDDED_FILES::EMBEDDED_FILE::compressedEncodedData, EMBEDDED_FILES::EMBEDDED_FILE::data_hash, EMBEDDED_FILES::EMBEDDED_FILE::decompressedData, MMH3_HASH::digest(), EMBEDDED_FILES::EMBEDDED_FILE::name, OK, OUT_OF_MEMORY, Seed(), and HASH_128::ToString().

Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and EMBEDDED_FILES_PARSER::ParseEmbedded().

◆ Delete()

virtual void BOARD_ITEM_CONTAINER::Delete ( BOARD_ITEM * aItem)
inlinevirtualinherited

Removes an item from the container and deletes it.

Definition at line 77 of file board_item_container.h.

References BOARD_ITEM::BOARD_ITEM(), and Remove().

◆ DeleteStructure()

void BOARD_ITEM::DeleteStructure ( )
inherited

Delete this object after removing from its parent if it has one.

Definition at line 254 of file board_item.cpp.

References GetParent(), and BOARD_ITEM_CONTAINER::Remove().

◆ Deserialize()

◆ Duplicate()

BOARD_ITEM * FOOTPRINT::Duplicate ( bool addToParentGroup,
BOARD_COMMIT * aCommit = nullptr ) const
overridevirtual

Create a copy of this BOARD_ITEM.

Parameters
addToParentGroupIndicates whether or not the new item is added to the group containing the old item. If true, aCommit must be provided.

Reimplemented from BOARD_ITEM.

Definition at line 2750 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), BOARD_ITEM::Duplicate(), FOOTPRINT(), EDA_ITEM::m_Uuid, RECURSE, and RunOnChildren().

Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), FOOTPRINT_PREVIEW_PANEL::DisplayFootprint(), PCB_IO_GEDA::FootprintLoad(), PCB_IO_KICAD_SEXPR::FootprintLoad(), and CADSTAR_PCB_ARCHIVE_LOADER::loadComponents().

◆ DuplicateItem()

BOARD_ITEM * FOOTPRINT::DuplicateItem ( bool addToParentGroup,
BOARD_COMMIT * aCommit,
const BOARD_ITEM * aItem,
bool addToFootprint = false )

◆ EmbeddedFileMap()

const std::map< wxString, EMBEDDED_FILE * > & EMBEDDED_FILES::EmbeddedFileMap ( ) const
inlineinherited

◆ EmbedFonts()

void FOOTPRINT::EmbedFonts ( )
overridevirtual

◆ FindPadByNumber()

PAD * FOOTPRINT::FindPadByNumber ( const wxString & aPadNumber,
PAD * aSearchAfterMe = nullptr ) const

Return a PAD with a matching number.

Note
Numbers may not be unique depending on how the footprint was created.
Parameters
aPadNumberthe pad number to find.
aSearchAfterMe= not nullptr to find a pad living after aAfterMe
Returns
the first matching numbered PAD is returned or NULL if not found.

Definition at line 2113 of file footprint.cpp.

References m_pads, and pad.

Referenced by CheckNetTiePadGroups(), Similarity(), EDIT_TOOL::SwapGateNets(), BOARD_NETLIST_UPDATER::testConnectivity(), and DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist().

◆ findParent()

EDA_ITEM * EDA_ITEM::findParent ( KICAD_T aType) const
protectedinherited

◆ FixUuids()

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.

Returns
true if at least one uuid is changed, false if no change

Definition at line 742 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), group, m_drawings, m_fields, m_groups, m_pads, m_points, m_zones, niluuid, and pad.

Referenced by FOOTPRINT_EDIT_FRAME::ReloadFootprint().

◆ Flip()

◆ FootprintNeedsUpdate()

◆ Get() [1/3]

template<typename T>
std::optional< T > INSPECTABLE::Get ( const wxString & aProperty) const
inlineinherited

◆ Get() [2/3]

◆ Get() [3/3]

template<typename T>
T INSPECTABLE::Get ( PROPERTY_BASE * aProperty) const
inlineinherited

◆ GetArea()

double FOOTPRINT::GetArea ( int aPadding = 0) const

◆ GetAreFontsEmbedded()

bool EMBEDDED_FILES::GetAreFontsEmbedded ( ) const
inlineinherited

◆ GetAttributes()

◆ GetBoard() [1/2]

BOARD * BOARD_ITEM::GetBoard ( )
virtualinherited

Definition at line 89 of file board_item.cpp.

References EDA_ITEM::findParent(), PCB_T, and EDA_ITEM::Type().

◆ GetBoard() [2/2]

const BOARD * BOARD_ITEM::GetBoard ( ) const
virtualinherited

Return the BOARD in which this BOARD_ITEM resides, or NULL if none.

Definition at line 80 of file board_item.cpp.

References EDA_ITEM::findParent(), PCB_T, and EDA_ITEM::Type().

Referenced by CN_CONNECTIVITY_ALGO::Add(), BOARD_ADAPTER::addShape(), PCB_BARCODE::AssembleBarcode(), BOARD_ITEM_DESC::BOARD_ITEM_DESC(), BoardCopperLayerCount(), BoardLayerCount(), BoardLayerSet(), CN_CONNECTIVITY_ALGO::Build(), FOOTPRINT::BuildNetTieCache(), ZONE::BuildSmoothedPoly(), collidesWithArea(), PCB_TUNING_PATTERN::CreateNew(), PCB_GROUP::Deserialize(), BOARD_INSPECTION_TOOL::DiffFootprint(), KIGFX::PCB_PAINTER::Draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), enclosedByAreaFunc(), existsOnLayerFunc(), ZONE_FILLER::Fill(), PAD::FlashLayer(), PCB_VIA::FlashLayer(), FOOTPRINT::Flip(), PAD::Flip(), PCB_ARC::Flip(), PCB_BARCODE::Flip(), PCB_DIMENSION_BASE::Flip(), PCB_GENERATOR::Flip(), PCB_POINT::Flip(), PCB_SHAPE::Flip(), PCB_TABLE::Flip(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), PCB_TRACK::Flip(), PCB_VIA::Flip(), ZONE::Flip(), FOOTPRINT::FootprintNeedsUpdate(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), fromToFunc(), FOOTPRINT::GetBoundingBox(), NETINFO_ITEM::GetBoundingBox(), ZONE::GetBoundingBox(), FOOTPRINT::GetBoundingHull(), FOOTPRINT::GetBoundingHull(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_BASE_EDIT_FRAME::GetContextualTextVars(), PCB_TRACK::GetDelay(), BOARD_CONNECTED_ITEM::GetDisplayNetname(), PCB_VIA::GetDrillConstraint(), BOARD_CONNECTED_ITEM::GetEffectiveNetClass(), GetEmbeddedFonts(), getFieldFunc(), ZONE::GetInteractingZones(), PAD::GetItemDescription(), PCB_SHAPE::GetItemDescription(), ZONE::GetItemDescription(), FOOTPRINT::GetLayerBoundingBox(), GetLayerName(), GetMaxError(), PCB_VIA::GetMinAnnulus(), PCB_TRACK::GetMsgPanelInfo(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), PCB_VIA::GetOutermostConnectedLayers(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PAD::GetOwnClearance(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), PCB_MARKER::GetSeverity(), PCB_TEXT::GetShownText(), PCB_TEXTBOX::GetShownText(), FOOTPRINT::GetSide(), PAD::GetSolderMaskExpansion(), PCB_SHAPE::GetSolderMaskExpansion(), PCB_TRACK::GetSolderMaskExpansion(), PCB_VIA::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), BOARD::GetTrackLength(), PCB_TRACK::GetWidthConstraint(), PCB_VIA::GetWidthConstraint(), inDiffPairFunc(), intersectsAreaFunc(), intersectsBackCourtyardFunc(), intersectsCourtyardFunc(), intersectsFrontCourtyardFunc(), isCoupledDiffPairFunc(), IsLocked(), IsSideSpecific(), PCB_VIA::IsTented(), layerMaskDescribe(), PCB_VIA::layerMaskDescribe(), ZONE::Move(), CN_VISITOR::operator()(), PCB_IO_EAGLE::packageWire(), padNeedsUpdate(), PCB_TABLECELL::PCB_TABLECELL(), PCB_TUNING_PATTERN::recoverBaseline(), BOARD::ResolveDRCExclusions(), FOOTPRINT::ResolveTextVar(), PCB_SHAPE::SetIsProxyItem(), BOARD_CONNECTED_ITEM::SetNetCode(), PCB_TUNING_PATTERN::SetNetCode(), PCB_DIMENSION_BASE::SetUnitsMode(), PCB_FIELDS_GRID_TABLE::SetValueAsLong(), PCB_TUNING_PATTERN::ShowPropertiesDialog(), PCB_TEXT::StyleFromSettings(), PCB_TEXTBOX::StyleFromSettings(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), BOARD_CONNECTED_ITEM::UnpackNet(), PCB_SHAPE::UpdateHatching(), BOARD::UpdateRatsnestExclusions(), FOOTPRINT::ViewBBox(), PAD::ViewBBox(), PCB_TRACK::ViewBBox(), PAD::ViewGetLayers(), PCB_VIA::ViewGetLayers(), PAD::ViewGetLOD(), PCB_REFERENCE_IMAGE::ViewGetLOD(), PCB_VIA::ViewGetLOD(), ZONE::ZONE(), zoneNeedsUpdate(), FOOTPRINT::~FOOTPRINT(), and ZONE::~ZONE().

◆ GetBoundingBox() [1/2]

const BOX2I FOOTPRINT::GetBoundingBox ( ) const
overridevirtual

◆ GetBoundingBox() [2/2]

◆ GetBoundingHull() [1/2]

◆ GetBoundingHull() [2/2]

◆ GetCachedCourtyard()

const SHAPE_POLY_SET & FOOTPRINT::GetCachedCourtyard ( PCB_LAYER_ID aLayer) const

Return the cached courtyard area.

No checks are performed.

Returns
the cached courtyard polygon.

Definition at line 3231 of file footprint.cpp.

References IsBackLayer(), m_courtyard_cache_back, and m_courtyard_cache_front.

Referenced by GetCourtyard().

◆ GetCenter()

VECTOR2I FOOTPRINT::GetCenter ( ) const
inlineoverridevirtual

This defaults to the center of the bounding box if not overridden.

Returns
center point of the item

Reimplemented from BOARD_ITEM.

Definition at line 222 of file footprint.h.

References GetBoundingBox(), and BOX2< Vec >::GetCenter().

◆ GetClass()

wxString FOOTPRINT::GetClass ( ) const
inlineoverridevirtual

Return the class name.

Implements KIGFX::VIEW_ITEM.

Definition at line 909 of file footprint.h.

Referenced by Visit().

◆ GetClearanceOverrides()

std::optional< int > FOOTPRINT::GetClearanceOverrides ( wxString * aSource) const
inline

Return any local clearance overrides set in the "classic" (ie: pre-rule) system.

Parameters
aSource[out] optionally reports the source as a user-readable string.
Returns
the clearance in internal units.

Definition at line 365 of file footprint.h.

References GetLocalClearance().

◆ GetComponentClass()

const COMPONENT_CLASS * FOOTPRINT::GetComponentClass ( ) const

Returns the component class for this footprint.

Definition at line 4348 of file footprint.cpp.

References m_componentClassCacheProxy.

Referenced by PCB_EDIT_FRAME::ExchangeFootprint(), hasComponentClassFunc(), and testFootprintSelector().

◆ GetComponentClassAsString()

wxString FOOTPRINT::GetComponentClassAsString ( ) const

Used for display in the properties panel.

Definition at line 4354 of file footprint.cpp.

References m_componentClassCacheProxy.

Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC().

◆ GetContextualTextVars()

void FOOTPRINT::GetContextualTextVars ( wxArrayString * aVars) const

Return the list of system text vars for this footprint.

Definition at line 1051 of file footprint.cpp.

◆ GetCourtyard()

◆ GetCoverageArea()

◆ GetDuplicatePadNumbersAreJumpers()

bool FOOTPRINT::GetDuplicatePadNumbersAreJumpers ( ) const
inline

◆ GetEditFlags()

◆ GetEffectiveHoleShape()

◆ GetEffectiveShape()

std::shared_ptr< SHAPE > FOOTPRINT::GetEffectiveShape ( PCB_LAYER_ID aLayer = UNDEFINED_LAYER,
FLASHING aFlash = FLASHING::DEFAULT ) const
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).

Note
This list can contain a SHAPE_SIMPLE (a simple single-outline non-intersecting polygon), but should never contain a SHAPE_POLY_SET (a complex polygon consisting of multiple outlines and/or holes).
Parameters
aLayerin case of items spanning multiple layers, only the shapes belonging to aLayer will be returned. Pass UNDEFINED_LAYER to return shapes for all layers.
aFlashoptional 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 3179 of file footprint.cpp.

References B_CrtYd, BOARD_ITEM::BOARD_ITEM(), SHAPE_POLY_SET::COutline(), F_CrtYd, GetCourtyard(), GraphicalItems(), SHAPE_POLY_SET::OutlineCount(), pad, Pads(), PCB_BARCODE_T, and PCB_SHAPE_T.

◆ GetEmbeddedFile()

EMBEDDED_FILE * EMBEDDED_FILES::GetEmbeddedFile ( const wxString & aName) const
inlineinherited

Returns the embedded file with the given name or nullptr if it does not exist.

Definition at line 226 of file embedded_files.h.

References m_files.

Referenced by BOARD::FixupEmbeddedData(), and SCH_SCREEN::FixupEmbeddedData().

◆ GetEmbeddedFileLink()

wxString EMBEDDED_FILES::GetEmbeddedFileLink ( const EMBEDDED_FILE & aFile) const
inlineinherited

Return the link for an embedded file.

Parameters
aFileis the file to get the link for.
Returns
the link for the file to be used in a hyperlink.

Definition at line 161 of file embedded_files.h.

References EMBEDDED_FILES::EMBEDDED_FILE::GetLink().

Referenced by ALTIUM_PCB::ConvertComponentBody6ToFootprintItem(), and ALTIUM_PCB::ParseComponentsBodies6Data().

◆ GetEmbeddedFiles() [1/2]

const EMBEDDED_FILES * FOOTPRINT::GetEmbeddedFiles ( ) const
inline

Definition at line 1019 of file footprint.h.

References EMBEDDED_FILES::EMBEDDED_FILES().

◆ GetEmbeddedFiles() [2/2]

◆ GetEmbeddedFonts()

const std::vector< wxString > * BOARD_ITEM::GetEmbeddedFonts ( )
overridevirtualinherited

Reimplemented from EDA_ITEM.

Definition at line 402 of file board_item.cpp.

References GetBoard().

◆ GetField() [1/3]

PCB_FIELD * FOOTPRINT::GetField ( const wxString & aFieldName) const

Return a field in this symbol.

Parameters
aFieldNameis the name of the field
Returns
is the field with aFieldName or NULL if the field does not exist.

Definition at line 648 of file footprint.cpp.

References m_fields.

◆ GetField() [2/3]

const PCB_FIELD * FOOTPRINT::GetField ( FIELD_T aFieldNdx) const

Definition at line 630 of file footprint.cpp.

References m_fields.

◆ GetField() [3/3]

PCB_FIELD * FOOTPRINT::GetField ( FIELD_T aFieldType)

◆ GetFields() [1/3]

std::deque< PCB_FIELD * > & FOOTPRINT::GetFields ( )
inline

Definition at line 736 of file footprint.h.

References m_fields.

◆ GetFields() [2/3]

const std::deque< PCB_FIELD * > & FOOTPRINT::GetFields ( ) const
inline

Return a reference to the deque holding the footprint's fields.

Definition at line 735 of file footprint.h.

References m_fields.

Referenced by GetFonts(), and operator==().

◆ GetFields() [3/3]

void FOOTPRINT::GetFields ( std::vector< PCB_FIELD * > & aVector,
bool aVisibleOnly ) const

◆ GetFileAddedCallback()

FILE_ADDED_CALLBACK EMBEDDED_FILES::GetFileAddedCallback ( ) const
inlineinherited

Definition at line 120 of file embedded_files.h.

References m_fileAddedCallback.

◆ GetFileFormatVersionAtLoad()

int FOOTPRINT::GetFileFormatVersionAtLoad ( ) const
inline

Definition at line 799 of file footprint.h.

References m_fileFormatVersionAtLoad.

◆ GetFilters()

wxString FOOTPRINT::GetFilters ( ) const
inline

◆ GetFlag()

int FOOTPRINT::GetFlag ( ) const
inline

◆ GetFlags()

◆ GetFocusPosition()

virtual const VECTOR2I EDA_ITEM::GetFocusPosition ( ) const
inlinevirtualinherited

Similar to GetPosition() but allows items to return their visual center rather than their anchor.

Reimplemented in BOARD, PCB_ARC, PCB_SHAPE, and PCB_TRACK.

Definition at line 279 of file eda_item.h.

References GetPosition().

Referenced by SCH_EDIT_FRAME::FocusOnItem(), SYMBOL_EDIT_FRAME::FocusOnItem(), and test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run().

◆ GetFontFiles()

const std::vector< wxString > * EMBEDDED_FILES::GetFontFiles ( ) const
inherited

If we just need the cached version of the font files, we can use this function which is const and will not update the font files.

Definition at line 529 of file embedded_files.cpp.

References m_fontFiles.

Referenced by SCH_IO_KICAD_SEXPR_PARSER::ParseSchematic().

◆ GetFontMetrics()

◆ GetFonts()

std::set< KIFONT::OUTLINE_FONT * > FOOTPRINT::GetFonts ( ) const
overridevirtual

Get a list of outline fonts referenced in the footprint.

Reimplemented from EMBEDDED_FILES.

Definition at line 4286 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), fonts, KIFONT::OUTLINE_FONT::GetEmbeddingPermission(), GetFields(), GraphicalItems(), KIFONT::FONT::IsOutline(), and text.

Referenced by EmbedFonts().

◆ GetForcedTransparency()

double KIGFX::VIEW_ITEM::GetForcedTransparency ( ) const
inlineinherited

◆ GetFPID()

const LIB_ID & FOOTPRINT::GetFPID ( ) const
inline

Definition at line 269 of file footprint.h.

References m_fpid.

Referenced by COMPONENTS_MANAGER::AddComponent(), BASIC_FOOTPRINT_INFO::BASIC_FOOTPRINT_INFO(), EXPORTER_STEP::buildFootprint3DShapes(), FOOTPRINT_EDIT_FRAME::canCloseWindow(), FOOTPRINT_EDIT_FRAME::ClearModify(), GENCAD_EXPORTER::createDevicesSection(), BOARD_INSPECTION_TOOL::DiffFootprint(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), doPushPadProperties(), FOOTPRINT_EDIT_FRAME::DuplicateFootprint(), FOOTPRINT_EDIT_FRAME::editFootprintProperties(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PCB_EDIT_FRAME::ExchangeFootprint(), FOOTPRINT_EDIT_FRAME::ExportFootprint(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), FP_LIB_TABLE::FootprintSave(), PCB_IO_KICAD_SEXPR::FootprintSave(), PCB_IO_KICAD_SEXPR::format(), PLACE_FILE_EXPORTER::GenPositionData(), FOOTPRINT_EDIT_FRAME::GetLoadedFPID(), GetMsgPanelInfo(), FOOTPRINT_SEARCH_HANDLER::getResultCell(), idf_export_footprint(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), TMATCH::COMPONENT::IsSameKind(), PCB_IO_KICAD_LEGACY::loadFOOTPRINT(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), PCB_EDIT_FRAME::LoadFootprints(), PCB_IO_KICAD_LEGACY::loadFP_SHAPE(), PCB_IO_KICAD_LEGACY::loadPAD(), DSN::SPECCTRA_DB::makeIMAGE(), PCB_BASE_FRAME::OnFpChangeDebounceTimer(), PCB_IO_EAGLE::packageText(), DIALOG_EXCHANGE_FOOTPRINTS::processFootprint(), FOOTPRINT_EDIT_FRAME::ReloadFootprint(), FOOTPRINT_VIEWER_FRAME::ReloadFootprint(), BOARD_NETLIST_UPDATER::replaceFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), Serialize(), PCB_BASE_FRAME::setFPWatcher(), setLibNickname(), PCB_EDIT_FRAME::ShowFootprintPropertiesDialog(), BOARD_NETLIST_UPDATER::testConnectivity(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), FOOTPRINT_EDITOR_CONTROL::tryToSaveFootprintInLibrary(), and FOOTPRINT_EDIT_FRAME::UpdateTitle().

◆ GetFPIDAsString()

wxString FOOTPRINT::GetFPIDAsString ( ) const
inline

Definition at line 275 of file footprint.h.

References m_fpid.

Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC(), Matches(), and testFootprintSelector().

◆ GetFpPadsLocalBbox()

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.

Returns
The rectangle containing the pads for the normalized footprint.

Definition at line 1395 of file footprint.cpp.

References ANGLE_0, dummy, FOOTPRINT(), BOX2< Vec >::Merge(), pad, and TOP_BOTTOM.

◆ GetFPRelativePosition()

◆ GetFriendlyName()

◆ GetInitialComments()

const wxArrayString * FOOTPRINT::GetInitialComments ( ) const
inline

Return the initial comments block or NULL if none, without transfer of ownership.

Definition at line 986 of file footprint.h.

References m_initial_comments.

Referenced by PCB_IO_KICAD_SEXPR::format().

◆ GetItemDescription()

wxString FOOTPRINT::GetItemDescription ( UNITS_PROVIDER * aUnitsProvider,
bool aFull ) const
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.

Parameters
aLongindicates a long string is acceptable
Returns
The menu text string.

Reimplemented from EDA_ITEM.

Definition at line 2347 of file footprint.cpp.

References _, and GetReference().

Referenced by DRC_ENGINE::EvalRules().

◆ GetJumperPadGroup()

std::optional< const std::set< wxString > > FOOTPRINT::GetJumperPadGroup ( const wxString & aPadNumber) const

Retrieves the jumper group containing the specified pad number, if one exists.

Definition at line 2949 of file footprint.cpp.

References group, and m_jumperPadGroups.

◆ GetKeywords()

◆ GetLayer()

◆ GetLayerBoundingBox()

const BOX2I FOOTPRINT::GetLayerBoundingBox ( const LSET & aLayers) const

◆ GetLayerName()

◆ GetLayerSet()

virtual LSET BOARD_ITEM::GetLayerSet ( ) const
inlinevirtualinherited

Return a std::bitset of all layers on which the item physically resides.

Reimplemented in BOARD, PAD, PCB_BOARD_OUTLINE, PCB_GENERATOR, PCB_GROUP, PCB_SHAPE, PCB_TRACK, PCB_VIA, and ZONE.

Definition at line 252 of file board_item.h.

References m_layer, and UNDEFINED_LAYER.

Referenced by PCB_GRID_HELPER::BestSnapAnchor(), PCB_GRID_HELPER::BestSnapAnchor(), collidesWithArea(), PCB_GRID_HELPER::computeAnchors(), PCB_GRID_HELPER::computeAnchors(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), KIGFX::PCB_PAINTER::Draw(), DRAWING_TOOL::DrawVia(), DRC_ENGINE::EvalRules(), existsOnLayerFunc(), getBoardNormalizedLayerSet(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), hash_board_item(), BOARD_INSPECTION_TOOL::InspectClearance(), intersectsAreaFunc(), PNS_KICAD_IFACE::IsItemVisible(), isMaskAperture(), IsSideSpecific(), layerMaskDescribe(), PCB_POINT_EDITOR::OnSelectionChange(), DIALOG_FOOTPRINT_CHECKER::OnSelectItem(), BOARD_ITEM::ptr_cmp::operator()(), CN_VISITOR::operator()(), KI_TEST::kitest_cmp_drawings::operator()(), DRC_ENGINE::ProcessAssertions(), BOARD_COMMIT::propagateDamage(), EDIT_TOOL::Properties(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), BOARD::RemoveAllItemsOnLayer(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), PCB_SELECTION_CONDITIONS::sameLayerFunc(), SCOPED_LAYERSET::SCOPED_LAYERSET(), POINT_PLACER::SnapItem(), stackupNeedsUpdate(), GLOBAL_EDIT_TOOL::swapBoardItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), FOOTPRINT_EDIT_FRAME::updateEnabledLayers(), and PCB_CONTROL::UpdateMessagePanel().

◆ GetLibDescription()

◆ GetLikelyAttribute()

int FOOTPRINT::GetLikelyAttribute ( ) const

Returns the most likely attribute based on pads Either FP_THROUGH_HOLE/FP_SMD/OTHER(0)

Returns
0/FP_SMD/FP_THROUGH_HOLE

Definition at line 1329 of file footprint.cpp.

References BGA, CASTELLATED, FIDUCIAL_GLBL, FIDUCIAL_LOCAL, FP_SMD, FP_THROUGH_HOLE, HEATSINK, m_pads, MECHANICAL, NONE, pad, PRESSFIT, PTH, SMD, and TESTPOINT.

Referenced by CheckFootprintAttributes().

◆ GetLink()

◆ GetLocalClearance() [1/2]

std::optional< int > FOOTPRINT::GetLocalClearance ( ) const
inline

◆ GetLocalClearance() [2/2]

std::optional< int > FOOTPRINT::GetLocalClearance ( wxString * aSource) const
inline

Definition at line 351 of file footprint.h.

References _, GetReference(), and m_clearance.

◆ GetLocalSolderMaskMargin()

std::optional< int > FOOTPRINT::GetLocalSolderMaskMargin ( ) const
inline

◆ GetLocalSolderPasteMargin()

std::optional< int > FOOTPRINT::GetLocalSolderPasteMargin ( ) const
inline

◆ GetLocalSolderPasteMarginRatio()

std::optional< double > FOOTPRINT::GetLocalSolderPasteMarginRatio ( ) const
inline

◆ GetLocalZoneConnection()

◆ GetMaxError()

◆ GetMenuImage()

BITMAPS FOOTPRINT::GetMenuImage ( ) const
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.

Returns
The menu image associated with the item.

Reimplemented from EDA_ITEM.

Definition at line 2358 of file footprint.cpp.

References module.

◆ GetMsgPanelInfo()

◆ GetNetTieCache()

const std::set< int > & FOOTPRINT::GetNetTieCache ( const BOARD_ITEM * aItem) const
inline

Get the set of net codes that are allowed to connect to a footprint item.

Definition at line 556 of file footprint.h.

References BOARD_ITEM::BOARD_ITEM(), and m_netTieCache.

Referenced by DRC_ENGINE::EvalRules(), and DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems().

◆ GetNetTiePadGroups()

const std::vector< wxString > & FOOTPRINT::GetNetTiePadGroups ( ) const
inline
Returns
a list of pad groups, each of which is allowed to short nets within their group. A pad group is a comma-separated list of pad numbers.

Definition at line 382 of file footprint.h.

References m_netTiePadGroups.

Referenced by FootprintNeedsUpdate(), PCB_IO_KICAD_SEXPR::format(), and Serialize().

◆ GetNetTiePads()

std::vector< PAD * > FOOTPRINT::GetNetTiePads ( PAD * aPad) const
Returns
a list of pads that appear in aPad's net-tie pad group.

Definition at line 3473 of file footprint.cpp.

References PAD::GetNumber(), m_pads, MapPadNumbersToNetTieGroups(), and pad.

Referenced by CheckShortingPads(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone().

◆ GetNextFieldOrdinal()

int FOOTPRINT::GetNextFieldOrdinal ( ) const

Return the next ordinal for a user field for this footprint.

Definition at line 683 of file footprint.cpp.

References m_fields.

Referenced by PCB_FIELD::PCB_FIELD(), and CLIPBOARD_IO::SaveSelection().

◆ GetNextPadNumber()

wxString FOOTPRINT::GetNextPadNumber ( const wxString & aLastPadName) const

Return the next available pad number in the footprint.

Parameters
aFillSequenceGapstrue if the numbering should "fill in" gaps in the sequence, else return the highest value + 1
Returns
the next available pad number

Definition at line 2929 of file footprint.cpp.

References UTIL::GetRefDesPrefix(), GetTrailingInt(), m_pads, and pad.

Referenced by EDIT_TOOL::Duplicate().

◆ GetOrientation()

EDA_ANGLE FOOTPRINT::GetOrientation ( ) const
inline

Definition at line 248 of file footprint.h.

References m_orient.

Referenced by COMPONENTS_MANAGER::AddComponent(), PCAD2KICAD::PCAD_ARC::AddToBoard(), PCAD2KICAD::PCAD_LINE::AddToBoard(), PCAD2KICAD::PCAD_POLYGON::AddToBoard(), PCAD2KICAD::PCAD_PAD::AddToFootprint(), EXPORTER_STEP::buildFootprint3DShapes(), KI_TEST::CheckFootprint(), ALTIUM_PCB::ConvertComponentBody6ToFootprintItem(), doPushPadProperties(), KI_TEST::DrawArc(), KI_TEST::DrawSegment(), PCB_EDIT_FRAME::ExchangeFootprint(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), FootprintNeedsUpdate(), GENCAD_EXPORTER::footprintWriteShape(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), formatInternalUnits(), PCB_IO_IPC2581::generateLayerSetNet(), RENDER_3D_OPENGL::get3dModelsFromFootprint(), GetMsgPanelInfo(), PAD::GetMsgPanelInfo(), PCB_FIELDS_GRID_TABLE::GetValue(), hash_fp_item(), idf_export_footprint(), PAD::ImportSettingsFrom(), PCB_IO_KICAD_LEGACY::loadFP_SHAPE(), DSN::SPECCTRA_DB::makeIMAGE(), DSN::mapPt(), MoveAnchorPosition(), PCB_IO_EAGLE::orientFPText(), PCB_IO_EAGLE::packageCircle(), PCB_IO_EAGLE::packagePolygon(), PCB_IO_EAGLE::packageRectangle(), PCB_IO_EAGLE::packageWire(), ALTIUM_PCB::ParseComponentsBodies6Data(), PCB_IO_KICAD_SEXPR_PARSER::parsePCB_TEXT_effects(), PCB_IO_EASYEDA_PARSER::ParseToBoardItemContainer(), pasteFootprintItemsToFootprintEditor(), Rotate(), PCB_FIELDS_GRID_TABLE::SetValue(), EDIT_TOOL::Swap(), PCB_IO_EAGLE::transferPad(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().

◆ GetOrientationDegrees()

double FOOTPRINT::GetOrientationDegrees ( ) const
inline

◆ GetPad()

PAD * FOOTPRINT::GetPad ( const VECTOR2I & aPosition,
const LSET & aLayerMask = LSET::AllLayersMask() )

Get a pad at aPosition on aLayerMask in the footprint.

Parameters
aPositionA VECTOR2I object containing the position to hit test.
aLayerMaskA layer or layers to mask the hit test.
Returns
A pointer to a PAD object if found otherwise NULL.

Definition at line 2133 of file footprint.cpp.

References m_pads, and pad.

◆ GetPadCount()

unsigned FOOTPRINT::GetPadCount ( INCLUDE_NPTH_T aIncludeNPTH = INCLUDE_NPTH_T(INCLUDE_NPTH)) const

Return the number of pads.

Parameters
aIncludeNPTHincludes non-plated through holes when true. Does not include non-plated through holes when false.
Returns
the number of pads according to aIncludeNPTH.

Definition at line 2165 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(), PCB_IO_IPC2581::pinName(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), sortFootprintsByComplexity(), and AR_AUTOPLACER::testFootprintOnBoard().

◆ GetPads()

std::vector< const PAD * > FOOTPRINT::GetPads ( const wxString & aPadNumber,
const PAD * aIgnore = nullptr ) const

Definition at line 2149 of file footprint.cpp.

References m_pads, and pad.

Referenced by MULTICHANNEL_TOOL::fixupNet().

◆ GetParent()

◆ GetParentAsString()

wxString BOARD_ITEM::GetParentAsString ( ) const
inherited

For "parent" property.

Returns
the parent footprint's ref or the parent item's UUID.

Definition at line 393 of file board_item.cpp.

References EDA_ITEM::m_parent.

Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC().

◆ GetParentFootprint()

FOOTPRINT * BOARD_ITEM::GetParentFootprint ( ) const
inherited

Definition at line 98 of file board_item.cpp.

References EDA_ITEM::findParent(), and PCB_FOOTPRINT_T.

Referenced by CN_CONNECTIVITY_ALGO::Add(), PCB_IO_IPC2581::addPad(), FEATURES_MANAGER::AddPadShape(), STEP_PCB_MODEL::AddPadShape(), PCB_IO_IPC2581::addPadStack(), PCB_CONTROL::AppendBoard(), DRC_TEST_PROVIDER_SOLDER_MASK::checkItemMask(), DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture(), DIALOG_TRACK_VIA_PROPERTIES::confirmPadChange(), CONVERT_TOOL::CreatePolys(), EDIT_TOOL::DeleteItems(), doPushPadProperties(), KIGFX::PCB_PAINTER::Draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), EDIT_TOOL::Duplicate(), DRC_ENGINE::EvalRules(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), MULTICHANNEL_TOOL::fixupNet(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), FormatProbeItem(), PCB_IO_IPC2581::generateLayerSetNet(), PAD::GetClearanceOverrides(), PCB_BASE_EDIT_FRAME::GetContextualTextVars(), PCB_TEXT::GetDrawRotation(), PAD::GetFPRelativeOrientation(), GetFPRelativePosition(), PAD::GetItemDescription(), PCB_FIELD::GetItemDescription(), PCB_SHAPE::GetItemDescription(), PCB_TEXT::GetItemDescription(), PCB_SHAPE::GetMenuImage(), PCB_BARCODE::GetMsgPanelInfo(), PCB_SHAPE::GetMsgPanelInfo(), PCB_TEXT::GetMsgPanelInfo(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), PCB_TEXT::GetShownText(), PCB_TEXTBOX::GetShownText(), PAD::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), PCB_FIELDS_GRID_TABLE::GetValue(), PAD::GetZoneConnectionOverrides(), PCB_SELECTION_TOOL::grabUnconnected(), PCB_GROUP_TOOL::Group(), hasComponentClassFunc(), hash_fp_item(), BOARD::HasItemsOnLayer(), PAD::ImportSettingsFrom(), GENERAL_COLLECTOR::Inspect(), PCB_SHAPE::IsConnected(), CONNECTIVITY_DATA::IsConnectedOnLayer(), PAD::IsFlipped(), PNS_PCBNEW_RULE_RESOLVER::IsInNetTie(), PNS_PCBNEW_RULE_RESOLVER::IsKeepout(), DRC_ENGINE::IsNetTieExclusion(), PNS_PCBNEW_RULE_RESOLVER::IsNetTieExclusion(), PCB_SELECTION_TOOL::itemPassesFilter(), memberOfFootprintFunc(), memberOfSheetFunc(), memberOfSheetOrChildrenFunc(), BOARD::Move(), ARRAY_TOOL::onDialogClosed(), PCB_IO_KICAD_SEXPR_PARSER::parseTextBoxContent(), PCB_IO_IPC2581::pinName(), BRDITEMS_PLOTTER::PlotPad(), BRDITEMS_PLOTTER::PlotShape(), BRDITEMS_PLOTTER::PlotTableBorders(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), PAD_TOOL::pushPadSettings(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), PCB_GRID_HELPER::queryVisible(), PAD::Recombine(), BOARD::RemoveAllItemsOnLayer(), PCB_IO_KICAD_SEXPR_PARSER::resolveGroups(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), PAD::SameLogicalPadAs(), CLIPBOARD_IO::SaveSelection(), PCB_SELECTION_TOOL::Selectable(), PAD::SetFPRelativeOrientation(), SetFPRelativePosition(), PCB_FIELDS_GRID_TABLE::SetValue(), PAD::SharesNetTieGroup(), PCB_TEXT::StyleFromSettings(), PCB_TEXTBOX::StyleFromSettings(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), DIALOG_PAD_PROPERTIES::transferDataToPad(), PCB_IO_EAGLE::transferPad(), PCB_SHAPE::UpdateHatching(), PCB_POINT_EDITOR::updateItem(), PAD::ViewGetLayers(), PCB_SHAPE::ViewGetLayers(), PCB_TEXT::ViewGetLayers(), PCB_TEXTBOX::ViewGetLayers(), PCB_FIELD::ViewGetLOD(), PCB_SHAPE::ViewGetLOD(), PCB_TEXT::ViewGetLOD(), ZONE::ViewGetLOD(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), and ZONE::ZONE().

◆ GetParentGroup()

◆ GetParentGroupId()

KIID EDA_ITEM::GetParentGroupId ( ) const
inherited

Definition at line 91 of file eda_item.cpp.

References GetParentGroup(), group, and niluuid.

Referenced by ITEM_PICKER::SetItem(), and ITEM_PICKER::SetLink().

◆ GetPath()

◆ GetPosition()

VECTOR2I FOOTPRINT::GetPosition ( ) const
inlineoverridevirtual

Reimplemented from EDA_ITEM.

Definition at line 245 of file footprint.h.

References m_pos.

Referenced by COMPONENTS_MANAGER::AddComponent(), PCB_BASE_FRAME::AddFootprintToBoard(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PCAD2KICAD::PCAD_ARC::AddToBoard(), PCAD2KICAD::PCAD_LINE::AddToBoard(), PCAD2KICAD::PCAD_POLYGON::AddToBoard(), PCAD2KICAD::PCAD_PAD::AddToFootprint(), AutoPositionFields(), EXPORTER_STEP::buildFootprint3DShapes(), KI_TEST::CheckFootprint(), PNS_KICAD_IFACE::Commit(), PCB_GRID_HELPER::computeAnchors(), ALTIUM_PCB::ConvertComponentBody6ToFootprintItem(), MULTICHANNEL_TOOL::copyRuleAreaContents(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KI_TEST::DrawArc(), KI_TEST::DrawSegment(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_EDIT_FRAME::ExportFootprintsToLibrary(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), FootprintNeedsUpdate(), PCB_IO_KICAD_SEXPR::FootprintSave(), GENCAD_EXPORTER::footprintWriteShape(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), formatInternalUnits(), DSN::SPECCTRA_DB::FromSESSION(), RENDER_3D_OPENGL::get3dModelsFromFootprint(), GetBoundingHull(), AR_AUTOPLACER::getOptimalFPPlacement(), hash_fp_item(), idf_export_footprint(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FABMASTER::loadFootprints(), PCB_IO_KICAD_LEGACY::loadFP_SHAPE(), DSN::SPECCTRA_DB::makeIMAGE(), DSN::mapPt(), PCB_IO_EAGLE::orientFootprintAndText(), PCB_IO_EAGLE::packageCircle(), PCB_IO_EAGLE::packageHole(), PCB_IO_EAGLE::packagePolygon(), PCB_IO_EAGLE::packageRectangle(), PCB_IO_EAGLE::packageWire(), ALTIUM_PCB::ParseComponentsBodies6Data(), PCB_IO_KICAD_SEXPR_PARSER::parsePCB_TEXT_effects(), PCB_TEXT::PCB_TEXT(), BOARD_EDITOR_CONTROL::PlaceFootprint(), CLIPBOARD_IO::SaveSelection(), Serialize(), SetLayerAndFlip(), SetOrientation(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), PCB_IO_EAGLE::transferPad(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().

◆ GetPrivateLayers()

◆ GetReference()

const wxString & FOOTPRINT::GetReference ( ) const
inline
Returns
reference designator text.

Definition at line 661 of file footprint.h.

References EDA_TEXT::GetText(), and Reference().

Referenced by COMPONENTS_MANAGER::AddComponent(), TMATCH::CONNECTION_GRAPH::AddFootprint(), PCB_CONTROL::ApplyDesignBlockLayout(), AR_AUTOPLACER::AutoplaceFootprints(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_DATA_TEST_CASE(), EXPORTER_STEP::buildFootprint3DShapes(), FOOTPRINT_EDIT_FRAME::CanCloseFPFromBoard(), FOOTPRINT_EDIT_FRAME::canCloseWindow(), KI_TEST::CheckFootprint(), collectItemsForSyncParts(), CollisionMatchesExpected(), compareFootprintsbyRef(), PCB_IO_IPC2581::componentName(), DIALOG_TRACK_VIA_PROPERTIES::confirmPadChange(), ALTIUM_PCB::ConvertComponentBody6ToFootprintItem(), ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), ALTIUM_PCB::ConvertPads6ToFootprintItemOnNonCopper(), ALTIUM_PCB::ConvertShapeBasedRegions6ToFootprintItem(), MULTICHANNEL_TOOL::copyRuleAreaContents(), PCB_BASE_FRAME::CreateNewFootprint(), DIALOG_MULTICHANNEL_REPEAT_LAYOUT::DIALOG_MULTICHANNEL_REPEAT_LAYOUT(), EDIT_TOOL::doMoveSelection(), FormatProbeItem(), GetItemDescription(), PAD::GetItemDescription(), PCB_FIELD::GetItemDescription(), PCB_SHAPE::GetItemDescription(), GetLocalClearance(), PAD::GetMsgPanelInfo(), PCB_BARCODE::GetMsgPanelInfo(), PCB_TEXT::GetMsgPanelInfo(), DIALOG_BOARD_REANNOTATE::GetNewRefDes(), CADSTAR_PCB_ARCHIVE_LOADER::getPadReference(), GetReferenceAsString(), FOOTPRINT_SEARCH_HANDLER::getResultCell(), GENCAD_EXPORTER::getShapeName(), GetZoneConnectionOverrides(), IncrementReference(), InvalidMatchesExpected(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), PCB_IO_EAGLE::loadElements(), CADSTAR_PCB_ARCHIVE_LOADER::loadNets(), EDA_3D_CANVAS::OnLeftDown(), EDA_3D_CANVAS::OnMouseMove(), PCB_IO_EAGLE::packageText(), BRDITEMS_PLOTTER::PlotPad(), BRDITEMS_PLOTTER::PlotShape(), DIALOG_EXCHANGE_FOOTPRINTS::processFootprint(), PromptConnectedPadDecision(), FOOTPRINT_EDIT_FRAME::ReloadFootprint(), BOARD_NETLIST_UPDATER::replaceFootprint(), CLIPBOARD_IO::SaveSelection(), testFootprintSelector(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), BOARD_NETLIST_UPDATER::updateComponentClass(), BOARD_NETLIST_UPDATER::updateComponentPadConnections(), BOARD_NETLIST_UPDATER::updateComponentUnits(), BOARD_NETLIST_UPDATER::updateFootprintGroup(), BOARD_NETLIST_UPDATER::updateFootprintParameters(), and FOOTPRINT_EDIT_FRAME::UpdateTitle().

◆ GetReferenceAsString()

wxString FOOTPRINT::GetReferenceAsString ( ) const
inline

◆ GetSheetfile()

wxString FOOTPRINT::GetSheetfile ( ) const
inline

◆ GetSheetname()

◆ GetSide()

PCB_LAYER_ID FOOTPRINT::GetSide ( ) const

Use instead of IsFlipped() when you also need to account for unsided footprints (those purely on user-layers, etc.).

Definition at line 1870 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), BOARD_ITEM::GetBoard(), GetLayer(), m_drawings, m_pads, m_zones, pad, LSET::SideSpecificMask(), and UNDEFINED_LAYER.

Referenced by GetBoundingBox(), GetMsgPanelInfo(), GENERAL_COLLECTOR::Inspect(), COMPONENT_CLASS_ASSIGNMENT_RULE::Matches(), and PCB_SELECTION_TOOL::Selectable().

◆ GetSortPosition()

virtual VECTOR2I EDA_ITEM::GetSortPosition ( ) const
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.

Returns
X,Y coordinate of the sort point

Reimplemented in SCH_LINE.

Definition at line 288 of file eda_item.h.

References GetPosition().

◆ GetStackupLayers()

const LSET & FOOTPRINT::GetStackupLayers ( ) const
inline

◆ GetStackupMode()

◆ GetStaticComponentClass()

const COMPONENT_CLASS * FOOTPRINT::GetStaticComponentClass ( ) const

Returns the component class for this footprint.

Definition at line 4336 of file footprint.cpp.

References m_componentClassCacheProxy.

Referenced by PCB_IO_KICAD_SEXPR::format(), and BOARD_NETLIST_UPDATER::updateComponentClass().

◆ GetStroke()

STROKE_PARAMS BOARD_ITEM::GetStroke ( ) const
virtualinherited

Reimplemented in PCB_SHAPE.

Definition at line 119 of file board_item.cpp.

References DEFAULT_LINE_WIDTH, KIGFX::VIEW_ITEM::GetClass(), and pcbIUScale.

Referenced by CONVERT_TOOL::CreatePolys().

◆ GetTempFlags()

EDA_ITEM_FLAGS EDA_ITEM::GetTempFlags ( ) const
inlineinherited

◆ GetTemporaryFileName() [1/2]

wxFileName EMBEDDED_FILES::GetTemporaryFileName ( const wxString & aName) const
inherited

Definition at line 484 of file embedded_files.cpp.

References PATHS::EnsurePathExists(), PATHS::GetUserCachePath(), and m_files.

Referenced by UpdateFontFiles().

◆ GetTemporaryFileName() [2/2]

wxFileName EMBEDDED_FILES::GetTemporaryFileName ( EMBEDDED_FILE * aFile) const
inherited

◆ GetTransientComponentClassNames()

const std::unordered_set< wxString > & FOOTPRINT::GetTransientComponentClassNames ( )
inline

Gets the transient component class names.

Definition at line 1063 of file footprint.h.

References m_transientComponentClassNames.

Referenced by PCB_CONTROL::Paste().

◆ GetTypeDesc()

wxString EDA_ITEM::GetTypeDesc ( ) const
inherited

Return a translated description of the type for this EDA_ITEM for display in user facing messages.

Definition at line 392 of file eda_item.cpp.

References ENUM_MAP< T >::Instance(), and Type().

Referenced by EDIT_TOOL::doMoveSelection(), and GetFriendlyName().

◆ GetTypeName()

wxString FOOTPRINT::GetTypeName ( ) const

Get the type of footprint.

Returns
"SMD"/"Through hole"/"Other" based on attributes

Definition at line 1383 of file footprint.cpp.

References _, FP_SMD, FP_THROUGH_HOLE, and m_attributes.

Referenced by KI_TEST::CheckFootprint(), and CheckFootprintAttributes().

◆ GetUniquePadCount()

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.

Parameters
aIncludeNPTHincludes non-plated through holes when true. Does not include non-plated through holes when false.
Returns
the number of unique pads according to aIncludeNPTH.

Definition at line 2215 of file footprint.cpp.

References GetUniquePadNumbers().

Referenced by BASIC_FOOTPRINT_INFO::BASIC_FOOTPRINT_INFO(), and FOOTPRINT_INFO_IMPL::load().

◆ GetUniquePadNumbers()

std::set< wxString > FOOTPRINT::GetUniquePadNumbers ( INCLUDE_NPTH_T aIncludeNPTH = INCLUDE_NPTH_T(INCLUDE_NPTH)) const

Return the names of the unique, non-blank pads.

Definition at line 2184 of file footprint.cpp.

References LSET::AllCuMask(), m_pads, NPTH, and pad.

Referenced by GetUniquePadCount().

◆ GetUnitInfo()

◆ GetValue()

◆ GetValueAsString()

wxString FOOTPRINT::GetValueAsString ( ) const
inline

Definition at line 691 of file footprint.h.

References GetValue().

Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC().

◆ GetX()

◆ GetY()

◆ GetZoneConnectionOverrides()

ZONE_CONNECTION FOOTPRINT::GetZoneConnectionOverrides ( wxString * aSource) const
inline

Definition at line 370 of file footprint.h.

References _, GetReference(), INHERITED, and m_zoneConnection.

◆ GraphicalItems() [1/2]

◆ GraphicalItems() [2/2]

const DRAWINGS & FOOTPRINT::GraphicalItems ( ) const
inline

Definition at line 228 of file footprint.h.

References m_drawings.

◆ Groups() [1/2]

◆ Groups() [2/2]

const GROUPS & FOOTPRINT::Groups ( ) const
inline

Definition at line 234 of file footprint.h.

References m_groups.

◆ HasDrilledHole()

virtual bool BOARD_ITEM::HasDrilledHole ( ) const
inlinevirtualinherited

◆ HasField()

bool FOOTPRINT::HasField ( const wxString & aFieldName) const

Definition at line 642 of file footprint.cpp.

References GetField().

Referenced by BOARD_NETLIST_UPDATER::updateFootprintParameters().

◆ HasFile()

bool EMBEDDED_FILES::HasFile ( const wxString & name) const
inlineinherited

Definition at line 166 of file embedded_files.h.

References m_files, and name.

Referenced by AddFile(), and PANEL_EMBEDDED_FILES::TransferDataFromWindow().

◆ HasFlag()

◆ HasHole()

◆ HasLineStroke()

virtual bool BOARD_ITEM::HasLineStroke ( ) const
inlinevirtualinherited

Check if this item has line stoke properties.

See also
STROKE_PARAMS

Reimplemented in PCB_SHAPE.

Definition at line 222 of file board_item.h.

Referenced by CONVERT_TOOL::CreatePolys().

◆ HasThroughHolePads()

bool FOOTPRINT::HasThroughHolePads ( ) const

Definition at line 3803 of file footprint.cpp.

References pad, Pads(), and SMD.

◆ HitTest() [1/3]

bool FOOTPRINT::HitTest ( const BOX2I & aRect,
bool aContained,
int aAccuracy = 0 ) const
overridevirtual

Test if aRect intersects this item.

Parameters
aRectA reference to a BOX2I object containing the rectangle to test.
aContainedSet to true to test for containment instead of an intersection.
aAccuracyIncrease aRect by this amount.
Returns
True if aRect contains or intersects the item bounding box.

Reimplemented from EDA_ITEM.

Definition at line 2013 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), BOX2< Vec >::Contains(), GetBoundingBox(), BOX2< Vec >::Inflate(), BOX2< Vec >::Intersects(), m_drawings, m_pads, m_points, m_zones, pad, and PCB_TEXT_T.

◆ HitTest() [2/3]

bool FOOTPRINT::HitTest ( const SHAPE_LINE_CHAIN & aPoly,
bool aContained ) const
overridevirtual

Test if aPoly intersects this item.

Parameters
aPolyA reference to a SHAPE_LINE_CHAIN object containing the polygon or polyline to test.
aContainedSet to true to test for containment instead of an intersection.
Returns
True if aPoly contains or intersects the item.

Reimplemented from EDA_ITEM.

Definition at line 2070 of file footprint.cpp.

References KIGEOM::BoxHitTest(), GetBoundingBox(), m_drawings, m_pads, m_zones, and PCB_TEXT_T.

◆ HitTest() [3/3]

bool FOOTPRINT::HitTest ( const VECTOR2I & aPosition,
int aAccuracy = 0 ) const
overridevirtual

Test if aPosition is inside or on the boundary of this item.

Parameters
aPositionA reference to a VECTOR2I object containing the coordinates to test.
aAccuracyIncrease the item bounding box by this amount.
Returns
True if aPosition is within the item bounding box.

Reimplemented from EDA_ITEM.

Definition at line 2000 of file footprint.cpp.

References BOX2< Vec >::Contains(), GetBoundingBox(), and BOX2< Vec >::Inflate().

Referenced by GENERAL_COLLECTOR::Inspect().

◆ HitTestAccurate()

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.

Parameters
aPositionis the point to test
Returns
true if aPosition is inside the bounding polygon

Definition at line 2007 of file footprint.cpp.

References SHAPE_POLY_SET::Collide(), and GetBoundingHull().

Referenced by GENERAL_COLLECTOR::Inspect().

◆ HitTestOnLayer() [1/2]

bool FOOTPRINT::HitTestOnLayer ( const BOX2I & aRect,
bool aContained,
PCB_LAYER_ID aLayer,
int aAccuracy = 0 ) const

Definition at line 1959 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), m_drawings, m_pads, m_zones, pad, and PCB_TEXT_T.

◆ HitTestOnLayer() [2/2]

bool FOOTPRINT::HitTestOnLayer ( const VECTOR2I & aPosition,
PCB_LAYER_ID aLayer,
int aAccuracy = 0 ) const

Test if the point hits one or more of the footprint elements on a given layer.

Parameters
aPositionis the point to test
aAccuracyis the hit test accuracy
aLayeris the layer to test
Returns
true if aPosition hits a footprint element on aLayer

Definition at line 1932 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), m_drawings, m_pads, m_zones, pad, and PCB_TEXT_T.

Referenced by PCB_SELECTION_TOOL::FilterCollectorForFootprints().

◆ IncrementFlag()

void FOOTPRINT::IncrementFlag ( )
inline

Definition at line 337 of file footprint.h.

References m_arflag.

◆ IncrementReference()

void FOOTPRINT::IncrementReference ( int aDelta)

Bump the current reference by aDelta.

Definition at line 2989 of file footprint.cpp.

References UTIL::GetRefDesPrefix(), GetReference(), GetTrailingInt(), and SetReference().

◆ InvalidateComponentClassCache()

void FOOTPRINT::InvalidateComponentClassCache ( ) const

Forces deferred (on next access) recalculation of the component class for this footprint.

Definition at line 4372 of file footprint.cpp.

References m_componentClassCacheProxy.

Referenced by PCB_BASE_EDIT_FRAME::PutDataInPreviousState().

◆ InvalidateGeometryCaches()

void FOOTPRINT::InvalidateGeometryCaches ( )

Resets the caches for this footprint, for example if it was modified via the API.

Definition at line 1034 of file footprint.cpp.

References m_boundingBoxCacheTimeStamp, m_courtyard_cache_back_hash, m_courtyard_cache_front_hash, m_hullCacheTimeStamp, and m_textExcludedBBoxCacheTimeStamp.

◆ IsBOARD_ITEM()

◆ IsBoardOnly()

bool FOOTPRINT::IsBoardOnly ( ) const
inline

Definition at line 762 of file footprint.h.

References FP_BOARD_ONLY, and m_attributes.

Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC(), and Serialize().

◆ IsBrightened()

◆ IsConflicting()

bool FOOTPRINT::IsConflicting ( ) const
Returns
true if the footprint is flagged with conflicting with some item

Definition at line 1045 of file footprint.cpp.

References COURTYARD_CONFLICT, and EDA_ITEM::HasFlag().

Referenced by ViewGetLayers(), and ViewGetLOD().

◆ IsConnected()

◆ IsDNP()

◆ IsEmpty()

bool EMBEDDED_FILES::IsEmpty ( ) const
inlineinherited

◆ IsEntered()

bool EDA_ITEM::IsEntered ( ) const
inlineinherited

Definition at line 128 of file eda_item.h.

References ENTERED, and m_flags.

Referenced by KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), and KIGFX::SCH_PAINTER::draw().

◆ IsExcludedFromBOM()

bool FOOTPRINT::IsExcludedFromBOM ( ) const
inline

Definition at line 780 of file footprint.h.

References FP_EXCLUDE_FROM_BOM, and m_attributes.

Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC(), and Serialize().

◆ IsExcludedFromPosFiles()

bool FOOTPRINT::IsExcludedFromPosFiles ( ) const
inline

Definition at line 771 of file footprint.h.

References FP_EXCLUDE_FROM_POS_FILES, and m_attributes.

Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC(), and Serialize().

◆ IsFlipped()

◆ IsForceVisible()

bool EDA_ITEM::IsForceVisible ( ) const
inlineinherited

◆ IsGroupableType()

◆ IsKnockout()

◆ IsLibNameValid()

bool FOOTPRINT::IsLibNameValid ( const wxString & aName)
static

Test for validity of a name of a footprint to be used in a footprint library ( no spaces, dir separators ... ).

Parameters
aNameis the name in library to validate.
Returns
true if the given name is valid

Definition at line 2501 of file footprint.cpp.

References StringLibNameInvalidChars().

Referenced by DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::checkFootprintName().

◆ IsLocked()

◆ IsModified()

bool EDA_ITEM::IsModified ( ) const
inlineinherited

Definition at line 123 of file eda_item.h.

References IS_CHANGED, and m_flags.

Referenced by PCB_EDIT_FRAME::OpenProjectFiles().

◆ IsMoving()

◆ IsNetTie()

◆ IsNew()

◆ IsOnCopperLayer()

◆ IsOnLayer()

bool FOOTPRINT::IsOnLayer ( PCB_LAYER_ID aLayer) const
overridevirtual

Test to see if this object is on the given layer.

Virtual so objects like PAD, which reside on multiple layers can do their own form of testing.

Parameters
aLayerThe layer to test for.
Returns
true if on given layer, else false.

Reimplemented from BOARD_ITEM.

Definition at line 1901 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), m_drawings, m_fields, m_pads, m_zones, and pad.

Referenced by PCB_IO_EASYEDAPRO_PARSER::ParseFootprint().

◆ IsPlaced()

bool FOOTPRINT::IsPlaced ( ) const
inline

Definition at line 477 of file footprint.h.

References FP_is_PLACED, and m_fpStatus.

Referenced by PCB_IO_KICAD_SEXPR::format().

◆ IsReplaceable()

virtual bool EDA_ITEM::IsReplaceable ( ) const
inlinevirtualinherited

Override this method in any derived object that supports test find and replace.

Returns
True if the item has replaceable text that can be modified using the find and replace dialog.

Reimplemented in SCH_FIELD, SCH_LABEL, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TEXT, and SCH_TEXTBOX.

Definition at line 439 of file eda_item.h.

Referenced by Matches().

◆ IsRollover()

bool EDA_ITEM::IsRollover ( ) const
inlineinherited

◆ IsSCH_ITEM()

◆ IsSelected()

bool EDA_ITEM::IsSelected ( ) const
inlineinherited

Definition at line 127 of file eda_item.h.

References m_flags, and SELECTED.

Referenced by SCH_EDIT_TOOL::ChangeTextType(), DIALOG_CLEANUP_TRACKS_AND_VIAS::doCleanup(), EDIT_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), KIGFX::PCB_PAINTER::Draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::drawItemBoundingBox(), DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM(), RENDER_3D_OPENGL::get3dModelsFromFootprint(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), KIGFX::SCH_PAINTER::getLineWidth(), KIGFX::SCH_PAINTER::getRenderColor(), DIALOG_CHANGE_SYMBOLS::isMatch(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), 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(), SCH_COMMIT::pushSchEdit(), PCB_SELECTION_TOOL::RebuildSelection(), SCH_SELECTION_TOOL::RebuildSelection(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), SCH_COMMIT::Revert(), SCH_EDIT_TOOL::Rotate(), SCH_TOOL_BASE< T >::saveCopyInUndoList(), CLIPBOARD_IO::SaveSelection(), SCH_IO_KICAD_SEXPR::saveTable(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::select(), PCB_TEST_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::selectAllConnectedTracks(), SCH_EDIT_FRAME::SelectBodyStyle(), PCB_SELECTION_TOOL::SelectColumns(), SCH_SELECTION_TOOL::SelectColumns(), PCB_SELECTION_TOOL::SelectMultiple(), SCH_SELECTION_TOOL::SelectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectRows(), SCH_SELECTION_TOOL::SelectRows(), SCH_COMMIT::Stage(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataFromWindow(), DIALOG_TABLE_PROPERTIES::TransferDataToWindow(), GERBVIEW_SELECTION_TOOL::unselect(), SCH_FIND_REPLACE_TOOL::UpdateFind(), SCH_SYMBOL::UpdatePins(), PCB_TUNING_PATTERN::ViewDraw(), PCB_FIELD::ViewGetLOD(), DIALOG_GLOBAL_EDIT_TEARDROPS::visitItem(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem().

◆ IsShownAsBitmap()

bool EDA_ITEM::IsShownAsBitmap ( ) const
inlineinherited

Definition at line 184 of file eda_item.h.

References IS_SHOWN_AS_BITMAP, and m_flags.

◆ IsSideSpecific()

◆ IsTented()

virtual bool BOARD_ITEM::IsTented ( PCB_LAYER_ID aLayer) const
inlinevirtualinherited

Checks if the given object is tented (its copper shape is covered by solder mask) on a given side of the board.

Parameters
aLayeris the layer to check tenting mode for: F_Cu and F_Mask are treated identically as are B_Cu and B_Mask
Returns
true if the object is tented on the given side

Reimplemented in PCB_VIA.

Definition at line 173 of file board_item.h.

Referenced by BOARD_INSPECTION_TOOL::InspectClearance(), and DRC_TEST_PROVIDER_SILK_CLEARANCE::Run().

◆ IsType()

◆ IterateForward() [1/2]

template<class T>
static INSPECT_RESULT EDA_ITEM::IterateForward ( std::deque< T > & aList,
INSPECTOR inspector,
void * testData,
const std::vector< KICAD_T > & scanTypes )
inlinestaticinherited

This changes first parameter to avoid the DList and use the main queue instead.

Definition at line 325 of file eda_item.h.

References CONTINUE, EDA_ITEM(), QUIT, and Visit().

Referenced by BOARD::Visit(), FOOTPRINT::Visit(), and GERBER_FILE_IMAGE::Visit().

◆ IterateForward() [2/2]

template<class T>
static INSPECT_RESULT EDA_ITEM::IterateForward ( std::vector< T > & aList,
INSPECTOR inspector,
void * testData,
const std::vector< KICAD_T > & scanTypes )
inlinestaticinherited

Change first parameter to avoid the DList and use std::vector instead.

Definition at line 345 of file eda_item.h.

References CONTINUE, EDA_ITEM(), QUIT, and Visit().

◆ JumperPadGroups() [1/2]

std::vector< std::set< wxString > > & FOOTPRINT::JumperPadGroups ( )
inline

Each jumper pad group is a set of pad numbers that should be treated as internally connected.

Returns
The list of jumper pad groups in this footprint

Definition at line 867 of file footprint.h.

References m_jumperPadGroups.

Referenced by PCB_IO_KICAD_SEXPR::format(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().

◆ JumperPadGroups() [2/2]

const std::vector< std::set< wxString > > & FOOTPRINT::JumperPadGroups ( ) const
inline

Definition at line 868 of file footprint.h.

References m_jumperPadGroups.

◆ layerMaskDescribe()

wxString BOARD_ITEM::layerMaskDescribe ( ) const
protectedvirtualinherited

◆ LegacyPadsLocked()

bool FOOTPRINT::LegacyPadsLocked ( ) const
inline

Definition at line 495 of file footprint.h.

References FP_PADS_are_LOCKED, and m_fpStatus.

◆ lodScaleForThreshold()

double VIEW_ITEM::lodScaleForThreshold ( const KIGFX::VIEW * aView,
int aWhatIu,
int aThresholdIu )
staticprotectedinherited

Get the scale at which aWhatIu would be drawn at the same size as aThresholdIu on screen.

This is useful when a level-of-detail is defined in terms of a threshold size (i.e. 'only draw X when it will be bigger than Y size on screen').

E.g. if aWhatIu is 1000 and aThresholdIu is 100, then the item will be the same size as the threshold at 0.1 scale. Returning that 0.1 as the LoD will hide the item when the scale is less than 0.1 - i.e. smaller than the threshold.

Because even at zoom 1.0, 1mm in KiCad may not be exactly 1mm on a physical screen, the threshold may not be exact in practice.

Definition at line 39 of file view_item.cpp.

References KIGFX::VIEW::GetPainter(), KIGFX::PAINTER::GetSettings(), KIGFX::RENDER_SETTINGS::IsPrinting(), LOD_HIDE, LOD_SHOW, and VIEW.

Referenced by GERBER_DRAW_ITEM::ViewGetLOD(), PAD::ViewGetLOD(), PCB_TRACK::ViewGetLOD(), PCB_VIA::ViewGetLOD(), and SCH_LINE::ViewGetLOD().

◆ MapPadNumbersToNetTieGroups()

std::map< wxString, int > FOOTPRINT::MapPadNumbersToNetTieGroups ( ) const
Returns
a map from pad numbers to net-tie group indices. If a pad is not a member of a net-tie group its index will be -1.

Definition at line 3418 of file footprint.cpp.

References group, m_netTiePadGroups, m_pads, and pad.

Referenced by BuildNetTieCache(), DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture(), CheckNetTiePadGroups(), CheckNetTies(), GetNetTiePads(), DRC_ENGINE::IsNetTieExclusion(), PAD::SharesNetTieGroup(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem().

◆ Matches() [1/2]

bool EDA_ITEM::Matches ( const wxString & aText,
const EDA_SEARCH_DATA & aSearchData ) const
protectedinherited

Compare aText against search criteria in aSearchData.

This is a helper function for simplify derived class logic.

Parameters
aTextA reference to a wxString object containing the string to test.
aSearchDataThe criteria to search against.
Returns
True if aText matches the search criteria in aSearchData.

Definition at line 158 of file eda_item.cpp.

References CTX_SEARCH, EDA_COMBINED_MATCHER::Find(), EDA_SEARCH_DATA::findString, flag, IsReplaceable(), isWordChar(), EDA_SEARCH_DATA::matchCase, EDA_SEARCH_DATA::matchMode, next(), PERMISSIVE, REGEX, EDA_SEARCH_DATA::regex, EDA_SEARCH_DATA::regex_string, EDA_SEARCH_DATA::searchAndReplace, text, WHOLEWORD, and WILDCARD.

◆ Matches() [2/2]

bool FOOTPRINT::Matches ( const EDA_SEARCH_DATA & aSearchData,
void * aAuxData ) const
overridevirtual

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.

Parameters
aSearchDataA reference to a wxFindReplaceData object containing the search criteria.
aAuxDataA pointer to optional data required for the search or NULL if not used.
Returns
True if the item's text matches the search criteria in aSearchData.

Reimplemented from EDA_ITEM.

Definition at line 2231 of file footprint.cpp.

References GetFPIDAsString(), GetKeywords(), GetLibDescription(), EDA_ITEM::Matches(), and EDA_SEARCH_DATA::searchMetadata.

◆ Mirror()

void BOARD_ITEM::Mirror ( const VECTOR2I & aCentre,
FLIP_DIRECTION aFlipDirection )
virtualinherited

Mirror this object relative to a given horizontal axis the layer is not changed.

Parameters
aCentrethe mirror point.
aMirrorAroundXAxismirror across X axis instead of Y (the default).

Reimplemented in PCB_ARC, PCB_DIM_ALIGNED, PCB_DIM_ORTHOGONAL, PCB_DIMENSION_BASE, PCB_GENERATOR, PCB_GROUP, PCB_SHAPE, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_TUNING_PATTERN, and ZONE.

Definition at line 387 of file board_item.cpp.

References KIGFX::VIEW_ITEM::GetClass().

◆ Models() [1/2]

◆ Models() [2/2]

const std::vector< FP_3DMODEL > & FOOTPRINT::Models ( ) const
inline

Definition at line 242 of file footprint.h.

References m_3D_Drawings.

◆ Move()

void FOOTPRINT::Move ( const VECTOR2I & aMoveVector)
overridevirtual

Move this object.

Parameters
aMoveVectorthe move vector for this object.

Reimplemented from BOARD_ITEM.

Definition at line 2529 of file footprint.cpp.

References m_pos, SetPosition(), VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by PCB_IO_EASYEDA_PARSER::ParseToBoardItemContainer(), CLIPBOARD_IO::SaveSelection(), SpreadFootprints(), and PCB_PROPERTIES_PANEL::valueChanged().

◆ MoveAnchorPosition()

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:

  • the footprint position is not modified.
  • the relative (local) coordinates of these items are modified (a move footprint does not change these local coordinates, but changes the footprint position)

Definition at line 2668 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), GetOrientation(), GraphicalItems(), m_cachedBoundingBox, m_cachedHull, m_cachedTextExcludedBBox, m_courtyard_cache_back, m_courtyard_cache_back_hash, m_courtyard_cache_front, m_courtyard_cache_front_hash, m_fields, m_pads, Models(), pad, pcbIUScale, RotatePoint(), VECTOR2< T >::x, VECTOR2< T >::y, and Zones().

Referenced by CLIPBOARD_IO::SaveSelection().

◆ NeedsPlaced()

bool FOOTPRINT::NeedsPlaced ( ) const
inline

Definition at line 486 of file footprint.h.

References FP_to_PLACE, and m_fpStatus.

Referenced by AR_AUTOPLACER::pickFootprint().

◆ Normalize()

virtual void BOARD_ITEM::Normalize ( )
inlinevirtualinherited

Perform any normalization required after a user rotate and/or flip.

Reimplemented in PCB_SHAPE, and PCB_TABLE.

Definition at line 370 of file board_item.h.

Referenced by EDIT_TOOL::Flip(), NormalizeForCompare(), and EDIT_TOOL::Rotate().

◆ NormalizeForCompare()

virtual void BOARD_ITEM::NormalizeForCompare ( )
inlinevirtualinherited

Perform any normalization required to compare 2 graphics, especially if the can be rotated and/or flipped.

Similar to Normalize(), but more changes can be made

Reimplemented in PCB_SHAPE.

Definition at line 377 of file board_item.h.

References Normalize().

◆ operator<()

bool EDA_ITEM::operator< ( const EDA_ITEM & aItem) const
inherited

Test if another item is less than this object.

Parameters
aItem- Item to compare against.
Returns
- True if aItem is less than the item.

Definition at line 319 of file eda_item.cpp.

References EDA_ITEM(), and KIGFX::VIEW_ITEM::GetClass().

◆ operator=() [1/2]

◆ operator=() [2/2]

◆ operator==() [1/2]

bool FOOTPRINT::operator== ( const BOARD_ITEM & aOther) const
overridevirtual

Implements BOARD_ITEM.

Definition at line 3815 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), FOOTPRINT(), PCB_FOOTPRINT_T, and EDA_ITEM::Type().

◆ operator==() [2/2]

bool FOOTPRINT::operator== ( const FOOTPRINT & aOther) const

Definition at line 3826 of file footprint.cpp.

References FOOTPRINT(), GetFields(), GetFields(), m_drawings, m_pads, m_points, and m_zones.

◆ Pads() [1/2]

std::deque< PAD * > & FOOTPRINT::Pads ( )
inline

Definition at line 224 of file footprint.h.

References m_pads.

Referenced by TMATCH::CONNECTION_GRAPH::AddFootprint(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), BOARD_NETLIST_UPDATER::addNewFootprint(), BOARD_ADAPTER::addPads(), EXPORTER_STEP::buildFootprint3DShapes(), AR_AUTOPLACER::buildFpAreas(), KI_TEST::CheckFootprint(), CheckPads(), CheckShortingPads(), PCB_GRID_HELPER::computeAnchors(), AR_AUTOPLACER::computePlacementRatsnestCost(), Deserialize(), FOOTPRINT_VIEWER_FRAME::displayFootprint(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), PAD_TOOL::EnumeratePads(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_SELECTION_TOOL::expandConnection(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), PLACEFILE_GERBER_WRITER::findPads1(), FOOTPRINT(), FootprintNeedsUpdate(), PCB_IO_KICAD_SEXPR::format(), AR_AUTOPLACER::genModuleOnRoutingMatrix(), FOOTPRINT_EDIT_FRAME::GetDocumentExtents(), GetEffectiveShape(), AR_AUTOPLACER::getOptimalFPPlacement(), CADSTAR_PCB_ARCHIVE_LOADER::getPadReference(), CONNECTIVITY_DATA::GetRatsnestForComponent(), CONNECTIVITY_DATA::GetRatsnestForItems(), hash_fp_item(), hashFootprint(), HasThroughHolePads(), idf_export_footprint(), DISPLAY_FOOTPRINTS_FRAME::InitDisplay(), isCopperOutside(), DRC_ENGINE::IsNetTieExclusion(), CADSTAR_PCB_ARCHIVE_LOADER::loadComponents(), PCB_IO_EAGLE::loadElements(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryCoppers(), CADSTAR_PCB_ARCHIVE_LOADER::loadNets(), CN_CONNECTIVITY_ALGO::markItemNetAsDirty(), ARRAY_TOOL::onDialogClosed(), operator=(), pasteFootprintItemsToFootprintEditor(), PCB_IO_IPC2581::pinName(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DISPLAY_FOOTPRINTS_FRAME::ReloadFootprint(), ResolveTextVar(), CLIPBOARD_IO::SaveSelection(), PCB_SELECTION_TOOL::Selectable(), Serialize(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::testCourtyardClearances(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadClearances(), BOARD_NETLIST_UPDATER::updateComponentPadConnections(), PCB_POINT_EDITOR::updateItem(), and DIALOG_UNUSED_PAD_LAYERS::updatePadsAndVias().

◆ Pads() [2/2]

const std::deque< PAD * > & FOOTPRINT::Pads ( ) const
inline

Definition at line 225 of file footprint.h.

References m_pads.

◆ Points() [1/2]

◆ Points() [2/2]

const PCB_POINTS & FOOTPRINT::Points ( ) const
inline

Definition at line 237 of file footprint.h.

References m_points.

◆ RecomputeComponentClass()

void FOOTPRINT::RecomputeComponentClass ( ) const

Forces immediate recalculation of the component class for this footprint.

Definition at line 4342 of file footprint.cpp.

References m_componentClassCacheProxy.

◆ Reference() [1/2]

◆ Reference() [2/2]

const PCB_FIELD & FOOTPRINT::Reference ( ) const
inline

Definition at line 702 of file footprint.h.

References GetField(), and REFERENCE.

◆ Remove()

◆ RemoveFile()

void EMBEDDED_FILES::RemoveFile ( const wxString & name,
bool aErase = true )
inherited

Remove a file from the collection and frees the memory.

Parameters
aNameis the name of the file to remove.

Definition at line 124 of file embedded_files.cpp.

References m_files, and name.

Referenced by PANEL_EMBEDDED_FILES::TransferDataFromWindow().

◆ RenderAsBitmap()

virtual bool EDA_ITEM::RenderAsBitmap ( double aWorldScale) const
inlinevirtualinherited

Reimplemented in SCH_ITEM.

Definition at line 174 of file eda_item.h.

◆ Replace() [1/2]

virtual bool EDA_ITEM::Replace ( const EDA_SEARCH_DATA & aSearchData,
void * aAuxData = nullptr )
inlinevirtualinherited

Perform a text replace using the find and replace criteria in aSearchData on items that support text find and replace.

This function must be overridden for items that support text replace.

Parameters
aSearchDataA reference to a wxFindReplaceData object containing the search and replace criteria.
aAuxDataA pointer to optional data required for the search or NULL if not used.
Returns
True if the item text was modified, otherwise false.

Reimplemented in SCH_FIELD, SCH_LABEL_BASE, SCH_PIN, SCH_SHEET_PIN, SCH_TEXT, and SCH_TEXTBOX.

Definition at line 428 of file eda_item.h.

◆ Replace() [2/2]

bool EDA_ITEM::Replace ( const EDA_SEARCH_DATA & aSearchData,
wxString & aText )
staticinherited

Perform a text replace on aText using the find and replace criteria in aSearchData on items that support text find and replace.

Parameters
aSearchDataA reference to a wxFindReplaceData object containing the search and replace criteria.
aTextA reference to a wxString object containing the text to be replaced.
Returns
True if aText was modified, otherwise false.

Definition at line 236 of file eda_item.cpp.

References EDA_SEARCH_DATA::findString, flag, isWordChar(), EDA_SEARCH_DATA::matchCase, EDA_SEARCH_DATA::matchMode, next(), REGEX, EDA_SEARCH_DATA::regex, EDA_SEARCH_DATA::regex_string, EDA_SEARCH_DATA::replaceString, result, text, and WHOLEWORD.

Referenced by EDA_TEXT::Replace(), SCH_FIELD::Replace(), SCH_PIN::Replace(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), and SCH_FIND_REPLACE_TOOL::ReplaceAndFindNext().

◆ ResolveComponentClassNames()

void FOOTPRINT::ResolveComponentClassNames ( BOARD * aBoard,
const std::unordered_set< wxString > & aComponentClassNames )

Resolves a set of component class names to this footprint's actual component class.

Definition at line 4363 of file footprint.cpp.

References BOARD::GetComponentClassManager(), COMPONENT_CLASS_MANAGER::GetEffectiveStaticComponentClass(), and SetStaticComponentClass().

Referenced by PCB_CONTROL::Paste().

◆ ResolveTextVar()

bool FOOTPRINT::ResolveTextVar ( wxString * token,
int aDepth = 0 ) const

Resolve any references to system tokens supported by the component.

Parameters
aDeptha counter to limit recursion and circular references.

Definition at line 1065 of file footprint.cpp.

References FPHOLDER, BOARD_ITEM::GetBoard(), GetField(), BOARD_ITEM::GetLayerName(), PCB_TEXT::GetShownText(), m_fpid, pad, Pads(), Reference(), ResolveTextVar(), and Value().

Referenced by PCB_TEXT::GetShownText(), PCB_TEXTBOX::GetShownText(), BOARD::ResolveTextVar(), and ResolveTextVar().

◆ Rotate()

void FOOTPRINT::Rotate ( const VECTOR2I & aRotCentre,
const EDA_ANGLE & aAngle )
overridevirtual

Rotate this object.

Parameters
aRotCentrethe rotation center point.

Reimplemented from BOARD_ITEM.

Definition at line 2539 of file footprint.cpp.

References ANGLE_0, BOARD_ITEM::BOARD_ITEM(), GetOrientation(), m_drawings, m_fields, m_pos, PCB_TEXT_T, RotatePoint(), SetOrientation(), and SetPosition().

Referenced by MULTICHANNEL_TOOL::copyRuleAreaContents(), and Flip().

◆ RunOnChildren()

void FOOTPRINT::RunOnChildren ( const std::function< void(BOARD_ITEM *)> & aFunction,
RECURSE_MODE aMode ) const
overridevirtual

Invoke a function on all children.

Note
This function should not add or remove items to the parent.

Reimplemented from BOARD_ITEM.

Definition at line 2370 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), group, m_drawings, m_fields, m_groups, m_pads, m_points, m_zones, pad, and RECURSE.

Referenced by BOARD::Add(), PCB_BASE_FRAME::CreateNewFootprint(), Duplicate(), GetAllUsedFootprintLayers(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), BOARD::Remove(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), and swapData().

◆ RunOnNestedEmbeddedFiles()

virtual void EMBEDDED_FILES::RunOnNestedEmbeddedFiles ( const std::function< void(EMBEDDED_FILES *)> & aFunction)
inlinevirtualinherited

Provide access to nested embedded files, such as symbols in schematics and footprints in boards.

Reimplemented in BOARD, and SCHEMATIC.

Definition at line 182 of file embedded_files.h.

References EMBEDDED_FILES().

◆ Seed()

static uint32_t EMBEDDED_FILES::Seed ( )
inlinestaticinherited

◆ Serialize()

◆ Set() [1/4]

template<typename T>
bool INSPECTABLE::Set ( const wxString & aProperty,
T aValue,
bool aNotify = true )
inlineinherited

◆ Set() [2/4]

template<typename T>
bool INSPECTABLE::Set ( PROPERTY_BASE * aProperty,
T aValue,
bool aNotify = true )
inlineinherited

◆ Set() [3/4]

bool INSPECTABLE::Set ( PROPERTY_BASE * aProperty,
wxAny & aValue,
bool aNotify = true )
inlineinherited

◆ Set() [4/4]

bool INSPECTABLE::Set ( PROPERTY_BASE * aProperty,
wxVariant aValue,
bool aNotify = true )
inlineinherited

◆ SetAllowMissingCourtyard()

void FOOTPRINT::SetAllowMissingCourtyard ( bool aAllow)
inline

Definition at line 331 of file footprint.h.

References m_allowMissingCourtyard.

Referenced by Deserialize(), and FOOTPRINT_DESC::FOOTPRINT_DESC().

◆ SetAllowSolderMaskBridges()

void FOOTPRINT::SetAllowSolderMaskBridges ( bool aAllow)
inline

Definition at line 334 of file footprint.h.

References m_allowSolderMaskBridges.

Referenced by PCB_EDIT_FRAME::ExchangeFootprint().

◆ SetAreFontsEmbedded()

void EMBEDDED_FILES::SetAreFontsEmbedded ( bool aEmbedFonts)
inlineinherited

Definition at line 260 of file embedded_files.h.

References m_embedFonts.

Referenced by SCH_IO_KICAD_SEXPR_PARSER::ParseSchematic().

◆ SetAttributes()

◆ SetBoardOnly()

void FOOTPRINT::SetBoardOnly ( bool aIsBoardOnly = true)
inline

Definition at line 763 of file footprint.h.

References FP_BOARD_ONLY, and m_attributes.

Referenced by Deserialize(), and FOOTPRINT_DESC::FOOTPRINT_DESC().

◆ SetBrightened()

◆ SetDNP()

void FOOTPRINT::SetDNP ( bool aDNP = true)
inline

Definition at line 790 of file footprint.h.

References FP_DNP, and m_attributes.

Referenced by Deserialize(), and FOOTPRINT_DESC::FOOTPRINT_DESC().

◆ SetDuplicatePadNumbersAreJumpers()

void FOOTPRINT::SetDuplicatePadNumbersAreJumpers ( bool aEnabled)
inline

◆ SetExcludedFromBOM()

void FOOTPRINT::SetExcludedFromBOM ( bool aExclude = true)
inline

Definition at line 781 of file footprint.h.

References FP_EXCLUDE_FROM_BOM, and m_attributes.

Referenced by Deserialize(), and FOOTPRINT_DESC::FOOTPRINT_DESC().

◆ SetExcludedFromPosFiles()

void FOOTPRINT::SetExcludedFromPosFiles ( bool aExclude = true)
inline

Definition at line 772 of file footprint.h.

References FP_EXCLUDE_FROM_POS_FILES, and m_attributes.

Referenced by Deserialize(), and FOOTPRINT_DESC::FOOTPRINT_DESC().

◆ SetFileAddedCallback()

void EMBEDDED_FILES::SetFileAddedCallback ( FILE_ADDED_CALLBACK callback)
inlineinherited

Definition at line 115 of file embedded_files.h.

References m_fileAddedCallback.

◆ SetFileFormatVersionAtLoad()

void FOOTPRINT::SetFileFormatVersionAtLoad ( int aVersion)
inline

Definition at line 798 of file footprint.h.

References m_fileFormatVersionAtLoad.

◆ SetFilters()

void FOOTPRINT::SetFilters ( const wxString & aFilters)
inline

◆ SetFlag()

void FOOTPRINT::SetFlag ( int aFlag)
inline

Definition at line 336 of file footprint.h.

References m_arflag.

Referenced by AR_AUTOPLACER::pickFootprint().

◆ SetFlags()

void EDA_ITEM::SetFlags ( EDA_ITEM_FLAGS aMask)
inlineinherited

Definition at line 142 of file eda_item.h.

References m_flags.

Referenced by SCH_IO_EAGLE::addBusEntries(), PCB_BASE_FRAME::AddFootprintToBoard(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), SCH_IO_ALTIUM::AddTextBox(), SCH_MOVE_TOOL::AlignToGrid(), BACK_ANNOTATE::applyChangelist(), PCB_CONTROL::ApplyDesignBlockLayout(), SCH_DRAWING_TOOLS::AutoPlaceAllSheetPins(), BOARD_BOUNDING_BOX::BOARD_BOUNDING_BOX(), BOARD_BOUNDING_BOX::BOARD_BOUNDING_BOX(), BOOST_AUTO_TEST_CASE(), SCH_LINE_WIRE_BUS_TOOL::BreakSegment(), SCH_EDIT_TOOL::BreakWire(), FOOTPRINT::BuildCourtyardCaches(), SCH_EDIT_TOOL::ChangeTextType(), GRAPHICS_CLEANER::cleanupShapes(), ConnectBoardShapes(), SCH_IO_ALTIUM::CreateAliases(), PCB_TUNING_PATTERN::CreateNew(), SCH_DRAWING_TOOLS::createNewLabel(), SCH_DRAWING_TOOLS::createNewText(), SCH_EDIT_FRAME::DeleteJunction(), doConvertOutlineToPolygon(), SCH_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), EDIT_TOOL::DragArcTrack(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), SCH_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), PCB_TUNING_PATTERN::EditStart(), SCH_SELECTION_TOOL::EnterGroup(), PAD_TOOL::explodePad(), SCH_MOVE_TOOL::getConnectedDragItems(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), SCH_DRAWING_TOOLS::ImportSheet(), SCH_COLLECTOR::Inspect(), BOARD_COMMIT::MakeImage(), CONVERT_TOOL::makePolysFromChainedSegs(), CONVERT_TOOL::makePolysFromClosedGraphics(), CONVERT_TOOL::makePolysFromOpenGraphics(), SCH_SCREEN::MarkConnections(), TRACKS_CLEANER::mergeCollinearSegments(), SCH_MOVE_TOOL::moveItem(), SYMBOL_EDITOR_MOVE_TOOL::moveItem(), KIGFX::ORIGIN_VIEWITEM::ORIGIN_VIEWITEM(), SCH_MOVE_TOOL::orthoLineDrag(), SCH_IO_ALTIUM::ParseBezier(), SCH_IO_ALTIUM::ParseBus(), SCH_IO_ALTIUM::ParseBusEntry(), SCH_IO_ALTIUM::ParseHarnessEntry(), SCH_IO_ALTIUM::ParseJunction(), SCH_IO_ALTIUM::ParseLabel(), SCH_IO_ALTIUM::ParseLine(), SCH_IO_ALTIUM::ParseNetLabel(), SCH_IO_ALTIUM::ParseNoERC(), SCH_IO_ALTIUM::ParsePieChart(), SCH_IO_ALTIUM::ParsePolygon(), SCH_IO_ALTIUM::ParsePolyline(), SCH_IO_ALTIUM::ParsePortHelper(), SCH_IO_ALTIUM::ParseRectangle(), SCH_IO_ALTIUM::ParseRoundRectangle(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), SCH_IO_ALTIUM::ParseSheetSymbol(), SCH_IO_ALTIUM::ParseSignalHarness(), SCH_IO_ALTIUM::ParseWire(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PCB_BOARD_OUTLINE::PCB_BOARD_OUTLINE(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PL_DRAWING_TOOLS::PlaceItem(), SCH_SYMBOL::Plot(), BACK_ANNOTATE::processNetNameChange(), BOARD_COMMIT::Push(), SYMBOL_EDIT_FRAME::PushSymbolToUndoList(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_SELECTION_TOOL::RebuildSelection(), GERBVIEW_FRAME::RemapLayers(), BOARD::Remove(), FOOTPRINT::Remove(), PCB_TUNING_PATTERN::Remove(), SCH_EDIT_TOOL::RepeatDrawItem(), SCH_EDIT_TOOL::Rotate(), SCH_EDIT_FRAME::SaveCopyInUndoList(), CLIPBOARD_IO::SaveSelection(), SCH_IO_KICAD_SEXPR::saveTable(), PCB_SELECTION_TOOL::selectAllConnectedShapes(), SCH_SELECTION_TOOL::SelectMultiple(), SetBrightened(), SetIsShownAsBitmap(), SetModified(), SetSelected(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), SCH_ITEM::SwapFlags(), DS_DATA_ITEM::SyncDrawItems(), DS_DATA_ITEM_BITMAP::SyncDrawItems(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and ROUTER_TOOL::updateSizesAfterRouterEvent().

◆ SetForcedTransparency()

void KIGFX::VIEW_ITEM::SetForcedTransparency ( double aForcedTransparency)
inlineinherited

◆ SetForceVisible()

void EDA_ITEM::SetForceVisible ( bool aEnable)
inlineinherited

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.

Parameters
aEnableTrue forces the item to be drawn. False uses the item's visibility setting to determine if the item is to be drawn.

Definition at line 210 of file eda_item.h.

References m_forceVisible.

Referenced by SCH_FIND_REPLACE_TOOL::FindNext(), and SCH_FIND_REPLACE_TOOL::UpdateFind().

◆ SetFPID()

◆ SetFPIDAsString()

void FOOTPRINT::SetFPIDAsString ( const wxString & aFPID)
inline

Definition at line 276 of file footprint.h.

References m_fpid.

◆ SetFPRelativePosition()

◆ SetInitialComments()

void FOOTPRINT::SetInitialComments ( wxArrayString * aInitialComments)
inline

Take ownership of caller's heap allocated aInitialComments block.

The comments are single line strings already containing the s-expression comments with optional leading whitespace and then a '#' character followed by optional single line text (text with no line endings, not even one). This block of single line comments will be output upfront of any generated s-expression text in the PCBIO::Format() function.

Note
A block of single line comments constitutes a multiline block of single line comments. That is, the block is made of consecutive single line comments.
Parameters
aInitialCommentsis a heap allocated wxArrayString or NULL, which the caller gives up ownership of over to this FOOTPRINT.

Definition at line 969 of file footprint.h.

References m_initial_comments.

◆ SetIsKnockout()

◆ SetIsPlaced()

void FOOTPRINT::SetIsPlaced ( bool isPlaced)
inline

Definition at line 478 of file footprint.h.

References FP_is_PLACED, and m_fpStatus.

Referenced by AR_AUTOPLACER::AutoplaceFootprints(), and PCB_IO_KICAD_LEGACY::loadFOOTPRINT().

◆ SetIsRollover()

void EDA_ITEM::SetIsRollover ( bool aIsRollover)
inlineinherited

Definition at line 132 of file eda_item.h.

References m_isRollover.

Referenced by SCH_SELECTION_TOOL::Main().

◆ SetIsShownAsBitmap()

void EDA_ITEM::SetIsShownAsBitmap ( bool aBitmap)
inlineinherited

Definition at line 176 of file eda_item.h.

References ClearFlags(), IS_SHOWN_AS_BITMAP, and SetFlags().

◆ SetKeywords()

void FOOTPRINT::SetKeywords ( const wxString & aKeywords)
inline

Definition at line 282 of file footprint.h.

References m_keywords.

Referenced by Deserialize(), and PCB_IO_KICAD_LEGACY::loadFOOTPRINT().

◆ SetLayer()

virtual void BOARD_ITEM::SetLayer ( PCB_LAYER_ID aLayer)
inlinevirtualinherited

Set the layer this item is on.

Parameters
aLayerThe layer number.

Reimplemented in PCB_BARCODE, PCB_GENERATOR, PCB_GROUP, PCB_SHAPE, PCB_TUNING_PATTERN, PCB_VIA, and ZONE.

Definition at line 280 of file board_item.h.

References m_layer.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::addAttribute(), PCAD2KICAD::PCAD_FOOTPRINT::AddToBoard(), PCAD2KICAD::PCAD_LINE::AddToBoard(), PCAD2KICAD::PCAD_TEXT::AddToBoard(), CADSTAR_PCB_ARCHIVE_LOADER::applyDimensionSettings(), BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), BOARD_ITEM_DESC::BOARD_ITEM_DESC(), BOOST_AUTO_TEST_CASE(), EDIT_TOOL::ChangeTrackLayer(), ALTIUM_PCB::ConvertTexts6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertTexts6ToFootprintItemOnLayer(), PNS_KICAD_IFACE::createBoardItem(), CONVERT_TOOL::CreateLines(), PCB_BASE_FRAME::CreateNewFootprint(), BOARD_ADAPTER::createTrackWithMargin(), FOOTPRINT::Deserialize(), PAD::Deserialize(), PCB_ARC::Deserialize(), PCB_DIMENSION_BASE::Deserialize(), PCB_FIELD::Deserialize(), PCB_TEXT::Deserialize(), PCB_TRACK::Deserialize(), EDIT_TOOL::DragArcTrack(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarText(), DRAWING_TOOL::DrawDimension(), EDIT_TOOL::FilletTracks(), PCB_IO_EASYEDAPRO_PARSER::fillFootprintModelInfo(), FOOTPRINT::Flip(), PCB_ARC::Flip(), PCB_DIMENSION_BASE::Flip(), PCB_POINT::Flip(), PCB_TABLE::Flip(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), PCB_TRACK::Flip(), FOOTPRINT::FOOTPRINT(), FABMASTER::loadEtch(), PCB_IO_KICAD_LEGACY::loadFOOTPRINT(), FABMASTER::loadFootprints(), PCB_IO_KICAD_LEGACY::loadMODULE_TEXT(), PCB_IO_KICAD_LEGACY::loadPCB_TEXT(), PCB_IO_EAGLE::loadPlain(), PCB_IO_EAGLE::loadSignals(), PCB_IO_KICAD_LEGACY::loadTrackList(), main(), DSN::SPECCTRA_DB::makeARC(), DSN::SPECCTRA_DB::makeTRACK(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes(), DIALOG_FOOTPRINT_PROPERTIES::OnAddField(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnAddField(), PCB_IO_EAGLE::packageText(), PCB_IO_EASYEDAPRO_PARSER::ParseBoard(), PCB_IO_KICAD_SEXPR_PARSER::parseFOOTPRINT_unchecked(), PCB_IO_KICAD_SEXPR_PARSER::parsePCB_TEXT_effects(), PCB_IO_EASYEDA_PARSER::ParseToBoardItemContainer(), PCB_FIELD::PCB_FIELD(), PCB_MARKER::PCB_MARKER(), PCB_REFERENCE_IMAGE_DESC::PCB_REFERENCE_IMAGE_DESC(), PCB_TEXT::PCB_TEXT(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::processItem(), processTextItem(), CLIPBOARD_IO::SaveSelection(), CONVERT_TOOL::SegmentToArc(), PCB_SHAPE::SetLayer(), SetLayerSet(), PCB_TRACK::SetLayerSet(), FABMASTER::setupText(), PCB_FIELDS_GRID_TABLE::SetValueAsLong(), EDIT_TOOL::Swap(), DRC_TEST_PROVIDER_CREEPAGE::testCreepage(), DIALOG_DIMENSION_PROPERTIES::updateDimensionFromDialog(), BOARD_NETLIST_UPDATER::updateFootprintParameters(), and ROUTER_TOOL::updateSizesAfterRouterEvent().

◆ SetLayerAndFlip()

void FOOTPRINT::SetLayerAndFlip ( PCB_LAYER_ID aLayer)

Used as Layer property setter – performs a flip if necessary to set the footprint layer.

Parameters
aLayeris the target layer (F_Cu or B_Cu)

Definition at line 2562 of file footprint.cpp.

References B_Cu, F_Cu, Flip(), GetLayer(), GetPosition(), and LEFT_RIGHT.

Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC().

◆ SetLayerSet()

virtual void BOARD_ITEM::SetLayerSet ( const LSET & aLayers)
inlinevirtualinherited

Reimplemented in BOARD, PAD, PCB_SHAPE, PCB_TRACK, PCB_VIA, and ZONE.

Definition at line 260 of file board_item.h.

References LSET::Seq(), and SetLayer().

Referenced by BOARD::RemoveAllItemsOnLayer(), and GLOBAL_EDIT_TOOL::swapBoardItem().

◆ SetLibDescription()

void FOOTPRINT::SetLibDescription ( const wxString & aDesc)
inline

◆ SetLink()

◆ SetLocalClearance()

void FOOTPRINT::SetLocalClearance ( std::optional< int > aClearance)
inline

◆ SetLocalSolderMaskMargin()

void FOOTPRINT::SetLocalSolderMaskMargin ( std::optional< int > aMargin)
inline

◆ SetLocalSolderPasteMargin()

void FOOTPRINT::SetLocalSolderPasteMargin ( std::optional< int > aMargin)
inline

◆ SetLocalSolderPasteMarginRatio()

void FOOTPRINT::SetLocalSolderPasteMarginRatio ( std::optional< double > aRatio)
inline

◆ SetLocalZoneConnection()

void FOOTPRINT::SetLocalZoneConnection ( ZONE_CONNECTION aType)
inline

◆ SetLocked()

void FOOTPRINT::SetLocked ( bool isLocked)
inlineoverridevirtual

Set the #MODULE_is_LOCKED bit in the m_ModuleStatus.

Parameters
isLockedtrue means turn on locked status, else unlock

Reimplemented from BOARD_ITEM.

Definition at line 464 of file footprint.h.

References FP_is_LOCKED, and m_fpStatus.

Referenced by Deserialize(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_IO_KICAD_LEGACY::loadFOOTPRINT(), and CLIPBOARD_IO::SaveSelection().

◆ SetModified()

void EDA_ITEM::SetModified ( )
inherited

◆ SetNeedsPlaced()

void FOOTPRINT::SetNeedsPlaced ( bool needsPlaced)
inline

Definition at line 487 of file footprint.h.

References FP_to_PLACE, and m_fpStatus.

Referenced by AR_AUTOPLACER::AutoplaceFootprints().

◆ SetOrientation()

◆ SetOrientationDegrees()

void FOOTPRINT::SetOrientationDegrees ( double aOrientation)
inline

Definition at line 260 of file footprint.h.

References DEGREES_T, and SetOrientation().

Referenced by Deserialize(), FOOTPRINT_DESC::FOOTPRINT_DESC(), and FABMASTER::loadFootprints().

◆ SetParent()

virtual void EDA_ITEM::SetParent ( EDA_ITEM * aParent)
inlinevirtualinherited

Reimplemented in LIB_SYMBOL, and NETINFO_ITEM.

Definition at line 113 of file eda_item.h.

References EDA_ITEM(), and m_parent.

Referenced by BOARD::Add(), FOOTPRINT::Add(), PCB_TABLE::AddCell(), SCH_TABLE::AddCell(), LIB_SYMBOL::AddDrawItem(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), BOARD_NETLIST_UPDATER::addNewFootprint(), SCH_SHEET::AddPin(), PAD::AddPrimitive(), PADSTACK::AddPrimitive(), PAD::AddPrimitivePoly(), PAD::AddPrimitivePoly(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), SCH_SCREEN::Append(), BOOST_AUTO_TEST_CASE(), PCB_BARCODE::Clone(), CADSTAR_SCH_ARCHIVE_LOADER::copySymbolItems(), SCH_DRAWING_TOOLS::createNewLabel(), SCH_DRAWING_TOOLS::createNewText(), PANEL_EESCHEMA_COLOR_SETTINGS::createPreviewItems(), LIB_SYMBOL_LIBRARY_MANAGER::CreateSymbol(), FIELDS_GRID_TABLE::DetachFields(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), SCH_DRAWING_TOOLS::DrawShape(), PCB_EDIT_FRAME::ExchangeFootprint(), PAD_TOOL::explodePad(), LIB_SYMBOL::Flatten(), FOOTPRINT::FOOTPRINT(), PCB_IO_KICAD_SEXPR::FootprintSave(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), CADSTAR_SCH_ARCHIVE_LOADER::getKiCadSchText(), PCB_TABLE::InsertCell(), SCH_TABLE::InsertCell(), LIB_SYMBOL::LIB_SYMBOL(), LTSPICE_SCHEMATIC::Load(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadAliases(), CADSTAR_SCH_ARCHIVE_LOADER::loadChildSheets(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), KI_TEST::LoadHierarchy(), SCH_IO_KICAD_LEGACY::loadHierarchy(), SCH_IO_KICAD_SEXPR::loadHierarchy(), SCH_IO_EAGLE::loadSymbolPolyLine(), SCH_IO_EAGLE::loadSymbolRectangle(), SCH_IO_EAGLE::loadSymbolWire(), PCB_POINT_EDITOR::OnSelectionChange(), LIB_SYMBOL::operator=(), SCH_IO_KICAD_SEXPR_PARSER::parseLibSymbol(), SCH_IO_KICAD_SEXPR_PARSER::ParseSchematic(), PCB_CONTROL::Paste(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), pasteFootprintItemsToFootprintEditor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), BACK_ANNOTATE::processNetNameChange(), PAD::Recombine(), SCH_IO_LIB_CACHE::removeSymbol(), SCH_EDIT_TOOL::RepeatDrawItem(), SaveCopyOfZones(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), CLIPBOARD_IO::SaveSelection(), SCH_SHEET_PIN::SCH_SHEET_PIN(), LIB_SYMBOL::SetFields(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), FOOTPRINT::swapData(), PCB_BARCODE::swapData(), PCB_TABLE::swapData(), SCH_LABEL_BASE::swapData(), SCH_SHEET::swapData(), SCH_SYMBOL::swapData(), SCH_TABLE::swapData(), BOARD_ITEM::SwapItemData(), SCH_ITEM::SwapItemData(), SCH_SYMBOL::SyncOtherUnits(), and SCH_DRAWING_TOOLS::TwoClickPlace().

◆ SetParentGroup()

◆ SetPath()

void FOOTPRINT::SetPath ( const KIID_PATH & aPath)
inline

◆ SetPosition()

◆ SetPrivateLayers()

void FOOTPRINT::SetPrivateLayers ( const LSET & aLayers)
inline

Adds an item to the container.

Parameters
aModedecides whether the item is added in the beginning or at the end of the list.
aSkipConnectivityskip connectivity update (useful for file loading, when the connectivity is updated after end of loading).

Definition at line 165 of file footprint.h.

References m_privateLayers.

Referenced by Deserialize().

◆ SetReference()

◆ SetSelected()

◆ SetSheetfile()

void FOOTPRINT::SetSheetfile ( const wxString & aSheetfile)
inline

◆ SetSheetname()

void FOOTPRINT::SetSheetname ( const wxString & aSheetname)
inline

◆ SetStackupLayers()

void FOOTPRINT::SetStackupLayers ( LSET aLayers)

If the footprint has a non-default stackup, set the layers that should be used for the stackup.

Definition at line 4390 of file footprint.cpp.

References CUSTOM_LAYERS, m_stackupLayers, and m_stackupMode.

Referenced by PCB_IO_KICAD_SEXPR_PARSER::parseFootprintStackup().

◆ SetStackupMode()

void FOOTPRINT::SetStackupMode ( FOOTPRINT_STACKUP aMode)

Set the stackup mode for this footprint.

This determines if the footprint lists its own layers or uses a default stackup, with "expansion" of inner layers to the PCB's inner layers.

Definition at line 4378 of file footprint.cpp.

References B_Cu, EXPAND_INNER_LAYERS, F_Cu, In1_Cu, m_stackupLayers, and m_stackupMode.

Referenced by PCB_IO_KICAD_SEXPR_PARSER::parseFootprintStackup().

◆ SetStaticComponentClass()

void FOOTPRINT::SetStaticComponentClass ( const COMPONENT_CLASS * aClass) const

Sets the component class object pointer for this footprint.

Definition at line 4330 of file footprint.cpp.

References m_componentClassCacheProxy.

Referenced by BOARD_NETLIST_UPDATER::addNewFootprint(), PCB_EDIT_FRAME::ExchangeFootprint(), ResolveComponentClassNames(), and BOARD_NETLIST_UPDATER::updateComponentClass().

◆ SetStroke()

void BOARD_ITEM::SetStroke ( const STROKE_PARAMS & aStroke)
virtualinherited

Reimplemented in PCB_SHAPE.

Definition at line 127 of file board_item.cpp.

References KIGFX::VIEW_ITEM::GetClass().

◆ SetTransientComponentClassNames()

void FOOTPRINT::SetTransientComponentClassNames ( const std::unordered_set< wxString > & classNames)
inline

Sets the transient component class names.

This is used during paste operations as we can't resolve the component classes immediately until we have the true board context once the pasted items have been placed

Definition at line 1057 of file footprint.h.

References m_transientComponentClassNames.

◆ SetUnitInfo()

void FOOTPRINT::SetUnitInfo ( const std::vector< FP_UNIT_INFO > & aUnits)
inline

Definition at line 759 of file footprint.h.

References m_unitInfo.

Referenced by COMPONENT::SetFootprint(), and BOARD_NETLIST_UPDATER::updateComponentUnits().

◆ SetValue()

◆ SetX()

void BOARD_ITEM::SetX ( int aX)
inlineinherited

◆ SetY()

void BOARD_ITEM::SetY ( int aY)
inlineinherited

◆ Similarity()

double FOOTPRINT::Similarity ( const BOARD_ITEM & aItem) const
overridevirtual

Return a measure of how likely the other object is to represent the same object.

The scale runs from 0.0 (definitely different objects) to 1.0 (same)

This is a pure virtual function. Derived classes must implement this.

Implements BOARD_ITEM.

Definition at line 3880 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), FindPadByNumber(), FOOTPRINT(), m_pads, pad, PCB_FOOTPRINT_T, and EDA_ITEM::Type().

◆ Sort()

static bool EDA_ITEM::Sort ( const EDA_ITEM * aLeft,
const EDA_ITEM * aRight )
inlinestaticinherited

Helper function to be used by the C++ STL sort algorithm for sorting a STL container of EDA_ITEM pointers.

Parameters
aLeftThe left hand item to compare.
aRightThe right hand item to compare.
Returns
True if aLeft is less than aRight.

Definition at line 457 of file eda_item.h.

References EDA_ITEM().

◆ StringLibNameInvalidChars()

const wxChar * FOOTPRINT::StringLibNameInvalidChars ( bool aUserReadable)
static

Test for validity of the name in a library of the footprint ( no spaces, dir separators ... ).

Parameters
aUserReadableset to false to get the list of invalid characters or true to get a readable form (i.e ' ' = 'space' '\t'= 'tab').
Returns
the list of invalid chars in the library name.

Definition at line 2512 of file footprint.cpp.

Referenced by DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::checkFootprintName(), IsLibNameValid(), and SAVE_AS_DIALOG::SAVE_AS_DIALOG().

◆ StyleFromSettings()

virtual void BOARD_ITEM::StyleFromSettings ( const BOARD_DESIGN_SETTINGS & settings,
bool aCheckSide )
inlinevirtualinherited

◆ swapData()

void FOOTPRINT::swapData ( BOARD_ITEM * aImage)
overrideprotectedvirtual

◆ SwapItemData()

void BOARD_ITEM::SwapItemData ( BOARD_ITEM * aImage)
inherited

Swap data between aItem and aImage.

aItem and aImage should have the same type.

Used in undo and redo commands to swap values between an item and its copy. Only values like layer, size .. which are modified by editing are swapped.

Parameters
aImagethe item image which contains data to swap.

Definition at line 271 of file board_item.cpp.

References BOARD_ITEM(), EDA_ITEM::EDA_ITEM(), GetParent(), EDA_ITEM::SetParent(), and swapData().

Referenced by PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), BOARD_COMMIT::Revert(), and UpdateCopyOfZonesList().

◆ TextOnly()

bool FOOTPRINT::TextOnly ( ) const

◆ TransformFPShapesToPolySet()

void FOOTPRINT::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.

Useful to generate a polygonal representation of a footprint in 3D view and plot functions, when a full polygonal approach is needed.

Parameters
aLayeris the layer to consider, or UNDEFINED_LAYER to consider all.
aBufferis the buffer to store polygons.
aClearanceis a value to inflate shapes.
aErroris the maximum error between true arc and polygon approximation.
aIncludeTextset to true to transform text shapes.
aIncludeShapesset to true to transform footprint shapes.

Definition at line 4226 of file footprint.cpp.

References BOARD_ITEM::BOARD_ITEM(), BOARD_ITEM::GetLayer(), PCB_SHAPE::GetLayer(), GetPrivateLayers(), GraphicalItems(), PCB_TEXTBOX::IsBorderEnabled(), m_fields, PCB_BARCODE_T, PCB_SHAPE_T, PCB_TEXT_T, PCB_TEXTBOX_T, text, BOARD_ITEM::TransformShapeToPolySet(), PCB_SHAPE::TransformShapeToPolySet(), PCB_TEXTBOX::TransformTextToPolySet(), and UNDEFINED_LAYER.

Referenced by EXPORTER_STEP::buildFootprint3DShapes(), CoverageRatio(), and TransformFPTextToPolySet().

◆ TransformFPTextToPolySet()

void FOOTPRINT::TransformFPTextToPolySet ( SHAPE_POLY_SET & aBuffer,
PCB_LAYER_ID aLayer,
int aClearance,
int aError,
ERROR_LOC aErrorLoc ) const
inline

This function is the same as TransformFPShapesToPolySet but only generates text.

Definition at line 606 of file footprint.h.

References TransformFPShapesToPolySet().

◆ TransformPadsToPolySet()

void FOOTPRINT::TransformPadsToPolySet ( SHAPE_POLY_SET & aBuffer,
PCB_LAYER_ID aLayer,
int aClearance,
int aMaxError,
ERROR_LOC aErrorLoc ) const

Generate pads shapes on layer aLayer as polygons and adds these polygons to aBuffer.

Useful to generate a polygonal representation of a footprint in 3D view and plot functions, when a full polygonal approach is needed.

Parameters
aLayeris the layer to consider, or UNDEFINED_LAYER to consider all layers.
aBufferi the buffer to store polygons.
aClearanceis an additional size to add to pad shapes.
aMaxErroris the maximum deviation from true for arcs.

Definition at line 4156 of file footprint.cpp.

References B_Mask, B_Paste, clearance, CUSTOM, dummy, F_Mask, F_Paste, m_pads, pad, UNDEFINED_LAYER, VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by CoverageRatio().

◆ TransformShapeToPolygon()

void BOARD_ITEM::TransformShapeToPolygon ( SHAPE_POLY_SET & aBuffer,
PCB_LAYER_ID aLayer,
int aClearance,
int aError,
ERROR_LOC aErrorLoc,
bool ignoreLineWidth = false ) const
virtualinherited

Convert the item shape to a closed polygon.

Circles and arcs are approximated by segments.

Parameters
aBuffera buffer to store the polygon.
aClearancethe clearance around the pad.
aErrorthe maximum deviation from true circle.
aErrorLocshould the approximation error be placed outside or inside the polygon?
ignoreLineWidthused for edge cut items where the line width is only for visualization.

Reimplemented in PAD, PCB_BARCODE, PCB_DIMENSION_BASE, PCB_MARKER, PCB_POINT, PCB_SHAPE, PCB_TABLE, PCB_TARGET, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, and ZONE.

Definition at line 304 of file board_item.cpp.

References KIGFX::VIEW_ITEM::GetClass().

Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::addItemToRTrees(), ZONE_FILLER::addKnockout(), ZONE_FILLER::addKnockout(), FOOTPRINT::CoverageRatio(), enclosedByAreaFunc(), FOOTPRINT::GetCoverageArea(), process(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), DRC_TEST_PROVIDER_SLIVER_CHECKER::Run(), PNS_KICAD_IFACE_BASE::syncTextItem(), and TransformShapeToPolySet().

◆ TransformShapeToPolySet()

virtual void BOARD_ITEM::TransformShapeToPolySet ( SHAPE_POLY_SET & aBuffer,
PCB_LAYER_ID aLayer,
int aClearance,
int aError,
ERROR_LOC aErrorLoc ) const
inlinevirtualinherited

Convert the item shape to a polyset.

Circles and arcs are approximated by segments; hatched fills will be included.

Parameters
aBuffera buffer to store the polygon.
aClearancethe clearance around the pad.
aErrorthe maximum deviation from true circle.
aErrorLocshould the approximation error be placed outside or inside the polygon?
ignoreLineWidthused for edge cut items where the line width is only for visualization.

Reimplemented in PCB_SHAPE.

Definition at line 425 of file board_item.h.

References TransformShapeToPolygon().

Referenced by BOARD_ADAPTER::addBarCode(), EXPORTER_STEP::buildGraphic3DShape(), BOARD_ADAPTER::createLayers(), KIGFX::PCB_PAINTER::draw(), DIALOG_BOARD_STATISTICS::getDataFromPCB(), PCB_TRACK::GetMsgPanelInfo(), CONVERT_TOOL::makePolysFromClosedGraphics(), BRDITEMS_PLOTTER::PlotBarCode(), and FOOTPRINT::TransformFPShapesToPolySet().

◆ Type()

KICAD_T EDA_ITEM::Type ( ) const
inlineinherited

Returns the type of object.

This attribute should never be changed after a ctor sets it, so there is no public "setter" method.

Returns
the type of object.

Definition at line 110 of file eda_item.h.

References m_structType.

Referenced by BOARD::Add(), CN_CLUSTER::Add(), CN_CONNECTIVITY_ALGO::Add(), FOOTPRINT::Add(), KIGFX::PCB_VIEW::Add(), PCB_GRID_HELPER::AddConstructionItems(), PCB_POINT_EDITOR::addCorner(), CONNECTION_SUBGRAPH::AddItem(), DRC_TEST_PROVIDER_SOLDER_MASK::addItemToRTrees(), ZONE_FILLER::addKnockout(), ZONE_FILLER::addKnockout(), SCH_SHEET::AddPin(), SCH_BASE_FRAME::AddToScreen(), SCH_MOVE_TOOL::AlignToGrid(), SCH_SCREEN::Append(), PCB_CONTROL::ApplyDesignBlockLayout(), CADSTAR_SCH_ARCHIVE_LOADER::applyTextSettings(), TEARDROP_MANAGER::areItemsInSameZone(), PNS::TOPOLOGY::AssembleTuningPath(), SCH_LABEL_BASE::AutoplaceFields(), SCH_EDIT_FRAME::AutoRotateItem(), SCH_SELECTION_TOOL::autostartEvent(), SCH_EDIT_TOOL::BreakWire(), EXPORTER_STEP::buildGraphic3DShape(), SCH_SCREENS::buildScreenList(), EXPORTER_STEP::buildTrack3DShape(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), canAddCorner(), canChamferCorner(), SCH_BUS_BUS_ENTRY::CanConnect(), SCH_BUS_WIRE_ENTRY::CanConnect(), SCH_JUNCTION::CanConnect(), SCH_LABEL_BASE::CanConnect(), SCH_LINE::CanConnect(), SCH_NO_CONNECT::CanConnect(), SCH_SHEET::CanConnect(), SCH_SYMBOL::CanConnect(), PCB_POINT_EDITOR::chamferCorner(), SCH_EDIT_TOOL::ChangeTextType(), KI_TEST::CheckFootprint(), KI_TEST::CheckFpShape(), KI_TEST::CheckFpZone(), DRC_TEST_PROVIDER_SOLDER_MASK::checkItemMask(), DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture(), CN_VISITOR::checkZoneItemConnection(), BOARD::ClassOf(), BOARD_CONNECTED_ITEM::ClassOf(), FOOTPRINT::ClassOf(), LIB_SYMBOL::ClassOf(), NETINFO_ITEM::ClassOf(), PAD::ClassOf(), PCB_ARC::ClassOf(), PCB_BARCODE::ClassOf(), PCB_DIM_ALIGNED::ClassOf(), PCB_DIM_CENTER::ClassOf(), PCB_DIM_LEADER::ClassOf(), PCB_DIM_ORTHOGONAL::ClassOf(), PCB_DIM_RADIAL::ClassOf(), PCB_FIELD::ClassOf(), PCB_GENERATOR::ClassOf(), PCB_GROUP::ClassOf(), PCB_MARKER::ClassOf(), PCB_POINT::ClassOf(), PCB_REFERENCE_IMAGE::ClassOf(), PCB_SHAPE::ClassOf(), PCB_TABLE::ClassOf(), PCB_TABLECELL::ClassOf(), PCB_TARGET::ClassOf(), PCB_TEXT::ClassOf(), PCB_TEXTBOX::ClassOf(), PCB_TRACK::ClassOf(), PCB_VIA::ClassOf(), SCH_BITMAP::ClassOf(), SCH_BUS_BUS_ENTRY::ClassOf(), SCH_BUS_WIRE_ENTRY::ClassOf(), SCH_DIRECTIVE_LABEL::ClassOf(), SCH_FIELD::ClassOf(), SCH_GLOBALLABEL::ClassOf(), SCH_GROUP::ClassOf(), SCH_HIERLABEL::ClassOf(), SCH_JUNCTION::ClassOf(), SCH_LABEL::ClassOf(), SCH_LINE::ClassOf(), SCH_MARKER::ClassOf(), SCH_NO_CONNECT::ClassOf(), SCH_PIN::ClassOf(), SCH_SCREEN::ClassOf(), SCH_SHEET::ClassOf(), SCH_SHEET_PIN::ClassOf(), SCH_SYMBOL::ClassOf(), SCH_TABLE::ClassOf(), SCH_TABLECELL::ClassOf(), SCH_TEXT::ClassOf(), SCH_TEXTBOX::ClassOf(), ZONE::ClassOf(), MOCK_BOARD_ITEM::Clone(), TEST_EDA_ITEM::Clone(), CONNECTION_GRAPH::collectAllDriverValues(), SCH_EDIT_TOOL::collectUnits(), collidesWithArea(), LIB_SYMBOL::compare(), SCH_FIELD::compare(), SCH_ITEM::compare(), SCH_TEXT::compare(), SCH_TEXTBOX::compare(), TEARDROP_MANAGER::computeAnchorPoints(), EE_GRID_HELPER::computeAnchors(), PCB_GRID_HELPER::computeAnchors(), PCB_GRID_HELPER::computeAnchors(), SCH_BUS_WIRE_ENTRY::ConnectionPropagatesTo(), SCH_LINE::ConnectionPropagatesTo(), EE_RTREE::contains(), BOARD::ConvertKIIDsToCrossReferences(), SCHEMATIC::ConvertKIIDsToRefs(), SYMBOL_EDITOR_EDIT_TOOL::ConvertStackedPins(), FOOTPRINT::CopyFrom(), PAD::CopyFrom(), PCB_ARC::CopyFrom(), PCB_REFERENCE_IMAGE::CopyFrom(), PCB_SHAPE::CopyFrom(), PCB_TEXT::CopyFrom(), PCB_TEXTBOX::CopyFrom(), PCB_TRACK::CopyFrom(), PCB_VIA::CopyFrom(), ZONE::CopyFrom(), PAD_TOOL::copyPadSettings(), FOOTPRINT::CoverageRatio(), PNS_KICAD_IFACE::createBoardItem(), CreateItemForType(), BOARD_ADAPTER::createLayers(), CONVERT_TOOL::CreateLines(), PCB_BASE_FRAME::CreateNewFootprint(), ZONE_CREATE_HELPER::createNewZone(), BOARD_ADAPTER::createTrackWithMargin(), SCH_INSPECTION_TOOL::CrossProbe(), SCH_SCREEN::DeleteItem(), SCH_MARKER::DeserializeFromString(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_FIELD_PROPERTIES::DIALOG_FIELD_PROPERTIES(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), SCH_EDIT_TOOL::DoDelete(), APPEARANCE_CONTROLS::doesBoardItemNeedRebuild(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), EDIT_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), KIGFX::PCB_PAINTER::Draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRAWING_TOOL::DrawDimension(), KIGFX::SCH_PAINTER::drawItemBoundingBox(), SCH_DRAWING_TOOLS::DrawSheet(), DRAWING_TOOL::DrawVia(), CONNECTION_SUBGRAPH::driverName(), CN_ITEM::Dump(), EDIT_TOOL::Duplicate(), FOOTPRINT::DuplicateItem(), EDA_ITEM_DESC::EDA_ITEM_DESC(), EDA_TEXT_DESC::EDA_TEXT_DESC(), SCH_EDIT_TOOL::EditField(), SCH_EDIT_TOOL::editFieldText(), SCH_EDIT_TOOL::EditProperties(), SYMBOL_EDITOR_EDIT_TOOL::editTextBoxProperties(), SYMBOL_EDITOR_EDIT_TOOL::editTextProperties(), enclosedByAreaFunc(), SCH_SELECTION_TOOL::EnterGroup(), CONNECTION_GRAPH::ercCheckBusToBusConflicts(), CONNECTION_GRAPH::ercCheckBusToBusEntryConflicts(), CONNECTION_GRAPH::ercCheckBusToNetConflicts(), CONNECTION_GRAPH::ercCheckDanglingWireEndpoints(), CONNECTION_GRAPH::ercCheckFloatingWires(), CONNECTION_GRAPH::ercCheckLabels(), CONNECTION_GRAPH::ercCheckMultipleDrivers(), CONNECTION_GRAPH::ercCheckNoConnects(), DRC_ENGINE::EvalRules(), DRC_ENGINE::EvalZoneConnection(), CONNECTION_GRAPH::ExchangeItem(), CONNECTION_SUBGRAPH::ExchangeItem(), SYMBOL_EDITOR_EDIT_TOOL::ExplodeStackedPin(), extractDiffPairCoupledItems(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), PCB_SELECTION_TOOL::FilterCollectorForTableCells(), TEARDROP_MANAGER::findAnchorPointsOnTrack(), MULTICHANNEL_TOOL::findComponentsInRuleArea(), PCB_SELECTION_TOOL::FindItem(), NETLIST_EXPORTER_BASE::findNextSymbol(), MULTICHANNEL_TOOL::findOtherItemsInRuleArea(), findParent(), MULTICHANNEL_TOOL::findRoutingInRuleArea(), findSingleNetLabelForPin(), DRC_TOOL::FixDRCErrorMenuText(), EDIT_TOOL::Flip(), PCB_IO_KICAD_SEXPR::Format(), SCH_IO_KICAD_LEGACY::Format(), SCH_IO_KICAD_SEXPR::Format(), SCH_IO_KICAD_SEXPR::Format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), FormatProbeItem(), GetAllUsedFootprintLayers(), BOARD_ITEM::GetBoard(), BOARD_ITEM::GetBoard(), GetBoardItemWidth(), PCB_TRACK::GetBoundingBox(), SCH_LABEL_BASE::GetBoundingBox(), getBoundingBox(), getClosestGroup(), getClosestGroup(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::getConnectedItems(), CONNECTIVITY_DATA::GetConnectedPadsAndVias(), FOOTPRINT::GetCoverageArea(), DIALOG_BOARD_STATISTICS::getDataFromPCB(), CONNECTION_GRAPH::getDefaultConnection(), CONNECTION_SUBGRAPH::GetDriverPriority(), SCH_ITEM::GetEffectivePenWidth(), getFieldFunc(), PCB_TRACK::GetFriendlyName(), PCB_GROUP_TOOL::getGroupFromItem(), SCH_GROUP_TOOL::getGroupFromItem(), getHatchFillThermalClearance(), getHoleShape(), getInferredSymbols(), PCB_TRACK::GetItemDescription(), EE_GRID_HELPER::GetItemGrid(), PCB_GRID_HELPER::GetItemGrid(), PL_EDITOR_FRAME::GetLayoutFromRedoList(), PL_EDITOR_FRAME::GetLayoutFromUndoList(), getMinDist(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), SCH_LABEL_BASE::GetMsgPanelInfo(), SCH_SCREEN::GetNeededJunctions(), CONNECTION_SUBGRAPH::GetNetclassesForDriver(), CONNECTIVITY_DATA::GetNetItems(), GetNetNavigatorItemText(), SCH_SYMBOL::GetPinPhysicalPosition(), KIGFX::SCH_PAINTER::getRenderColor(), SCH_RULE_AREA::GetResolvedNetclasses(), GROUP_SEARCH_HANDLER::getResultCell(), LABEL_SEARCH_HANDLER::getResultCell(), TEXT_SEARCH_HANDLER::getResultCell(), GetSchItemAsText(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), CONVERT_TOOL::getStartEndPoints(), KIGFX::SCH_PAINTER::getTextThickness(), GetTypeDesc(), PCBEXPR_COMPONENT_CLASS_REF::GetValue(), PCBEXPR_TYPE_REF::GetValue(), TEARDROP_MANAGER::GetWidth(), PCB_SELECTION_TOOL::grabUnconnected(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), API_HANDLER_PCB::handleCreateUpdateItemsInternal(), API_HANDLER_PCB::handleGetBoundingBox(), hasComponentClassFunc(), hash_fp_item(), BOARD::HasItemsOnLayer(), SCH_SELECTION_TOOL::highlight(), BOARD_INSPECTION_TOOL::HighlightItem(), BOARD_INSPECTION_TOOL::highlightNet(), highlightNet(), SCH_FIELD::HitTest(), SCH_FIELD::HitTest(), SCH_LABEL_BASE::HitTest(), SCH_LABEL_BASE::HitTest(), SCH_LABEL_BASE::HitTest(), PCB_SELECTION_TOOL::hitTestDistance(), PCB_POINT_EDITOR::Init(), SCH_POINT_EDITOR::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), DRC_RTREE::Insert(), EE_RTREE::insert(), GENERAL_COLLECTOR::Inspect(), SCH_COLLECTOR::Inspect(), TEST_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), isBlindBuriedViaFunc(), isBlindVia(), isBuriedVia(), CONNECTIVITY_DATA::IsConnectedOnLayer(), isCopper(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus(), PCB_SELECTION_TOOL::isExpandableGraphicShape(), PNS_KICAD_IFACE_BASE::IsFlashedOnLayer(), PNS_KICAD_IFACE_BASE::IsFlashedOnLayer(), CADSTAR_PCB_ARCHIVE_LOADER::isFootprint(), isGraphicItemForDrop(), BOARD_ITEM::IsGroupableType(), SCH_ITEM::IsGroupableType(), PNS_PCBNEW_RULE_RESOLVER::IsKeepout(), isKeepoutZone(), isMaskAperture(), isMicroVia(), PNS_PCBNEW_RULE_RESOLVER::IsNonPlatedSlot(), isNPTHPad(), PCB_TRACK::IsNull(), isNullAperture(), SCH_LINE::IsParallel(), isPlatedFunc(), TEARDROP_MANAGER::IsRound(), PNS::ROUTER::isStartingPointRoutable(), SCH_ITEM::IsType(), itemHasEditableVertices(), itemIsIncludedByFilter(), PCB_SELECTION_TOOL::itemPassesFilter(), SCH_SELECTION_TOOL::itemPassesFilter(), SCH_EDIT_TOOL::JustifyText(), CLIPBOARD_IO::LoadBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), CADSTAR_SCH_ARCHIVE_LOADER::loadHierarchicalSheetPins(), CADSTAR_SCH_ARCHIVE_LOADER::loadNets(), SCH_SELECTION_TOOL::Main(), EDIT_POINTS_FACTORY::Make(), PCB_POINT_EDITOR::makePoints(), SCH_POINT_EDITOR::makePointsAndBehavior(), CONVERT_TOOL::makePolysFromChainedSegs(), SCH_SCREEN::MarkConnections(), CONNECTIVITY_DATA::MarkItemNetAsDirty(), CN_CONNECTIVITY_ALGO::markItemNetAsDirty(), memberOfGroupFunc(), memberOfSheetFunc(), memberOfSheetOrChildrenFunc(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), PNS_KICAD_IFACE::modifyBoardItem(), BOARD_EDITOR_CONTROL::modifyLockSelected(), SCH_MOVE_TOOL::moveItem(), SCH_SELECTION_TOOL::narrowSelection(), ARRAY_TOOL::onDialogClosed(), DIALOG_DRC::OnDRCItemSelected(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), PCB_EDIT_FRAME::OnEditItemRequest(), DIALOG_GENERATORS::OnItemSelected(), EDA_3D_CANVAS::OnLeftDown(), EDA_3D_CANVAS::OnMouseMove(), SCH_EDIT_FRAME::onNetNavigatorSelection(), DIALOG_GENERATORS::OnRebuildTypeClick(), PCB_POINT_EDITOR::OnSelectionChange(), BOARD::cmp_drawings::operator()(), BOARD::cmp_items::operator()(), BOARD_ITEM::ptr_cmp::operator()(), CN_VISITOR::operator()(), FOOTPRINT::cmp_drawings::operator()(), KI_TEST::kitest_cmp_drawings::operator()(), PCB_SHAPE::cmp_drawings::operator()(), PCB_TRACK::cmp_tracks::operator()(), SCH_BUS_ENTRY_BASE::operator<(), SCH_FIELD::operator<(), SCH_ITEM::operator<(), SCH_JUNCTION::operator<(), SCH_LINE::operator<(), SCH_SHEET::operator<(), SCH_SYMBOL::operator<(), SCH_TABLE::operator<(), SCH_TEXT::operator<(), SCH_TEXTBOX::operator<(), PCB_REFERENCE_IMAGE::operator=(), SCH_BITMAP::operator=(), SCH_SHEET::operator=(), SCH_SYMBOL::operator=(), BOARD::operator==(), FOOTPRINT::operator==(), PAD::operator==(), PCB_ARC::operator==(), PCB_ARC::operator==(), PCB_DIMENSION_BASE::operator==(), PCB_FIELD::operator==(), PCB_GROUP::operator==(), PCB_POINT::operator==(), PCB_REFERENCE_IMAGE::operator==(), PCB_SHAPE::operator==(), PCB_SHAPE::operator==(), PCB_TABLE::operator==(), PCB_TABLECELL::operator==(), PCB_TARGET::operator==(), PCB_TEXT::operator==(), PCB_TEXTBOX::operator==(), PCB_TRACK::operator==(), PCB_VIA::operator==(), PCB_VIA::operator==(), SCH_BITMAP::operator==(), SCH_BUS_ENTRY_BASE::operator==(), SCH_FIELD::operator==(), SCH_GROUP::operator==(), SCH_ITEM::operator==(), SCH_JUNCTION::operator==(), SCH_LINE::operator==(), SCH_NO_CONNECT::operator==(), SCH_SHAPE::operator==(), SCH_SHEET::operator==(), SCH_SHEET_PIN::operator==(), SCH_SYMBOL::operator==(), SCH_TABLE::operator==(), SCH_TABLECELL::operator==(), SCH_TEXT::operator==(), SCH_TEXTBOX::operator==(), ZONE::operator==(), ZONE::operator==(), PCB_IO_KICAD_SEXPR_PARSER::parsePCB_SHAPE(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), SCH_IO_KICAD_SEXPR_PARSER::parseSchField(), PCB_CONTROL::Paste(), SCH_EDITOR_CONTROL::Paste(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), SCH_DRAWING_TOOLS::PlaceNextSymbolUnit(), SCH_LABEL_BASE::Plot(), BRDITEMS_PLOTTER::PlotBoardGraphicItem(), OUTSET_ROUTINE::ProcessItem(), DIALOG_GLOBAL_EDIT_TEARDROPS::processItem(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::processItem(), BACK_ANNOTATE::processNetNameChange(), CONNECTION_GRAPH::processSubGraphs(), BOARD_COMMIT::propagateDamage(), SCH_EDIT_TOOL::Properties(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), BOARD_COMMIT::Push(), SCH_COMMIT::pushSchEdit(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), SCH_EDIT_FRAME::PutDataInPreviousState(), EE_GRID_HELPER::queryVisible(), PCB_GRID_HELPER::queryVisible(), BOARD_REANNOTATE_TOOL::ReannotateDuplicates(), PCB_SELECTION_TOOL::RebuildSelection(), SCHEMATIC::RecalculateConnections(), SCH_BASE_FRAME::RefreshZoomDependentItems(), GENERATOR_TOOL::RegenerateSelected(), PCB_CONTROL::rehatchBoardItem(), BOARD::Remove(), CN_CONNECTIVITY_ALGO::Remove(), FOOTPRINT::Remove(), KIGFX::PCB_VIEW::Remove(), SCH_SCREEN::Remove(), EE_RTREE::remove(), BOARD::RemoveAllItemsOnLayer(), PCB_POINT_EDITOR::removeCorner(), PCB_POINT_EDITOR::removeCornerCondition(), LIB_SYMBOL::RemoveDrawItem(), SCH_BASE_FRAME::RemoveFromScreen(), CONNECTION_SUBGRAPH::RemoveItem(), PNS_KICAD_IFACE::RemoveItem(), SCH_SHEET::RemovePin(), SCH_EDIT_TOOL::RepeatDrawItem(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), SCH_SELECTION_TOOL::RequestSelection(), KI_TEST::RequireBoardItemWithTypeAndId(), CONNECTION_GRAPH::resolveAllDrivers(), SCHEMATIC::ResolveCrossReference(), CONNECTION_SUBGRAPH::ResolveDrivers(), BOARD::ResolveTextVar(), SCH_LABEL_BASE::ResolveTextVar(), DS_PROXY_UNDO_ITEM::Restore(), BOARD_COMMIT::Revert(), SCH_COMMIT::Revert(), PL_EDITOR_FRAME::RollbackFromUndo(), EDIT_TOOL::Rotate(), SCH_EDIT_TOOL::Rotate(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), DRC_TEST_PROVIDER_TRACK_ANGLE::Run(), DRC_TEST_PROVIDER_TRACK_SEGMENT_LENGTH::Run(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveField(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveField(), SCH_IO_KICAD_LEGACY_LIB_CACHE::savePin(), SCH_IO_KICAD_SEXPR_LIB_CACHE::savePin(), CLIPBOARD_IO::SaveSelection(), PCB_EDIT_FRAME::SaveSelectionToDesignBlock(), SCH_EDIT_FRAME::SaveSelectionToDesignBlock(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveSymbolDrawItem(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveText(), SCH_IO_KICAD_SEXPR::saveText(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveText(), SCH_IO_KICAD_SEXPR::saveTextBox(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveTextBox(), SCH_FIELD::SCH_FIELD(), SCH_SCREEN::Schematic(), POWER_SEARCH_HANDLER::Search(), SYMBOL_SEARCH_HANDLER::Search(), TEXT_SEARCH_HANDLER::Search(), CONVERT_TOOL::SegmentToArc(), PCB_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::Selectable(), SCH_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::selectAllConnectedTracks(), PCB_SELECTION_TOOL::SelectMultiple(), PCB_SELECTION_TOOL::selectSameSheet(), PCB_SELECTION_TOOL::selectUnconnected(), PCB_EDIT_FRAME::SetActiveLayer(), PCB_POINT_EDITOR::setAltConstraint(), ITEM_PICKER::SetItem(), SCH_LABEL_BASE::SetLabelShape(), PCB_BASE_FRAME::SetPlotSettings(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), PCB_EDIT_FRAME::ShowFindDialog(), SCH_BASE_FRAME::ShowFindReplaceDialog(), FOOTPRINT::Similarity(), LIB_SYMBOL::Similarity(), PAD::Similarity(), PCB_ARC::Similarity(), PCB_BOARD_OUTLINE::Similarity(), PCB_DIMENSION_BASE::Similarity(), PCB_FIELD::Similarity(), PCB_GROUP::Similarity(), PCB_POINT::Similarity(), PCB_REFERENCE_IMAGE::Similarity(), PCB_SHAPE::Similarity(), PCB_TABLE::Similarity(), PCB_TABLECELL::Similarity(), PCB_TARGET::Similarity(), PCB_TEXT::Similarity(), PCB_TEXTBOX::Similarity(), PCB_TRACK::Similarity(), PCB_VIA::Similarity(), SCH_BITMAP::Similarity(), SCH_BUS_ENTRY_BASE::Similarity(), SCH_FIELD::Similarity(), SCH_GROUP::Similarity(), SCH_JUNCTION::Similarity(), SCH_LINE::Similarity(), SCH_NO_CONNECT::Similarity(), SCH_PIN::Similarity(), SCH_SHAPE::Similarity(), SCH_SHEET::Similarity(), SCH_SHEET_PIN::Similarity(), SCH_SYMBOL::Similarity(), SCH_TABLE::Similarity(), SCH_TABLECELL::Similarity(), SCH_TEXT::Similarity(), SCH_TEXTBOX::Similarity(), ZONE::Similarity(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), PNS::LINE_PLACER::Start(), EDIT_TOOL::Swap(), SCH_EDIT_TOOL::Swap(), SYMBOL_EDITOR_EDIT_TOOL::Swap(), FOOTPRINT::swapData(), PAD::swapData(), PCB_ARC::swapData(), PCB_BARCODE::swapData(), PCB_DIM_ALIGNED::swapData(), PCB_DIM_CENTER::swapData(), PCB_DIM_LEADER::swapData(), PCB_DIM_ORTHOGONAL::swapData(), PCB_DIM_RADIAL::swapData(), PCB_FIELD::swapData(), PCB_GROUP::swapData(), PCB_POINT::swapData(), PCB_REFERENCE_IMAGE::swapData(), PCB_TABLE::swapData(), PCB_TABLECELL::swapData(), PCB_TARGET::swapData(), PCB_TEXT::swapData(), PCB_TEXTBOX::swapData(), PCB_TRACK::swapData(), PCB_TUNING_PATTERN::swapData(), PCB_VIA::swapData(), SCH_BITMAP::swapData(), SCH_FIELD::swapData(), SCH_GROUP::swapData(), SCH_JUNCTION::swapData(), SCH_NO_CONNECT::swapData(), SCH_SHEET::swapData(), SCH_SHEET_PIN::swapData(), SCH_SYMBOL::swapData(), SCH_TABLE::swapData(), ZONE::swapData(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), SCH_EDIT_TOOL::SwapPins(), PNS_KICAD_IFACE_BASE::syncGraphicalItem(), PNS_KICAD_IFACE_BASE::syncTextItem(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), DRC_TEST_PROVIDER_HOLE_TO_HOLE::testHoleAgainstHole(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones(), ERC_TESTER::TestMissingNetclasses(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testSingleLayerItemAgainstItem(), ERC_TESTER::TestTextVars(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackClearances(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), DIALOG_FIELD_PROPERTIES::TransferDataToWindow(), DIALOG_SYMBOL_FIELDS_TABLE::TransferDataToWindow(), PCB_TRACK::TransformShapeToPolygon(), SCH_LINE_WIRE_BUS_TOOL::TrimOverLappingWires(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), BOARD_COMMIT::undoLevelItem(), SCH_SELECTION_TOOL::unhighlight(), KIGFX::PCB_VIEW::Update(), KIGFX::SCH_VIEW::Update(), SCH_SHEET_PATH::UpdateAllScreenReferences(), DIALOG_FIELD_PROPERTIES::UpdateField(), CONNECTION_GRAPH::updateGenericItemConnectivity(), PCB_SHAPE::UpdateHatching(), SCH_BASE_FRAME::UpdateItem(), PCB_POINT_EDITOR::updateItem(), PL_POINT_EDITOR::updateItem(), PCB_CONTROL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), PL_POINT_EDITOR::updatePoints(), PCB_PROPERTIES_PANEL::valueChanged(), SCH_PROPERTIES_PANEL::valueChanged(), SCH_BUS_ENTRY_BASE::ViewGetLayers(), SYMBOL::ViewGetLayers(), GERBER_DRAW_ITEM::Visit(), PCB_GROUP::Visit(), PCB_TRACK::Visit(), SCH_GROUP::Visit(), SCH_SHEET::Visit(), DIALOG_GLOBAL_EDIT_TEARDROPS::visitItem(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem().

◆ UpdateFontFiles()

const std::vector< wxString > * EMBEDDED_FILES::UpdateFontFiles ( )
inherited

Helper function to get a list of fonts for fontconfig to add to the library.

This is necessary because EMBEDDED_FILES lives in common at the moment and fontconfig is in libkicommon. This will create the cache files in the KiCad cache directory (if they do not already exist) and return the temp files names

Definition at line 535 of file embedded_files.cpp.

References EMBEDDED_FILES::EMBEDDED_FILE::FONT, GetTemporaryFileName(), m_files, m_fontFiles, and name.

Referenced by SCH_SCREEN::FixupEmbeddedData(), PCB_IO_KICAD_SEXPR_PARSER::Parse(), and SCH_IO_KICAD_SEXPR_PARSER::ParseSymbol().

◆ Value() [1/2]

◆ Value() [2/2]

const PCB_FIELD & FOOTPRINT::Value ( ) const
inline

The const versions to keep the compiler happy.

Definition at line 701 of file footprint.h.

References GetField(), and VALUE.

◆ ViewBBox()

const BOX2I FOOTPRINT::ViewBBox ( ) const
overridevirtual

Return the bounding box of the item covering all its layers.

Returns
the current bounding box.

Reimplemented from EDA_ITEM.

Definition at line 2486 of file footprint.cpp.

References BOARD_ITEM::GetBoard(), GetBoundingBox(), and BOX2< Vec >::Inflate().

◆ ViewDraw()

virtual void KIGFX::VIEW_ITEM::ViewDraw ( int aLayer,
VIEW * aView ) const
inlinevirtualinherited

Draw the parts of the object belonging to layer aLayer.

An alternative way for drawing objects if there is no #PAINTER assigned for the view or if the PAINTER doesn't know how to paint this particular implementation of VIEW_ITEM. The preferred way of drawing is to design an appropriate PAINTER object, the method below is intended only for quick hacks and debugging purposes.

Parameters
aLayeris the current drawing layer.
aViewis a pointer to the VIEW device we are drawing on.

Reimplemented in DS_PROXY_VIEW_ITEM, EDIT_POINTS, KIGFX::ANCHOR_DEBUG, KIGFX::CONSTRUCTION_GEOM, KIGFX::ORIGIN_VIEWITEM, KIGFX::PREVIEW::ARC_ASSISTANT, KIGFX::PREVIEW::BEZIER_ASSISTANT, KIGFX::PREVIEW::RULER_ITEM, KIGFX::PREVIEW::SELECTION_AREA, KIGFX::PREVIEW::SIMPLE_OVERLAY_ITEM, KIGFX::PREVIEW::TWO_POINT_ASSISTANT, KIGFX::SNAP_INDICATOR, KIGFX::VIEW_GROUP, KIGFX::VIEW_OVERLAY, MY_DRAWING, PCB_TUNING_PATTERN, RATSNEST_VIEW_ITEM, RECT_RADIUS_TEXT_ITEM, ROUTER_PREVIEW_ITEM, ROUTER_STATUS_VIEW_ITEM, TUNING_STATUS_VIEW_ITEM, and VIEW_OVERLAY.

Definition at line 127 of file view_item.h.

References VIEW.

Referenced by KIGFX::VIEW::draw(), and KIGFX::VIEW::updateItemGeometry().

◆ ViewGetLayers()

std::vector< int > FOOTPRINT::ViewGetLayers ( ) const
overridevirtual

Return the all the layers within the VIEW the object is painted on.

For instance, a PAD spans zero or more copper layers and a few technical layers. ViewDraw() or PAINTER::Draw() is repeatedly called for each of the layers returned by ViewGetLayers(), depending on the rendering order.

Reimplemented from BOARD_ITEM.

Definition at line 2404 of file footprint.cpp.

References B_Cu, B_SilkS, BOARD_ITEM::BOARD_ITEM(), F_Cu, F_SilkS, IsConflicting(), KI_FALLTHROUGH, LAYER_ANCHOR, LAYER_CONFLICTS_SHADOW, LAYER_FOOTPRINTS_BK, LAYER_FOOTPRINTS_FR, m_drawings, BOARD_ITEM::m_layer, and m_pads.

◆ ViewGetLOD()

double FOOTPRINT::ViewGetLOD ( int aLayer,
const KIGFX::VIEW * aView ) const
overridevirtual

Return the level of detail (LOD) of the item.

A level of detail is the minimal VIEW scale that is sufficient for an item to be shown on a given layer.

Use LOD_HIDE and LOD_SHOW constants to hide or show the item unconditionally.

Use lodScaleForThreshold() to calculate the LOD scale for when the item passes a certain threshold size on screen.

Parameters
aLayeris the current drawing layer.
aViewis a pointer to the VIEW device we are drawing on.
Returns
the level of detail. 0 always shows the item, because the actual zoom level (or VIEW scale) is always > 0

Reimplemented from KIGFX::VIEW_ITEM.

Definition at line 2457 of file footprint.cpp.

References B_Cu, F_Cu, IsConflicting(), KIGFX::VIEW::IsLayerVisible(), LAYER_ANCHOR, LAYER_CONFLICTS_SHADOW, LAYER_FOOTPRINTS_BK, LAYER_FOOTPRINTS_FR, KIGFX::VIEW_ITEM::LOD_HIDE, KIGFX::VIEW_ITEM::LOD_SHOW, and BOARD_ITEM::m_layer.

◆ viewPrivData()

◆ Visit()

INSPECT_RESULT FOOTPRINT::Visit ( INSPECTOR inspector,
void * testData,
const std::vector< KICAD_T > & aScanTypes )
overridevirtual

May be re-implemented for each derived class in order to handle all the types given by its member data.

Implementations should call inspector->Inspect() on types in aScanTypes, and may use IterateForward() to do so on lists of such data.

Parameters
inspectorAn INSPECTOR instance to use in the inspection.
testDataArbitrary data used by the inspector.
aScanTypesWhich KICAD_T types are of interest and the order in which they should be processed.
Returns
#SEARCH_RESULT SEARCH_QUIT if the Iterator is to stop the scan, else #SCAN_CONTINUE, and determined by the inspector.

Reimplemented from EDA_ITEM.

Definition at line 2250 of file footprint.cpp.

References CONTINUE, GetClass(), EDA_ITEM::IterateForward(), m_drawings, m_fields, m_groups, m_pads, m_points, m_zones, PCB_BARCODE_T, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_FIELD_T, PCB_FOOTPRINT_T, PCB_GROUP_T, PCB_PAD_T, PCB_POINT_T, PCB_SHAPE_T, PCB_TABLE_T, PCB_TABLECELL_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_ZONE_T, and QUIT.

◆ WriteEmbeddedFiles()

void EMBEDDED_FILES::WriteEmbeddedFiles ( OUTPUTFORMATTER & aOut,
bool aWriteData ) const
inherited

Output formatter for the embedded files.

Parameters
aOutis the output formatter.
aWriteDatais true if the actual data should be written. This is false when writing an element that is already embedded in a file that itself has embedded files (boards, schematics, etc.).

Definition at line 156 of file embedded_files.cpp.

References EMBEDDED_FILES::EMBEDDED_FILE::compressedEncodedData, EMBEDDED_FILES::EMBEDDED_FILE::data_hash, EMBEDDED_FILES::EMBEDDED_FILE::DATASHEET, EMBEDDED_FILES::EMBEDDED_FILE::FONT, m_files, MIME_BASE64_LENGTH, EMBEDDED_FILES::EMBEDDED_FILE::MODEL, EMBEDDED_FILES::EMBEDDED_FILE::name, name, OUTPUTFORMATTER::Print(), OUTPUTFORMATTER::Quotew(), EMBEDDED_FILES::EMBEDDED_FILE::type, and EMBEDDED_FILES::EMBEDDED_FILE::WORKSHEET.

Referenced by PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), and SCH_IO_KICAD_SEXPR_LIB_CACHE::SaveSymbol().

◆ XorFlags()

void EDA_ITEM::XorFlags ( EDA_ITEM_FLAGS aMask)
inlineinherited

Definition at line 143 of file eda_item.h.

References m_flags.

Referenced by SCH_SELECTION_TOOL::SelectMultiple().

◆ Zones() [1/2]

◆ Zones() [2/2]

const ZONES & FOOTPRINT::Zones ( ) const
inline

Definition at line 231 of file footprint.h.

References m_zones.

Member Data Documentation

◆ LOD_HIDE

◆ LOD_SHOW

◆ m_3D_Drawings

std::vector<FP_3DMODEL> FOOTPRINT::m_3D_Drawings
private

◆ m_allowMissingCourtyard

bool FOOTPRINT::m_allowMissingCourtyard
private

◆ m_allowSolderMaskBridges

bool FOOTPRINT::m_allowSolderMaskBridges
private

◆ m_arflag

int FOOTPRINT::m_arflag
private

Definition at line 1177 of file footprint.h.

Referenced by FOOTPRINT(), FOOTPRINT(), GetFlag(), IncrementFlag(), and SetFlag().

◆ m_attributes

◆ m_boundingBoxCacheTimeStamp

int FOOTPRINT::m_boundingBoxCacheTimeStamp
mutableprivate

◆ m_cachedBoundingBox

BOX2I FOOTPRINT::m_cachedBoundingBox
mutableprivate

◆ m_cachedHull

SHAPE_POLY_SET FOOTPRINT::m_cachedHull
mutableprivate

◆ m_cachedTextExcludedBBox

BOX2I FOOTPRINT::m_cachedTextExcludedBBox
mutableprivate

◆ m_clearance

std::optional<int> FOOTPRINT::m_clearance
private

◆ m_componentClassCacheProxy

◆ m_courtyard_cache_back

SHAPE_POLY_SET FOOTPRINT::m_courtyard_cache_back
private

◆ m_courtyard_cache_back_hash

HASH_128 FOOTPRINT::m_courtyard_cache_back_hash
mutableprivate

◆ m_courtyard_cache_front

SHAPE_POLY_SET FOOTPRINT::m_courtyard_cache_front
private

◆ m_courtyard_cache_front_hash

HASH_128 FOOTPRINT::m_courtyard_cache_front_hash
mutableprivate

◆ m_courtyard_cache_mutex

std::mutex FOOTPRINT::m_courtyard_cache_mutex
mutableprivate

Definition at line 1188 of file footprint.h.

Referenced by GetCourtyard().

◆ m_drawings

◆ m_duplicatePadNumbersAreJumpers

bool FOOTPRINT::m_duplicatePadNumbersAreJumpers
private

Flag that this footprint should automatically treat sets of two or more pads with the same number as jumpered pin groups.

Definition at line 1153 of file footprint.h.

Referenced by FOOTPRINT(), FOOTPRINT(), GetDuplicatePadNumbersAreJumpers(), operator=(), and SetDuplicatePadNumbersAreJumpers().

◆ m_embedFonts

bool EMBEDDED_FILES::m_embedFonts = false
protectedinherited

If set, fonts will be embedded in the element on save.

Otherwise, font files embedded in the element will be removed on save.

Definition at line 284 of file embedded_files.h.

Referenced by EMBEDDED_FILES(), EMBEDDED_FILES(), FOOTPRINT::FOOTPRINT(), FOOTPRINT::FOOTPRINT(), GetAreFontsEmbedded(), operator=(), operator=(), and SetAreFontsEmbedded().

◆ m_fields

◆ m_fileAddedCallback

FILE_ADDED_CALLBACK EMBEDDED_FILES::m_fileAddedCallback
privateinherited

◆ m_fileFormatVersionAtLoad

int FOOTPRINT::m_fileFormatVersionAtLoad
private

◆ m_files

◆ m_filters

wxString FOOTPRINT::m_filters
private

Definition at line 1175 of file footprint.h.

Referenced by FOOTPRINT(), GetFilters(), and SetFilters().

◆ m_flags

◆ m_fontFiles

std::vector<wxString> EMBEDDED_FILES::m_fontFiles
privateinherited

◆ m_forcedTransparency

double KIGFX::VIEW_ITEM::m_forcedTransparency
privateinherited

Additional transparency for diff'ing items.

Definition at line 210 of file view_item.h.

Referenced by GetForcedTransparency(), KIGFX::VIEW::DRAW_ITEM_VISITOR::operator()(), SetForcedTransparency(), and VIEW_ITEM().

◆ m_forceVisible

◆ m_fpid

LIB_ID FOOTPRINT::m_fpid
private

◆ m_fpStatus

◆ m_group

EDA_GROUP* EDA_ITEM::m_group
protectedinherited

The group this item belongs to, if any. No ownership implied.

Definition at line 529 of file eda_item.h.

Referenced by EDA_ITEM(), EDA_ITEM(), EDA_ITEM(), GetParentGroup(), operator=(), SCH_LINE::SCH_LINE(), SetParentGroup(), and SCH_ITEM::SwapItemData().

◆ m_groups

std::deque<PCB_GROUP*> FOOTPRINT::m_groups
private

◆ m_hullCacheTimeStamp

int FOOTPRINT::m_hullCacheTimeStamp
mutableprivate

◆ m_initial_comments

wxArrayString* FOOTPRINT::m_initial_comments
private

◆ m_isBOARD_ITEM

bool KIGFX::VIEW_ITEM::m_isBOARD_ITEM
privateinherited

Definition at line 208 of file view_item.h.

Referenced by IsBOARD_ITEM(), and VIEW_ITEM().

◆ m_isKnockout

bool BOARD_ITEM::m_isKnockout
protectedinherited

◆ m_isLocked

bool BOARD_ITEM::m_isLocked
protectedinherited

◆ m_isRollover

bool EDA_ITEM::m_isRollover
protectedinherited

Definition at line 531 of file eda_item.h.

Referenced by EDA_ITEM(), EDA_ITEM(), EDA_ITEM(), IsRollover(), operator=(), and SetIsRollover().

◆ m_isSCH_ITEM

bool KIGFX::VIEW_ITEM::m_isSCH_ITEM
privateinherited

Definition at line 207 of file view_item.h.

Referenced by IsSCH_ITEM(), and VIEW_ITEM().

◆ m_jumperPadGroups

std::vector<std::set<wxString> > FOOTPRINT::m_jumperPadGroups
private

A list of jumper pad groups, each of which is a set of pad numbers that should be jumpered together (treated as internally connected for the purposes of connectivity)

Definition at line 1149 of file footprint.h.

Referenced by FOOTPRINT(), GetJumperPadGroup(), JumperPadGroups(), JumperPadGroups(), and operator=().

◆ m_keywords

wxString FOOTPRINT::m_keywords
private

Definition at line 1171 of file footprint.h.

Referenced by FOOTPRINT(), GetKeywords(), GetMsgPanelInfo(), operator=(), operator=(), and SetKeywords().

◆ m_lastEditTime

timestamp_t FOOTPRINT::m_lastEditTime
private

Definition at line 1176 of file footprint.h.

Referenced by FOOTPRINT(), FOOTPRINT(), operator=(), and operator=().

◆ m_layer

PCB_LAYER_ID BOARD_ITEM::m_layer
protectedinherited

Definition at line 453 of file board_item.h.

Referenced by PCB_BARCODE::AssembleBarcode(), BOARD_ITEM(), FOOTPRINT::FOOTPRINT(), PCB_BARCODE::GetBoundingHull(), PCB_VIA::GetDrillConstraint(), GetLayer(), PCB_SHAPE::GetLayer(), GetLayerName(), GetLayerSet(), PCB_SHAPE::GetLayerSet(), PCB_TRACK::GetLayerSet(), PCB_REFERENCE_IMAGE::GetMsgPanelInfo(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), PAD::GetPrincipalLayer(), PCB_SHAPE::GetSolderMaskExpansion(), PCB_TRACK::GetSolderMaskExpansion(), PCB_TRACK::GetWidthConstraint(), PCB_VIA::GetWidthConstraint(), IsOnLayer(), PCB_SHAPE::IsOnLayer(), PCB_TRACK::IsOnLayer(), IsSideSpecific(), PCB_SHAPE::IsType(), PCB_ARC::operator==(), PCB_REFERENCE_IMAGE::operator==(), PCB_SHAPE::operator==(), PCB_TARGET::operator==(), PCB_TRACK::operator==(), PCB_VIA::operator==(), PCB_BARCODE::PCB_BARCODE(), PCB_DIMENSION_BASE::PCB_DIMENSION_BASE(), PCB_TARGET::PCB_TARGET(), PCB_TARGET::PCB_TARGET(), PCB_TUNING_PATTERN::recoverBaseline(), PCB_MARKER::SerializeToString(), SetLayer(), PCB_BARCODE::SetLayer(), PCB_GENERATOR::SetLayer(), PCB_ARC::Similarity(), PCB_REFERENCE_IMAGE::Similarity(), PCB_TRACK::Similarity(), PCB_VIA::Similarity(), PCB_DIMENSION_BASE::StyleFromSettings(), PCB_REFERENCE_IMAGE::swapData(), PCB_SHAPE::swapData(), PCB_TABLE::swapData(), PCB_BARCODE::TransformShapeToPolygon(), ViewGetLayers(), FOOTPRINT::ViewGetLayers(), PCB_REFERENCE_IMAGE::ViewGetLayers(), PCB_SHAPE::ViewGetLayers(), PCB_TRACK::ViewGetLayers(), FOOTPRINT::ViewGetLOD(), PCB_POINT::ViewGetLOD(), PCB_REFERENCE_IMAGE::ViewGetLOD(), PCB_SHAPE::ViewGetLOD(), PCB_TEXT::ViewGetLOD(), PCB_TEXTBOX::ViewGetLOD(), and PCB_TRACK::ViewGetLOD().

◆ m_libDescription

wxString FOOTPRINT::m_libDescription
private

◆ m_link

KIID FOOTPRINT::m_link
private

Definition at line 1178 of file footprint.h.

Referenced by FOOTPRINT(), FOOTPRINT(), GetLink(), operator=(), operator=(), and SetLink().

◆ m_netTieCache

std::map<const BOARD_ITEM*, std::set<int> > FOOTPRINT::m_netTieCache
private

Definition at line 1145 of file footprint.h.

Referenced by BuildNetTieCache(), and GetNetTieCache().

◆ m_netTiePadGroups

std::vector<wxString> FOOTPRINT::m_netTiePadGroups
private

◆ m_orient

EDA_ANGLE FOOTPRINT::m_orient
private

◆ m_pads

◆ m_parent

◆ m_path

KIID_PATH FOOTPRINT::m_path
private

Definition at line 1172 of file footprint.h.

Referenced by FOOTPRINT(), GetPath(), operator=(), operator=(), Serialize(), and SetPath().

◆ m_points

◆ m_pos

VECTOR2I FOOTPRINT::m_pos
private

◆ m_privateLayers

◆ m_sheetfile

wxString FOOTPRINT::m_sheetfile
private

Definition at line 1174 of file footprint.h.

Referenced by FOOTPRINT(), GetSheetfile(), and SetSheetfile().

◆ m_sheetname

wxString FOOTPRINT::m_sheetname
private

Definition at line 1173 of file footprint.h.

Referenced by FOOTPRINT(), GetSheetname(), and SetSheetname().

◆ m_solderMaskMargin

std::optional<int> FOOTPRINT::m_solderMaskMargin
private

◆ m_solderPasteMargin

std::optional<int> FOOTPRINT::m_solderPasteMargin
private

◆ m_solderPasteMarginRatio

std::optional<double> FOOTPRINT::m_solderPasteMarginRatio
private

◆ m_stackupLayers

LSET FOOTPRINT::m_stackupLayers
private

◆ m_stackupMode

FOOTPRINT_STACKUP FOOTPRINT::m_stackupMode
private

Definition at line 1167 of file footprint.h.

Referenced by FOOTPRINT(), FOOTPRINT(), GetStackupMode(), SetStackupLayers(), and SetStackupMode().

◆ m_structType

KICAD_T EDA_ITEM::m_structType
privateinherited

Run time identification, keep private so it can never be changed after a ctor sets it.

See comment near SetType() regarding virtual functions.

Definition at line 524 of file eda_item.h.

Referenced by EDA_ITEM(), EDA_ITEM(), EDA_ITEM(), IsType(), operator=(), and Type().

◆ m_textExcludedBBoxCacheTimeStamp

int FOOTPRINT::m_textExcludedBBoxCacheTimeStamp
mutableprivate

◆ m_transientComponentClassNames

std::unordered_set<wxString> FOOTPRINT::m_transientComponentClassNames
private

◆ m_unitInfo

std::vector<FP_UNIT_INFO> FOOTPRINT::m_unitInfo
private

Definition at line 1194 of file footprint.h.

Referenced by GetUnitInfo(), and SetUnitInfo().

◆ m_Uuid

const KIID EDA_ITEM::m_Uuid
inherited

Definition at line 516 of file eda_item.h.

Referenced by BOARD::Add(), SCH_RULE_AREA::addContainedItem(), SCH_RULE_AREA::addDirective(), SCH_SYMBOL::AddHierarchicalReference(), RC_ITEM::AddItem(), FIELDS_EDITOR_GRID_DATA_MODEL::AddReferences(), SCH_EDIT_FRAME::AnnotateSymbols(), FIELDS_EDITOR_GRID_DATA_MODEL::ApplyData(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOARD::BulkRemoveStaleTeardrops(), SCH_SHEET_PATH::CheckForMissingSymbolInstances(), LIB_FIELDS_EDITOR_GRID_DATA_MODEL::ClearCell(), SCH_SHEET_PATH::Cmp(), SCH_ITEM::compare(), SCH_SHAPE::compare(), SCHEMATIC::ConvertRefsToKIIDs(), LIB_FIELDS_EDITOR_GRID_DATA_MODEL::createActualDerivedSymbol(), SCHEMATIC::CreateDefaultScreens(), LIB_FIELDS_EDITOR_GRID_DATA_MODEL::CreateDerivedSymbol(), MICROWAVE_TOOL::createMicrowaveInductor(), FOOTPRINT::Deserialize(), PAD::Deserialize(), PCB_ARC::Deserialize(), PCB_DIMENSION_BASE::Deserialize(), PCB_GROUP::Deserialize(), PCB_SHAPE::Deserialize(), PCB_TEXT::Deserialize(), PCB_TEXTBOX::Deserialize(), PCB_TRACK::Deserialize(), PCB_VIA::Deserialize(), SCH_LABEL::Deserialize(), SCH_LINE::Deserialize(), ZONE::Deserialize(), SCH_MARKER::DeserializeFromString(), BOARD_INSPECTION_TOOL::DiffFootprint(), SCH_INSPECTION_TOOL::DiffSymbol(), ZONE_FILLER_TOOL::DirtyZone(), DRAWING_TOOL::DrawVia(), BOARD_ITEM::Duplicate(), FOOTPRINT::Duplicate(), LIB_SYMBOL::Duplicate(), SCH_ITEM::Duplicate(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), FOOTPRINT::DuplicateItem(), EDA_ITEM(), PCB_EDIT_FRAME::ExchangeFootprint(), PAD_TOOL::explodePad(), NETLIST_EXPORTER_ALLEGRO::extractComponentsInfo(), BOARD::FillItemMap(), SCH_SHEET_LIST::FillItemMap(), MULTICHANNEL_TOOL::findOtherItemsInRuleArea(), MULTICHANNEL_TOOL::findRoutingInRuleArea(), KIGIT_PCB_MERGE::findSetDifferences(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), SCH_EDIT_FRAME::FocusOnItem(), SYMBOL_EDIT_FRAME::FocusOnItem(), PCB_BASE_FRAME::FocusOnItems(), SCH_IO_KICAD_SEXPR::Format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), SCH_PIN::GetDefaultNetName(), RC_ITEM::GetJsonViolation(), PAD::GetMsgPanelInfo(), DIALOG_BOARD_REANNOTATE::GetNewRefDes(), PCB_MARKER::GetUUID(), SCH_MARKER::GetUUID(), FIELDS_EDITOR_GRID_DATA_MODEL::GetValue(), LIB_FIELDS_EDITOR_GRID_DATA_MODEL::GetValue(), FIELDS_EDITOR_GRID_DATA_MODEL::groupMatch(), LIB_FIELDS_EDITOR_GRID_DATA_MODEL::groupMatch(), ZONE::HigherPriority(), SCH_SHEET_PATH::IsContainedWithin(), PCB_IO_KICAD_LEGACY::loadFOOTPRINT(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), PCB_EDIT_FRAME::LoadFootprints(), SCH_IO_KICAD_LEGACY::loadHierarchy(), PCB_IO_KICAD_LEGACY::loadPCB_TARGET(), PCB_IO_KICAD_LEGACY::loadPCB_TEXT(), EESCHEMA_HELPERS::LoadSchematic(), SCH_IO_CADSTAR_ARCHIVE::LoadSchematicFile(), SCH_IO_EASYEDA::LoadSchematicFile(), SCH_IO_EASYEDAPRO::LoadSchematicFile(), SCH_IO_LTSPICE::LoadSchematicFile(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic(), PCB_IO_KICAD_LEGACY::loadTrackList(), NETLIST_EXPORTER_XML::makeSymbols(), SCH_EDIT_FRAME::mapExistingAnnotation(), BOARD::cmp_drawings::operator()(), BOARD::cmp_items::operator()(), BOARD_ITEM::ptr_cmp::operator()(), CompareByUuid::operator()(), FOOTPRINT::cmp_drawings::operator()(), FOOTPRINT::cmp_pads::operator()(), FOOTPRINT::cmp_zones::operator()(), PCB_SHAPE::cmp_drawings::operator()(), PCB_TRACK::cmp_tracks::operator()(), SCH_SYMBOL::operator<(), PAD::operator==(), SCH_FIELD::operator==(), PAD::PAD(), PCB_IO_KICAD_SEXPR_PARSER::parsePCB_TEXT_effects(), SCH_IO_KICAD_SEXPR_PARSER::ParseSchematic(), SCH_IO_KICAD_SEXPR_PARSER::parseSchTextBoxContent(), PCB_IO_KICAD_SEXPR_PARSER::parseTextBoxContent(), SCH_EDITOR_CONTROL::Paste(), SCH_SHEET_PATH::PathAsString(), PCB_VIA::PCB_VIA(), PCB_CONTROL::placeBoardItems(), processTextItem(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), BOARD::Remove(), SCH_SYMBOL::RemoveInstance(), FIELDS_EDITOR_GRID_DATA_MODEL::RemoveSymbol(), FIELDS_EDITOR_GRID_DATA_MODEL::RenameColumn(), SCH_SCREENS::ReplaceDuplicateTimeStamps(), PCB_IO_KICAD_SEXPR_PARSER::resolveGroups(), BOARD::ResolveItem(), SCH_SHEET_PATH::ResolveItem(), LIB_FIELDS_EDITOR_GRID_DATA_MODEL::RevertRow(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), SCH_IO_KICAD_SEXPR::saveBitmap(), SCH_IO_KICAD_SEXPR::saveBusEntry(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_IO_KICAD_SEXPR::saveGroup(), SCH_IO_KICAD_SEXPR::saveJunction(), SCH_IO_KICAD_SEXPR::saveLine(), SCH_IO_KICAD_SEXPR::saveNoConnect(), SCH_EDIT_FRAME::SaveProject(), SCH_IO_KICAD_SEXPR::saveShape(), SCH_IO_KICAD_LEGACY::saveSheet(), SCH_IO_KICAD_SEXPR::saveSheet(), SCH_IO_KICAD_LEGACY::saveSymbol(), SCH_IO_KICAD_SEXPR::saveSymbol(), SCH_IO_KICAD_SEXPR::saveTable(), SCH_IO_KICAD_SEXPR::saveText(), SCH_IO_KICAD_SEXPR::saveTextBox(), SCH_PIN::SCH_PIN(), SCH_REFERENCE::SCH_REFERENCE(), SCH_SHEET::SCH_SHEET(), SCH_SYMBOL::SCH_SYMBOL(), FOOTPRINT::Serialize(), PAD::Serialize(), PCB_ARC::Serialize(), PCB_DIMENSION_BASE::Serialize(), PCB_GROUP::Serialize(), PCB_SHAPE::Serialize(), PCB_TEXT::Serialize(), PCB_TEXTBOX::Serialize(), PCB_TRACK::Serialize(), PCB_VIA::Serialize(), SCH_LABEL::Serialize(), SCH_LINE::Serialize(), ZONE::Serialize(), SCH_MARKER::SerializeToString(), RC_ITEM::SetItems(), SCH_EDITOR_CONTROL::setPastedSymbolInstances(), FIELDS_EDITOR_GRID_DATA_MODEL::SetValue(), LIB_FIELDS_EDITOR_GRID_DATA_MODEL::SetValue(), LIB_SYMBOL::Similarity(), PAD::Similarity(), PCB_DIMENSION_BASE::Similarity(), PCB_FIELD::Similarity(), SCH_BITMAP::Similarity(), SCH_BUS_ENTRY_BASE::Similarity(), SCH_FIELD::Similarity(), SCH_JUNCTION::Similarity(), SCH_LABEL_BASE::Similarity(), SCH_LINE::Similarity(), SCH_NO_CONNECT::Similarity(), SCH_PIN::Similarity(), SCH_SHAPE::Similarity(), SCH_TEXT::Similarity(), SCH_TEXTBOX::Similarity(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_SHEET_LIST::SortByHierarchicalPageNumbers(), SCH_SYMBOL::SyncOtherUnits(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), testGroupEqual(), DRC_TEST_PROVIDER_HOLE_TO_HOLE::testHoleAgainstHole(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testSingleLayerItemAgainstItem(), DIALOG_LIB_FIELDS_TABLE::TransferDataFromWindow(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), FIELDS_EDITOR_GRID_DATA_MODEL::updateDataStoreSymbolField(), LIB_FIELDS_EDITOR_GRID_DATA_MODEL::updateDataStoreSymbolField(), BOARD_NETLIST_UPDATER::updateFootprintGroup(), PCB_CONTROL::UpdateMessagePanel(), PL_EDITOR_CONTROL::UpdateMessagePanel(), SCH_INSPECTION_TOOL::UpdateMessagePanel(), SCH_EDITOR_CONTROL::updatePastedSheet(), SCH_EDITOR_CONTROL::updatePastedSymbol(), BOARD::UpdateRatsnestExclusions(), SCH_SHEET_LIST::UpdateSymbolInstanceData(), NETLIST_EXPORTER_CADSTAR::WriteNetlist(), and NETLIST_EXPORTER_ORCADPCB2::WriteNetlist().

◆ m_viewPrivData

VIEW_ITEM_DATA* KIGFX::VIEW_ITEM::m_viewPrivData
privateinherited

◆ m_zoneConnection

ZONE_CONNECTION FOOTPRINT::m_zoneConnection
private

◆ m_zones

◆ ZeroOffset

VECTOR2I BOARD_ITEM::ZeroOffset
staticinherited

A value of wxPoint(0,0) which can be passed to the Draw() functions.

Definition at line 181 of file board_item.h.

Referenced by BOARD::GetPosition().


The documentation for this class was generated from the following files: