KiCad PCB EDA Suite
Loading...
Searching...
No Matches
SCH_CONNECTIVITY::NETCHAIN_MANAGER Class Reference

Persistent chain configuration and the derived chains for one schematic. More...

#include <conn_netchain_manager.h>

Classes

struct  BRIDGE_EDGE
 
struct  BRIDGE_GRAPH
 
struct  BRIDGE_NEIGHBOR
 
struct  CHAIN_TERMINAL_REF
 
struct  SHEET_SYMBOLS
 
struct  TERMINAL_CHANGE
 

Public Types

using CHAIN_TERMINAL_REFS = std::pair<CHAIN_TERMINAL_REF, CHAIN_TERMINAL_REF>
 

Public Member Functions

 NETCHAIN_MANAGER (SCHEMATIC *aSchematic)
 
void Rebuild (const NETCHAIN_INPUT &aConnectivity, const std::function< void(NETCHAIN_MANAGER &)> &aBeforePublish={})
 
void ClearDerived ()
 
void RefreshTerminalReferences ()
 
void Merge (NETCHAIN_MANAGER &aOther)
 
void SetSchematic (SCHEMATIC *aSchematic)
 
SCH_NETCHAINFindPotentialNetChainBetweenPins (SCH_PIN *aPinA, const SCH_SHEET_PATH &aPathA, SCH_PIN *aPinB, const SCH_SHEET_PATH &aPathB)
 
std::map< SCH_SYMBOL *, SCH_SCREEN * > GetBridgeSymbols (const SCH_NETCHAIN &aChain, const wxString &aNetKey) const
 Symbols from the last rebuild whose passthrough joins aNetKey to another member of aChain, keyed to the screen that owns them.
 
SCH_NETCHAINGetNetChainForNet (const wxString &aNet)
 
SCH_NETCHAINGetNetChainByName (const wxString &aName)
 
bool ReplaceNetChainTerminalPin (const TERMINAL_CHANGE &aChange)
 
void SetNetChainNetClassOverrides (const std::map< wxString, wxString > &aOverrides)
 Stash per-net-chain netclass overrides read from the schematic file.
 
const std::map< wxString, wxString > & GetNetChainNetClassOverrides () const
 
void SetNetChainTerminalRefOverrides (const std::map< wxString, CHAIN_TERMINAL_REFS > &aRefs)
 
const std::map< wxString, CHAIN_TERMINAL_REFS > & GetNetChainTerminalRefOverrides () const
 
void SetNetChainColorOverrides (const std::map< wxString, KIGFX::COLOR4D > &aOverrides)
 
const std::map< wxString, KIGFX::COLOR4D > & GetNetChainColorOverrides () const
 
void SetNetChainMemberNetOverrides (const std::map< wxString, std::set< wxString > > &aOverrides)
 Stash per-chain member-net lists read from the schematic file.
 
const std::map< wxString, std::set< wxString > > & GetNetChainMemberNetOverrides () const
 
const std::vector< std::unique_ptr< SCH_NETCHAIN > > & GetPotentialNetChains () const
 Potential net chains are inferred groupings produced by RebuildNetChains() but not yet user-committed.
 
SCH_NETCHAINCreateNetChainFromPotential (SCH_NETCHAIN *aPotential, const wxString &aName)
 Promote a potential net chain to an actual user net chain with the provided name.
 
SCH_NETCHAINCreateManualNetChain (const wxString &aName, const std::set< class SCH_SYMBOL * > &aSymbols, const std::set< wxString > &aNets, const KIID &aTerminalPinA, const KIID &aTerminalPinB, const wxString &aRefA, const wxString &aPinNumA, const wxString &aRefB, const wxString &aPinNumB)
 Commit a manually-defined net chain that the inferred-potential pass did not produce.
 
const std::vector< std::unique_ptr< SCH_NETCHAIN > > & GetCommittedNetChains () const
 Return user-created (committed) net chains (legacy accessor retained under net-chain API).
 
void ApplyNetChainNetclasses ()
 Mirror each committed net chain's netclass override into the project NET_SETTINGS as a chain-derived pattern assignment, so SCH_ITEM::GetEffectiveNetClass() resolves the chain's netclass for member nets the same way board_netlist_updater does on the PCB side.
 
