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 () |
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. | |
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_fpid, m_kiids, m_path, m_pinCount, m_reference, and m_value.
|
inlinevirtual |
Definition at line 104 of file pcb_netlist.h.
|
inline |
Definition at line 106 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 118 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 150 of file pcb_netlist.h.
References m_altFpid.
Referenced by CVPCB_MAINFRAME::readNetListAndFpFiles().
|
inline |
Definition at line 184 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 138 of file pcb_netlist.h.
References m_fields.
Referenced by BOARD_NETLIST_UPDATER::updateFootprintParameters().
|
inline |
Definition at line 162 of file pcb_netlist.h.
References m_footprint.
|
inline |
Definition at line 157 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 147 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 177 of file pcb_netlist.h.
References m_humanReadablePath.
Referenced by BOARD_NETLIST_UPDATER::updateFootprintParameters().
|
inline |
Definition at line 154 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 126 of file pcb_netlist.h.
References m_library.
|
inline |
Definition at line 123 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 114 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 112 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 152 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 160 of file pcb_netlist.h.
References m_pinCount.
Referenced by CVPCB_MAINFRAME::DisplayStatus(), and FOOTPRINTS_LISTBOX::SetFootprints().
|
inline |
Definition at line 144 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 129 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 132 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 169 of file pcb_netlist.h.
References m_library, and m_name.
Referenced by KICAD_NETLIST_PARSER::parseLibPartList().
|
inline |
Definition at line 149 of file pcb_netlist.h.
References m_altFpid.
Referenced by CMP_READER::Load().
|
inline |
Definition at line 179 of file pcb_netlist.h.
References m_componentClassNames.
Referenced by KICAD_NETLIST_PARSER::parseComponent().
|
inline |
Definition at line 134 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 156 of file pcb_netlist.h.
References m_footprintFilters.
Referenced by LEGACY_NETLIST_READER::loadFootprintFilters(), and KICAD_NETLIST_PARSER::parseLibPartList().
|
inline |
Definition at line 146 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 176 of file pcb_netlist.h.
References m_humanReadablePath.
Referenced by KICAD_NETLIST_PARSER::parseComponent().
|
inline |
Definition at line 125 of file pcb_netlist.h.
References m_library.
Referenced by KICAD_NETLIST_PARSER::parseComponent().
|
inline |
Definition at line 122 of file pcb_netlist.h.
References m_name.
Referenced by LEGACY_NETLIST_READER::loadComponent(), and KICAD_NETLIST_PARSER::parseComponent().
|
inline |
Definition at line 159 of file pcb_netlist.h.
References m_pinCount.
Referenced by KICAD_NETLIST_PARSER::parseLibPartList().
|
inline |
Definition at line 140 of file pcb_netlist.h.
References m_properties.
Referenced by PCB_EDIT_FRAME::KiwayMailIn(), and KICAD_NETLIST_PARSER::parseComponent().
|
inline |
Definition at line 128 of file pcb_netlist.h.
References m_reference.
|
inline |
Definition at line 131 of file pcb_netlist.h.
References m_value.
|
inline |
Definition at line 120 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 215 of file pcb_netlist.h.
Referenced by GetAltFPID(), and SetAltFPID().
|
private |
Component classes for this footprint.
Definition at line 227 of file pcb_netlist.h.
Referenced by GetComponentClassNames(), and SetComponentClassNames().
|
staticprivate |
Definition at line 229 of file pcb_netlist.h.
Referenced by GetNet().
|
private |
Component-specific user fields found in the netlist.
Definition at line 224 of file pcb_netlist.h.
Referenced by Format(), GetFields(), and SetFields().
|
private |
The FOOTPRINT loaded for #m_FPID.
Definition at line 218 of file pcb_netlist.h.
Referenced by GetFootprint(), and SetFootprint().
|
private |
Definition at line 189 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 210 of file pcb_netlist.h.
Referenced by COMPONENT(), Format(), GetFPID(), SetFootprint(), and SetFPID().
|
private |
Definition at line 195 of file pcb_netlist.h.
Referenced by GetHumanReadablePath(), and SetHumanReadablePath().
|
private |
A vector of possible KIIDs corresponding to all units in a symbol.
Definition at line 201 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 207 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 204 of file pcb_netlist.h.
Referenced by Format(), GetName(), IsLibSource(), and SetName().
|
private |
list of nets shared by the component pins
Definition at line 187 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 198 of file pcb_netlist.h.
Referenced by COMPONENT(), Format(), GetPath(), and SetFootprint().
|
private |
Definition at line 190 of file pcb_netlist.h.
Referenced by COMPONENT(), GetPinCount(), and SetPinCount().
|
private |
Component-specific properties found in the netlist.
Definition at line 221 of file pcb_netlist.h.
Referenced by Format(), GetProperties(), and SetProperties().
|
private |
Definition at line 191 of file pcb_netlist.h.
Referenced by COMPONENT(), Format(), GetReference(), SetFootprint(), and SetReference().
|
private |
Definition at line 192 of file pcb_netlist.h.
Referenced by COMPONENT(), Format(), GetValue(), SetFootprint(), and SetValue().