36 copy->SetOwner(
this );
44 copy->SetOwner(
this );
51 std::vector<ITEM*> newItems;
61 if( item->Layers().Overlaps( l ) ^ aInvert )
62 newItems.push_back( item );
65 m_items = std::move( newItems );
73 std::vector<ITEM*> newItems;
77 if( item->OfKind( aKindMask ) ^ aInvert )
78 newItems.push_back( item );
81 m_items = std::move( newItems );
89 std::vector<ITEM*> newItems;
93 if( item->Marker() & aMarker )
94 newItems.push_back( item );
97 m_items = std::move( newItems );
105 std::vector<ITEM*> newItems;
109 if( ( item->Net() == aNet ) ^ aInvert )
110 newItems.push_back( item );
113 m_items = std::move( newItems );
121 std::vector<ITEM*> newItems;
126 newItems.push_back( item );
129 m_items = std::move( newItems );
139 if(
auto seg = dyn_cast<SEGMENT*>( item ) )
141 if( seg->Seg().A == aV || seg->Seg().B == aV )
ITEM_SET & FilterNet(NET_HANDLE aNet, bool aInvert=false)
std::vector< ITEM * > m_items
void Add(const LINE &aLine)
ITEM_SET & ExcludeItem(const ITEM *aItem)
ITEM_SET & FilterMarker(int aMarker, bool aInvert=false)
ITEM_SET & FilterKinds(int aKindMask, bool aInvert=false)
ITEM_SET & FilterLayers(int aStart, int aEnd=-1, bool aInvert=false)
ITEM * FindVertex(const VECTOR2I &aV) const
void Prepend(const LINE &aLine)
Base class for PNS router board items.
Represents a track on a PCB, connecting two non-trivial joints (that is, vias, pads,...
virtual LINE * Clone() const override
Return a deep copy of the item.
Represent a contiguous set of PCB layers.
Push and Shove diff pair dimensions (gap) settings dialog.