bool NetChainsBuilt () const
 Returns true once RebuildNetChains() has completed at least once on this graph.
 
bool DeleteCommittedNetChain (const wxString &aName)
 Delete a committed net chain by name.
 
bool RenameCommittedNetChain (const wxString &aOld, const wxString &aNew)
 Rename a committed net chain.
 

Static Public Member Functions

static wxString NetKeyForItem (const SCH_ITEM &aItem, const SCH_SHEET_PATH &aPath)
 

Private Member Functions

void rebuild (const NETCHAIN_INPUT &aConnectivity)
 
void setSymbolName (SCH_SYMBOL *aSymbol, const wxString &aName)
 
bool resolveTerminals (SCH_NETCHAIN &aChain, const CHAIN_TERMINAL_REFS *aSavedRefs=nullptr)
 
bool refreshTerminalReferences (SCH_NETCHAIN &aChain)
 
void storeTerminalRefs (const SCH_NETCHAIN &aChain)
 
wxString NetKeyForTerminal (const KIID &aPin, const KIID_PATH &aSheet) const
 Resolve a terminal pin UUID on a sheet instance to its chain member key.
 
void storeMemberNets (const wxString &aName, const std::set< wxString > &aNets)
 Record the persistable subset of aNets as the restore fallback for aName.
 
std::shared_ptr< NET_SETTINGSliveNetSettings () const
 Project net settings, or null for staged and temporary managers.
 
friend void::boost_test_inject_committed_net_chain (CONNECTION_GRAPH &, std::unique_ptr< SCH_NETCHAIN >)
 
void rekeyOverrideMaps (const wxString &aOld, const wxString &aNew)
 Move every net-chain override map entry keyed by aOld to aNew.
 
void refreshCommittedChainPayload (SCH_NETCHAIN *aTarget, const std::set< wxString > &aNets, const std::set< class SCH_SYMBOL * > &aSymbols)
 Replace the derived-view payload on aTarget with explicitly supplied member nets, and symbols.
 
void refreshCommittedChainFromPotential (SCH_NETCHAIN *aTarget, const SCH_NETCHAIN &aSource)
 Refresh aTarget from an inferred potential chain and resync its persisted member-net fallback.
 
BRIDGE_GRAPH buildBridgeAdjacency (const std::vector< SHEET_SYMBOLS > &aSheets)
 Build the bridge graph used for net-chain discovery.
 

Static Private Member Functions

static SCH_NETCHAINresolvePotentialChainByTerminals (const CHAIN_TERMINAL_REFS &aTermRefs, const std::map< std::pair< wxString, wxString >, wxString > &aRefPinToNet, const std::vector< std::unique_ptr< SCH_NETCHAIN > > &aPotentials, const wxString &aChainName)
 Disambiguate the saved (refA.pinA, refB.pinB) terminal pair against the current set of potential net chains.
 
static SCH_NETCHAINfindPotentialChain (const std::vector< std::unique_ptr< SCH_NETCHAIN > > &aPotentials, const wxString &aNetA, const wxString &aNetB)
 

Private Attributes

std::vector< std::unique_ptr< SCH_NETCHAIN > > m_committedNetChains
 
std::vector< std::unique_ptr< SCH_NETCHAIN > > m_potentialNetChains
 last built potential (uncommitted) net chains
 
std::vector< BRIDGE_EDGEm_bridgeEdges
 raw bridge edges from the last rebuild
 
bool m_netChainsBuilt = false
 
std::map< wxString, wxString > m_netChainNetClassOverrides
 
std::map< wxString, KIGFX::COLOR4Dm_netChainColorOverrides
 
std::map< wxString, CHAIN_TERMINAL_REFSm_netChainTerminalRefOverrides
 
std::map< wxString, std::set< wxString > > m_netChainMemberNetOverrides
 
std::unordered_map< SCH_SYMBOL *, wxString > * m_pendingSymbolNames = nullptr
 
SCHEMATICm_schematic
 

Friends

class ::CONNECTION_GRAPH
 

Detailed Description

Persistent chain configuration and the derived chains for one schematic.

Definition at line 46 of file conn_netchain_manager.h.

Member Typedef Documentation

◆ CHAIN_TERMINAL_REFS

Constructor & Destructor Documentation

◆ NETCHAIN_MANAGER()

