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

Store information read from a netlist along with the flags used to update the NETLIST in the BOARD. More...

#include <netlist.h>

Public Member Functions

 NETLIST ()
 
virtual ~NETLIST ()=default
 
bool IsEmpty () const
 
void Clear ()
 Remove all components from the netlist.
 
unsigned GetCount () const
 
COMPONENTGetComponent (unsigned aIndex)
 Return the COMPONENT at aIndex.
 
void AddComponent (COMPONENT *aComponent)
 Add aComponent to the NETLIST.
 
void AddGroup (NETLIST_GROUP *aGroup)
 
NETLIST_GROUPGetGroupByUuid (const KIID &aUuid)
 Return a NETLIST_GROUP by aUuid.
 
void ApplyGroupMembership ()
 After groups and components are parsed, apply the group memberships to the internal components based on the group member UUIDs.
 
COMPONENTGetComponentByReference (const wxString &aReference)
 Return a COMPONENT by aReference.
 
COMPONENTGetComponentByPath (const KIID_PATH &aPath)
 Return a COMPONENT by aPath.
 
COMPONENTGetComponentByUuid (const KIID &aUuid)
 Return a COMPONENT by aUuid.
 
void SortByFPID ()
 
void SortByReference ()
 
void SetFindByTimeStamp (bool aFindByTimeStamp)
 
bool IsFindByTimeStamp () const
 
void SetReplaceFootprints (bool aReplace)
 
bool GetReplaceFootprints () const
 
bool AnyFootprintsLinked () const
 
void Format (const char *aDocName, OUTPUTFORMATTER *aOut, int aNestLevel, int aCtl=0)
 
void FormatCvpcbNetlist (OUTPUTFORMATTER *aOut)
 
 NETLIST ()
 
bool IsEmpty () const
 
void Clear ()
 Remove all components from the netlist.
 
unsigned GetCount () const
 
COMPONENTGetComponent (unsigned aIndex)
 Return the COMPONENT at aIndex.
 
void AddComponent (COMPONENT *aComponent)
 Add aComponent to the NETLIST.
 
void AddGroup (NETLIST_GROUP *aGroup)
 
NETLIST_GROUPGetGroupByUuid (const KIID &aUuid)
 Return a NETLIST_GROUP by aUuid.
 
void ApplyGroupMembership ()
 After groups and components are parsed, apply the group memberships to the internal components based on the group member UUIDs.
 
COMPONENTGetComponentByReference (const wxString &aReference)
 Return a COMPONENT by aReference.
 
COMPONENTGetComponentByPath (const KIID_PATH &aPath)
 Return a COMPONENT by aPath.
 
COMPONENTGetComponentByUuid (const KIID &aUuid)
 Return a COMPONENT by aUuid.
 
void SortByFPID ()
 
void SortByReference ()
 
void SetFindByTimeStamp (bool aFindByTimeStamp)
 
bool IsFindByTimeStamp () const
 
void SetReplaceFootprints (bool aReplace)
 
bool GetReplaceFootprints () const
 
bool AnyFootprintsLinked () const
 
void Format (const char *aDocName, OUTPUTFORMATTER *aOut, int aNestLevel, int aCtl=0)
 
void FormatCvpcbNetlist (OUTPUTFORMATTER *aOut)
 

Protected Attributes

COMPONENTS m_components
 
NETLIST_GROUPS m_groups
 
bool m_findByTimeStamp
 
bool m_replaceFootprints
 

Detailed Description

Store information read from a netlist along with the flags used to update the NETLIST in the BOARD.

Definition at line 280 of file common/netlist_reader/netlist.h.

Constructor & Destructor Documentation

◆ NETLIST() [1/2]

NETLIST::NETLIST ( )
inline

Definition at line 283 of file common/netlist_reader/netlist.h.

References m_findByTimeStamp, and m_replaceFootprints.

◆ ~NETLIST()

virtual NETLIST::~NETLIST ( )
virtualdefault

