|
KiCad PCB EDA Suite
|
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_NETCHAIN * | FindPotentialNetChainBetweenPins (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_NETCHAIN * | GetNetChainForNet (const wxString &aNet) |
| SCH_NETCHAIN * | GetNetChainByName (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_NETCHAIN * | CreateNetChainFromPotential (SCH_NETCHAIN *aPotential, const wxString &aName) |
| Promote a potential net chain to an actual user net chain with the provided name. | |
| SCH_NETCHAIN * | 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. | |
| 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_SETTINGS > | liveNetSettings () 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_NETCHAIN * | 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) |
| Disambiguate the saved (refA.pinA, refB.pinB) terminal pair against the current set of potential net chains. | |
| static SCH_NETCHAIN * | findPotentialChain (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_EDGE > | m_bridgeEdges |
| raw bridge edges from the last rebuild | |
| bool | m_netChainsBuilt = false |
| std::map< wxString, wxString > | m_netChainNetClassOverrides |
| std::map< wxString, KIGFX::COLOR4D > | m_netChainColorOverrides |
| std::map< wxString, CHAIN_TERMINAL_REFS > | m_netChainTerminalRefOverrides |
| std::map< wxString, std::set< wxString > > | m_netChainMemberNetOverrides |
| std::unordered_map< SCH_SYMBOL *, wxString > * | m_pendingSymbolNames = nullptr |
| SCHEMATIC * | m_schematic |
Friends | |
| class | ::CONNECTION_GRAPH |
Persistent chain configuration and the derived chains for one schematic.
Definition at line 46 of file conn_netchain_manager.h.
| using SCH_CONNECTIVITY::NETCHAIN_MANAGER::CHAIN_TERMINAL_REFS = std::pair<CHAIN_TERMINAL_REF, CHAIN_TERMINAL_REF> |
Definition at line 101 of file conn_netchain_manager.h.
|
inlineexplicit |
Definition at line 49 of file conn_netchain_manager.h.
References m_schematic.
| 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.
|
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().
| void SCH_CONNECTIVITY::NETCHAIN_MANAGER::ClearDerived | ( | ) |
Definition at line 40 of file conn_netchain_manager.cpp.
References chain, m_bridgeEdges, m_committedNetChains, m_netChainsBuilt, and m_potentialNetChains.
| 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.
| aName | Name of the new chain. Must satisfy SCH_NETCHAIN::IsValidName(). |
| aSymbols | Symbols that participate in the chain. |
| aNets | Member nets of the chain. |
| aTerminalPinA | First terminal pin KIID. |
| aTerminalPinB | Second terminal pin KIID. |
| aRefA | Reference designator for the first terminal symbol. |
| aPinNumA | Pin number for the first terminal pin. |
| aRefB | Reference designator for the second terminal symbol. |
| aPinNumB | Pin number for the second terminal pin. |
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().
| SCH_NETCHAIN * SCH_CONNECTIVITY::NETCHAIN_MANAGER::CreateNetChainFromPotential | ( | SCH_NETCHAIN * | aPotential, |
| const wxString & | aName ) |
Promote a potential net chain to an actual user net chain with the provided name.
Definition at line 1321 of file conn_netchain_manager.cpp.
References SCH_NETCHAIN::GetNets(), SCH_NETCHAIN::GetSymbols(), SCH_NETCHAIN::GetTerminalPath(), SCH_NETCHAIN::GetTerminalPinA(), SCH_NETCHAIN::GetTerminalPinB(), SCH_NETCHAIN::GetTerminalPinNum(), SCH_NETCHAIN::GetTerminalRef(), m_committedNetChains, m_netChainColorOverrides, m_netChainNetClassOverrides, m_netChainTerminalRefOverrides, resolveTerminals(), setSymbolName(), storeMemberNets(), and storeTerminalRefs().
Referenced by rebuild().
| 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.
Definition at line 1176 of file conn_netchain_manager.cpp.
References liveNetSettings(), m_committedNetChains, m_netChainColorOverrides, m_netChainMemberNetOverrides, m_netChainNetClassOverrides, m_netChainTerminalRefOverrides, and setSymbolName().
|
staticprivate |
Definition at line 1140 of file conn_netchain_manager.cpp.
Referenced by FindPotentialNetChainBetweenPins(), rebuild(), and resolvePotentialChainByTerminals().
| SCH_NETCHAIN * SCH_CONNECTIVITY::NETCHAIN_MANAGER::FindPotentialNetChainBetweenPins | ( | SCH_PIN * | aPinA, |
| const SCH_SHEET_PATH & | aPathA, | ||
| SCH_PIN * | aPinB, | ||
| const SCH_SHEET_PATH & | aPathB ) |
Definition at line 1608 of file conn_netchain_manager.cpp.
References findPotentialChain(), m_potentialNetChains, and NetKeyForItem().
Referenced by addCreateNetChainBetweenPinsIfApplicable().
| 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.
|
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.
| SCH_NETCHAIN * SCH_CONNECTIVITY::NETCHAIN_MANAGER::GetNetChainByName | ( | const wxString & | aName | ) |
Definition at line 1513 of file conn_netchain_manager.cpp.
References m_committedNetChains, and traceSchNetChain.
Referenced by CreateManualNetChain(), and ReplaceNetChainTerminalPin().
|
inline |
Definition at line 118 of file conn_netchain_manager.h.
References m_netChainColorOverrides.
| SCH_NETCHAIN * SCH_CONNECTIVITY::NETCHAIN_MANAGER::GetNetChainForNet | ( | const wxString & | aNet | ) |
Definition at line 1442 of file conn_netchain_manager.cpp.
References m_committedNetChains, and traceSchNetChain.
Referenced by CreateManualNetChain(), and REPLACE_TERMINAL_PIN_MENU::update().
|
inline |
Definition at line 133 of file conn_netchain_manager.h.
References m_netChainMemberNetOverrides.
|
inline |
Definition at line 91 of file conn_netchain_manager.h.
References m_netChainNetClassOverrides.
|
inline |
Definition at line 108 of file conn_netchain_manager.h.
References m_netChainTerminalRefOverrides.
|
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.
|
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().
| void SCH_CONNECTIVITY::NETCHAIN_MANAGER::Merge | ( | NETCHAIN_MANAGER & | aOther | ) |
Definition at line 56 of file conn_netchain_manager.cpp.
References chain, m_bridgeEdges, m_committedNetChains, m_netChainColorOverrides, m_netChainMemberNetOverrides, m_netChainNetClassOverrides, m_netChainsBuilt, m_netChainTerminalRefOverrides, m_potentialNetChains, and NETCHAIN_MANAGER().
|
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().
|
static |
Definition at line 1533 of file conn_netchain_manager.cpp.
References SCH_ITEM::Connection(), SCH_NETCHAIN::MakeKey(), SCH_CONNECTION::Name(), and SCH_CONNECTION::SubgraphCode().
Referenced by FindPotentialNetChainBetweenPins(), NetKeyForTerminal(), and SCH_EDITOR_CONTROL::RemoveFromNetChain().
|
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().
| void SCH_CONNECTIVITY::NETCHAIN_MANAGER::Rebuild | ( | const NETCHAIN_INPUT & | aConnectivity, |
| const std::function< void(NETCHAIN_MANAGER &)> & | aBeforePublish = {} ) |
Definition at line 348 of file conn_netchain_manager.cpp.
References chain, m_bridgeEdges, m_committedNetChains, m_netChainColorOverrides, m_netChainMemberNetOverrides, m_netChainNetClassOverrides, m_netChainsBuilt, m_netChainTerminalRefOverrides, m_pendingSymbolNames, m_potentialNetChains, m_schematic, name, NETCHAIN_MANAGER(), rebuild(), and swap.
|
private |
Definition at line 561 of file conn_netchain_manager.cpp.
References SCH_CONNECTIVITY::NETCHAIN_MANAGER::BRIDGE_GRAPH::adjacency, buildBridgeAdjacency(), chain, comp, CreateManualNetChain(), CreateNetChainFromPotential(), SCH_CONNECTIVITY::NETCHAIN_MANAGER::BRIDGE_GRAPH::edges, findPotentialChain(), SCH_SCREEN::GetConnectivityItem(), SCH_NETCHAIN::GetName(), SCH_NETCHAIN::GetNets(), SCH_SYMBOL::GetPins(), SCH_NETCHAIN::GetSymbols(), EDA_TEXT::GetText(), SCH_SCREEN::Items(), kv, m_bridgeEdges, m_committedNetChains, m_netChainMemberNetOverrides, m_netChainTerminalRefOverrides, m_potentialNetChains, EDA_ITEM::m_Uuid, name, EE_RTREE::OfType(), SCH_CONNECTIVITY::NETCHAIN_MANAGER::BRIDGE_NEIGHBOR::other, pin, refreshCommittedChainFromPotential(), refreshCommittedChainPayload(), refreshTerminalReferences(), resolvePotentialChainByTerminals(), SCH_LABEL_T, SCH_SYMBOL_T, setSymbolName(), SCH_CONNECTIVITY::NETCHAIN_INPUT::sheets, SCH_CONNECTIVITY::NETCHAIN_MANAGER::SHEET_SYMBOLS::symbols, traceSchNetChain, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by Rebuild().
|
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().
|
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().
| void SCH_CONNECTIVITY::NETCHAIN_MANAGER::RefreshTerminalReferences | ( | ) |
Definition at line 528 of file conn_netchain_manager.cpp.
References chain, m_committedNetChains, and refreshTerminalReferences().
|
private |
Definition at line 518 of file conn_netchain_manager.cpp.
References resolveTerminals(), and storeTerminalRefs().
Referenced by rebuild(), and RefreshTerminalReferences().
|
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().
| 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().
| bool SCH_CONNECTIVITY::NETCHAIN_MANAGER::ReplaceNetChainTerminalPin | ( | const TERMINAL_CHANGE & | aChange | ) |
Definition at line 1578 of file conn_netchain_manager.cpp.
References chain, SCH_CONNECTIVITY::NETCHAIN_MANAGER::TERMINAL_CHANGE::chain, SCH_CONNECTIVITY::NETCHAIN_MANAGER::TERMINAL_CHANGE::endpoint, GetNetChainByName(), SCH_NETCHAIN::GetTerminalPath(), SCH_NETCHAIN::GetTerminalPinA(), SCH_NETCHAIN::GetTerminalPinB(), NetKeyForTerminal(), SCH_CONNECTIVITY::NETCHAIN_MANAGER::TERMINAL_CHANGE::pin, resolveTerminals(), SCH_NETCHAIN::SetTerminalPaths(), SCH_NETCHAIN::SetTerminalPins(), SCH_CONNECTIVITY::NETCHAIN_MANAGER::TERMINAL_CHANGE::sheet, and storeTerminalRefs().
Referenced by SCH_EDITOR_CONTROL::ReplaceTerminalPin().
|
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().
|
private |
Definition at line 440 of file conn_netchain_manager.cpp.
References SCH_SCREEN::GetConnectivityItem(), SCH_SYMBOL::GetPins(), SCH_NETCHAIN::GetTerminalPath(), SCH_NETCHAIN::GetTerminalPinA(), SCH_NETCHAIN::GetTerminalPinB(), SCH_SCREEN::Items(), m_schematic, EE_RTREE::OfType(), path, pin, SCH_CONNECTIVITY::NETCHAIN_MANAGER::CHAIN_TERMINAL_REF::pin, SCH_CONNECTIVITY::NETCHAIN_MANAGER::CHAIN_TERMINAL_REF::ref, SCH_SYMBOL_T, SCH_NETCHAIN::SetTerminalPaths(), SCH_NETCHAIN::SetTerminalPins(), and SCH_NETCHAIN::SetTerminalRefs().
Referenced by CreateManualNetChain(), CreateNetChainFromPotential(), refreshTerminalReferences(), and ReplaceNetChainTerminalPin().
|
inline |
Definition at line 113 of file conn_netchain_manager.h.
References m_netChainColorOverrides.
|
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.
|
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.
|
inline |
Definition at line 103 of file conn_netchain_manager.h.
References m_netChainTerminalRefOverrides.
|
inline |
Definition at line 56 of file conn_netchain_manager.h.
References m_schematic.
|
private |
Definition at line 428 of file conn_netchain_manager.cpp.
References m_pendingSymbolNames, and SCH_SYMBOL::SetNetChainName().
Referenced by CreateManualNetChain(), CreateNetChainFromPotential(), DeleteCommittedNetChain(), rebuild(), refreshCommittedChainPayload(), and RenameCommittedNetChain().
|
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().
|
private |
Definition at line 538 of file conn_netchain_manager.cpp.
References SCH_NETCHAIN::GetName(), SCH_NETCHAIN::GetTerminalPinNum(), SCH_NETCHAIN::GetTerminalRef(), and m_netChainTerminalRefOverrides.
Referenced by CreateManualNetChain(), CreateNetChainFromPotential(), refreshTerminalReferences(), and ReplaceNetChainTerminalPin().
|
private |
References ::CONNECTION_GRAPH.
|
friend |
Definition at line 221 of file conn_netchain_manager.h.
Referenced by void::boost_test_inject_committed_net_chain().
|
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().
|
private |
Definition at line 303 of file conn_netchain_manager.h.
Referenced by ApplyNetChainNetclasses(), CONNECTION_GRAPH::boost_test_inject_committed_net_chain, ClearDerived(), CreateManualNetChain(), CreateNetChainFromPotential(), DeleteCommittedNetChain(), GetCommittedNetChains(), GetNetChainByName(), GetNetChainForNet(), Merge(), Rebuild(), rebuild(), RefreshTerminalReferences(), and RenameCommittedNetChain().
|
private |
Definition at line 308 of file conn_netchain_manager.h.
Referenced by CreateManualNetChain(), CreateNetChainFromPotential(), DeleteCommittedNetChain(), GetNetChainColorOverrides(), Merge(), Rebuild(), rekeyOverrideMaps(), and SetNetChainColorOverrides().
|
private |
Definition at line 310 of file conn_netchain_manager.h.
Referenced by CreateManualNetChain(), DeleteCommittedNetChain(), GetNetChainMemberNetOverrides(), Merge(), Rebuild(), rebuild(), rekeyOverrideMaps(), SetNetChainMemberNetOverrides(), and storeMemberNets().
|
private |
Definition at line 307 of file conn_netchain_manager.h.
Referenced by CreateManualNetChain(), CreateNetChainFromPotential(), DeleteCommittedNetChain(), GetNetChainNetClassOverrides(), Merge(), Rebuild(), rekeyOverrideMaps(), and SetNetChainNetClassOverrides().
|
private |
Definition at line 306 of file conn_netchain_manager.h.
Referenced by ClearDerived(), Merge(), NetChainsBuilt(), and Rebuild().
|
private |
Definition at line 309 of file conn_netchain_manager.h.
Referenced by CreateNetChainFromPotential(), DeleteCommittedNetChain(), GetNetChainTerminalRefOverrides(), Merge(), Rebuild(), rebuild(), rekeyOverrideMaps(), SetNetChainTerminalRefOverrides(), and storeTerminalRefs().
|
private |
Definition at line 312 of file conn_netchain_manager.h.
Referenced by Rebuild(), and setSymbolName().
|
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().
|
private |
Definition at line 313 of file conn_netchain_manager.h.
Referenced by liveNetSettings(), NETCHAIN_MANAGER(), NetKeyForTerminal(), Rebuild(), resolveTerminals(), and SetSchematic().