SCH_CONNECTIVITY::NETCHAIN_MANAGER::NETCHAIN_MANAGER ( SCHEMATIC * aSchematic)
inlineexplicit

Definition at line 49 of file conn_netchain_manager.h.

References m_schematic.

Referenced by Merge(), and Rebuild().

Member Function Documentation

◆ ApplyNetChainNetclasses()

void SCH_CONNECTIVITY::NETCHAIN_MANAGER::ApplyNetChainNetclasses ( )

Mirror each committed net chain's netclass override into the project NET_SETTINGS as a chain-derived pattern assignment, so SCH_ITEM::GetEffectiveNetClass() resolves the chain's netclass for member nets the same way board_netlist_updater does on the PCB side.

Existing chain-derived assignments are cleared first so removed or renamed chains leave no stale entries. Synthetic per-run member keys can't be matched against a resolved net name and are skipped, and a chain whose netclass no longer exists is ignored.

Definition at line 1472 of file conn_netchain_manager.cpp.

References chain, liveNetSettings(), m_committedNetChains, SCHEMATIC, and SCH_NETCHAIN::SYNTHETIC_NET_PREFIX.

◆ buildBridgeAdjacency()

SCH_CONNECTIVITY::NETCHAIN_MANAGER::BRIDGE_GRAPH SCH_CONNECTIVITY::NETCHAIN_MANAGER::buildBridgeAdjacency ( const std::vector< SHEET_SYMBOLS > & aSheets)
private

Build the bridge graph used for net-chain discovery.

Walks every 2-pin passthrough symbol on every sheet and records the raw bridge edge list in edges; the returned adjacency is built from those edges after dropping any that touch a power subgraph and after iteratively pruning power-adjacent leaf nets. edges itself stays raw because RebuildNetChains() still iterates the full list to attach bridging symbols to their owning component. Does NOT apply the legacy >4-net stub trim — that fossil lives only in RebuildNetChains() so the path-enumeration API can see the unpruned adjacency.

Definition at line 111 of file conn_netchain_manager.cpp.

References SCH_CONNECTIVITY::NETCHAIN_MANAGER::BRIDGE_EDGE::a, SCH_CONNECTIVITY::NETCHAIN_MANAGER::BRIDGE_EDGE::b, SCH_SYMBOL::BLOCK, SCH_SYMBOL::FORCE, SCH_LINE::GetEndPoint(), SCH_ITEM::GetLayer(), SCH_ITEM::GetParentSymbol(), SCH_PIN::GetPosition(), SCH_LINE::GetStartPoint(), SCH_PIN::IsPower(), SYMBOL::IsPower(), SCH_SCREEN::Items(), kv, LAYER_WIRE, EE_RTREE::OfType(), SCH_CONNECTIVITY::NETCHAIN_MANAGER::BRIDGE_NEIGHBOR::other, EE_RTREE::Overlapping(), result, SCH_LINE_T, SCH_CONNECTIVITY::NETCHAIN_MANAGER::BRIDGE_EDGE::sym, VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by rebuild().

◆ ClearDerived()

void SCH_CONNECTIVITY::NETCHAIN_MANAGER::ClearDerived ( )

◆ CreateManualNetChain()

SCH_NETCHAIN * SCH_CONNECTIVITY::NETCHAIN_MANAGER::CreateManualNetChain ( const wxString & aName,
const std::set< class SCH_SYMBOL * > & aSymbols,
const std::set< wxString > & aNets,
const KIID & aTerminalPinA,
const KIID & aTerminalPinB,
const wxString & aRefA,
const wxString & aPinNumA,
const wxString & aRefB,
const wxString & aPinNumB )

Commit a manually-defined net chain that the inferred-potential pass did not produce.

Parameters
aNameName of the new chain. Must satisfy SCH_NETCHAIN::IsValidName().
aSymbolsSymbols that participate in the chain.
aNetsMember nets of the chain.
aTerminalPinAFirst terminal pin KIID.
aTerminalPinBSecond terminal pin KIID.
aRefAReference designator for the first terminal symbol.
aPinNumAPin number for the first terminal pin.
aRefBReference designator for the second terminal symbol.
aPinNumBPin number for the second terminal pin.
Returns
The new committed chain, or nullptr on name collision, name validation failure, or net-ownership collision with an existing committed chain.