◆ NETLIST() [2/2]

NETLIST::NETLIST ( )
inline

Definition at line 289 of file pcb_netlist.h.

References m_findByTimeStamp, and m_replaceFootprints.

Member Function Documentation

◆ AddComponent() [1/2]

void NETLIST::AddComponent ( COMPONENT * aComponent)

Add aComponent to the NETLIST.

Note
If aComponent already exists in the NETLIST, aComponent is deleted to prevent memory leaks. An assertion is raised in debug builds.
Parameters
aComponentis the COMPONENT to save to the NETLIST.

Definition at line 182 of file common/netlist_reader/netlist.cpp.

References m_components.

◆ AddComponent() [2/2]

void NETLIST::AddComponent ( COMPONENT * aComponent)

Add aComponent to the NETLIST.

Note
If aComponent already exists in the NETLIST, aComponent is deleted to prevent memory leaks. An assertion is raised in debug builds.
Parameters
aComponentis the COMPONENT to save to the NETLIST.

◆ AddGroup() [1/2]

void NETLIST::AddGroup ( NETLIST_GROUP * aGroup)
Note
If aGroup already exists in the NETLIST, aGroup is deleted to prevent memory leaks. An assertion is raised in debug builds.
Parameters
aGroupis the NETLIST_GROUP to save to the NETLIST.

Definition at line 188 of file common/netlist_reader/netlist.cpp.

References m_groups.

◆ AddGroup() [2/2]

void NETLIST::AddGroup ( NETLIST_GROUP * aGroup)
Note
If aGroup already exists in the NETLIST, aGroup is deleted to prevent memory leaks. An assertion is raised in debug builds.
Parameters
aGroupis the NETLIST_GROUP to save to the NETLIST.

◆ AnyFootprintsLinked() [1/2]

bool NETLIST::AnyFootprintsLinked ( ) const
Returns
true if any component with a footprint link is found.

Definition at line 296 of file common/netlist_reader/netlist.cpp.

References empty(), and m_components.

◆ AnyFootprintsLinked() [2/2]

bool NETLIST::AnyFootprintsLinked ( ) const
Returns
true if any component with a footprint link is found.

◆ ApplyGroupMembership() [1/2]

void NETLIST::ApplyGroupMembership ( )

After groups and components are parsed, apply the group memberships to the internal components based on the group member UUIDs.

Definition at line 308 of file common/netlist_reader/netlist.cpp.

References GetComponentByUuid(), group, m_groups, and COMPONENT::SetGroup().

◆ ApplyGroupMembership() [2/2]

void NETLIST::ApplyGroupMembership ( )

After groups and components are parsed, apply the group memberships to the internal components based on the group member UUIDs.

◆ Clear() [1/2]

void NETLIST::Clear ( )
inline

Remove all components from the netlist.

Definition at line 299 of file common/netlist_reader/netlist.h.

References m_components.

◆ Clear() [2/2]

void NETLIST::Clear ( )
inline

Remove all components from the netlist.

Definition at line 303 of file pcb_netlist.h.

References m_components.

◆ Format() [1/2]

void NETLIST::Format ( const char * aDocName,
OUTPUTFORMATTER * aOut,
int aNestLevel,
int aCtl = 0 )

Definition at line 167 of file common/netlist_reader/netlist.cpp.

References m_components, and OUTPUTFORMATTER::Print().

Referenced by FormatCvpcbNetlist().

◆ Format() [2/2]

void NETLIST::Format ( const char * aDocName,
OUTPUTFORMATTER * aOut,
int aNestLevel,
int aCtl = 0 )

◆ FormatCvpcbNetlist() [1/2]

void NETLIST::FormatCvpcbNetlist ( OUTPUTFORMATTER * aOut)
inline

Definition at line 389 of file common/netlist_reader/netlist.h.

References CTL_FOR_CVPCB, and Format().

◆ FormatCvpcbNetlist() [2/2]

