KiCad PCB EDA Suite
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
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
 

Public Types

enum  COMPARE_FLAGS : int { DRC = 0x01 }
 
enum class  RETURN_CODE : int {
  OK , FILE_NOT_FOUND , PERMISSIONS_ERROR , FILE_ALREADY_EXISTS ,
  OUT_OF_MEMORY , CHECKSUM_ERROR
}
 

Public Member Functions

 FOOTPRINT (BOARD *parent)
 
 FOOTPRINT (const FOOTPRINT &aFootprint)
 
 FOOTPRINT (FOOTPRINT &&aFootprint)
 
 ~FOOTPRINT ()
 
FOOTPRINToperator= (const FOOTPRINT &aOther)
 
FOOTPRINToperator= (FOOTPRINT &&aOther)
 
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.
 
LSET GetPrivateLayers () const
 
void SetPrivateLayers (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.
 
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 (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
 
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
 
int GetAttributes () const
 
void SetAttributes (int aAttributes)
 
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 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, bool aSkipNPTHPadsWihNoCopper=false, bool aSkipPlatedPads=false, bool aSkipNonPlatedPads=false) 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 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 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 (MANDATORY_FIELD_T aFieldType)
 Return a mandatory field in this symbol.
 
const PCB_FIELDGetField (MANDATORY_FIELD_T aFieldNdx) const
 
PCB_FIELDGetFieldById (int aFieldId)
 Return a field in this symbol.
 
PCB_FIELDGetFieldByName (const wxString &aFieldName)
 Return a field in this symbol.
 
bool HasFieldByName (const wxString &aFieldName) const
 
wxString GetFieldText (const wxString &aFieldName) const
 Search for a field named aFieldName and returns text associated with this field.
 
void GetFields (std::vector< PCB_FIELD * > &aVector, bool aVisibleOnly) const
 Populate a std::vector with PCB_TEXTs.
 
std::vector< PCB_FIELD * > GetFields (bool aVisibleOnly=false) const
 Return a vector of fields from the symbol.
 
void ClearFields ()
 Clears all fields from the footprint.
 
PCB_FIELDAddField (const PCB_FIELD &aField)
 Add a field to the symbol.
 
void RemoveField (const wxString &aFieldName)
 Remove a user field from the footprint.
 
int GetNextFieldId () const
 Return the next ID for a field for this footprint.
 
void ApplyDefaultSettings (const BOARD &board, bool aStyleFields, bool aStyleText, bool aStyleShapes)
 Apply default board settings to the footprint field text properties.
 
bool IsBoardOnly () const
 
void SetBoardOnly (bool aIsBoardOnly=true)
 
bool IsExcludedFromPosFiles () const
 
void SetExcludedFromPosFiles (bool aExclude=true)
 
bool IsExcludedFromBOM () const
 
void SetExcludedFromBOM (bool aExclude=true)
 
bool AllowMissingCourtyard () const
 
void SetAllowMissingCourtyard (bool aAllow=true)
 
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, 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.
 
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 () const override
 Create a copy of this BOARD_ITEM.
 
BOARD_ITEMDuplicateItem (const BOARD_ITEM *aItem, bool aAddToFootprint=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) const override
 Invoke a function on all descendants.
 
void RunOnDescendants (const std::function< void(BOARD_ITEM *)> &aFunction, int aDepth=0) const override
 Invoke a function on all descendants.
 
virtual std::vector< int > ViewGetLayers () const override
 Return the all the layers within the VIEW the object is painted on.
 
double ViewGetLOD (int aLayer, 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
 
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 SetComponentClass (const COMPONENT_CLASS *aClass)
 
const COMPONENT_CLASSGetComponentClass () const
 
wxString GetComponentClassAsString () const
 
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.
 
void SetParentGroup (PCB_GROUP *aGroup)
 
PCB_GROUPGetParentGroup () 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)
 
virtual void StyleFromSettings (const BOARD_DESIGN_SETTINGS &settings)
 
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.
 
KICAD_T Type () const
 Returns the type of object.
 
virtual void SetParent (EDA_ITEM *aParent)
 
bool IsModified () const
 
bool IsNew () const
 
bool IsMoving () const
 
bool IsSelected () const
 
bool IsEntered () const
 
bool IsBrightened () const
 
bool IsRollover () const
 
void SetSelected ()
 
void SetBrightened ()
 
void ClearSelected ()
 
void ClearBrightened ()
 
void SetModified ()
 
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 Matches (const EDA_SEARCH_DATA &aSearchData, void *aAuxData) const
 Compare the item against the search criteria in aSearchData.
 
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)
 
template<typename T >
bool Set (const wxString &aProperty, T aValue, bool aNotify=true)
 
wxAny Get (PROPERTY_BASE *aProperty) const
 
template<typename T >
Get (PROPERTY_BASE *aProperty) const
 
template<typename T >
std::optional< T > Get (const wxString &aProperty) const
 
EMBEDDED_FILEAddFile (const wxFileName &aName, bool aOverwrite)
 Loads a file from disk and adds it to the collection.
 
void AddFile (EMBEDDED_FILE *aFile)
 Appends a file to the collection.
 
void RemoveFile (const wxString &name, bool aErase=true)
 Removes 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
 Returns the link for an embedded file.
 
bool HasFile (const wxString &name) const
 
bool IsEmpty () const
 
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 ()
 Removes 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)
 Takes 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
 
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.
 

Protected Attributes

PCB_LAYER_ID m_layer
 
bool m_isKnockout
 
bool m_isLocked
 
PCB_GROUPm_group
 
EDA_ITEM_FLAGS m_flags
 
EDA_ITEMm_parent
 Linked list: Link (parent struct)
 
bool m_forceVisible
 
bool m_embedFonts = false
 

Private Attributes

PCB_FIELDS m_fields
 
DRAWINGS m_drawings
 
std::deque< PAD * > m_pads
 
ZONES m_zones
 
GROUPS m_groups
 
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
 
ZONE_CONNECTION m_zoneConnection
 
std::optional< int > m_clearance
 
std::optional< int > m_solderMaskMargin
 
std::optional< int > m_solderPasteMargin
 
std::optional< double > m_solderPasteMarginRatio
 
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
 
LSET m_privateLayers
 
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
 
const COMPONENT_CLASSm_componentClass
 
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
 

Detailed Description

Definition at line 118 of file footprint.h.

Member Enumeration Documentation

◆ COMPARE_FLAGS

enum BOARD_ITEM::COMPARE_FLAGS : int
inherited
Enumerator
DRC 

Definition at line 417 of file board_item.h.

◆ RETURN_CODE

enum class EMBEDDED_FILES::RETURN_CODE : int
stronginherited
Enumerator
OK 
FILE_NOT_FOUND 
PERMISSIONS_ERROR 
FILE_ALREADY_EXISTS 
OUT_OF_MEMORY 
CHECKSUM_ERROR 

Definition at line 85 of file embedded_files.h.

Constructor & Destructor Documentation

◆ FOOTPRINT() [1/3]

◆ FOOTPRINT() [2/3]

◆ FOOTPRINT() [3/3]

FOOTPRINT::FOOTPRINT ( FOOTPRINT &&  aFootprint)

Definition at line 240 of file footprint.cpp.

◆ ~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 1079 of file footprint.cpp.

References EDA_ITEM::ClearEditFlags(), m_drawings, m_fields, m_groups, m_pads, m_zones, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_FIELD_T, PCB_GROUP_T, PCB_PAD_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(), ALTIUM_PCB::ConvertArcs6ToFootprintItem(), ALTIUM_PCB::ConvertArcs6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertFills6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertPads6ToFootprintItemOnCopper(), ALTIUM_PCB::ConvertPads6ToFootprintItemOnNonCopper(), ALTIUM_PCB::ConvertShapeBasedRegions6ToFootprintItem(), ALTIUM_PCB::ConvertShapeBasedRegions6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertTexts6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertTracks6ToFootprintItem(), ALTIUM_PCB::ConvertTracks6ToFootprintItemOnLayer(), ALTIUM_PCB::ConvertVias6ToFootprintItem(), MICROWAVE_TOOL::createBaseFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), MICROWAVE_TOOL::createPolygonShape(), Deserialize(), KI_TEST::DrawArc(), KI_TEST::DrawSegment(), DuplicateItem(), PCB_EDIT_FRAME::ExchangeFootprint(), FOOTPRINT(), ALTIUM_PCB::HelperPcpShapeAsFootprintKeepoutRegion(), PCB_IO_EAGLE::loadElements(), 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=(), 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(), BOARD_COMMIT::Push(), PCB_IO_KICAD_SEXPR_PARSER::resolveGroups(), CLIPBOARD_IO::SaveSelection(), and FOOTPRINT_EDIT_FRAME::SelectFootprintFromBoard().

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

References m_3D_Drawings, and FP_3DMODEL::m_Filename.

◆ AddField()

PCB_FIELD * FOOTPRINT::AddField ( const PCB_FIELD aField)

◆ AddFile() [1/2]

◆ AddFile() [2/2]

void EMBEDDED_FILES::AddFile ( EMBEDDED_FILE aFile)
inherited

Appends a file to the collection.

Definition at line 110 of file embedded_files.cpp.

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

◆ AddNetTiePadGroup()

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

Definition at line 340 of file footprint.h.

References m_netTiePadGroups.

Referenced by Deserialize().

◆ AllowMissingCourtyard()

bool FOOTPRINT::AllowMissingCourtyard ( ) const
inline

Definition at line 777 of file footprint.h.

References FP_ALLOW_MISSING_COURTYARD, and m_attributes.

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

◆ ApplyDefaultSettings()

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

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

References BOARD::GetDesignSettings(), m_drawings, m_fields, 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

◆ BoardLayerCount()

int BOARD_ITEM::BoardLayerCount ( ) const
virtualinherited

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

Definition at line 106 of file board_item.cpp.

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

◆ BoardLayerSet()

LSET BOARD_ITEM::BoardLayerSet ( ) const
virtualinherited

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

Definition at line 128 of file board_item.cpp.

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

Referenced by PADSTACK::EffectiveLayerFor().

◆ BuildCourtyardCaches()

◆ BuildNetTieCache()

void FOOTPRINT::BuildNetTieCache ( )

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

Definition at line 3092 of file footprint.cpp.

References BOARD_CONNECTED_ITEM::GetNetCode(), PAD::GetNumber(), m_drawings, m_netTieCache, m_pads, MapPadNumbersToNetTieGroups(), and pad.

◆ 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 3236 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 3461 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 3348 of file footprint.cpp.

References ARC_HIGH_DEF, B_Cu, ERROR_OUTSIDE, F_Cu, PAD::GetNumber(), PAD::GetPosition(), In1_Cu, BOARD_ITEM::IsOnCopperLayer(), m_drawings, m_fields, m_pads, m_zones, MapPadNumbersToNetTieGroups(), SHAPE_LINE_CHAIN::NearestPoint(), SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), pad, 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 3261 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)

Check for overlapping, different-numbered, non-net-tie pads.

Parameters
aErrorHandlercallback to handle the error messages generated

Definition at line 3279 of file footprint.cpp.

References LSET::AllCuMask(), SHAPE::Collide(), alg::contains(), DRCE_DRILLED_HOLES_COLOCATED, DRCE_DRILLED_HOLES_TOO_CLOSE, DRCE_SHORTING_ITEMS, GetNetTiePads(), pad, and Pads().

Referenced by DIALOG_FOOTPRINT_CHECKER::runChecks().

◆ ClassOf()

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

Definition at line 136 of file footprint.h.

References 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 1070 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

◆ ClearEmbeddedFonts()

void EMBEDDED_FILES::ClearEmbeddedFonts ( )
inherited

◆ ClearFields()

void FOOTPRINT::ClearFields ( )
inline

Clears all fields from the footprint.

Definition at line 717 of file footprint.h.

References m_fields.

Referenced by pasteFootprintItemsToFootprintEditor().

◆ ClearFlags()

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

Definition at line 129 of file eda_item.h.