Definition at line 1372 of file conn_netchain_manager.cpp.

References GetNetChainByName(), GetNetChainForNet(), SCH_NETCHAIN::IsValidName(), m_committedNetChains, m_netChainColorOverrides, m_netChainMemberNetOverrides, m_netChainNetClassOverrides, resolveTerminals(), setSymbolName(), and storeTerminalRefs().

Referenced by rebuild().

◆ CreateNetChainFromPotential()

◆ DeleteCommittedNetChain()

bool SCH_CONNECTIVITY::NETCHAIN_MANAGER::DeleteCommittedNetChain ( const wxString & aName)

Delete a committed net chain by name.

Clears every net-chain override map entry (netclass, colour, terminal refs, member nets) and the project chain-class assignment, and resets the SetNetChainName marker on every member symbol so the chain is not reapplied on the next RebuildNetChains() pass.

Returns
true if a chain with that name was found and removed.

Definition at line 1176 of file conn_netchain_manager.cpp.

References liveNetSettings(), m_committedNetChains, m_netChainColorOverrides, m_netChainMemberNetOverrides, m_netChainNetClassOverrides, m_netChainTerminalRefOverrides, and setSymbolName().

◆ findPotentialChain()

SCH_NETCHAIN * SCH_CONNECTIVITY::NETCHAIN_MANAGER::findPotentialChain ( const std::vector< std::unique_ptr< SCH_NETCHAIN > > & aPotentials,
const wxString & aNetA,
const wxString & aNetB )
staticprivate

◆ FindPotentialNetChainBetweenPins()

SCH_NETCHAIN * SCH_CONNECTIVITY::NETCHAIN_MANAGER::FindPotentialNetChainBetweenPins ( SCH_PIN * aPinA,
const SCH_SHEET_PATH & aPathA,
SCH_PIN * aPinB,
const SCH_SHEET_PATH & aPathB )

◆ GetBridgeSymbols()

std::map< SCH_SYMBOL *, SCH_SCREEN * > SCH_CONNECTIVITY::NETCHAIN_MANAGER::GetBridgeSymbols ( const SCH_NETCHAIN & aChain,
const wxString & aNetKey ) const

Symbols from the last rebuild whose passthrough joins aNetKey to another member of aChain, keyed to the screen that owns them.

Blocking them detaches the net.

Definition at line 1541 of file conn_netchain_manager.cpp.

References SCH_NETCHAIN::GetNets(), and m_bridgeEdges.

◆ GetCommittedNetChains()

const std::vector< std::unique_ptr< SCH_NETCHAIN > > & SCH_CONNECTIVITY::NETCHAIN_MANAGER::GetCommittedNetChains ( ) const
inline

Return user-created (committed) net chains (legacy accessor retained under net-chain API).

Definition at line 171 of file conn_netchain_manager.h.

References m_committedNetChains.

◆ GetNetChainByName()

SCH_NETCHAIN * SCH_CONNECTIVITY::NETCHAIN_MANAGER::GetNetChainByName ( const wxString & aName)

◆ GetNetChainColorOverrides()

const std::map< wxString, KIGFX::COLOR4D > & SCH_CONNECTIVITY::NETCHAIN_MANAGER::GetNetChainColorOverrides ( ) const
inline

Definition at line 118 of file conn_netchain_manager.h.

References m_netChainColorOverrides.

◆ GetNetChainForNet()

SCH_NETCHAIN * SCH_CONNECTIVITY::NETCHAIN_MANAGER::GetNetChainForNet ( const wxString & aNet)

◆ GetNetChainMemberNetOverrides()

const std::map< wxString, std::set< wxString > > & SCH_CONNECTIVITY::NETCHAIN_MANAGER::GetNetChainMemberNetOverrides ( ) const
inline

Definition at line 133 of file conn_netchain_manager.h.

References m_netChainMemberNetOverrides.

◆ GetNetChainNetClassOverrides()

const std::map< wxString, wxString > & SCH_CONNECTIVITY::NETCHAIN_MANAGER::GetNetChainNetClassOverrides ( ) const
inline

Definition at line 91 of file conn_netchain_manager.h.

References m_netChainNetClassOverrides.

◆ GetNetChainTerminalRefOverrides()

