KiCad PCB EDA Suite
|
#include <pns_itemset.h>
Classes | |
struct | ENTRY |
Public Types | |
typedef std::vector< ENTRY > | ENTRIES |
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 |
ENTRIES & | Items () |
const ENTRIES & | CItems () const |
ITEM_SET & | FilterLayers (int aStart, int aEnd=-1, bool aInvert=false) |
ITEM_SET & | FilterKinds (int aKindMask, bool aInvert=false) |
ITEM_SET & | FilterNet (int 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 (int 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 |
ENTRIES::iterator | begin () |
ENTRIES::iterator | end () |
ENTRIES::const_iterator | cbegin () const |
ENTRIES::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) |
Private Attributes | |
ENTRIES | m_items |
Definition at line 36 of file pns_itemset.h.
typedef std::vector<ENTRY> PNS::ITEM_SET::ENTRIES |
Definition at line 93 of file pns_itemset.h.
|
inline |
Definition at line 95 of file pns_itemset.h.
References m_items.
|
inline |
Definition at line 101 of file pns_itemset.h.
References m_items.
PNS::ITEM_SET::~ITEM_SET | ( | ) |
Definition at line 27 of file pns_itemset.cpp.
void PNS::ITEM_SET::Add | ( | const LINE & | aLine | ) |
Definition at line 32 of file pns_itemset.cpp.
References PNS::LINE::Clone(), copy, and m_items.
Referenced by PNS::COMPONENT_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::DIFF_PAIR_PLACER::rhShoveOnly(), PNS::SHOVE::ShoveDraggingVia(), PNS::SHOVE::ShoveLines(), PNS::SHOVE::ShoveMultiLines(), PNS::DIFF_PAIR_PLACER::Traces(), and PNS::DP_MEANDER_PLACER::Traces().
|
inline |
Definition at line 178 of file pns_itemset.h.
References m_items.
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 136 of file pns_itemset.h.
References m_items.
Referenced by PNS::NODE::CheckColliding(), PNS::MEANDER_PLACER_BASE::Clearance(), PNS::MEANDER_PLACER::doMove(), PNS::ROUTER::GetUpdatedItems(), PNS::JOINT::IsLineCorner(), PNS::JOINT::LinkList(), PNS::DP_MEANDER_PLACER::Move(), PNS::MEANDER_SKEW_PLACER::Move(), PNS::ROUTER::movePlacing(), and PNS::SHOVE::ShoveMultiLines().
|
inline |
Definition at line 188 of file pns_itemset.h.
References m_items.
Referenced by PNS::COMPONENT_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 193 of file pns_itemset.h.
References alg::contains(), and m_items.
Referenced by PNS::JOINT::Link(), PNS::ROUTER::markViolations(), and PNS::COMPONENT_DRAGGER::Start().
|
inline |
Definition at line 114 of file pns_itemset.h.
References PNS::ITEM::ANY_T, and m_items.
Referenced by PNS::JOINT::IsLineCorner(), PNS::JOINT::IsNonFanoutVia(), PNS::JOINT::IsStitchingVia(), PNS::JOINT::IsTraceWidthChange(), PNS::JOINT::LinkCount(), and PNS::ROUTER::StartDragging().
|
inline |
Definition at line 130 of file pns_itemset.h.
References m_items.
Referenced by PNS::DRAGGER::dragViaMarkObstacles(), PNS::DRAGGER::dragViaWalkaround(), PNS::MEANDER_PLACER_BASE::lineLength(), PNS::TOOL_BASE::pickSingleItem(), PNS::DRAGGER::Start(), and PNS::ROUTER::StartDragging().
|
inline |
|
inline |
Definition at line 199 of file pns_itemset.h.
References m_items.
Referenced by PNS::JOINT::Unlink().
Definition at line 116 of file pns_itemset.cpp.
References m_items.
Referenced by PNS_KICAD_IFACE_BASE::inheritTrackWidth().
|
inline |
Definition at line 148 of file pns_itemset.h.
References FilterKinds().
|
inline |
Definition at line 143 of file pns_itemset.h.
References FilterLayers().
|
inline |
Definition at line 153 of file pns_itemset.h.
References FilterNet().
ITEM_SET & PNS::ITEM_SET::FilterKinds | ( | int | aKindMask, |
bool | aInvert = false |
||
) |
Definition at line 68 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 |
||
) |
Definition at line 46 of file pns_itemset.cpp.
References m_items.
Referenced by ExcludeLayers().
ITEM_SET & PNS::ITEM_SET::FilterMarker | ( | int | aMarker, |
bool | aInvert = false |
||
) |
ITEM_SET & PNS::ITEM_SET::FilterNet | ( | int | aNet, |
bool | aInvert = false |
||
) |
Definition at line 100 of file pns_itemset.cpp.
References m_items.
Referenced by ExcludeNet().
|
inline |
Definition at line 209 of file pns_itemset.h.
References m_items.
|
inline |
Definition at line 135 of file pns_itemset.h.
References m_items.
Referenced by PNS::TOPOLOGY::AssembleTrivialPath(), PNS::COMPONENT_DRAGGER::Drag(), PNS::DRAGGER::dragViaMarkObstacles(), PNS::DRAGGER::dragViaWalkaround(), PNS::TOPOLOGY::followTrivialPath(), PNS::NODE::HitTest(), PNS_KICAD_IFACE_BASE::inheritTrackWidth(), PNS::ROUTER::isStartingPointRoutable(), PNS::ROUTER::markViolations(), PNS::TOOL_BASE::pickSingleItem(), PNS::COMPONENT_DRAGGER::Start(), and PNS::JOINT::Via().
Definition at line 108 of file pns_itemset.h.
References m_items.
|
inline |
Definition at line 168 of file pns_itemset.h.
References m_items.
void PNS::ITEM_SET::Prepend | ( | const LINE & | aLine | ) |
Definition at line 39 of file pns_itemset.cpp.
References PNS::LINE::Clone(), copy, and m_items.
Referenced by PNS::TOPOLOGY::followTrivialPath().
|
inline |
Definition at line 183 of file pns_itemset.h.
References m_items.
|
inline |
Definition at line 160 of file pns_itemset.h.
References m_items.
Referenced by PNS::TOPOLOGY::AssembleTuningPath(), PNS::JOINT::IsLineCorner(), PNS::JOINT::IsNonFanoutVia(), PNS::JOINT::IsStitchingVia(), PNS::JOINT::IsTraceWidthChange(), PNS::MEANDER_PLACER_BASE::lineLength(), PNS::ROUTER::StartDragging(), and PNS::JOINT::Unlink().
|
private |
Definition at line 228 of file pns_itemset.h.
Referenced by Add(), begin(), cbegin(), cend(), CItems(), Clear(), Contains(), Count(), Empty(), end(), Erase(), ExcludeItem(), FilterKinds(), FilterLayers(), FilterMarker(), FilterNet(), FindByKind(), ITEM_SET(), Items(), operator=(), operator[](), Prepend(), and Size().