References EDA_ITEM::m_flags.

Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PNS_KICAD_IFACE::AddItem(), PNS_KICAD_IFACE_GENERATOR::AddItem(), SCH_MOVE_TOOL::AlignToGrid(), SCH_EDIT_TOOL::BreakWire(), BuildCourtyardCaches(), EDA_ITEM::ClearBrightened(), EDA_ITEM::ClearEditFlags(), EDA_ITEM::ClearSelected(), EDA_ITEM::ClearTempFlags(), ConnectBoardShapes(), SYMBOL_EDITOR_EDIT_TOOL::Copy(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), SYMBOL_EDITOR_PIN_TOOL::CreateImagePins(), MICROWAVE_TOOL::createMicrowaveInductor(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), PCB_TOOL_BASE::doInteractiveItemPlacement(), KIGFX::SCH_PAINTER::draw(), SCH_ITEM::Duplicate(), PCB_TUNING_PATTERN::EditPush(), PCB_TUNING_PATTERN::EditRevert(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_SELECTION_TOOL::ExitGroup(), SCH_IO_KICAD_SEXPR::Format(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), EE_SELECTION_TOOL::GuessSelectionCandidates(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::Init(), EE_COLLECTOR::Inspect(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromLibrary(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), 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(), DRC_TEST_PROVIDER_DISALLOW::Run(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_IO_KICAD_SEXPR_LIB_CACHE::savePin(), EE_SELECTION_TOOL::selectMultiple(), EDA_ITEM::SetIsShownAsBitmap(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), EE_SELECTION_TOOL::unhighlight(), and SCOPED_FLAGS_CLEANER::~SCOPED_FLAGS_CLEANER().

◆ ClearNetTiePadGroups()

void FOOTPRINT::ClearNetTiePadGroups ( )
inline

Definition at line 335 of file footprint.h.

References m_netTiePadGroups.

◆ ClearSelected()

◆ ClearTempFlags()

virtual void EDA_ITEM::ClearTempFlags ( )
inlinevirtualinherited

◆ Clone()

◆ CompressAndEncode()

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

Takes 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 201 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(), EMBEDDED_FILES::OK, EMBEDDED_FILES::OUT_OF_MEMORY, EMBEDDED_FILES::Seed(), and HASH_128::ToString().

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

◆ 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 234 of file embedded_files.cpp.

References MMH3_HASH::add(), EMBEDDED_FILES::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, EMBEDDED_FILES::OK, EMBEDDED_FILES::OUT_OF_MEMORY, EMBEDDED_FILES::Seed(), and HASH_128::ToString().

Referenced by 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_CONTAINER::Remove().

Referenced by DRC_ITEMS_PROVIDER::DeleteItem(), and EDIT_TOOL::DeleteItems().

◆ DeleteStructure()

void BOARD_ITEM::DeleteStructure ( )
inherited

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

Definition at line 209 of file board_item.cpp.

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

◆ Deserialize()

◆ Duplicate()

◆ DuplicateItem()

BOARD_ITEM * FOOTPRINT::DuplicateItem ( const BOARD_ITEM aItem,
bool  aAddToFootprint = false 
)

◆ EmbeddedFileMap()

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

References m_pads, and pad.

Referenced by CheckNetTiePadGroups(), PCB_EDIT_FRAME::ExchangeFootprint(), Similarity(), BOARD_NETLIST_UPDATER::testConnectivity(), and DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist().

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

References group, m_drawings, m_fields, m_groups, m_pads, 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()

◆ GetAttributes()

◆ GetBoard() [1/2]

BOARD * BOARD_ITEM::GetBoard ( )
virtualinherited

◆ 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 47 of file board_item.cpp.

References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), PCB_T, and EDA_ITEM::Type().

Referenced by CN_CONNECTIVITY_ALGO::Add(), BOARD_ADAPTER::addShape(), BOARD_ITEM_DESC::BOARD_ITEM_DESC(), BOARD_ITEM::BoardCopperLayerCount(), BOARD_ITEM::BoardLayerCount(), BOARD_ITEM::BoardLayerSet(), CN_CONNECTIVITY_ALGO::Build(), PAD::BuildEffectivePolygon(), PAD::buildEffectiveShape(), ZONE::BuildSmoothedPoly(), collidesWithArea(), PCB_TUNING_PATTERN::CreateNew(), BOARD_INSPECTION_TOOL::DiffFootprint(), PAD::doCheckPad(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), enclosedByAreaFunc(), existsOnLayerFunc(), ZONE_FILLER::Fill(), PCB_VIA::FlashLayer(), PAD::FlashLayer(), Flip(), PCB_DIMENSION_BASE::Flip(), PCB_GENERATOR::Flip(), PCB_SHAPE::Flip(), PCB_TABLE::Flip(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), PCB_TRACK::Flip(), PCB_ARC::Flip(), PCB_VIA::Flip(), ZONE::Flip(), FootprintNeedsUpdate(), PCB_IO_KICAD_SEXPR::format(), fromToFunc(), BOARD_ITEM::GetBoard(), PCBEXPR_CONTEXT::GetBoard(), NETINFO_ITEM::GetBoundingBox(), ZONE::GetBoundingBox(), GetBoundingBox(), GetBoundingHull(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_BASE_EDIT_FRAME::GetContextualTextVars(), BOARD_CONNECTED_ITEM::GetDisplayNetname(), PCB_VIA::GetDrillConstraint(), BOARD_CONNECTED_ITEM::GetEffectiveNetClass(), PCB_TEXT::GetEffectiveShape(), getFieldFunc(), ZONE::GetInteractingZones(), ZONE::GetItemDescription(), GetLayerBoundingBox(), BOARD_ITEM::GetLayerName(), PCB_VIA::GetMinAnnulus(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), NETINFO_ITEM::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), PCB_VIA::GetOutermostConnectedLayers(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PAD::GetOwnClearance(), PCB_MARKER::GetSeverity(), PCB_TEXT::GetShownText(), PCB_TEXTBOX::GetShownText(), GetSide(), PCB_SHAPE::GetSolderMaskExpansion(), PCB_TRACK::GetSolderMaskExpansion(), PCB_VIA::GetSolderMaskExpansion(), PAD::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), BOARD::GetTrackLength(), PCB_TRACK::GetWidthConstraint(), PCB_VIA::GetWidthConstraint(), inDiffPairFunc(), ROUTER_TOOL::Init(), intersectsAreaFunc(), intersectsBackCourtyardFunc(), intersectsCourtyardFunc(), intersectsFrontCourtyardFunc(), BOARD_ITEM::IsLocked(), BOARD_ITEM::IsSideSpecific(), PCB_VIA::IsTented(), BOARD_ITEM::layerMaskDescribe(), PCB_VIA::layerMaskDescribe(), PAD::MergePrimitivesAsPolygon(), ZONE::Move(), DIALOG_TEXTBOX_PROPERTIES::onBorderChecked(), PCB_IO_EAGLE::packageWire(), padNeedsUpdate(), PCB_TUNING_PATTERN::recoverBaseline(), BOARD::ResolveDRCExclusions(), ResolveTextVar(), PCB_SHAPE::SetIsProxyItem(), BOARD_CONNECTED_ITEM::SetNetCode(), PCB_DIMENSION_BASE::SetUnitsMode(), PCB_TUNING_PATTERN::ShowPropertiesDialog(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_ASSOCIATIONS::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), ZONE::TransformSmoothedOutlineToPolygon(), BOARD::UpdateRatsnestExclusions(), ViewBBox(), PAD::ViewBBox(), PCB_TRACK::ViewBBox(), PAD::ViewGetLayers(), PCB_VIA::ViewGetLayers(), PAD::ViewGetLOD(), PCB_REFERENCE_IMAGE::ViewGetLOD(), PCB_VIA::ViewGetLOD(), ZONE::ZONE(), ~FOOTPRINT(), and ZONE::~ZONE().

◆ GetBoundingBox() [1/2]

const BOX2I FOOTPRINT::GetBoundingBox ( ) const
overridevirtual

◆ GetBoundingBox() [2/2]

◆ GetBoundingHull()

◆ 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 2981 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 198 of file footprint.h.

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

◆ GetClass()

wxString FOOTPRINT::GetClass ( ) const
inlineoverridevirtual

Return the class name.

Implements EDA_ITEM.

Definition at line 892 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 316 of file footprint.h.

References GetLocalClearance().

◆ GetComponentClass()

◆ GetComponentClassAsString()

wxString FOOTPRINT::GetComponentClassAsString ( ) const

Definition at line 3984 of file footprint.cpp.

References COMPONENT_CLASS::GetFullName(), and m_componentClass.

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

◆ GetCourtyard()

◆ GetCoverageArea()

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

References B_CrtYd, SHAPE_POLY_SET::COutline(), F_CrtYd, GetCourtyard(), GraphicalItems(), SHAPE_POLY_SET::OutlineCount(), pad, Pads(), 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 191 of file embedded_files.h.

References EMBEDDED_FILES::m_files.

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

◆ GetEmbeddedFileLink()

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

Returns 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 135 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 1006 of file footprint.h.

◆ GetEmbeddedFiles() [2/2]

EMBEDDED_FILES * FOOTPRINT::GetEmbeddedFiles ( )
inlineoverridevirtual

◆ GetField() [1/2]

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

Definition at line 584 of file footprint.cpp.

References m_fields.

◆ GetField() [2/2]

PCB_FIELD * FOOTPRINT::GetField ( MANDATORY_FIELD_T  aFieldType)

Return a mandatory field in this symbol.

Note
If you need to fetch a user field, use GetFieldById.
Parameters
aFieldTypeis one of the mandatory field types (REFERENCE_FIELD, VALUE_FIELD, etc.).
Returns
is the field at aFieldType or NULL if the field does not exist.

Definition at line 575 of file footprint.cpp.

References m_fields.

Referenced by Deserialize(), PCB_IO_EASYEDAPRO_PARSER::ParseFootprint(), PCB_IO_EASYEDA_PARSER::ParseToBoardItemContainer(), Reference(), Serialize(), and Value().

◆ GetFieldById()

PCB_FIELD * FOOTPRINT::GetFieldById ( int  aFieldId)

Return a field in this symbol.

Parameters
aFieldIdis the id of the field requested. Note that this id ONLY SOMETIMES equates to the field's position in the vector.
Returns
is the field at aFieldType or NULL if the field does not exist.

Definition at line 593 of file footprint.cpp.

References m_fields.

Referenced by MULTICHANNEL_TOOL::copyRuleAreaContents().

◆ GetFieldByName()

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

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

References m_fields.

Referenced by PCB_EDIT_FRAME::ExchangeFootprint(), PCB_IO_EASYEDAPRO_PARSER::fillFootprintModelInfo(), getFieldFunc(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().

◆ GetFields() [1/2]

std::vector< PCB_FIELD * > FOOTPRINT::GetFields ( bool  aVisibleOnly = false) const

Return a vector of fields from the symbol.

Parameters
aVisibleOnlyis used to add only the fields that are visible and contain text.

Definition at line 642 of file footprint.cpp.

References FOOTPRINT_FIELD, and m_fields.

◆ GetFields() [2/2]

◆ GetFieldText()

wxString FOOTPRINT::GetFieldText ( const wxString &  aFieldName) const

Search for a field named aFieldName and returns text associated with this field.

Parameters
aFieldNameis the name of the field

Definition at line 630 of file footprint.cpp.

References m_fields.

Referenced by ResolveTextVar().

◆ GetFileFormatVersionAtLoad()

int FOOTPRINT::GetFileFormatVersionAtLoad ( ) const
inline

Definition at line 796 of file footprint.h.

References m_fileFormatVersionAtLoad.

◆ GetFilters()

◆ 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_SHAPE, PCB_TRACK, and PCB_ARC.

Definition at line 250 of file eda_item.h.

References EDA_ITEM::GetPosition().

Referenced by SCH_EDIT_FRAME::FocusOnItem(), SYMBOL_EDIT_FRAME::FocusOnItem(), and DRAWING_TOOL::PlaceTuningPattern().

◆ 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 495 of file embedded_files.cpp.

References EMBEDDED_FILES::m_fontFiles.

Referenced by FIELDS_GRID_TABLE::initGrid(), SCH_IO_KICAD_SEXPR_PARSER::ParseSchematic(), SCH_PROPERTIES_PANEL::updateFontList(), and PCB_PROPERTIES_PANEL::updateLists().

◆ GetFontMetrics()

◆ GetForcedTransparency()

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

◆ GetFPID()

const LIB_ID & FOOTPRINT::GetFPID ( ) const
inline

Definition at line 242 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(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), BOARD_INSPECTION_TOOL::DiffFootprint(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), doPushPadProperties(), FOOTPRINT_EDITOR_CONTROL::DuplicateFootprint(), FOOTPRINT_EDIT_FRAME::DuplicateFootprint(), FOOTPRINT_EDIT_FRAME::editFootprintProperties(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), FOOTPRINT_EDITOR_CONTROL::EditLibraryFootprint(), PCB_EDIT_FRAME::ExchangeFootprint(), FOOTPRINT_EDIT_FRAME::ExportFootprint(), BOARD_EDITOR_CONTROL::ExportNetlist(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), PCB_IO_KICAD_SEXPR::FootprintSave(), FP_LIB_TABLE::FootprintSave(), PCB_IO_KICAD_SEXPR::format(), PLACE_FILE_EXPORTER::GenPositionData(), FOOTPRINT_EDIT_FRAME::GetLoadedFPID(), GetMsgPanelInfo(), FP_TREE_SYNCHRONIZING_ADAPTER::GetValue(), idf_export_footprint(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), TMATCH::COMPONENT::IsSameKind(), PCBNEW_JOBS_HANDLER::JobExportFpSvg(), 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(), TMATCH::COMPONENT::MatchesWith(), PANEL_FP_PROPERTIES_3D_MODEL::OnAdd3DModel(), PCB_BASE_FRAME::OnFpChangeDebounceTimer(), PCB_IO_EAGLE::packageText(), DIALOG_EXCHANGE_FOOTPRINTS::processFootprint(), DIALOG_EXCHANGE_FOOTPRINTS::processMatchingFootprints(), FOOTPRINT_EDIT_FRAME::ReloadFootprint(), FOOTPRINT_VIEWER_FRAME::ReloadFootprint(), BOARD_NETLIST_UPDATER::replaceFootprint(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), 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(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataFromWindow(), DIALOG_FOOTPRINT_ASSOCIATIONS::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), FOOTPRINT_EDITOR_CONTROL::tryToSaveFootprintInLibrary(), FOOTPRINT_EDIT_FRAME::UpdateTitle(), and PANEL_FP_PROPERTIES_3D_MODEL::validateModelExists().

◆ GetFPIDAsString()

wxString FOOTPRINT::GetFPIDAsString ( ) const
inline

Definition at line 248 of file footprint.h.

References LIB_ID::Format(), and m_fpid.

Referenced by FOOTPRINT_DESC::FOOTPRINT_DESC().

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

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

◆ 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 973 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 2112 of file footprint.cpp.

References _, and GetReference().

Referenced by DRC_ENGINE::EvalRules().

◆ GetKeywords()

◆ GetLayer()

◆ GetLayerBoundingBox()

const BOX2I FOOTPRINT::GetLayerBoundingBox ( LSET  aLayers) const

Return the bounding box of the footprint on a given set of layers.

Definition at line 1495 of file footprint.cpp.

References BOARD_ITEM::GetBoard(), BOARD::IsFootprintHolder(), m_drawings, m_pads, m_privateLayers, m_zones, BOX2< Vec >::Merge(), pad, and PCB_REFERENCE_IMAGE_T.

Referenced by PCB_SELECTION_TOOL::FilterCollectorForFootprints().

◆ GetLayerName()

◆ GetLayerSet()

virtual LSET BOARD_ITEM::GetLayerSet ( ) const
inlinevirtualinherited

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

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

Definition at line 257 of file board_item.h.

References BOARD_ITEM::m_layer, and UNDEFINED_LAYER.

Referenced by SCOPED_LAYERSET::Add(), PCB_GRID_HELPER::BestSnapAnchor(), BOARD_ITEM::BoardLayerCount(), collidesWithArea(), PCB_GRID_HELPER::computeAnchors(), BOARD_COMMIT::dirtyIntersectingZones(), APPEARANCE_CONTROLS::doApplyLayerPreset(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), KIGFX::PCB_PAINTER::Draw(), DRAWING_TOOL::DrawVia(), DRC_ENGINE::EvalRules(), existsOnLayerFunc(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), hash_board_item(), BOARD_INSPECTION_TOOL::InspectClearance(), intersectsAreaFunc(), PNS_KICAD_IFACE::IsItemVisible(), isMaskAperture(), BOARD_ITEM::IsSideSpecific(), BOARD_ITEM::layerMaskDescribe(), FABMASTER::loadZone(), PCB_POINT_EDITOR::OnSelectionChange(), DIALOG_CLEANUP_GRAPHICS::OnSelectItem(), DIALOG_FOOTPRINT_CHECKER::OnSelectItem(), CN_VISITOR::operator()(), BOARD_ITEM::ptr_cmp::operator()(), KI_TEST::kitest_cmp_drawings::operator()(), DRC_ENGINE::ProcessAssertions(), EDIT_TOOL::Properties(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), PCB_SELECTION_CONDITIONS::sameLayerFunc(), SCOPED_LAYERSET::SCOPED_LAYERSET(), GLOBAL_EDIT_TOOL::swapBoardItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), and PCB_CONTROL::UpdateMessagePanel().

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

References FP_SMD, FP_THROUGH_HOLE, m_pads, and pad.

Referenced by CheckFootprintAttributes().

◆ GetLink()

◆ GetLocalClearance() [1/2]

◆ GetLocalClearance() [2/2]

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

Definition at line 302 of file footprint.h.

References _, GetReference(), and m_clearance.

◆ GetLocalSolderMaskMargin()

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

◆ GetLocalSolderPasteMargin()

◆ GetLocalSolderPasteMarginRatio()

◆ GetLocalZoneConnection()

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

◆ 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 504 of file footprint.h.

References m_netTieCache.

Referenced by DRC_ENGINE::EvalRules().

◆ 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 333 of file footprint.h.

References m_netTiePadGroups.

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

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

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

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

◆ GetNextFieldId()

int FOOTPRINT::GetNextFieldId ( ) const
inline

◆ 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 2699 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 221 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(), MULTICHANNEL_TOOL::copyRuleAreaContents(), doPushPadProperties(), KI_TEST::DrawArc(), KI_TEST::DrawSegment(), PCB_EDIT_FRAME::ExchangeFootprint(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), FootprintNeedsUpdate(), GENCAD_EXPORTER::FootprintWriteShape(), PCB_IO_KICAD_SEXPR::format(), formatInternalUnits(), 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(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), PCB_IO_EAGLE::transferPad(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().

◆ GetOrientationDegrees()

double FOOTPRINT::GetOrientationDegrees ( ) const
inline

◆ GetPad()

PAD * FOOTPRINT::GetPad ( const VECTOR2I aPosition,
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 1926 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 1958 of file footprint.cpp.

References m_pads, 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 1942 of file footprint.cpp.

References m_pads, and pad.

Referenced by DRC_TEST_PROVIDER_ANNULAR_WIDTH::Run().

◆ GetParent()

BOARD_ITEM_CONTAINER * BOARD_ITEM::GetParent ( ) const
inlineinherited

◆ 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 373 of file board_item.cpp.

References KIID::AsString(), EDA_ITEM::m_parent, and EDA_ITEM::m_Uuid.

Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC().

◆ GetParentFootprint()

FOOTPRINT * BOARD_ITEM::GetParentFootprint ( ) const
inherited

Definition at line 298 of file board_item.cpp.

References BOARD_ITEM::GetParent(), PCB_FOOTPRINT_T, PCB_GENERATOR_T, PCB_GROUP_T, PCB_TABLE_T, and EDA_ITEM::Type().

Referenced by CN_CONNECTIVITY_ALGO::Add(), PCB_IO_IPC2581::addPad(), FEATURES_MANAGER::AddPadShape(), STEP_PCB_MODEL::AddPadShape(), PCB_IO_IPC2581::addPadStack(), GRAPHICS_IMPORTER_PCBNEW::AddPolygon(), DRC_TEST_PROVIDER_SOLDER_MASK::checkItemMask(), DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture(), DIALOG_TRACK_VIA_PROPERTIES::confirmPadChange(), EDIT_TOOL::DeleteItems(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TEXTBOX_PROPERTIES::DIALOG_TEXTBOX_PROPERTIES(), doPushPadProperties(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), EDIT_TOOL::Duplicate(), DRC_ENGINE::EvalRules(), PCB_IO_KICAD_SEXPR::format(), FormatProbeItem(), PCB_IO_IPC2581::generateLayerSetNet(), PAD::GetClearanceOverrides(), PCB_BASE_EDIT_FRAME::GetContextualTextVars(), PCB_TEXT::GetDrawRotation(), PAD::GetFPRelativeOrientation(), BOARD_ITEM::GetFPRelativePosition(), PAD::GetItemDescription(), PCB_FIELD::GetItemDescription(), PCB_SHAPE::GetItemDescription(), PCB_TEXT::GetItemDescription(), PCB_SHAPE::GetMenuImage(), PCB_SHAPE::GetMsgPanelInfo(), PCB_TEXT::GetMsgPanelInfo(), PANEL_SETUP_LAYERS::getRemovedLayersWithItems(), PCB_TEXT::GetShownText(), PCB_TEXTBOX::GetShownText(), PAD::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), PCB_FIELDS_GRID_TABLE::GetValue(), PAD::GetZoneConnectionOverrides(), PCB_SELECTION_TOOL::grabUnconnected(), GROUP_TOOL::Group(), hash_fp_item(), PAD::ImportSettingsFrom(), DIALOG_PAD_PROPERTIES::initValues(), GENERAL_COLLECTOR::Inspect(), PCB_SHAPE::IsConnected(), PAD::IsFlipped(), PNS_PCBNEW_RULE_RESOLVER::IsInNetTie(), PNS_PCBNEW_RULE_RESOLVER::IsKeepout(), PNS_PCBNEW_RULE_RESOLVER::IsNetTieExclusion(), DRC_ENGINE::IsNetTieExclusion(), PCB_SELECTION_TOOL::itemPassesFilter(), memberOfFootprintFunc(), memberOfSheetFunc(), BOARD::Move(), ARRAY_TOOL::onDialogClosed(), PCB_IO_KICAD_SEXPR_PARSER::parsePCB_SHAPE(), 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(), BOARD_COMMIT::Push(), PAD_TOOL::pushPadSettings(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), PCB_GRID_HELPER::queryVisible(), PAD::Recombine(), PCB_IO_KICAD_SEXPR_PARSER::resolveGroups(), BOARD_COMMIT::Revert(), PAD::SameLogicalPadAs(), CLIPBOARD_IO::SaveSelection(), PCB_SELECTION_TOOL::Selectable(), PAD::SetFPRelativeOrientation(), BOARD_ITEM::SetFPRelativePosition(), PCB_FIELDS_GRID_TABLE::SetValue(), PAD::SharesNetTieGroup(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::transferDataToPad(), PCB_IO_EAGLE::transferPad(), PCB_POINT_EDITOR::updateItem(), PCB_FIELD::ViewGetLOD(), PCB_SHAPE::ViewGetLOD(), PCB_TEXT::ViewGetLOD(), ZONE::ViewGetLOD(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), and ZONE::ZONE().

◆ GetParentGroup()

◆ GetPath()

◆ GetPosition()

VECTOR2I FOOTPRINT::GetPosition ( ) const
inlineoverridevirtual

Reimplemented from EDA_ITEM.

Definition at line 218 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(), MICROWAVE_TOOL::createBaseFootprint(), KIGFX::PCB_PAINTER::draw(), KI_TEST::DrawArc(), KI_TEST::DrawSegment(), PCB_EDIT_FRAME::ExchangeFootprint(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), FootprintNeedsUpdate(), PCB_IO_KICAD_SEXPR::FootprintSave(), GENCAD_EXPORTER::FootprintWriteShape(), PCB_IO_KICAD_SEXPR::format(), formatInternalUnits(), DSN::SPECCTRA_DB::FromSESSION(), RENDER_3D_OPENGL::get3dModelsFromFootprint(), GetBoundingHull(), AR_AUTOPLACER::getOptimalFPPlacement(), hash_fp_item(), idf_export_footprint(), ROUTER_TOOL::InlineDrag(), 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(), PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL(), ALTIUM_PCB::ParseComponentsBodies6Data(), PCB_IO_KICAD_SEXPR_PARSER::parsePCB_TEXT_effects(), PCB_TEXT::PCB_TEXT(), BOARD_EDITOR_CONTROL::PlaceFootprint(), CLIPBOARD_IO::SaveSelection(), Serialize(), DRAWING_TOOL::SetAnchor(), SetLayerAndFlip(), SetOrientation(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), PCB_IO_EAGLE::transferPad(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().

◆ GetPrivateLayers()

◆ GetReference()

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

Definition at line 616 of file footprint.h.

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

Referenced by COMPONENTS_MANAGER::AddComponent(), TMATCH::CONNECTION_GRAPH::AddFootprint(), AR_AUTOPLACER::AutoplaceFootprints(), 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(), ALTIUM_PCB::ConvertTexts6ToFootprintItem(), MULTICHANNEL_TOOL::copyRuleAreaContents(), PCB_BASE_FRAME::CreateNewFootprint(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), EDIT_TOOL::doMoveSelection(), BOARD_EDITOR_CONTROL::ExportNetlist(), FormatProbeItem(), GetItemDescription(), PAD::GetItemDescription(), PCB_FIELD::GetItemDescription(), PCB_SHAPE::GetItemDescription(), GetLocalClearance(), PAD::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::OnMouseMove(), PCB_IO_EAGLE::packageText(), BRDITEMS_PLOTTER::PlotPad(), BRDITEMS_PLOTTER::PlotShape(), DIALOG_EXCHANGE_FOOTPRINTS::processFootprint(), FOOTPRINT_EDIT_FRAME::ReloadFootprint(), BOARD_NETLIST_UPDATER::replaceFootprint(), CLIPBOARD_IO::SaveSelection(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), BOARD_NETLIST_UPDATER::updateComponentClass(), BOARD_NETLIST_UPDATER::updateComponentPadConnections(), BOARD_NETLIST_UPDATER::updateFootprintParameters(), and FOOTPRINT_EDIT_FRAME::UpdateTitle().

◆ GetReferenceAsString()

wxString FOOTPRINT::GetReferenceAsString ( ) const
inline

◆ GetSheetfile()

wxString FOOTPRINT::GetSheetfile ( ) const
inline

◆ GetSheetname()

wxString FOOTPRINT::GetSheetname ( ) const
inline

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

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

Referenced by GetBoundingBox(), GetMsgPanelInfo(), GENERAL_COLLECTOR::Inspect(), 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 259 of file eda_item.h.

References EDA_ITEM::GetPosition().

◆ GetStroke()

STROKE_PARAMS BOARD_ITEM::GetStroke ( ) const
virtualinherited

Reimplemented in PCB_SHAPE.

Definition at line 86 of file board_item.cpp.

References DEFAULT_LINE_WIDTH, EDA_ITEM::GetClass(), EDA_IU_SCALE::mmToIU(), 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

◆ GetTemporaryFileName() [2/2]

wxFileName EMBEDDED_FILES::GetTemporaryFileName ( EMBEDDED_FILE aFile) const
inherited

◆ 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 323 of file eda_item.cpp.

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

Referenced by PCB_GROUP::AddItem(), EDIT_TOOL::doMoveSelection(), and EDA_ITEM::GetFriendlyName().

◆ GetTypeName()

wxString FOOTPRINT::GetTypeName ( ) const

Get the type of footprint.

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

Definition at line 1297 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 2008 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 1977 of file footprint.cpp.

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

Referenced by GetUniquePadCount(), and DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint().

◆ GetValue()

◆ GetValueAsString()

wxString FOOTPRINT::GetValueAsString ( ) const
inline

Definition at line 646 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 321 of file footprint.h.

References _, GetReference(), and m_zoneConnection.

◆ GraphicalItems() [1/2]

◆ GraphicalItems() [2/2]

const DRAWINGS & FOOTPRINT::GraphicalItems ( ) const
inline

Definition at line 204 of file footprint.h.

References m_drawings.

◆ Groups() [1/2]

◆ Groups() [2/2]

const GROUPS & FOOTPRINT::Groups ( ) const
inline

Definition at line 210 of file footprint.h.

References m_groups.

◆ HasDrilledHole()

virtual bool BOARD_ITEM::HasDrilledHole ( ) const
inlinevirtualinherited

◆ HasFieldByName()

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

Definition at line 604 of file footprint.cpp.

References m_fields.

Referenced by ResolveTextVar(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().

◆ HasFile()

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

◆ 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 227 of file board_item.h.

Referenced by CONVERT_TOOL::CreatePolys().

◆ HasThroughHolePads()

bool FOOTPRINT::HasThroughHolePads ( ) const

Definition at line 3506 of file footprint.cpp.

References pad, and Pads().

◆ HitTest() [1/2]

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

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

◆ HitTest() [2/2]

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 1842 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 1849 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 1801 of file footprint.cpp.

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

References 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 288 of file footprint.h.

References m_arflag.

◆ IncrementReference()

void FOOTPRINT::IncrementReference ( int  aDelta)

Bump the current reference by aDelta.

Definition at line 2747 of file footprint.cpp.

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

◆ IsBOARD_ITEM()

◆ IsBoardOnly()

bool FOOTPRINT::IsBoardOnly ( ) const
inline

Definition at line 750 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 982 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 111 of file eda_item.h.

References ENTERED, and EDA_ITEM::m_flags.

Referenced by KIGFX::PCB_PAINTER::draw().

◆ IsExcludedFromBOM()

bool FOOTPRINT::IsExcludedFromBOM ( ) const
inline

Definition at line 768 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 759 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

Definition at line 195 of file eda_item.h.

References EDA_ITEM::m_forceVisible.

Referenced by KIGFX::SCH_PAINTER::draw(), SCH_FIELD::Plot(), and SCH_FIELD::Print().

◆ 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 2316 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 106 of file eda_item.h.

References IS_CHANGED, and EDA_ITEM::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 1743 of file footprint.cpp.

References m_drawings, m_fields, m_pads, m_zones, and pad.

◆ IsPlaced()

bool FOOTPRINT::IsPlaced ( ) const
inline

Definition at line 428 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 415 of file eda_item.h.

Referenced by EDA_ITEM::Matches().

◆ IsRollover()

bool EDA_ITEM::IsRollover ( ) const
inlineinherited

Definition at line 114 of file eda_item.h.

References IS_MOVING, IS_ROLLOVER, and EDA_ITEM::m_flags.

Referenced by KIGFX::SCH_PAINTER::draw().

◆ IsSCH_ITEM()

bool KIGFX::VIEW_ITEM::IsSCH_ITEM ( ) const
inlineinherited

Definition at line 99 of file view_item.h.

◆ IsSelected()

bool EDA_ITEM::IsSelected ( ) const
inlineinherited

Definition at line 110 of file eda_item.h.

References EDA_ITEM::m_flags, and SELECTED.

Referenced by ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), SCH_EDIT_TOOL::ChangeTextType(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), EDIT_TOOL::doMoveSelection(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), KIGFX::SCH_PAINTER::drawItemBoundingBox(), DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM(), SCH_EDIT_FRAME::FlipBodyStyle(), RENDER_3D_OPENGL::get3dModelsFromFootprint(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::DS_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), KIGFX::SCH_PAINTER::getLineWidth(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), DIALOG_CHANGE_SYMBOLS::isMatch(), SCH_SCREEN::MarkConnections(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), SCH_MOVE_TOOL::moveItem(), KIGFX::SCH_PAINTER::nonCached(), SCH_MOVE_TOOL::orthoLineDrag(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), BOARD_COMMIT::Push(), SCH_COMMIT::pushSchEdit(), EE_SELECTION_TOOL::RebuildSelection(), PCB_SELECTION_TOOL::RebuildSelection(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), SCH_COMMIT::Revert(), SCH_EDIT_TOOL::Rotate(), EE_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(), EE_SELECTION_TOOL::SelectColumns(), PCB_SELECTION_TOOL::SelectColumns(), EE_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), EE_SELECTION_TOOL::SelectRows(), PCB_SELECTION_TOOL::SelectRows(), SCH_COMMIT::Stage(), 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_TEXT_AND_GRAPHICS::visitItem(), DIALOG_GLOBAL_EDIT_TEARDROPS::visitItem(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem().

◆ IsShownAsBitmap()

bool EDA_ITEM::IsShownAsBitmap ( ) const
inlineinherited

Definition at line 168 of file eda_item.h.

References IS_SHOWN_AS_BITMAP, and EDA_ITEM::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 172 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 296 of file eda_item.h.

References EDA_ITEM::Visit().

Referenced by 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 316 of file eda_item.h.

References EDA_ITEM::Visit().

◆ layerMaskDescribe()

wxString BOARD_ITEM::layerMaskDescribe ( ) const
protectedvirtualinherited

◆ LegacyPadsLocked()

bool FOOTPRINT::LegacyPadsLocked ( ) const
inline

Definition at line 446 of file footprint.h.

References FP_PADS_are_LOCKED, and m_fpStatus.

◆ 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 3159 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(), GRAPHICS_CLEANER::mergePads(), PAD::SharesNetTieGroup(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem().

◆ Matches() [1/2]

virtual bool EDA_ITEM::Matches ( const EDA_SEARCH_DATA aSearchData,
void *  aAuxData 
) const
inlinevirtualinherited

Compare the item against the search criteria in aSearchData.

The base class returns false since many of the objects derived from EDA_ITEM do not have any text to search.

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 in SCH_MARKER, SCH_FIELD, SCH_LABEL_BASE, SCH_PIN, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TABLE, SCH_TEXT, SCH_TEXTBOX, NETINFO_ITEM, PCB_MARKER, PCB_TABLE, PCB_TEXT, PCB_TEXTBOX, and ZONE.

Definition at line 377 of file eda_item.h.

Referenced by SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), SCH_DRAWING_TOOLS::DrawShape(), SCH_FIND_REPLACE_TOOL::HasMatch(), SCH_MARKER::Matches(), SCH_FIELD::Matches(), SCH_LABEL_BASE::Matches(), SCH_PIN::Matches(), SCH_SHEET_PIN::Matches(), SCH_TEXT::Matches(), SCH_TEXTBOX::Matches(), NETINFO_ITEM::Matches(), PCB_MARKER::Matches(), PCB_TEXT::Matches(), PCB_TEXTBOX::Matches(), ZONE::Matches(), TEXT_SEARCH_HANDLER::Search(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_FIND_REPLACE_TOOL::UpdateFind().

◆ Matches() [2/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 126 of file eda_item.cpp.

References CTX_SEARCH, EDA_COMBINED_MATCHER::Find(), EDA_SEARCH_DATA::findString, EDA_ITEM::IsReplaceable(), isWordChar(), EDA_SEARCH_DATA::matchCase, EDA_SEARCH_DATA::matchMode, next(), EDA_SEARCH_DATA::searchAndReplace, and text.

◆ 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_TUNING_PATTERN, PCB_GROUP, PCB_SHAPE, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_ARC, PCB_GENERATOR, ZONE, PCB_DIMENSION_BASE, PCB_DIM_ALIGNED, and PCB_DIM_ORTHOGONAL.

Definition at line 367 of file board_item.cpp.

References EDA_ITEM::GetClass().

◆ Models() [1/2]

◆ Models() [2/2]

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

Definition at line 215 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 2344 of file footprint.cpp.

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

Referenced by ROUTER_TOOL::InlineDrag(), PCB_IO_EASYEDA_PARSER::ParseToBoardItemContainer(), CLIPBOARD_IO::SaveSelection(), and SpreadFootprints().

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

References GetOrientation(), GraphicalItems(), EDA_IU_SCALE::IUTomm(), m_cachedBoundingBox, m_cachedHull, m_cachedTextExcludedBBox, m_fields, m_pads, Models(), BOX2< Vec >::Move(), SHAPE_POLY_SET::Move(), pad, pcbIUScale, RotatePoint(), VECTOR2< T >::x, VECTOR2< T >::y, and Zones().

Referenced by CLIPBOARD_IO::SaveSelection(), and DRAWING_TOOL::SetAnchor().

◆ NeedsPlaced()

bool FOOTPRINT::NeedsPlaced ( ) const
inline

Definition at line 437 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 373 of file board_item.h.

Referenced by EDIT_TOOL::Flip(), BOARD_ITEM::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 380 of file board_item.h.

References BOARD_ITEM::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 252 of file eda_item.cpp.

References EDA_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 3518 of file footprint.cpp.

References PCB_FOOTPRINT_T, and EDA_ITEM::Type().

◆ operator==() [2/2]

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

Definition at line 3529 of file footprint.cpp.

References m_drawings, m_fields, m_pads, and m_zones.

◆ Pads() [1/2]

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

Definition at line 200 of file footprint.h.

References m_pads.

Referenced by TMATCH::CONNECTION_GRAPH::AddFootprint(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), BOARD_NETLIST_UPDATER::addNewFootprint(), BOARD_ADAPTER::addPads(), ARRAY_PAD_NUMBER_PROVIDER::ARRAY_PAD_NUMBER_PROVIDER(), EXPORTER_STEP::buildFootprint3DShapes(), AR_AUTOPLACER::buildFpAreas(), KI_TEST::CheckFootprint(), CheckPads(), CheckShortingPads(), PCB_GRID_HELPER::computeAnchors(), AR_AUTOPLACER::computePlacementRatsnestCost(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createPolygonShape(), Deserialize(), FOOTPRINT_VIEWER_FRAME::displayFootprint(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), EDIT_TOOL::doMoveSelection(), PAD_TOOL::EnumeratePads(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_SELECTION_TOOL::expandConnection(), BOARD_EDITOR_CONTROL::ExportNetlist(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), PLACEFILE_GERBER_WRITER::findPads1(), MULTICHANNEL_TOOL::findRoutedConnections(), 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(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), 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(), GRAPHICS_CLEANER::mergePads(), operator=(), pasteFootprintItemsToFootprintEditor(), PCB_IO_IPC2581::pinName(), BOARD_EDITOR_CONTROL::PlaceFootprint(), BOARD_COMMIT::Push(), DISPLAY_FOOTPRINTS_FRAME::ReloadFootprint(), BOARD_EDITOR_CONTROL::RepairBoard(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), 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(), 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 201 of file footprint.h.

References m_pads.

◆ Reference() [1/2]

◆ Reference() [2/2]

const PCB_FIELD & FOOTPRINT::Reference ( ) const
inline

Definition at line 657 of file footprint.h.

References GetField(), and REFERENCE_FIELD.

◆ Remove()

◆ RemoveField()

void FOOTPRINT::RemoveField ( const wxString &  aFieldName)

Remove a user field from the footprint.

Parameters
aFieldNameis the user fieldName to remove. Attempts to remove a mandatory field or a non-existant field are silently ignored.

Definition at line 682 of file footprint.cpp.

References m_fields, and MANDATORY_FIELDS.

Referenced by BOARD_NETLIST_UPDATER::updateFootprintParameters().

◆ RemoveFile()

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

Removes a file from the collection and frees the memory.

Parameters
aNameis the name of the file to remove.

Definition at line 116 of file embedded_files.cpp.

References EMBEDDED_FILES::m_files, and name.

Referenced by PANEL_EMBEDDED_FILES::onDeleteEmbeddedFile(), EMBED_TOOL::RemoveFile(), and PANEL_EMBEDDED_FILES::TransferDataFromWindow().

◆ RenderAsBitmap()

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

Reimplemented in SCH_ITEM.

Definition at line 158 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_LABEL_BASE, SCH_PIN, SCH_TEXT, SCH_TEXTBOX, SCH_FIELD, and SCH_SHEET_PIN.

Definition at line 404 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 189 of file eda_item.cpp.

References EDA_SEARCH_DATA::findString, isWordChar(), EDA_SEARCH_DATA::matchCase, EDA_SEARCH_DATA::matchMode, next(), EDA_SEARCH_DATA::replaceString, and text.

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

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

References BOARD_ITEM::GetBoard(), GetFieldText(), BOARD_ITEM::GetLayerName(), PCB_TEXT::GetShownText(), LIB_ID::GetUniStringLibItemName(), LIB_ID::GetUniStringLibNickname(), HasFieldByName(), 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 2354 of file footprint.cpp.

References ANGLE_0, GetOrientation(), m_boundingBoxCacheTimeStamp, m_drawings, m_fields, m_hullCacheTimeStamp, m_pos, m_textExcludedBBoxCacheTimeStamp, PCB_TEXT_T, RotatePoint(), SetOrientation(), and SetPosition().

Referenced by Flip(), and DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow().

◆ RunOnChildren()

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

Invoke a function on all descendants.

Note
This function should not add or remove items.

Reimplemented from BOARD_ITEM.

Definition at line 2135 of file footprint.cpp.

References group, m_drawings, m_fields, m_groups, m_pads, m_zones, and pad.

Referenced by BOARD::Add(), BOARD::Remove(), and swapData().

◆ RunOnDescendants()

void FOOTPRINT::RunOnDescendants ( const std::function< void(BOARD_ITEM *)> &  aFunction,
int  aDepth = 0 
) const
overridevirtual

Invoke a function on all descendants.

Note
This function should not add or remove items.

Reimplemented from BOARD_ITEM.

Definition at line 2164 of file footprint.cpp.

References group, m_drawings, m_fields, m_groups, m_pads, m_zones, and pad.

Referenced by PCB_BASE_FRAME::CreateNewFootprint(), Duplicate(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), and FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard().

◆ Seed()

static uint32_t EMBEDDED_FILES::Seed ( )
inlinestaticinherited

◆ Serialize()

void FOOTPRINT::Serialize ( google::protobuf::Any &  aContainer) const
overridevirtual

◆ Set() [1/3]

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

◆ Set() [2/3]

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

◆ Set() [3/3]

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

◆ SetAllowMissingCourtyard()

void FOOTPRINT::SetAllowMissingCourtyard ( bool  aAllow = true)
inline

Definition at line 778 of file footprint.h.

References FP_ALLOW_MISSING_COURTYARD, and m_attributes.

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

◆ SetAreFontsEmbedded()

void EMBEDDED_FILES::SetAreFontsEmbedded ( bool  aEmbedFonts)
inlineinherited

◆ SetAttributes()

◆ SetBoardOnly()

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

Definition at line 751 of file footprint.h.

References FP_BOARD_ONLY, and m_attributes.

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

◆ SetBrightened()

◆ SetComponentClass()

void FOOTPRINT::SetComponentClass ( const COMPONENT_CLASS aClass)
inline

◆ SetDNP()

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

Definition at line 787 of file footprint.h.

References FP_DNP, and m_attributes.

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

◆ SetExcludedFromBOM()

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

Definition at line 769 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 760 of file footprint.h.

References FP_EXCLUDE_FROM_POS_FILES, and m_attributes.

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

◆ SetFileFormatVersionAtLoad()

void FOOTPRINT::SetFileFormatVersionAtLoad ( int  aVersion)
inline

Definition at line 795 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 287 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 127 of file eda_item.h.

References EDA_ITEM::m_flags.

Referenced by SCH_IO_EAGLE::addBusEntries(), PCB_BASE_FRAME::AddFootprintToBoard(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), SCH_IO_ALTIUM::AddTextBox(), SCH_MOVE_TOOL::AlignToGrid(), PCB_CONTROL::AppendBoard(), SCH_EDIT_FRAME::BreakSegment(), SCH_EDIT_TOOL::BreakWire(), BuildCourtyardCaches(), SCH_EDIT_TOOL::ChangeTextType(), GRAPHICS_CLEANER::cleanupShapes(), ConnectBoardShapes(), PCB_TUNING_PATTERN::CreateNew(), 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_LINE_WIRE_BUS_TOOL::doUnfoldBus(), EDIT_TOOL::DragArcTrack(), KIGFX::SCH_PAINTER::draw(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), SCH_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), PCB_TUNING_PATTERN::EditStart(), PCB_SELECTION_TOOL::EnterGroup(), PAD_TOOL::explodePad(), SCH_IO_KICAD_SEXPR::Format(), SCH_MOVE_TOOL::getConnectedDragItems(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), EE_SELECTION_TOOL::GuessSelectionCandidates(), EE_COLLECTOR::Inspect(), EE_SELECTION_TOOL::Main(), 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(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), KIGFX::ORIGIN_VIEWITEM::ORIGIN_VIEWITEM(), SCH_MOVE_TOOL::orthoLineDrag(), SCH_IO_ALTIUM::ParseBezier(), SCH_IO_ALTIUM::ParseBus(), SCH_IO_ALTIUM::ParseBusEntry(), SCH_IO_ALTIUM::ParseHarnessPort(), 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::ParsePort(), 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(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PL_DRAWING_TOOLS::PlaceItem(), SCH_SYMBOL::Plot(), BACK_ANNOTATE::processNetNameChange(), BOARD_COMMIT::Push(), SYMBOL_EDIT_FRAME::PushSymbolToUndoList(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), PCB_SELECTION_TOOL::RebuildSelection(), GERBVIEW_FRAME::RemapLayers(), BOARD::Remove(), 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(), EE_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::selectAllConnectedShapes(), EE_SELECTION_TOOL::selectMultiple(), EDA_ITEM::SetBrightened(), EDA_ITEM::SetIsShownAsBitmap(), EDA_ITEM::SetModified(), EDA_ITEM::SetSelected(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), SCH_ITEM::SwapFlags(), DS_DATA_ITEM::SyncDrawItems(), DS_DATA_ITEM_BITMAP::SyncDrawItems(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXTBOX_PROPERTIES::TransferDataFromWindow(), 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 194 of file eda_item.h.

References EDA_ITEM::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 249 of file footprint.h.

References m_fpid, and LIB_ID::Parse().

◆ 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 956 of file footprint.h.

References m_initial_comments.

◆ SetIsKnockout()

◆ SetIsPlaced()

void FOOTPRINT::SetIsPlaced ( bool  isPlaced)
inline

Definition at line 429 of file footprint.h.

References FP_is_PLACED, and m_fpStatus.

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

◆ SetIsShownAsBitmap()

void EDA_ITEM::SetIsShownAsBitmap ( bool  aBitmap)
inlineinherited

Definition at line 160 of file eda_item.h.

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

◆ SetKeywords()

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

◆ SetLayer()

virtual void BOARD_ITEM::SetLayer ( PCB_LAYER_ID  aLayer)
inlinevirtualinherited

Set the layer this item is on.

This method is virtual because some items (in fact: class DIMENSION) have a slightly different initialization.

Parameters
aLayerThe layer number.

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

Definition at line 288 of file board_item.h.

References BOARD_ITEM::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(), ALTIUM_PCB::ConvertTexts6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertTexts6ToFootprintItemOnLayer(), PNS_KICAD_IFACE::createBoardItem(), PCB_BASE_FRAME::CreateNewFootprint(), BOARD_ADAPTER::createTrackWithMargin(), Deserialize(), PAD::Deserialize(), PCB_DIMENSION_BASE::Deserialize(), PCB_FIELD::Deserialize(), PCB_TEXT::Deserialize(), PCB_TRACK::Deserialize(), PCB_ARC::Deserialize(), EDIT_TOOL::DragArcTrack(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarText(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawTable(), EDIT_TOOL::FilletTracks(), PCB_IO_EASYEDAPRO_PARSER::fillFootprintModelInfo(), Flip(), PCB_DIMENSION_BASE::Flip(), PCB_TABLE::Flip(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), PCB_TRACK::Flip(), PCB_ARC::Flip(), FOOTPRINT(), PNS_PCBNEW_RULE_RESOLVER::getBoardItem(), DRAWING_TOOL::InteractivePlaceWithPreview(), 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::makeTRACK(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes(), DIALOG_FOOTPRINT_PROPERTIES::OnAddField(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnAddField(), PCB_IO_EAGLE::packageText(), PCB_IO_KICAD_SEXPR_PARSER::parseFOOTPRINT_unchecked(), PCB_IO_KICAD_SEXPR_PARSER::parsePCB_TEXT_effects(), PCB_IO_EASYEDA_PARSER::ParseToBoardItemContainer(), 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(), PCB_SHAPE::SetLayer(), BOARD_ITEM::SetLayerSet(), PCB_TRACK::SetLayerSet(), FABMASTER::setupText(), PCB_FIELDS_GRID_TABLE::SetValueAsLong(), EDIT_TOOL::Swap(), DRC_TEST_PROVIDER_CREEPAGE::testCreepage(), DIALOG_REFERENCE_IMAGE_PROPERTIES::TransferDataFromWindow(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), 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 2384 of file footprint.cpp.

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

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

◆ SetLayerSet()

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

◆ 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 415 of file footprint.h.

References FP_is_LOCKED, and m_fpStatus.

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

◆ SetModified()

◆ SetNeedsPlaced()

void FOOTPRINT::SetNeedsPlaced ( bool  needsPlaced)
inline

Definition at line 438 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 233 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 104 of file eda_item.h.

References EDA_ITEM::m_parent.

Referenced by BOARD::Add(), 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(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), SCH_SCREEN::Append(), BOOST_AUTO_TEST_CASE(), CADSTAR_SCH_ARCHIVE_LOADER::copySymbolItems(), SYMBOL_EDIT_FRAME::CreateNewSymbol(), SCH_DRAWING_TOOLS::createNewText(), PANEL_EESCHEMA_COLOR_SETTINGS::createPreviewItems(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), SCH_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawTable(), PCB_EDIT_FRAME::ExchangeFootprint(), PAD_TOOL::explodePad(), LIB_SYMBOL::Flatten(), 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(), SCH_IO_KICAD_SEXPR::loadHierarchy(), SCH_IO_KICAD_LEGACY::loadHierarchy(), KI_TEST::LoadHierarchy(), SCH_IO_EAGLE::loadSymbolCircle(), 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(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PCB_CONTROL::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(), swapData(), PCB_TABLE::swapData(), SCH_LABEL_BASE::SwapData(), SCH_SHEET::SwapData(), SCH_SYMBOL::SwapData(), SCH_TABLE::SwapData(), BOARD_ITEM::SwapItemData(), SCH_SYMBOL::SyncOtherUnits(), and SCH_DRAWING_TOOLS::TwoClickPlace().

◆ SetParentGroup()

◆ SetPath()

◆ SetPosition()

void FOOTPRINT::SetPosition ( const VECTOR2I aPos)
overridevirtual

Reimplemented from EDA_ITEM.

Definition at line 2454 of file footprint.cpp.

References delta, m_cachedBoundingBox, m_cachedHull, m_cachedTextExcludedBBox, m_courtyard_cache_back, m_courtyard_cache_front, m_drawings, m_fields, m_pads, m_pos, m_zones, BOX2< Vec >::Move(), SHAPE_POLY_SET::Move(), and pad.

Referenced by PCB_BASE_FRAME::AddFootprintToBoard(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), BOARD_NETLIST_UPDATER::addNewFootprint(), PCAD2KICAD::PCAD_FOOTPRINT::AddToBoard(), PCAD2KICAD::PCAD_PAD::AddToBoard(), PNS_KICAD_IFACE::Commit(), MULTICHANNEL_TOOL::copyRuleAreaContents(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), Deserialize(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), PCB_EDIT_FRAME::ExchangeFootprint(), Flip(), DSN::SPECCTRA_DB::FromSESSION(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), FOOTPRINT_EDIT_FRAME::ImportFootprint(), CADSTAR_PCB_ARCHIVE_LOADER::loadComponentLibrary(), CADSTAR_PCB_ARCHIVE_LOADER::loadComponents(), PCB_IO_EAGLE::loadElements(), PCB_IO_KICAD_LEGACY::loadFOOTPRINT(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FABMASTER::loadFootprints(), Move(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), PCB_IO_EAGLE::packageHole(), BOARD_EDITOR_CONTROL::PlaceFootprint(), AR_AUTOPLACER::placeFootprint(), PCB_BASE_FRAME::PlaceFootprint(), FOOTPRINT_WIZARD_FRAME::RegenerateFootprint(), Rotate(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), CLIPBOARD_IO::SaveSelection(), and DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow().

◆ SetPrivateLayers()

void FOOTPRINT::SetPrivateLayers ( 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 142 of file footprint.h.

References m_privateLayers.

Referenced by Deserialize(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataFromWindow().

◆ SetReference()

◆ SetSelected()

◆ SetSheetfile()

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

◆ SetSheetname()

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

◆ SetStroke()

void BOARD_ITEM::SetStroke ( const STROKE_PARAMS aStroke)
virtualinherited

Reimplemented in PCB_SHAPE.

Definition at line 94 of file board_item.cpp.

References EDA_ITEM::GetClass().

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

References FindPadByNumber(), 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 433 of file eda_item.h.

◆ 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 2327 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)
inlinevirtualinherited

Reimplemented in PCB_SHAPE, PCB_TEXT, and PCB_TEXTBOX.

Definition at line 330 of file board_item.h.

◆ swapData()

void FOOTPRINT::swapData ( BOARD_ITEM aImage)
overrideprotectedvirtual

Reimplemented from BOARD_ITEM.

Definition at line 3484 of file footprint.cpp.

References image, PCB_FOOTPRINT_T, RunOnChildren(), EDA_ITEM::SetParent(), and EDA_ITEM::Type().

◆ 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 225 of file board_item.cpp.

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

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

◆ TextOnly()

bool FOOTPRINT::TextOnly ( ) const

Definition at line 1334 of file footprint.cpp.

References m_drawings, m_privateLayers, PCB_FIELD_T, and PCB_TEXT_T.

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

References PCB_SHAPE::GetLayer(), GetPrivateLayers(), GraphicalItems(), PCB_TEXTBOX::IsBorderEnabled(), PCB_TEXTBOX::IsVisible(), m_fields, PCB_SHAPE_T, PCB_TEXT_T, PCB_TEXTBOX_T, text, PCB_SHAPE::TransformShapeToPolygon(), 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 565 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,
bool  aSkipNPTHPadsWihNoCopper = false,
bool  aSkipPlatedPads = false,
bool  aSkipNonPlatedPads = false 
) 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.
aSkipNPTHPadsWihNoCopperif true, do not add a NPTH pad shape, if the shape has same size and position as the hole. Usually, these pads are not drawn on copper layers, because there is actually no copper Due to diff between layers and holes, these pads must be skipped to be sure there is no copper left on the board (for instance when creating Gerber Files or 3D shapes). Defaults to false.
aSkipPlatedPadsis used on 3D-Viewer to extract plated and non-plated pads.
aSkipNonPlatedPadsis used on 3D-Viewer to extract plated and plated pads.

Definition at line 3803 of file footprint.cpp.

References B_Cu, B_Mask, B_Paste, dummy, F_Cu, 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 PCB_DIMENSION_BASE, PCB_SHAPE, PCB_TARGET, PCB_TRACK, ZONE, PCB_TABLE, PCB_TEXT, PCB_TEXTBOX, and PAD.

Definition at line 255 of file board_item.cpp.

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

◆ 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 101 of file eda_item.h.

References EDA_ITEM::m_structType.

Referenced by CN_CONNECTIVITY_ALGO::Add(), BOARD::Add(), Add(), CN_CLUSTER::Add(), KIGFX::PCB_VIEW::Add(), PCB_GRID_HELPER::AddConstructionItems(), PCB_POINT_EDITOR::addCorner(), PCB_GROUP::AddItem(), CONNECTION_SUBGRAPH::AddItem(), DRC_TEST_PROVIDER_SOLDER_MASK::addItemToRTrees(), ZONE_FILLER::addKnockout(), SCH_SHEET::AddPin(), SCH_BASE_FRAME::AddToScreen(), ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), SCH_MOVE_TOOL::AlignToGrid(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), CN_ITEM::AnchorCount(), SCH_SCREEN::Append(), CADSTAR_SCH_ARCHIVE_LOADER::applyTextSettings(), TEARDROP_MANAGER::areItemsInSameZone(), PNS::TOPOLOGY::AssembleTuningPath(), SCH_LABEL_BASE::AutoplaceFields(), SCH_EDIT_FRAME::AutoRotateItem(), EE_SELECTION_TOOL::autostartEvent(), EXPORTER_STEP::buildGraphic3DShape(), PCB_NET_INSPECTOR_PANEL::buildNewItem(), SCH_SCREENS::buildScreenList(), EXPORTER_STEP::buildTrack3DShape(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), canAddCorner(), canChamferCorner(), SCH_BUS_WIRE_ENTRY::CanConnect(), SCH_BUS_BUS_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::checkMaskAperture(), CN_VISITOR::checkZoneItemConnection(), LIB_SYMBOL::ClassOf(), SCH_BITMAP::ClassOf(), SCH_BUS_WIRE_ENTRY::ClassOf(), SCH_BUS_BUS_ENTRY::ClassOf(), SCH_FIELD::ClassOf(), SCH_JUNCTION::ClassOf(), SCH_LABEL::ClassOf(), SCH_DIRECTIVE_LABEL::ClassOf(), SCH_GLOBALLABEL::ClassOf(), SCH_HIERLABEL::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(), BOARD::ClassOf(), BOARD_CONNECTED_ITEM::ClassOf(), ClassOf(), NETINFO_ITEM::ClassOf(), PAD::ClassOf(), PCB_DIM_ALIGNED::ClassOf(), PCB_DIM_ORTHOGONAL::ClassOf(), PCB_DIM_RADIAL::ClassOf(), PCB_DIM_LEADER::ClassOf(), PCB_DIM_CENTER::ClassOf(), PCB_FIELD::ClassOf(), PCB_GENERATOR::ClassOf(), PCB_GROUP::ClassOf(), PCB_MARKER::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_ARC::ClassOf(), PCB_VIA::ClassOf(), ZONE::ClassOf(), CONNECTION_GRAPH::collectAllDriverValues(), collidesWithArea(), SCH_ITEM::compare(), SCH_FIELD::compare(), SCH_TEXT::compare(), SCH_TEXTBOX::compare(), LIB_SYMBOL::compare(), TEARDROP_MANAGER::computeAnchorPoints(), PCB_GRID_HELPER::computeAnchors(), EE_GRID_HELPER::computeAnchors(), SCH_BUS_WIRE_ENTRY::ConnectionPropagatesTo(), SCH_LINE::ConnectionPropagatesTo(), EE_RTREE::contains(), PICKED_ITEMS_LIST::ContainsItemType(), BOARD::ConvertKIIDsToCrossReferences(), SCHEMATIC::ConvertKIIDsToRefs(), PAD_TOOL::copyPadSettings(), CoverageRatio(), CreateItemForType(), BOARD_ADAPTER::createLayers(), PCB_BASE_FRAME::CreateNewFootprint(), SCH_DRAWING_TOOLS::createNewText(), ZONE_CREATE_HELPER::createNewZone(), CONVERT_TOOL::CreatePolys(), BOARD_ADAPTER::createTrackWithMargin(), EE_INSPECTION_TOOL::CrossProbe(), DRC_TOOL::CrossProbe(), SCH_SCREEN::DeleteItem(), SCH_MARKER::DeserializeFromString(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_FIELD_PROPERTIES::DIALOG_FIELD_PROPERTIES(), DIALOG_LABEL_PROPERTIES::DIALOG_LABEL_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), BOARD_COMMIT::dirtyIntersectingZones(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), SCH_EDIT_TOOL::DoDelete(), APPEARANCE_CONTROLS::doesBoardItemNeedRebuild(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), EDIT_TOOL::DragArcTrack(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_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(), DuplicateItem(), EDA_ITEM_DESC::EDA_ITEM_DESC(), SCH_EDIT_TOOL::EditField(), SCH_EDIT_TOOL::editFieldText(), SYMBOL_EDITOR_EDIT_TOOL::editTextBoxProperties(), SYMBOL_EDITOR_EDIT_TOOL::editTextProperties(), enclosedByAreaFunc(), 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_SUBGRAPH::ExchangeItem(), CONNECTION_GRAPH::ExchangeItem(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), PCB_SELECTION_TOOL::FilterCollectorForTableCells(), TEARDROP_MANAGER::findAnchorPointsOnTrack(), PCB_SELECTION_TOOL::FindItem(), NETLIST_EXPORTER_BASE::findNextSymbol(), PCB_IO_KICAD_SEXPR::Format(), PCB_IO_KICAD_SEXPR::format(), SCH_IO_KICAD_SEXPR::Format(), SCH_IO_KICAD_LEGACY::Format(), FormatProbeItem(), CN_ITEM::GetAnchor(), BOARD_ITEM::GetBoard(), GetBoardItemWidth(), SCH_FIELD::GetBoundingBox(), SCH_LABEL_BASE::GetBoundingBox(), PCB_TRACK::GetBoundingBox(), GetBoundingBoxes(), SCH_FIELD::GetCanonicalName(), PCB_FIELD::GetCanonicalName(), EDIT_TOOL::getChildItemsOfGroupsAndGenerators(), getClosestGroup(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::DS_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::getConnectedItems(), CONNECTIVITY_DATA::GetConnectedPadsAndVias(), GetCoverageArea(), CONNECTION_GRAPH::getDefaultConnection(), SCH_FIELD::GetDefaultLayer(), SCH_FIELD::GetDrawRotation(), CONNECTION_SUBGRAPH::GetDriverPriority(), getFieldFunc(), PCB_TRACK::GetFriendlyName(), getHoleShape(), getInferredSymbols(), PCB_TRACK::GetItemDescription(), EE_GRID_HELPER::GetItemGrid(), PCB_GRID_HELPER::GetItemGrid(), PL_EDITOR_FRAME::GetLayoutFromRedoList(), PL_EDITOR_FRAME::GetLayoutFromUndoList(), SCH_FIELD::GetMenuImage(), getMinDist(), SCH_LABEL_BASE::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), SCH_FIELD::GetName(), PCB_FIELD::GetName(), SCH_SCREEN::GetNeededJunctions(), CONNECTION_SUBGRAPH::GetNetclassesForDriver(), CONNECTIVITY_DATA::GetNetItems(), GetNetNavigatorItemText(), BOARD_ITEM::GetParentFootprint(), SCH_ITEM::GetParentSymbol(), SCH_SYMBOL::GetPinPhysicalPosition(), SCH_FIELD::GetPosition(), PANEL_SETUP_LAYERS::getRemovedLayersWithItems(), KIGFX::SCH_PAINTER::getRenderColor(), SCH_RULE_AREA::GetResolvedNetclasses(), TEXT_SEARCH_HANDLER::getResultCell(), LABEL_SEARCH_HANDLER::getResultCell(), GetSchItemAsText(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), SCH_FIELD::GetShownText(), CONVERT_TOOL::getStartEndPoints(), KIGFX::SCH_PAINTER::getTextThickness(), EDA_ITEM::GetTypeDesc(), PCBEXPR_COMPONENT_CLASS_REF::GetValue(), PCBEXPR_TYPE_REF::GetValue(), TEARDROP_MANAGER::GetWidth(), PCB_SELECTION_TOOL::grabUnconnected(), BOARD::GroupLegalOps(), EE_SELECTION_TOOL::GuessSelectionCandidates(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), API_HANDLER_PCB::handleGetBoundingBox(), hash_fp_item(), EE_SELECTION_TOOL::highlight(), BOARD_INSPECTION_TOOL::HighlightItem(), BOARD_INSPECTION_TOOL::highlightNet(), highlightNet(), SCH_FIELD::HitTest(), SCH_LABEL_BASE::HitTest(), PCB_SELECTION_TOOL::hitTestDistance(), SCH_EDIT_TOOL::Increment(), SYMBOL_EDITOR_EDIT_TOOL::Increment(), DIALOG_FIELD_PROPERTIES::init(), SCH_EDIT_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), DRC_RTREE::Insert(), EE_RTREE::insert(), EE_COLLECTOR::Inspect(), GENERAL_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), isBlindBuriedViaFunc(), CONNECTIVITY_DATA::IsConnectedOnLayer(), isCopper(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus(), PCB_SELECTION_TOOL::isExpandableGraphicShape(), PNS_KICAD_IFACE_BASE::IsFlashedOnLayer(), CADSTAR_PCB_ARCHIVE_LOADER::isFootprint(), PNS_PCBNEW_RULE_RESOLVER::IsKeepout(), isKeepoutZone(), SCH_FIELD::IsMandatory(), isMaskAperture(), isMicroVia(), PNS_PCBNEW_RULE_RESOLVER::IsNonPlatedSlot(), isNPTHPad(), PCB_TRACK::IsNull(), isNullAperture(), SCH_LINE::IsParallel(), isPlatedFunc(), SCH_FIELD::IsReplaceable(), TEARDROP_MANAGER::IsRound(), PNS::ROUTER::isStartingPointRoutable(), SCH_ITEM::IsType(), itemIsIncludedByFilter(), PCB_SELECTION_TOOL::itemPassesFilter(), EE_SELECTION_TOOL::itemPassesFilter(), SCH_EDIT_TOOL::JustifyText(), CLIPBOARD_IO::LoadBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), CADSTAR_SCH_ARCHIVE_LOADER::loadHierarchicalSheetPins(), CADSTAR_SCH_ARCHIVE_LOADER::loadNets(), EE_SELECTION_TOOL::Main(), EDIT_POINTS_FACTORY::Make(), PCB_POINT_EDITOR::makePoints(), ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR::MakePoints(), EE_POINT_EDITOR::makePointsAndBehavior(), CONVERT_TOOL::makePolysFromChainedSegs(), SCH_SCREEN::MarkConnections(), CONNECTIVITY_DATA::MarkItemNetAsDirty(), CN_CONNECTIVITY_ALGO::markItemNetAsDirty(), SCH_FIELD::Matches(), memberOfGroupFunc(), memberOfSheetFunc(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), PNS_KICAD_IFACE::modifyBoardItem(), BOARD_EDITOR_CONTROL::modifyLockSelected(), SCH_MOVE_TOOL::moveItem(), EE_SELECTION_TOOL::narrowSelection(), ARRAY_TOOL::onDialogClosed(), DIALOG_DRC::OnDRCItemSelected(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), PCB_EDIT_FRAME::OnEditItemRequest(), DIALOG_GENERATORS::OnItemSelected(), EDA_3D_CANVAS::OnMouseMove(), SCH_EDIT_FRAME::onNetNavigatorSelection(), DIALOG_GENERATORS::OnRebuildTypeClick(), PCB_POINT_EDITOR::OnSelectionChange(), DIALOG_TEXT_PROPERTIES::OnSetFocusText(), CN_VISITOR::operator()(), BOARD_ITEM::ptr_cmp::operator()(), BOARD::cmp_items::operator()(), BOARD::cmp_drawings::operator()(), PCB_SHAPE::cmp_drawings::operator()(), FOOTPRINT::cmp_drawings::operator()(), KI_TEST::kitest_cmp_drawings::operator()(), PCB_TRACK::cmp_tracks::operator()(), SCH_ITEM::operator<(), SCH_BUS_ENTRY_BASE::operator<(), SCH_FIELD::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=(), PAD::operator==(), PCB_DIMENSION_BASE::operator==(), PCB_GROUP::operator==(), PCB_REFERENCE_IMAGE::operator==(), PCB_SHAPE::operator==(), PCB_TABLE::operator==(), PCB_TABLECELL::operator==(), PCB_TARGET::operator==(), PCB_TEXT::operator==(), PCB_TEXTBOX::operator==(), PCB_ARC::operator==(), BOARD::operator==(), operator==(), PCB_FIELD::operator==(), PCB_TRACK::operator==(), PCB_VIA::operator==(), ZONE::operator==(), SCH_BUS_ENTRY_BASE::operator==(), SCH_FIELD::operator==(), SCH_TEXT::operator==(), SCH_ITEM::operator==(), SCH_BITMAP::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_TEXTBOX::operator==(), PAD::PAD(), SCH_COMMIT::parentObject(), PCB_IO_KICAD_SEXPR_PARSER::parsePCB_SHAPE(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), SCH_IO_KICAD_SEXPR_PARSER::parseSchField(), PCB_CONTROL::Paste(), SCH_DRAWING_TOOLS::PlaceNextSymbolUnit(), SCH_FIELD::Plot(), SCH_LABEL_BASE::Plot(), BRDITEMS_PLOTTER::PlotBoardGraphicItem(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), SCH_FIELD::Print(), DIALOG_GLOBAL_EDIT_TEARDROPS::processItem(), OUTSET_ROUTINE::ProcessItem(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::processItem(), BACK_ANNOTATE::processNetNameChange(), CONNECTION_GRAPH::processSubGraphs(), SCH_EDIT_TOOL::Properties(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), BOARD_COMMIT::Push(), SCH_COMMIT::pushSchEdit(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), PCB_GRID_HELPER::queryVisible(), BOARD_REANNOTATE_TOOL::ReannotateDuplicates(), PCB_SELECTION_TOOL::RebuildSelection(), SCH_CONNECTION::recacheName(), SCH_EDIT_FRAME::RecalculateConnections(), SCH_BASE_FRAME::RefreshZoomDependentItems(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), BOARD::Remove(), CN_CONNECTIVITY_ALGO::Remove(), Remove(), EE_RTREE::remove(), SCH_SCREEN::Remove(), KIGFX::PCB_VIEW::Remove(), PCB_POINT_EDITOR::removeCorner(), PCB_POINT_EDITOR::removeCornerCondition(), LIB_SYMBOL::RemoveDrawItem(), SCH_BASE_FRAME::RemoveFromScreen(), PNS_KICAD_IFACE::RemoveItem(), CONNECTION_SUBGRAPH::RemoveItem(), EDIT_TOOL::removeNonRootItems(), SCH_SHEET::RemovePin(), SCH_EDIT_TOOL::RepeatDrawItem(), SCH_FIELD::Replace(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), EE_SELECTION_TOOL::RequestSelection(), KI_TEST::RequireBoardItemWithTypeAndId(), CONNECTION_GRAPH::resolveAllDrivers(), SCHEMATIC::ResolveCrossReference(), CONNECTION_SUBGRAPH::ResolveDrivers(), PCB_IO_KICAD_SEXPR_PARSER::resolveGroups(), SCH_LABEL_BASE::ResolveTextVar(), BOARD::ResolveTextVar(), DS_PROXY_UNDO_ITEM::Restore(), SCH_COMMIT::Revert(), BOARD_COMMIT::Revert(), PL_EDITOR_FRAME::RollbackFromUndo(), SCH_EDIT_TOOL::Rotate(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), DRC_TEST_PROVIDER_TEXT_MIRRORING::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), EE_TOOL_BASE< T >::saveCopyInUndoList(), 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(), 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_ITEM::Schematic(), SCH_SCREEN::Schematic(), SYMBOL_SEARCH_HANDLER::Search(), POWER_SEARCH_HANDLER::Search(), TEXT_SEARCH_HANDLER::Search(), PCB_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::Selectable(), EE_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectSameSheet(), PCB_SELECTION_TOOL::selectUnconnected(), PCB_POINT_EDITOR::setAltConstraint(), SCH_FIELD::SetId(), ITEM_PICKER::SetItem(), PCB_BASE_FRAME::SetPlotSettings(), SCH_FIELD::SetPosition(), PCB_EDIT_FRAME::ShowFindDialog(), SCH_EDIT_FRAME::ShowFindReplaceDialog(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), PCB_REFERENCE_IMAGE::Similarity(), PCB_SHAPE::Similarity(), PCB_TABLECELL::Similarity(), PCB_TARGET::Similarity(), PCB_TEXT::Similarity(), PCB_TEXTBOX::Similarity(), Similarity(), PAD::Similarity(), PCB_DIMENSION_BASE::Similarity(), PCB_FIELD::Similarity(), PCB_GROUP::Similarity(), PCB_TABLE::Similarity(), PCB_TRACK::Similarity(), PCB_ARC::Similarity(), PCB_VIA::Similarity(), ZONE::Similarity(), SCH_BUS_ENTRY_BASE::Similarity(), SCH_FIELD::Similarity(), SCH_TEXT::Similarity(), SCH_BITMAP::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_TEXTBOX::Similarity(), LIB_SYMBOL::Similarity(), SCH_EDITOR_CONTROL::SimProbe(), SCH_COMMIT::Stage(), PNS::LINE_PLACER::Start(), SCH_EDIT_TOOL::Swap(), SYMBOL_EDITOR_EDIT_TOOL::Swap(), EDIT_TOOL::Swap(), swapData(), PCB_TUNING_PATTERN::swapData(), PAD::swapData(), PCB_DIM_ALIGNED::swapData(), PCB_DIM_ORTHOGONAL::swapData(), PCB_DIM_RADIAL::swapData(), PCB_DIM_LEADER::swapData(), PCB_DIM_CENTER::swapData(), PCB_FIELD::swapData(), PCB_GROUP::swapData(), PCB_TABLE::swapData(), PCB_TABLECELL::swapData(), PCB_TARGET::swapData(), PCB_TEXT::swapData(), PCB_TEXTBOX::swapData(), PCB_TRACK::swapData(), PCB_ARC::swapData(), PCB_VIA::swapData(), ZONE::swapData(), PCB_REFERENCE_IMAGE::swapData(), SCH_BITMAP::SwapData(), SCH_FIELD::SwapData(), SCH_JUNCTION::SwapData(), SCH_NO_CONNECT::SwapData(), SCH_SHEET::SwapData(), SCH_SHEET_PIN::SwapData(), SCH_SYMBOL::SwapData(), SCH_TABLE::SwapData(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testGraphicClearances(), 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_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataToWindow(), DIALOG_SYMBOL_FIELDS_TABLE::TransferDataToWindow(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TEARDROPS::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), PCB_TRACK::TransformShapeToPolygon(), SCH_LINE_WIRE_BUS_TOOL::TrimOverLappingWires(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), EE_SELECTION_TOOL::unhighlight(), KIGFX::PCB_VIEW::Update(), SCH_SHEET_PATH::UpdateAllScreenReferences(), DIALOG_FIELD_PROPERTIES::UpdateField(), PL_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updateItem(), ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR::UpdateItem(), EE_TOOL_BASE< T >::updateItem(), SCH_BASE_FRAME::UpdateItem(), PCB_CONTROL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), PL_POINT_EDITOR::updatePoints(), SCH_BUS_ENTRY_BASE::ViewGetLayers(), SYMBOL::ViewGetLayers(), PCB_GROUP::Visit(), SCH_SHEET::Visit(), GERBER_DRAW_ITEM::Visit(), PCB_TRACK::Visit(), DIALOG_GLOBAL_EDIT_TEARDROPS::visitItem(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::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 neccesary 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 501 of file embedded_files.cpp.

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

Referenced by SCH_SCREEN::FixupEmbeddedData(), FIELDS_GRID_TABLE::initGrid(), PCB_IO_KICAD_SEXPR_PARSER::Parse(), SCH_IO_KICAD_SEXPR_PARSER::ParseSymbol(), and SCH_PROPERTIES_PANEL::updateFontList().

◆ Value() [1/2]

◆ Value() [2/2]

const PCB_FIELD & FOOTPRINT::Value ( ) const
inline

The const versions to keep the compiler happy.

Definition at line 656 of file footprint.h.

References GetField(), and VALUE_FIELD.

◆ 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 2301 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, KIGFX::PREVIEW::SIMPLE_OVERLAY_ITEM, EDIT_POINTS, TUNING_STATUS_VIEW_ITEM, RATSNEST_VIEW_ITEM, ROUTER_PREVIEW_ITEM, ROUTER_STATUS_VIEW_ITEM, MY_DRAWING, KIGFX::PREVIEW::ARC_ASSISTANT, KIGFX::PREVIEW::BEZIER_ASSISTANT, KIGFX::PREVIEW::RULER_ITEM, KIGFX::PREVIEW::SELECTION_AREA, KIGFX::PREVIEW::TWO_POINT_ASSISTANT, PCB_TUNING_PATTERN, KIGFX::ORIGIN_VIEWITEM, KIGFX::ANCHOR_DEBUG, KIGFX::CONSTRUCTION_GEOM, KIGFX::SNAP_INDICATOR, KIGFX::VIEW_GROUP, and KIGFX::VIEW_OVERLAY.

Definition at line 119 of file view_item.h.

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

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

◆ ViewGetLOD()

double FOOTPRINT::ViewGetLOD ( int  aLayer,
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.

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

Reimplemented from KIGFX::VIEW_ITEM.

Definition at line 2260 of file footprint.cpp.

References B_Cu, F_Cu, IsConflicting(), KIGFX::VIEW::IsLayerVisible(), LAYER_ANCHOR, LAYER_CONFLICTS_SHADOW, LAYER_FOOTPRINTS_BK, LAYER_FOOTPRINTS_FR, LAYER_LOCKED_ITEM_SHADOW, BOARD_ITEM::m_layer, and MINIMAL_ZOOM_LEVEL_FOR_VISIBILITY.

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

References GetClass(), m_drawings, m_fields, m_groups, m_pads, m_zones, 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_SHAPE_T, PCB_TABLE_T, PCB_TABLECELL_T, PCB_TEXT_T, PCB_TEXTBOX_T, and PCB_ZONE_T.

◆ 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 148 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, EMBEDDED_FILES::m_files, MIME_BASE64_LENGTH, EMBEDDED_FILES::EMBEDDED_FILE::MODEL, name, EMBEDDED_FILES::EMBEDDED_FILE::name, OUTPUTFORMATTER::Print(), OUTPUTFORMATTER::Quotew(), EMBEDDED_FILES::EMBEDDED_FILE::type, and EMBEDDED_FILES::EMBEDDED_FILE::WORKSHEET.

Referenced by PCB_IO_KICAD_SEXPR::format(), SCH_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 128 of file eda_item.h.

References EDA_ITEM::m_flags.

Referenced by EE_SELECTION_TOOL::selectMultiple().

◆ Zones() [1/2]

◆ Zones() [2/2]

const ZONES & FOOTPRINT::Zones ( ) const
inline

Definition at line 207 of file footprint.h.

References m_zones.

Member Data Documentation

◆ m_3D_Drawings

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

Definition at line 1110 of file footprint.h.

Referenced by Add3DModel(), FOOTPRINT(), GetMsgPanelInfo(), Models(), and operator=().

◆ m_arflag

int FOOTPRINT::m_arflag
private

Definition at line 1106 of file footprint.h.

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

◆ m_attributes

◆ m_boundingBoxCacheTimeStamp

int FOOTPRINT::m_boundingBoxCacheTimeStamp
mutableprivate

Definition at line 1078 of file footprint.h.

Referenced by Flip(), FOOTPRINT(), GetBoundingBox(), operator=(), Rotate(), and SetOrientation().

◆ m_cachedBoundingBox

BOX2I FOOTPRINT::m_cachedBoundingBox
mutableprivate

Definition at line 1077 of file footprint.h.

Referenced by FOOTPRINT(), GetBoundingBox(), MoveAnchorPosition(), operator=(), and SetPosition().

◆ m_cachedHull

SHAPE_POLY_SET FOOTPRINT::m_cachedHull
mutableprivate

◆ m_cachedTextExcludedBBox

BOX2I FOOTPRINT::m_cachedTextExcludedBBox
mutableprivate

Definition at line 1079 of file footprint.h.

Referenced by FOOTPRINT(), GetBoundingBox(), MoveAnchorPosition(), operator=(), and SetPosition().

◆ m_clearance

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

Definition at line 1093 of file footprint.h.

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

◆ m_componentClass

const COMPONENT_CLASS* FOOTPRINT::m_componentClass
private

◆ 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

Definition at line 1117 of file footprint.h.

Referenced by BuildCourtyardCaches(), and GetCourtyard().

◆ 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

Definition at line 1116 of file footprint.h.

Referenced by BuildCourtyardCaches(), and GetCourtyard().

◆ m_courtyard_cache_mutex

std::mutex FOOTPRINT::m_courtyard_cache_mutex
mutableprivate

Definition at line 1118 of file footprint.h.

Referenced by GetCourtyard().

◆ m_drawings

◆ m_embedFonts

bool EMBEDDED_FILES::m_embedFonts = false
protectedinherited

◆ m_fields

◆ m_fileFormatVersionAtLoad

int FOOTPRINT::m_fileFormatVersionAtLoad
private

Definition at line 1065 of file footprint.h.

Referenced by FOOTPRINT(), GetFileFormatVersionAtLoad(), and SetFileFormatVersionAtLoad().

◆ m_files

◆ m_filters

wxString FOOTPRINT::m_filters
private

Definition at line 1104 of file footprint.h.

Referenced by 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 169 of file view_item.h.

Referenced by KIGFX::VIEW::DRAW_ITEM_VISITOR::operator()().

◆ m_forceVisible

◆ m_fpid

LIB_ID FOOTPRINT::m_fpid
private

◆ m_fpStatus

int FOOTPRINT::m_fpStatus
private

◆ m_group

PCB_GROUP* BOARD_ITEM::m_group
protectedinherited

◆ m_groups

GROUPS FOOTPRINT::m_groups
private

◆ m_hullCacheTimeStamp

int FOOTPRINT::m_hullCacheTimeStamp
mutableprivate

Definition at line 1082 of file footprint.h.

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

◆ m_initial_comments

wxArrayString* FOOTPRINT::m_initial_comments
private

◆ m_isBOARD_ITEM

bool KIGFX::VIEW_ITEM::m_isBOARD_ITEM
privateinherited

Definition at line 167 of file view_item.h.

◆ m_isKnockout

bool BOARD_ITEM::m_isKnockout
protectedinherited

◆ m_isLocked

◆ m_isSCH_ITEM

bool KIGFX::VIEW_ITEM::m_isSCH_ITEM
privateinherited

Definition at line 166 of file view_item.h.

◆ m_keywords

wxString FOOTPRINT::m_keywords
private

Definition at line 1100 of file footprint.h.

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

◆ m_lastEditTime

timestamp_t FOOTPRINT::m_lastEditTime
private

Definition at line 1105 of file footprint.h.

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

◆ m_layer

◆ m_libDescription

wxString FOOTPRINT::m_libDescription
private

◆ m_link

KIID FOOTPRINT::m_link
private

Definition at line 1107 of file footprint.h.

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

◆ m_netTieCache

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

Definition at line 1089 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 1101 of file footprint.h.

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

◆ m_pos

VECTOR2I FOOTPRINT::m_pos
private

◆ m_privateLayers

LSET FOOTPRINT::m_privateLayers
private

◆ m_sheetfile

wxString FOOTPRINT::m_sheetfile
private

Definition at line 1103 of file footprint.h.

Referenced by GetSheetfile(), and SetSheetfile().

◆ m_sheetname

wxString FOOTPRINT::m_sheetname
private

Definition at line 1102 of file footprint.h.

Referenced by 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_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 496 of file eda_item.h.

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

◆ m_textExcludedBBoxCacheTimeStamp

int FOOTPRINT::m_textExcludedBBoxCacheTimeStamp
mutableprivate

Definition at line 1080 of file footprint.h.

Referenced by Flip(), FOOTPRINT(), GetBoundingBox(), operator=(), Rotate(), and SetOrientation().

◆ m_Uuid

const KIID EDA_ITEM::m_Uuid
inherited

Definition at line 489 of file eda_item.h.

Referenced by BOARD::Add(), SCH_SYMBOL::AddHierarchicalReference(), RC_ITEM::AddItem(), SCH_EDIT_FRAME::AnnotateSymbols(), FIELDS_EDITOR_GRID_DATA_MODEL::ApplyData(), SCH_SHEET_PATH::CheckForMissingSymbolInstances(), SCH_SHEET_PATH::Cmp(), SCH_ITEM::compare(), SCHEMATIC::ConvertRefsToKIIDs(), MICROWAVE_TOOL::createMicrowaveInductor(), SCH_EDIT_FRAME::CreateScreens(), SCH_LABEL::Deserialize(), SCH_LINE::Deserialize(), Deserialize(), PAD::Deserialize(), PCB_DIMENSION_BASE::Deserialize(), PCB_SHAPE::Deserialize(), PCB_TEXT::Deserialize(), PCB_TEXTBOX::Deserialize(), PCB_TRACK::Deserialize(), PCB_ARC::Deserialize(), PCB_VIA::Deserialize(), ZONE::Deserialize(), SCH_MARKER::DeserializeFromString(), ZONE_FILLER_TOOL::DirtyZone(), DRAWING_TOOL::DrawVia(), LIB_SYMBOL::Duplicate(), BOARD_ITEM::Duplicate(), Duplicate(), SCH_ITEM::Duplicate(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), DuplicateItem(), PCB_EDIT_FRAME::ExchangeFootprint(), PAD_TOOL::explodePad(), NETLIST_EXPORTER_ALLEGRO::extractComponentsInfo(), SCH_SHEET_LIST::FillItemMap(), BOARD::FillItemMap(), MULTICHANNEL_TOOL::findOtherItemsInRuleArea(), MULTICHANNEL_TOOL::findRoutedConnections(), KIGIT_PCB_MERGE::findSetDifferences(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), SCH_EDIT_FRAME::FocusOnItem(), SYMBOL_EDIT_FRAME::FocusOnItem(), PCB_IO_KICAD_SEXPR::format(), SCH_IO_KICAD_SEXPR::Format(), SCH_PIN::GetDefaultNetName(), SCH_SHEET_PATH::GetItem(), BOARD::GetItem(), RC_ITEM::GetJsonViolation(), PAD::GetMsgPanelInfo(), DIALOG_BOARD_REANNOTATE::GetNewRefDes(), BOARD_ITEM::GetParentAsString(), SCH_MARKER::GetUUID(), PCB_MARKER::GetUUID(), FIELDS_EDITOR_GRID_DATA_MODEL::GetValue(), 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_ALTIUM::LoadSchematicFile(), SCH_IO_EAGLE::LoadSchematicFile(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic(), PCB_IO_KICAD_LEGACY::loadTrackList(), NETLIST_EXPORTER_XML::makeSymbols(), SCH_EDIT_FRAME::mapExistingAnnotation(), PCB_BASE_FRAME::OnFpChangeDebounceTimer(), BOARD_ITEM::ptr_cmp::operator()(), BOARD::cmp_items::operator()(), BOARD::cmp_drawings::operator()(), PCB_SHAPE::cmp_drawings::operator()(), FOOTPRINT::cmp_drawings::operator()(), CompareByUuid::operator()(), FOOTPRINT::cmp_pads::operator()(), PCB_TRACK::cmp_tracks::operator()(), FOOTPRINT::cmp_zones::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(), BOARD_COMMIT::Push(), 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(), SCH_IO_KICAD_SEXPR::saveBitmap(), SCH_IO_KICAD_SEXPR::saveBusEntry(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), 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::saveText(), SCH_IO_KICAD_SEXPR::saveTextBox(), SCH_PIN::SCH_PIN(), SCH_REFERENCE::SCH_REFERENCE(), SCH_SHEET::SCH_SHEET(), SCH_SYMBOL::SCH_SYMBOL(), SCH_LABEL::Serialize(), SCH_LINE::Serialize(), Serialize(), PAD::Serialize(), PCB_DIMENSION_BASE::Serialize(), PCB_SHAPE::Serialize(), PCB_TEXT::Serialize(), PCB_TEXTBOX::Serialize(), PCB_TRACK::Serialize(), PCB_ARC::Serialize(), PCB_VIA::Serialize(), ZONE::Serialize(), RC_ITEM::SetItems(), SCH_EDITOR_CONTROL::setPastedSymbolInstances(), FIELDS_EDITOR_GRID_DATA_MODEL::SetValue(), PAD::Similarity(), PCB_DIMENSION_BASE::Similarity(), PCB_FIELD::Similarity(), SCH_BUS_ENTRY_BASE::Similarity(), SCH_FIELD::Similarity(), SCH_LABEL_BASE::Similarity(), SCH_TEXT::Similarity(), SCH_BITMAP::Similarity(), SCH_JUNCTION::Similarity(), SCH_LINE::Similarity(), SCH_NO_CONNECT::Similarity(), SCH_PIN::Similarity(), SCH_SHAPE::Similarity(), SCH_TEXTBOX::Similarity(), LIB_SYMBOL::Similarity(), SCH_DRAWING_TOOLS::SingleClickPlace(), 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(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), FIELDS_EDITOR_GRID_DATA_MODEL::updateDataStoreSymbolField(), SCH_EDITOR_CONTROL::updatePastedSheet(), SCH_EDITOR_CONTROL::updatePastedSymbol(), 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 180 of file board_item.h.

Referenced by BOARD::GetPosition().


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