const std::map< wxString, CHAIN_TERMINAL_REFS > & SCH_CONNECTIVITY::NETCHAIN_MANAGER::GetNetChainTerminalRefOverrides ( ) const
inline

Definition at line 108 of file conn_netchain_manager.h.

References m_netChainTerminalRefOverrides.

◆ GetPotentialNetChains()

const std::vector< std::unique_ptr< SCH_NETCHAIN > > & SCH_CONNECTIVITY::NETCHAIN_MANAGER::GetPotentialNetChains ( ) const
inline

Potential net chains are inferred groupings produced by RebuildNetChains() but not yet user-committed.

Existing m_committedNetChains now represents only user-created connectivity groups.

Definition at line 142 of file conn_netchain_manager.h.

References m_potentialNetChains.

◆ liveNetSettings()

std::shared_ptr< NET_SETTINGS > SCH_CONNECTIVITY::NETCHAIN_MANAGER::liveNetSettings ( ) const
private

Project net settings, or null for staged and temporary managers.

Definition at line 1462 of file conn_netchain_manager.cpp.

References m_schematic.

Referenced by ApplyNetChainNetclasses(), DeleteCommittedNetChain(), and RenameCommittedNetChain().

◆ Merge()

◆ NetChainsBuilt()

bool SCH_CONNECTIVITY::NETCHAIN_MANAGER::NetChainsBuilt ( ) const
inline

Returns true once RebuildNetChains() has completed at least once on this graph.

Definition at line 184 of file conn_netchain_manager.h.

References m_netChainsBuilt.

Referenced by recalculateIfStale().

◆ NetKeyForItem()

wxString SCH_CONNECTIVITY::NETCHAIN_MANAGER::NetKeyForItem ( const SCH_ITEM & aItem,
const SCH_SHEET_PATH & aPath )
static

◆ NetKeyForTerminal()

wxString SCH_CONNECTIVITY::NETCHAIN_MANAGER::NetKeyForTerminal ( const KIID & aPin,
const KIID_PATH & aSheet ) const
private

Resolve a terminal pin UUID on a sheet instance to its chain member key.

Definition at line 1563 of file conn_netchain_manager.cpp.

References m_schematic, NetKeyForItem(), niluuid, path, and pin.

Referenced by ReplaceNetChainTerminalPin().

◆ Rebuild()

void SCH_CONNECTIVITY::NETCHAIN_MANAGER::Rebuild ( const NETCHAIN_INPUT & aConnectivity,
const std::function< void(NETCHAIN_MANAGER &)> & aBeforePublish = {} )

◆ rebuild()

◆ refreshCommittedChainFromPotential()

void SCH_CONNECTIVITY::NETCHAIN_MANAGER::refreshCommittedChainFromPotential ( SCH_NETCHAIN * aTarget,
const SCH_NETCHAIN & aSource )
private

Refresh aTarget from an inferred potential chain and resync its persisted member-net fallback.

Definition at line 1311 of file conn_netchain_manager.cpp.

References SCH_NETCHAIN::GetName(), SCH_NETCHAIN::GetNets(), SCH_NETCHAIN::GetSymbols(), refreshCommittedChainPayload(), and storeMemberNets().

Referenced by rebuild().

◆ refreshCommittedChainPayload()

void SCH_CONNECTIVITY::NETCHAIN_MANAGER::refreshCommittedChainPayload ( SCH_NETCHAIN * aTarget,
const std::set< wxString > & aNets,
const std::set< class SCH_SYMBOL * > & aSymbols )
private

Replace the derived-view payload on aTarget with explicitly supplied member nets, and symbols.

Preserves the chain's name and any user-set netclass/color overrides stored on the chain itself. Empty net names are filtered. Used by RebuildNetChains to refresh committed chains in place after Reset() has cleared their stale schematic-item pointers.

Definition at line 1284 of file conn_netchain_manager.cpp.

References SCH_NETCHAIN::AddSymbol(), SCH_NETCHAIN::ClearSymbols(), SCH_NETCHAIN::GetName(), SCH_NETCHAIN::GetSymbols(), SCH_NETCHAIN::ReplaceNets(), and setSymbolName().

Referenced by rebuild(), and refreshCommittedChainFromPotential().

◆ RefreshTerminalReferences()

void SCH_CONNECTIVITY::NETCHAIN_MANAGER::RefreshTerminalReferences ( )