void NETLIST::FormatCvpcbNetlist ( OUTPUTFORMATTER * aOut)
inline

Definition at line 393 of file pcb_netlist.h.

References CTL_FOR_CVPCB, and Format().

◆ GetComponent() [1/2]

◆ GetComponent() [2/2]

COMPONENT * NETLIST::GetComponent ( unsigned aIndex)
inline

Return the COMPONENT at aIndex.

Parameters
aIndexthe index in m_components to fetch.
Returns
a pointer to the COMPONENT at Index.

Definition at line 316 of file pcb_netlist.h.

References m_components.

◆ GetComponentByPath() [1/2]

COMPONENT * NETLIST::GetComponentByPath ( const KIID_PATH & aPath)

Return a COMPONENT by aPath.

Parameters
aPathis the KIID_PATH [ sheetUUID, .., compUUID ] of the COMPONENT.
Returns
a pointer to the COMPONENT that matches aPath if found. Otherwise NULL.

Definition at line 222 of file common/netlist_reader/netlist.cpp.

References m_components.

Referenced by BOARD_NETLIST_UPDATER::UpdateNetlist().

◆ GetComponentByPath() [2/2]

COMPONENT * NETLIST::GetComponentByPath ( const KIID_PATH & aPath)

Return a COMPONENT by aPath.

Parameters
aPathis the KIID_PATH [ sheetUUID, .., compUUID ] of the COMPONENT.
Returns
a pointer to the COMPONENT that matches aPath if found. Otherwise NULL.

◆ GetComponentByReference() [1/2]

COMPONENT * NETLIST::GetComponentByReference ( const wxString & aReference)

Return a COMPONENT by aReference.

Parameters
aReferenceis the reference designator the COMPONENT.
Returns
a pointer to the COMPONENT that matches aReference if found. Otherwise NULL.

Definition at line 205 of file common/netlist_reader/netlist.cpp.

References m_components.

Referenced by CMP_READER::Load(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), and BOARD_NETLIST_UPDATER::UpdateNetlist().

◆ GetComponentByReference() [2/2]

COMPONENT * NETLIST::GetComponentByReference ( const wxString & aReference)

Return a COMPONENT by aReference.

Parameters
aReferenceis the reference designator the COMPONENT.
Returns
a pointer to the COMPONENT that matches aReference if found. Otherwise NULL.

◆ GetComponentByUuid() [1/2]

COMPONENT * NETLIST::GetComponentByUuid ( const KIID & aUuid)

Return a COMPONENT by aUuid.

Parameters
aUuidis the KIID of the COMPONENT.
Returns
a pointer to the COMPONENT that matches aUuid if found. Otherwise NULL.

Definition at line 248 of file common/netlist_reader/netlist.cpp.

References m_components.

Referenced by ApplyGroupMembership().

◆ GetComponentByUuid() [2/2]

COMPONENT * NETLIST::GetComponentByUuid ( const KIID & aUuid)

Return a COMPONENT by aUuid.

Parameters
aUuidis the KIID of the COMPONENT.
Returns
a pointer to the COMPONENT that matches aUuid if found. Otherwise NULL.

◆ GetCount() [1/2]

◆ GetCount() [2/2]

unsigned NETLIST::GetCount ( ) const
inline
Returns
the number of components in the netlist.

Definition at line 308 of file pcb_netlist.h.

References m_components.

◆ GetGroupByUuid() [1/2]

NETLIST_GROUP * NETLIST::GetGroupByUuid ( const KIID & aUuid)

Return a NETLIST_GROUP by aUuid.

Parameters
aUuidis the KIID of the NETLIST_GROUP.
Returns
a pointer to the NETLIST_GROUP that matches aUuid if found. Otherwise NULL.

Definition at line 193 of file common/netlist_reader/netlist.cpp.

References group, and m_groups.

Referenced by BOARD_NETLIST_UPDATER::updateGroups().

◆ GetGroupByUuid() [2/2]

