KiCad PCB EDA Suite
|
Store all of the related footprint information found in a netlist. More...
#include <pcb_netlist.h>
Public Member Functions | |
COMPONENT (const LIB_ID &aFPID, const wxString &aReference, const wxString &aValue, const KIID_PATH &aPath, const std::vector< KIID > &aKiids) | |
virtual | ~COMPONENT () |
void | AddNet (const wxString &aPinName, const wxString &aNetName, const wxString &aPinFunction, const wxString &aPinType) |
unsigned | GetNetCount () const |
const COMPONENT_NET & | GetNet (unsigned aIndex) const |
const COMPONENT_NET & | GetNet (const wxString &aPinName) const |
void | ClearNets () |
void | SortPins () |
void | SetName (const wxString &aName) |
const wxString & | GetName () const |
void | SetLibrary (const wxString &aLibrary) |
const wxString & | GetLibrary () const |
void | SetReference (const wxString &aReference) |
const wxString & | GetReference () const |
void | SetValue (const wxString &aValue) |
const wxString & | GetValue () const |
void | SetFields (nlohmann::ordered_map< wxString, wxString > &aFields) |
const nlohmann::ordered_map< wxString, wxString > & | GetFields () const |
void | SetProperties (std::map< wxString, wxString > &aProps) |
const std::map< wxString, wxString > & | GetProperties () const |
void | SetFPID (const LIB_ID &aFPID) |
const LIB_ID & | GetFPID () const |
void | SetAltFPID (const LIB_ID &aFPID) |
const LIB_ID & | GetAltFPID () const |
const KIID_PATH & | GetPath () const |
const std::vector< KIID > & | GetKIIDs () const |
void | SetFootprintFilters (const wxArrayString &aFilters) |
const wxArrayString & | GetFootprintFilters () const |
void | SetPinCount (int aPinCount) |
int | GetPinCount () const |
FOOTPRINT * | GetFootprint (bool aRelease=false) |
void | SetFootprint (FOOTPRINT *aFootprint) |
bool | IsLibSource (const wxString &aLibrary, const wxString &aName) const |
void | Format (OUTPUTFORMATTER *aOut, int aNestLevel, int aCtl) |
void | SetHumanReadablePath (const wxString &aPath) |
const wxString & | GetHumanReadablePath () const |
void | SetComponentClassNames (const std::unordered_set< wxString > &aClassNames) |
std::unordered_set< wxString > & | GetComponentClassNames () |
bool | GetDuplicatePadNumbersAreJumpers () const |
void | SetDuplicatePadNumbersAreJumpers (bool aEnabled) |
std::vector< std::set< wxString > > & | JumperPadGroups () |
const std::vector< std::set< wxString > > & | JumperPadGroups () const |
Private Attributes | |
std::vector< COMPONENT_NET > | m_nets |
list of nets shared by the component pins | |
wxArrayString | m_footprintFilters |
int | m_pinCount |
wxString | m_reference |
wxString | m_value |
wxString | m_humanReadablePath |
KIID_PATH | m_path |
A fully specified path to the component (but not the component: [ sheetUUID, sheetUUID, .. ]. | |
std::vector< KIID > | m_kiids |
A vector of possible KIIDs corresponding to all units in a symbol. | |
wxString | m_name |
The name of the component in m_library used when it was placed on the schematic. | |
wxString | m_library |
The name of the component library where m_name was found. | |
LIB_ID | m_fpid |
The LIB_ID of the footprint assigned to the component. | |
LIB_ID | m_altFpid |
The alt LIB_ID of the footprint, when there are 2 different assigned footprints, One from the netlist, the other from the .cmp file. | |
std::unique_ptr< FOOTPRINT > | m_footprint |
The FOOTPRINT loaded for #m_FPID. | |
std::map< wxString, wxString > | m_properties |
Component-specific properties found in the netlist. | |
nlohmann::ordered_map< wxString, wxString > | m_fields |
Component-specific user fields found in the netlist. | |
std::unordered_set< wxString > | m_componentClassNames |
Component classes for this footprint. | |
std::vector< std::set< wxString > > | m_jumperPadGroups |
Jumper pad groups for this footprint. | |
bool | m_duplicatePadNumbersAreJumpers |
Flag that this footprint should automatically treat sets of two or more pads with the same number as jumpered pin groups. | |
Static Private Attributes | |
static COMPONENT_NET | m_emptyNet |
Store all of the related footprint information found in a netlist.
Definition at line 87 of file pcb_netlist.h.
|
inline |
Definition at line 90 of file pcb_netlist.h.
References m_duplicatePadNumbersAreJumpers, m_fpid, m_kiids, m_path, m_pinCount, m_reference, and m_value.
|
inlinevirtual |
Definition at line 105 of file pcb_netlist.h.
|
inline |
Definition at line 107 of file pcb_netlist.h.
References m_nets.
Referenced by BOARD_EDITOR_CONTROL::ExportNetlist(), PCB_EDIT_FRAME::KiwayMailIn(), and LEGACY_NETLIST_READER::loadNet().
|
inline |
Definition at line 119 of file pcb_netlist.h.
References m_nets.
void COMPONENT::Format | ( | OUTPUTFORMATTER * | aOut, |
int | aNestLevel, | ||
int | aCtl | ||
) |
Definition at line 75 of file pcb_netlist.cpp.
References CTL_OMIT_EXTRA, CTL_OMIT_FILTERS, CTL_OMIT_FP_UUID, CTL_OMIT_NETS, LIB_ID::Format(), m_fields, m_footprintFilters, m_fpid, m_kiids, m_library, m_name, m_nets, m_path, m_properties, m_reference, m_value, path, OUTPUTFORMATTER::Print(), and OUTPUTFORMATTER::Quotew().
|
inline |
Definition at line 151 of file pcb_netlist.h.
References m_altFpid.
Referenced by CVPCB_MAINFRAME::readNetListAndFpFiles().
|
inline |
Definition at line 185 of file pcb_netlist.h.
References m_componentClassNames.
Referenced by TEST_NETLIST_EXPORTER_KICAD_FIXTURE::CompareNetlists(), and BOARD_NETLIST_UPDATER::updateComponentClass().
|
inline |
Definition at line 187 of file pcb_netlist.h.
References m_duplicatePadNumbersAreJumpers.
Referenced by BOARD_NETLIST_UPDATER::updateFootprintParameters().
|
inline |
Definition at line 139 of file pcb_netlist.h.
References m_fields.
Referenced by BOARD_NETLIST_UPDATER::updateFootprintParameters().
|
inline |
Definition at line 163 of file pcb_netlist.h.
References m_footprint.
|
inline |
Definition at line 158 of file pcb_netlist.h.
References m_footprintFilters.
Referenced by CVPCB_MAINFRAME::AutomaticFootprintMatching(), CVPCB_MAINFRAME::DisplayStatus(), FOOTPRINTS_LISTBOX::SetFootprints(), and DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist().
|
inline |
Definition at line 148 of file pcb_netlist.h.
References m_fpid.
Referenced by BOARD_NETLIST_UPDATER::addNewFootprint(), CVPCB_MAINFRAME::AssociateFootprint(), CVPCB_MAINFRAME::AutomaticFootprintMatching(), ByFPID(), CVPCB_ASSOCIATION_TOOL::CopyAssoc(), CVPCB_ASSOCIATION_TOOL::CutAssoc(), CVPCB_MAINFRAME::DisplayStatus(), CVPCB_MAINFRAME::GetComponentIndices(), DISPLAY_FOOTPRINTS_FRAME::InitDisplay(), CMP_READER::Load(), PCB_EDIT_FRAME::LoadFootprints(), CVPCB_MAINFRAME::OnSelectComponent(), CVPCB_MAINFRAME::onTextFilterChangedTimer(), CVPCB_MAINFRAME::readNetListAndFpFiles(), CVPCB_MAINFRAME::readSchematicNetlist(), CVPCB_MAINFRAME::refreshAfterSymbolSearch(), BOARD_NETLIST_UPDATER::replaceFootprint(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), and BOARD_NETLIST_UPDATER::UpdateNetlist().
|
inline |
Definition at line 178 of file pcb_netlist.h.
References m_humanReadablePath.
Referenced by BOARD_NETLIST_UPDATER::updateFootprintParameters().
|
inline |
Definition at line 155 of file pcb_netlist.h.
References m_kiids.
Referenced by CVPCB_MAINFRAME::AssociateFootprint(), TEST_NETLIST_EXPORTER_KICAD_FIXTURE::CompareNetlists(), PCB_EDIT_FRAME::LoadFootprints(), BOARD_NETLIST_UPDATER::updateFootprintParameters(), and BOARD_NETLIST_UPDATER::UpdateNetlist().
|
inline |
Definition at line 127 of file pcb_netlist.h.
References m_library.
|
inline |
Definition at line 124 of file pcb_netlist.h.
References m_name.
const COMPONENT_NET & COMPONENT::GetNet | ( | const wxString & | aPinName | ) | const |
Definition at line 63 of file pcb_netlist.cpp.
References m_emptyNet, and m_nets.
|
inline |
Definition at line 115 of file pcb_netlist.h.
References m_nets.
Referenced by TEST_NETLIST_EXPORTER_KICAD_FIXTURE::CompareNetlists(), FOOTPRINT_VIEWER_FRAME::displayFootprint(), DISPLAY_FOOTPRINTS_FRAME::InitDisplay(), DISPLAY_FOOTPRINTS_FRAME::ReloadFootprint(), BOARD_NETLIST_UPDATER::testConnectivity(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), BOARD_NETLIST_UPDATER::updateComponentPadConnections(), and BOARD_NETLIST_UPDATER::updateCopperZoneNets().
|
inline |
Definition at line 113 of file pcb_netlist.h.
References m_nets.
Referenced by TEST_NETLIST_EXPORTER_KICAD_FIXTURE::CompareNetlists(), BOARD_NETLIST_UPDATER::testConnectivity(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), and BOARD_NETLIST_UPDATER::updateCopperZoneNets().
|
inline |
Definition at line 153 of file pcb_netlist.h.
References m_path.
Referenced by TEST_NETLIST_EXPORTER_KICAD_FIXTURE::CompareNetlists(), PCB_EDIT_FRAME::LoadFootprints(), BOARD_NETLIST_UPDATER::updateFootprintParameters(), and BOARD_NETLIST_UPDATER::UpdateNetlist().
|
inline |
Definition at line 161 of file pcb_netlist.h.
References m_pinCount.
Referenced by CVPCB_MAINFRAME::DisplayStatus(), and FOOTPRINTS_LISTBOX::SetFootprints().
|
inline |
Definition at line 145 of file pcb_netlist.h.
References m_properties.
Referenced by DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), BOARD_NETLIST_UPDATER::updateFootprintParameters(), and BOARD_NETLIST_UPDATER::UpdateNetlist().
|
inline |
Definition at line 130 of file pcb_netlist.h.
References m_reference.
Referenced by BOARD_NETLIST_UPDATER::addNewFootprint(), CVPCB_MAINFRAME::AssociateFootprint(), CVPCB_MAINFRAME::AutomaticFootprintMatching(), TEST_NETLIST_EXPORTER_KICAD_FIXTURE::CompareNetlists(), PCB_EDIT_FRAME::LoadFootprints(), operator<(), CVPCB_MAINFRAME::readNetListAndFpFiles(), BOARD_NETLIST_UPDATER::replaceFootprint(), CVPCB_MAINFRAME::SendComponentSelectionToSch(), BOARD_NETLIST_UPDATER::testConnectivity(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), BOARD_NETLIST_UPDATER::updateFootprintParameters(), and BOARD_NETLIST_UPDATER::UpdateNetlist().
|
inline |
Definition at line 133 of file pcb_netlist.h.
References m_value.
Referenced by CVPCB_MAINFRAME::AssociateFootprint(), CVPCB_MAINFRAME::AutomaticFootprintMatching(), CVPCB_MAINFRAME::readNetListAndFpFiles(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().
|
inline |
Definition at line 170 of file pcb_netlist.h.
References m_library, and m_name.
Referenced by KICAD_NETLIST_PARSER::parseLibPartList().
|
inline |
Definition at line 190 of file pcb_netlist.h.
References m_jumperPadGroups.
Referenced by KICAD_NETLIST_PARSER::parseComponent(), and BOARD_NETLIST_UPDATER::updateFootprintParameters().
|
inline |
Definition at line 191 of file pcb_netlist.h.
References m_jumperPadGroups.
|
inline |
Definition at line 150 of file pcb_netlist.h.
References m_altFpid.
Referenced by CMP_READER::Load().
|
inline |
Definition at line 180 of file pcb_netlist.h.
References m_componentClassNames.
Referenced by KICAD_NETLIST_PARSER::parseComponent().
|
inline |
Definition at line 188 of file pcb_netlist.h.
References m_duplicatePadNumbersAreJumpers.
Referenced by KICAD_NETLIST_PARSER::parseComponent().
|
inline |
Definition at line 135 of file pcb_netlist.h.
References m_fields.
Referenced by BOARD_EDITOR_CONTROL::ExportNetlist(), PCB_EDIT_FRAME::KiwayMailIn(), and KICAD_NETLIST_PARSER::parseComponent().
void COMPONENT::SetFootprint | ( | FOOTPRINT * | aFootprint | ) |
Definition at line 42 of file pcb_netlist.cpp.
References m_footprint, m_fpid, m_kiids, m_path, m_reference, m_value, path, FOOTPRINT::SetFPID(), FOOTPRINT::SetPath(), FOOTPRINT::SetReference(), and FOOTPRINT::SetValue().
Referenced by PCB_EDIT_FRAME::LoadFootprints().
|
inline |
Definition at line 157 of file pcb_netlist.h.
References m_footprintFilters.
Referenced by LEGACY_NETLIST_READER::loadFootprintFilters(), and KICAD_NETLIST_PARSER::parseLibPartList().
|
inline |
Definition at line 147 of file pcb_netlist.h.
References m_fpid.
Referenced by CVPCB_MAINFRAME::AssociateFootprint(), CMP_READER::Load(), CVPCB_MAINFRAME::readNetListAndFpFiles(), and CVPCB_MAINFRAME::readSchematicNetlist().
|
inline |
Definition at line 177 of file pcb_netlist.h.
References m_humanReadablePath.
Referenced by KICAD_NETLIST_PARSER::parseComponent().
|
inline |
Definition at line 126 of file pcb_netlist.h.
References m_library.
Referenced by KICAD_NETLIST_PARSER::parseComponent().
|
inline |
Definition at line 123 of file pcb_netlist.h.
References m_name.
Referenced by LEGACY_NETLIST_READER::loadComponent(), and KICAD_NETLIST_PARSER::parseComponent().
|
inline |
Definition at line 160 of file pcb_netlist.h.
References m_pinCount.
Referenced by KICAD_NETLIST_PARSER::parseLibPartList().
|
inline |
Definition at line 141 of file pcb_netlist.h.
References m_properties.
Referenced by PCB_EDIT_FRAME::KiwayMailIn(), and KICAD_NETLIST_PARSER::parseComponent().
|
inline |
Definition at line 129 of file pcb_netlist.h.
References m_reference.
|
inline |
Definition at line 132 of file pcb_netlist.h.
References m_value.
|
inline |
Definition at line 121 of file pcb_netlist.h.
References m_nets.
Referenced by KICAD_NETLIST_READER::LoadNetlist().
|
private |
The alt LIB_ID of the footprint, when there are 2 different assigned footprints, One from the netlist, the other from the .cmp file.
this one is a copy of the netlist footprint assignment
Definition at line 222 of file pcb_netlist.h.
Referenced by GetAltFPID(), and SetAltFPID().
|
private |
Component classes for this footprint.
Definition at line 234 of file pcb_netlist.h.
Referenced by GetComponentClassNames(), and SetComponentClassNames().
|
private |
Flag that this footprint should automatically treat sets of two or more pads with the same number as jumpered pin groups.
Definition at line 241 of file pcb_netlist.h.
Referenced by COMPONENT(), GetDuplicatePadNumbersAreJumpers(), and SetDuplicatePadNumbersAreJumpers().
|
staticprivate |
Definition at line 243 of file pcb_netlist.h.
Referenced by GetNet().
|
private |
Component-specific user fields found in the netlist.
Definition at line 231 of file pcb_netlist.h.
Referenced by Format(), GetFields(), and SetFields().
|
private |
The FOOTPRINT loaded for #m_FPID.
Definition at line 225 of file pcb_netlist.h.
Referenced by GetFootprint(), and SetFootprint().
|
private |
Definition at line 196 of file pcb_netlist.h.
Referenced by Format(), GetFootprintFilters(), and SetFootprintFilters().
|
private |
The LIB_ID of the footprint assigned to the component.
Definition at line 217 of file pcb_netlist.h.
Referenced by COMPONENT(), Format(), GetFPID(), SetFootprint(), and SetFPID().
|
private |
Definition at line 202 of file pcb_netlist.h.
Referenced by GetHumanReadablePath(), and SetHumanReadablePath().
|
private |
Jumper pad groups for this footprint.
Definition at line 237 of file pcb_netlist.h.
Referenced by JumperPadGroups().
|
private |
A vector of possible KIIDs corresponding to all units in a symbol.
Definition at line 208 of file pcb_netlist.h.
Referenced by COMPONENT(), Format(), GetKIIDs(), and SetFootprint().
|
private |
The name of the component library where m_name was found.
Definition at line 214 of file pcb_netlist.h.
Referenced by Format(), GetLibrary(), IsLibSource(), and SetLibrary().
|
private |
The name of the component in m_library used when it was placed on the schematic.
Definition at line 211 of file pcb_netlist.h.
Referenced by Format(), GetName(), IsLibSource(), and SetName().
|
private |
list of nets shared by the component pins
Definition at line 194 of file pcb_netlist.h.
Referenced by AddNet(), ClearNets(), Format(), GetNet(), GetNetCount(), and SortPins().
|
private |
A fully specified path to the component (but not the component: [ sheetUUID, sheetUUID, .. ].
Definition at line 205 of file pcb_netlist.h.
Referenced by COMPONENT(), Format(), GetPath(), and SetFootprint().
|
private |
Definition at line 197 of file pcb_netlist.h.
Referenced by COMPONENT(), GetPinCount(), and SetPinCount().
|
private |
Component-specific properties found in the netlist.
Definition at line 228 of file pcb_netlist.h.
Referenced by Format(), GetProperties(), and SetProperties().
|
private |
Definition at line 198 of file pcb_netlist.h.
Referenced by COMPONENT(), Format(), GetReference(), SetFootprint(), and SetReference().
|
private |
Definition at line 199 of file pcb_netlist.h.
Referenced by COMPONENT(), Format(), GetValue(), SetFootprint(), and SetValue().