◆ refreshTerminalReferences()

bool SCH_CONNECTIVITY::NETCHAIN_MANAGER::refreshTerminalReferences ( SCH_NETCHAIN & aChain)
private

Definition at line 518 of file conn_netchain_manager.cpp.

References resolveTerminals(), and storeTerminalRefs().

Referenced by rebuild(), and RefreshTerminalReferences().

◆ rekeyOverrideMaps()

void SCH_CONNECTIVITY::NETCHAIN_MANAGER::rekeyOverrideMaps ( const wxString & aOld,
const wxString & aNew )
private

Move every net-chain override map entry keyed by aOld to aNew.

Maps that do not contain aOld are left untouched, so this is safe to call from any rename path regardless of which overrides exist.

Definition at line 1260 of file conn_netchain_manager.cpp.

References m_netChainColorOverrides, m_netChainMemberNetOverrides, m_netChainNetClassOverrides, and m_netChainTerminalRefOverrides.

Referenced by RenameCommittedNetChain().

◆ RenameCommittedNetChain()

bool SCH_CONNECTIVITY::NETCHAIN_MANAGER::RenameCommittedNetChain ( const wxString & aOld,
const wxString & aNew )

Rename a committed net chain.

Re-keys override map entries and the project chain-class assignment from the old name to the new one, and updates every member symbol's net-chain name marker. Returns false when the new name fails SCH_NETCHAIN::IsValidName(), the old chain does not exist, or another chain already uses the new name.

Definition at line 1211 of file conn_netchain_manager.cpp.

References chain, SCH_NETCHAIN::GetSymbols(), SCH_NETCHAIN::IsValidName(), liveNetSettings(), m_committedNetChains, rekeyOverrideMaps(), SCH_NETCHAIN::SetName(), and setSymbolName().

◆ ReplaceNetChainTerminalPin()

◆ resolvePotentialChainByTerminals()

SCH_NETCHAIN * SCH_CONNECTIVITY::NETCHAIN_MANAGER::resolvePotentialChainByTerminals ( const CHAIN_TERMINAL_REFS & aTermRefs,
const std::map< std::pair< wxString, wxString >, wxString > & aRefPinToNet,
const std::vector< std::unique_ptr< SCH_NETCHAIN > > & aPotentials,
const wxString & aChainName )
staticprivate

Disambiguate the saved (refA.pinA, refB.pinB) terminal pair against the current set of potential net chains.

Returns the potential chain whose net set contains BOTH endpoint nets. Returning the first match that contains only one net would silently pick the wrong chain when two potentials share an endpoint but differ at the other terminal. Tested via the boost_test_resolve_potential_chain_by_terminals friend shim.

Definition at line 1153 of file conn_netchain_manager.cpp.

References findPotentialChain(), and traceSchNetChain.

Referenced by rebuild(), and CONNECTION_GRAPH::resolvePotentialChainByTerminals().

◆ resolveTerminals()

◆ SetNetChainColorOverrides()

void SCH_CONNECTIVITY::NETCHAIN_MANAGER::SetNetChainColorOverrides ( const std::map< wxString, KIGFX::COLOR4D > & aOverrides)
inline

Definition at line 113 of file conn_netchain_manager.h.

References m_netChainColorOverrides.

◆ SetNetChainMemberNetOverrides()

void SCH_CONNECTIVITY::NETCHAIN_MANAGER::SetNetChainMemberNetOverrides ( const std::map< wxString, std::set< wxString > > & aOverrides)
inline

Stash per-chain member-net lists read from the schematic file.

Used by RebuildNetChains to reconstruct manual force-created chains, which have no underlying inferred potential to match against.

Definition at line 128 of file conn_netchain_manager.h.

References m_netChainMemberNetOverrides.

◆ SetNetChainNetClassOverrides()

void SCH_CONNECTIVITY::NETCHAIN_MANAGER::SetNetChainNetClassOverrides ( const std::map< wxString, wxString > & aOverrides)
inline

Stash per-net-chain netclass overrides read from the schematic file.

These are consumed by RebuildNetChains when committed chains are named: if a chain matches one of the keys, its netclass override is set from the value.

Definition at line 86 of file conn_netchain_manager.h.

References m_netChainNetClassOverrides.

