42 static wxString
MakeKey(
const wxString& aName, uint32_t aComponent );
54 const auto swapMember = []<
typename T>(
T& a,
T& b )
noexcept
56 static_assert( std::is_nothrow_swappable_v<T> );
61 swapMember( aLeft.m_name, aRight.m_name );
62 swapMember( aLeft.m_nets, aRight.m_nets );
63 swapMember( aLeft.m_symbols, aRight.m_symbols );
64 swapMember( aLeft.m_terminalPins, aRight.m_terminalPins );
65 swapMember( aLeft.m_terminalPaths, aRight.m_terminalPaths );
66 swapMember( aLeft.m_terminalRef, aRight.m_terminalRef );
67 swapMember( aLeft.m_terminalPinNum, aRight.m_terminalPinNum );
68 swapMember( aLeft.m_netClass, aRight.m_netClass );
69 swapMember( aLeft.m_color, aRight.m_color );
80 for( wxUniChar c : aName )
81 if( c ==
'"' || c ==
'\'' || c ==
'(' || c ==
')' || c ==
' ' )
164 void SetTerminalRefs(
const wxString& aRefA,
const wxString& aPinA,
const wxString& aRefB,
const wxString& aPinB )
174 wxASSERT( aIdx >= 0 && aIdx < 2 );
180 wxASSERT( aIdx >= 0 && aIdx < 2 );
A color representation with 4 components: red, green, blue, alpha.
static const COLOR4D UNSPECIFIED
For legacy support; used as a value to indicate color hasn't been set yet.
const KIID & GetTerminalPinB() const
static wxString MakeKey(const wxString &aName, uint32_t aComponent)
const std::set< wxString > & GetNets() const
void AddSymbol(class SCH_SYMBOL *aSymbol)
std::set< wxString > m_nets
const wxString & GetTerminalRef(int aIdx) const
const wxString & GetNetClass() const
const KIGFX::COLOR4D & GetColor() const
const wxString & GetName() const
KIID_PATH m_terminalPaths[2]
static bool IsValidName(const wxString &aName)
wxString m_terminalPinNum[2]
std::set< class SCH_SYMBOL * > m_symbols
void SetTerminalPins(const KIID &aPinA, const KIID &aPinB)
friend void swap(SCH_NETCHAIN &aLeft, SCH_NETCHAIN &aRight) noexcept
void RemoveNet(const wxString &aNet)
void ReplaceNets(const std::set< wxString > &aNew)
const KIID_PATH & GetTerminalPath(int aIdx) const
const std::set< class SCH_SYMBOL * > & GetSymbols() const
void SetNetClass(const wxString &aNetClass)
Net chains may override the netclass applied to every member net.
static constexpr wxStringCharType SYNTHETIC_NET_PREFIX[]
Prefix used when synthesising net names for unnamed subgraphs.
wxString m_terminalRef[2]
void AbsorbSymbolsFrom(const SCH_NETCHAIN &aOther)
void SetTerminalPaths(const KIID_PATH &aPathA, const KIID_PATH &aPathB)
static bool IsPersistableNet(const wxString &aNet)
Synthetic keys do not survive a reload, so only named nets are written out.
const wxString & GetTerminalPinNum(int aIdx) const
void SetColor(const KIGFX::COLOR4D &aColor)
Optional display color for the chain.
const KIID & GetTerminalPinA() const
bool IsTerminal(const KIID &aPin, const KIID_PATH &aSheet) const
void AddNet(const wxString &aNet)
void SetName(const wxString &aName)
void SetTerminalRefs(const wxString &aRefA, const wxString &aPinA, const wxString &aRefB, const wxString &aPinB)