NETLIST_GROUP * NETLIST::GetGroupByUuid ( const KIID & aUuid)

Return a NETLIST_GROUP by aUuid.

Parameters
aUuidis the KIID of the NETLIST_GROUP.
Returns
a pointer to the NETLIST_GROUP that matches aUuid if found. Otherwise NULL.

◆ GetReplaceFootprints() [1/2]

bool NETLIST::GetReplaceFootprints ( ) const
inline

Definition at line 378 of file common/netlist_reader/netlist.h.

References m_replaceFootprints.

Referenced by PCB_EDIT_FRAME::LoadFootprints().

◆ GetReplaceFootprints() [2/2]

bool NETLIST::GetReplaceFootprints ( ) const
inline

Definition at line 382 of file pcb_netlist.h.

References m_replaceFootprints.

◆ IsEmpty() [1/2]

bool NETLIST::IsEmpty ( ) const
inline
Returns
true if there are no components in the netlist.

Definition at line 294 of file common/netlist_reader/netlist.h.

References m_components.

Referenced by PCB_EDIT_FRAME::LoadFootprints().

◆ IsEmpty() [2/2]

bool NETLIST::IsEmpty ( ) const
inline
Returns
true if there are no components in the netlist.

Definition at line 298 of file pcb_netlist.h.

References m_components.

◆ IsFindByTimeStamp() [1/2]

bool NETLIST::IsFindByTimeStamp ( ) const
inline

Definition at line 375 of file common/netlist_reader/netlist.h.

References m_findByTimeStamp.

Referenced by PCB_EDIT_FRAME::LoadFootprints().

◆ IsFindByTimeStamp() [2/2]

bool NETLIST::IsFindByTimeStamp ( ) const
inline

Definition at line 379 of file pcb_netlist.h.

References m_findByTimeStamp.

◆ SetFindByTimeStamp() [1/2]

void NETLIST::SetFindByTimeStamp ( bool aFindByTimeStamp)
inline

Definition at line 374 of file common/netlist_reader/netlist.h.

References m_findByTimeStamp.

◆ SetFindByTimeStamp() [2/2]

void NETLIST::SetFindByTimeStamp ( bool aFindByTimeStamp)
inline

Definition at line 378 of file pcb_netlist.h.

References m_findByTimeStamp.

◆ SetReplaceFootprints() [1/2]

void NETLIST::SetReplaceFootprints ( bool aReplace)
inline

Definition at line 377 of file common/netlist_reader/netlist.h.

References m_replaceFootprints.

◆ SetReplaceFootprints() [2/2]

void NETLIST::SetReplaceFootprints ( bool aReplace)
inline

Definition at line 381 of file pcb_netlist.h.

References m_replaceFootprints.

◆ SortByFPID() [1/2]

void NETLIST::SortByFPID ( )

Definition at line 275 of file common/netlist_reader/netlist.cpp.

References ByFPID(), and m_components.

Referenced by PCB_EDIT_FRAME::LoadFootprints().

◆ SortByFPID() [2/2]

void NETLIST::SortByFPID ( )

◆ SortByReference() [1/2]

void NETLIST::SortByReference ( )

Definition at line 290 of file common/netlist_reader/netlist.cpp.

References m_components.

◆ SortByReference() [2/2]

void NETLIST::SortByReference ( )

Member Data Documentation

◆ m_components

◆ m_findByTimeStamp

bool NETLIST::m_findByTimeStamp
protected

Definition at line 398 of file common/netlist_reader/netlist.h.

Referenced by IsFindByTimeStamp(), NETLIST(), and SetFindByTimeStamp().

◆ m_groups

NETLIST_GROUPS NETLIST::m_groups
protected

Definition at line 396 of file common/netlist_reader/netlist.h.

Referenced by AddGroup(), ApplyGroupMembership(), and GetGroupByUuid().

◆ m_replaceFootprints

bool NETLIST::m_replaceFootprints
protected

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