◆ SetNetChainTerminalRefOverrides()

void SCH_CONNECTIVITY::NETCHAIN_MANAGER::SetNetChainTerminalRefOverrides ( const std::map< wxString, CHAIN_TERMINAL_REFS > & aRefs)
inline

Definition at line 103 of file conn_netchain_manager.h.

References m_netChainTerminalRefOverrides.

◆ SetSchematic()

void SCH_CONNECTIVITY::NETCHAIN_MANAGER::SetSchematic ( SCHEMATIC * aSchematic)
inline

Definition at line 56 of file conn_netchain_manager.h.

References m_schematic.

◆ setSymbolName()

void SCH_CONNECTIVITY::NETCHAIN_MANAGER::setSymbolName ( SCH_SYMBOL * aSymbol,
const wxString & aName )
private

◆ storeMemberNets()

void SCH_CONNECTIVITY::NETCHAIN_MANAGER::storeMemberNets ( const wxString & aName,
const std::set< wxString > & aNets )
private

Record the persistable subset of aNets as the restore fallback for aName.

Definition at line 547 of file conn_netchain_manager.cpp.

References SCH_NETCHAIN::IsPersistableNet(), and m_netChainMemberNetOverrides.

Referenced by CreateNetChainFromPotential(), and refreshCommittedChainFromPotential().

◆ storeTerminalRefs()

◆ void::boost_test_inject_committed_net_chain()

SCH_CONNECTIVITY::NETCHAIN_MANAGER::void::boost_test_inject_committed_net_chain ( CONNECTION_GRAPH & ,
std::unique_ptr< SCH_NETCHAIN >  )
private

References ::CONNECTION_GRAPH.

Friends And Related Symbol Documentation

◆ ::CONNECTION_GRAPH

friend class ::CONNECTION_GRAPH
friend

Member Data Documentation

◆ m_bridgeEdges

std::vector<BRIDGE_EDGE> SCH_CONNECTIVITY::NETCHAIN_MANAGER::m_bridgeEdges
private

raw bridge edges from the last rebuild

Definition at line 305 of file conn_netchain_manager.h.

Referenced by ClearDerived(), GetBridgeSymbols(), Merge(), Rebuild(), and rebuild().

◆ m_committedNetChains

◆ m_netChainColorOverrides

std::map<wxString, KIGFX::COLOR4D> SCH_CONNECTIVITY::NETCHAIN_MANAGER::m_netChainColorOverrides
private

◆ m_netChainMemberNetOverrides

std::map<wxString, std::set<wxString> > SCH_CONNECTIVITY::NETCHAIN_MANAGER::m_netChainMemberNetOverrides
private

◆ m_netChainNetClassOverrides

std::map<wxString, wxString> SCH_CONNECTIVITY::NETCHAIN_MANAGER::m_netChainNetClassOverrides
private

◆ m_netChainsBuilt

bool SCH_CONNECTIVITY::NETCHAIN_MANAGER::m_netChainsBuilt = false
private

Definition at line 306 of file conn_netchain_manager.h.

Referenced by ClearDerived(), Merge(), NetChainsBuilt(), and Rebuild().

◆ m_netChainTerminalRefOverrides

std::map<wxString, CHAIN_TERMINAL_REFS> SCH_CONNECTIVITY::NETCHAIN_MANAGER::m_netChainTerminalRefOverrides
private

◆ m_pendingSymbolNames

std::unordered_map<SCH_SYMBOL*, wxString>* SCH_CONNECTIVITY::NETCHAIN_MANAGER::m_pendingSymbolNames = nullptr
private

Definition at line 312 of file conn_netchain_manager.h.

Referenced by Rebuild(), and setSymbolName().

◆ m_potentialNetChains

std::vector<std::unique_ptr<SCH_NETCHAIN> > SCH_CONNECTIVITY::NETCHAIN_MANAGER::m_potentialNetChains
private

last built potential (uncommitted) net chains

Definition at line 304 of file conn_netchain_manager.h.

Referenced by ClearDerived(), FindPotentialNetChainBetweenPins(), GetPotentialNetChains(), Merge(), Rebuild(), and rebuild().

◆ m_schematic

SCHEMATIC* SCH_CONNECTIVITY::NETCHAIN_MANAGER::m_schematic
private

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