24#ifndef PCBNEW_ROUTER_PNS_LINK_HOLDER_H_
25#define PCBNEW_ROUTER_PNS_LINK_HOLDER_H_
50 wxLogDebug( wxT(
"PNS LINK_HOLDER::Link: item %p already linked to %p" ), aLink,
this );
60 "Trying to unlink an item that is not linked" );
105 wxLogTrace( wxT(
"PNS" ), wxT(
"item %p: no links" ),
this );
109 wxLogTrace( wxT(
"PNS" ), wxT(
"item %p: %d links" ),
this, (
int)
m_links.size() );
111 for(
int i = 0; i < (int)
m_links.size(); i++ )
112 wxLogTrace( wxT(
"PNS" ), wxT(
"item %d: %p\n" ), i,
m_links[i] );
PnsKind
Supported item types.
void copyLinks(const LINK_HOLDER *aParent)
Copy m_links from the line aParent.
void Unlink(const LINKED_ITEM *aLink)
void Link(LINKED_ITEM *aLink)
Add a reference to an item registered in a NODE that is a part of this line.
bool ContainsLink(const LINKED_ITEM *aItem) const
Check if the segment aLink is a part of the line.
std::vector< LINKED_ITEM * > & Links()
Return the list of links from the owning node that constitute this line (or NULL if the line is not l...
const std::vector< LINKED_ITEM * > & Links() const
LINKED_ITEM * GetLink(int aIndex) const
std::vector< LINKED_ITEM * > m_links
List of segments in the owning NODE (ITEM::m_owner) that constitute this line, or NULL if the line is...
LINK_HOLDER(PnsKind aKind)
int LinkCount() const
Return the number of segments that were assembled together to form this line.
virtual void ClearLinks()
Erase the linking information. Used to detach the line from the owning node.
Push and Shove diff pair dimensions (gap) settings dialog.
bool contains(const _Container &__container, _Value __value)
Returns true if the container contains the given value.