KiCad PCB EDA Suite
|
#include <pns_itemset.h>
Public Member Functions | |
ITEM_SET (ITEM *aInitialItem=nullptr, bool aBecomeOwner=false) | |
ITEM_SET (const ITEM_SET &aOther) | |
~ITEM_SET () | |
ITEM_SET & | operator= (const ITEM_SET &aOther) |
int | Count (int aKindMask=-1) const |
bool | Empty () const |
std::vector< ITEM * > & | Items () |
const std::vector< ITEM * > & | CItems () const |
ITEM_SET & | FilterLayers (int aStart, int aEnd=-1, bool aInvert=false) |
ITEM_SET & | FilterKinds (int aKindMask, bool aInvert=false) |
ITEM_SET & | FilterNet (NET_HANDLE aNet, bool aInvert=false) |
ITEM_SET & | FilterMarker (int aMarker, bool aInvert=false) |
ITEM_SET & | ExcludeLayers (int aStart, int aEnd=-1) |
ITEM_SET & | ExcludeKinds (int aKindMask) |
ITEM_SET & | ExcludeNet (NET_HANDLE aNet) |
ITEM_SET & | ExcludeItem (const ITEM *aItem) |
int | Size () const |
void | Add (const LINE &aLine) |
void | Prepend (const LINE &aLine) |
ITEM * | operator[] (size_t aIndex) const |
std::vector< ITEM * >::iterator | begin () |
std::vector< ITEM * >::iterator | end () |
std::vector< ITEM * >::const_iterator | cbegin () const |
std::vector< ITEM * >::const_iterator | cend () const |
void | Add (ITEM *aItem, bool aBecomeOwner=false) |
void | Prepend (ITEM *aItem, bool aBecomeOwner=false) |
void | Clear () |
bool | Contains (ITEM *aItem) const |
void | Erase (ITEM *aItem) |
template<class T > | |
T * | FindByKind (ITEM::PnsKind kind, int index=0) |
ITEM * | FindVertex (const VECTOR2I &aV) const |
Private Attributes | |
std::vector< ITEM * > | m_items |
Definition at line 36 of file pns_itemset.h.
|
inline |
Definition at line 39 of file pns_itemset.h.
References m_items.
|
inline |
Definition at line 48 of file pns_itemset.h.
References m_items.
PNS::ITEM_SET::~ITEM_SET | ( | ) |
Definition at line 28 of file pns_itemset.cpp.
void PNS::ITEM_SET::Add | ( | const LINE & | aLine | ) |
Definition at line 33 of file pns_itemset.cpp.
References PNS::LINE::Clone(), copy, and m_items.
Referenced by PNS::COMPONENT_DRAGGER::Drag(), PNS::MULTI_DRAGGER::Drag(), PNS::DRAGGER::dragMarkObstacles(), PNS::DRAGGER::dragViaMarkObstacles(), PNS::DRAGGER::dragViaWalkaround(), PNS::DRAGGER::findViaFanoutByHandle(), PNS::TOPOLOGY::followTrivialPath(), PNS::NODE::HitTest(), ROUTER_TOOL::InlineDrag(), PNS::ROUTER::isStartingPointRoutable(), PNS::JOINT::Link(), PNS::JOINT::Merge(), PNS::HIT_VISITOR::operator()(), PNS::DRAGGER::optimizeAndUpdateDraggedLine(), PNS::ROUTER::QueryHoverItems(), PNS_LOG_PLAYER::ReplayLog(), PNS::DIFF_PAIR_PLACER::rhShoveOnly(), PNS::SHOVE::Run(), PNS::DIFF_PAIR_PLACER::Traces(), PNS::DP_MEANDER_PLACER::Traces(), and PNS::DP_MEANDER_PLACER::TunedPath().
|
inline |
Definition at line 130 of file pns_itemset.h.
References m_items, and PNS::OWNABLE_ITEM::SetOwner().
|
inline |
Definition at line 125 of file pns_itemset.h.
References m_items.
|
inline |
Definition at line 127 of file pns_itemset.h.
References m_items.
|
inline |
Definition at line 128 of file pns_itemset.h.
References m_items.
|
inline |
Definition at line 88 of file pns_itemset.h.
References m_items.
Referenced by PNS::NODE::CheckColliding(), PNS::MEANDER_PLACER_BASE::Clearance(), PNS::MEANDER_PLACER::doMove(), PNS::MULTI_DRAGGER::Drag(), PNS::ROUTER::GetUpdatedItems(), PNS::JOINT::IsLineCorner(), PNS::JOINT::IsNonFanoutVia(), PNS::JOINT::IsTraceWidthChange(), PNS::JOINT::LinkList(), PNS::DP_MEANDER_PLACER::Move(), PNS::MEANDER_SKEW_PLACER::Move(), PNS::ROUTER::movePlacing(), PNS::JOINT::NextSegment(), PNS::LINE_PLACER::simplifyNewLine(), and PNS::JOINT::Via().
|
inline |
Definition at line 146 of file pns_itemset.h.
References m_items.
Referenced by PNS::COMPONENT_DRAGGER::Drag(), PNS::DRAGGER::Drag(), PNS::MULTI_DRAGGER::Drag(), PNS::DRAGGER::dragMarkObstacles(), PNS::DRAGGER::dragShove(), PNS::DRAGGER::dragViaMarkObstacles(), PNS::DRAGGER::dragViaWalkaround(), PNS::DRAGGER::optimizeAndUpdateDraggedLine(), and PNS::DRAGGER::Start().
|
inline |
Definition at line 151 of file pns_itemset.h.
References alg::contains(), and m_items.
Referenced by PNS::JOINT::Link(), PNS::ROUTER::markViolations(), PNS::COMPONENT_DRAGGER::Start(), and PNS::MULTI_DRAGGER::Start().
|
inline |
Definition at line 66 of file pns_itemset.h.
References PNS::ITEM::ANY_T, and m_items.
Referenced by ROUTER_TOOL::InlineDrag(), PNS::JOINT::IsLineCorner(), PNS::JOINT::IsStitchingVia(), PNS::JOINT::IsTraceWidthChange(), PNS::JOINT::IsTrivialEndpoint(), PNS::JOINT::LinkCount(), PNS::ROUTER::StartDragging(), and ROUTER_TOOL::UpdateMessagePanel().
|
inline |
Definition at line 82 of file pns_itemset.h.
References m_items.
Referenced by PNS::DRAGGER::dragViaMarkObstacles(), PNS::DRAGGER::dragViaWalkaround(), PNS::MEANDER_PLACER_BASE::lineLength(), PNS::DRAGGER::Start(), PNS::MULTI_DRAGGER::Start(), and PNS::ROUTER::StartDragging().
|
inline |
Definition at line 126 of file pns_itemset.h.
References m_items.
|
inline |
Definition at line 156 of file pns_itemset.h.
References m_items.
Referenced by PNS::JOINT::Unlink().
Definition at line 119 of file pns_itemset.cpp.
References m_items.
Referenced by PNS_KICAD_IFACE_BASE::inheritTrackWidth().
|
inline |
Definition at line 100 of file pns_itemset.h.
References FilterKinds().
|
inline |
Definition at line 95 of file pns_itemset.h.
References FilterLayers().
|
inline |
Definition at line 105 of file pns_itemset.h.
References FilterNet().
ITEM_SET & PNS::ITEM_SET::FilterKinds | ( | int | aKindMask, |
bool | aInvert = false |
||
) |
Definition at line 71 of file pns_itemset.cpp.
References m_items.
Referenced by ExcludeKinds(), and PNS_KICAD_IFACE_BASE::inheritTrackWidth().
ITEM_SET & PNS::ITEM_SET::FilterLayers | ( | int | aStart, |
int | aEnd = -1 , |
||
bool | aInvert = false |
||
) |
ITEM_SET & PNS::ITEM_SET::FilterMarker | ( | int | aMarker, |
bool | aInvert = false |
||
) |
Definition at line 87 of file pns_itemset.cpp.
References m_items.
ITEM_SET & PNS::ITEM_SET::FilterNet | ( | NET_HANDLE | aNet, |
bool | aInvert = false |
||
) |
|
inline |
Definition at line 165 of file pns_itemset.h.
References m_items.
Definition at line 134 of file pns_itemset.cpp.
References m_items.
Referenced by PNS::MULTI_DRAGGER::Start().
|
inline |
Definition at line 87 of file pns_itemset.h.
References m_items.
Referenced by PNS::DRAGGER::dragViaMarkObstacles(), PNS::DRAGGER::dragViaWalkaround(), PNS::NODE::HitTest(), PNS_KICAD_IFACE_BASE::inheritTrackWidth(), ROUTER_TOOL::InlineDrag(), PNS::ROUTER::isStartingPointRoutable(), PNS::ROUTER::markViolations(), pickSegment(), PNS::TOOL_BASE::pickSingleItem(), PNS::COMPONENT_DRAGGER::Start(), PNS::MULTI_DRAGGER::Start(), and PNS::ROUTER::StartDragging().
Definition at line 55 of file pns_itemset.h.
References m_items.
|
inline |
Definition at line 120 of file pns_itemset.h.
References m_items.
void PNS::ITEM_SET::Prepend | ( | const LINE & | aLine | ) |
Definition at line 41 of file pns_itemset.cpp.
References PNS::LINE::Clone(), copy, and m_items.
Referenced by PNS::TOPOLOGY::followTrivialPath().
|
inline |
Definition at line 138 of file pns_itemset.h.
References m_items, and PNS::OWNABLE_ITEM::SetOwner().
|
inline |
Definition at line 112 of file pns_itemset.h.
References m_items.
Referenced by PNS::TOPOLOGY::AssembleTuningPath(), PNS::ROUTER::ContinueFromEnd(), PNS::ROUTER::Finish(), PNS::TOPOLOGY::followTrivialPath(), PNS::ROUTER::getNearestRatnestAnchor(), ROUTER_TOOL::InlineDrag(), PNS::JOINT::IsLineCorner(), PNS::JOINT::IsStitchingVia(), PNS::JOINT::IsTrivialEndpoint(), PNS::MEANDER_PLACER_BASE::lineLength(), PNS::ROUTER::StartDragging(), and PNS::JOINT::Unlink().
|
private |
Definition at line 186 of file pns_itemset.h.
Referenced by Add(), begin(), cbegin(), cend(), CItems(), Clear(), Contains(), Count(), Empty(), end(), Erase(), ExcludeItem(), FilterKinds(), FilterLayers(), FilterMarker(), FilterNet(), FindByKind(), FindVertex(), ITEM_SET(), Items(), operator=(), operator[](), Prepend(), and Size().