![]() |
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=NULL, 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[] (int index) 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 39 of file pns_itemset.h.
typedef std::vector<ENTRY> PNS::ITEM_SET::ENTRIES |
Definition at line 96 of file pns_itemset.h.
|
inline |
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(), and m_items.
Referenced by PNS::TOPOLOGY::AssembleTrivialPath(), PNS::COMPONENT_DRAGGER::Drag(), PNS::DRAGGER::dragMarkObstacles(), PNS::DRAGGER::dragShove(), 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::DIFF_PAIR_PLACER::rhShoveOnly(), PNS::SHOVE::ShoveDraggingVia(), PNS::SHOVE::ShoveLines(), PNS::SHOVE::ShoveMultiLines(), PNS::DP_MEANDER_PLACER::Traces(), and PNS::DIFF_PAIR_PLACER::Traces().
|
inline |
|
inline |
Definition at line 139 of file pns_itemset.h.
References m_items.
Referenced by PNS::NODE::CheckColliding(), PNS::MEANDER_PLACER::doMove(), PNS::MEANDER_SKEW_PLACER::itemsetLength(), PNS::JOINT::LinkList(), PNS::MEANDER_SKEW_PLACER::Move(), PNS::DP_MEANDER_PLACER::Move(), PNS::ROUTER::movePlacing(), PNS::MEANDER_PLACER::origPathLength(), PNS::DP_MEANDER_PLACER::origPathLength(), and PNS::SHOVE::ShoveMultiLines().
|
inline |
Definition at line 186 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 191 of file pns_itemset.h.
References alg::contains(), and m_items.
Referenced by PNS::JOINT::Link().
|
inline |
Definition at line 117 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 133 of file pns_itemset.h.
References m_items.
Referenced by PNS::DRAGGER::dragViaMarkObstacles(), PNS::DRAGGER::dragViaWalkaround(), PNS::DRAGGER::Start(), and PNS::ROUTER::StartDragging().
|
inline |
Definition at line 197 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 151 of file pns_itemset.h.
References FilterKinds().
|
inline |
Definition at line 146 of file pns_itemset.h.
References FilterLayers().
|
inline |
Definition at line 156 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 |
||
) |
ITEM_SET & PNS::ITEM_SET::FilterMarker | ( | int | aMarker, |
bool | aInvert = false |
||
) |
ITEM_SET & PNS::ITEM_SET::FilterNet | ( | int | aNet, |
bool | aInvert = false |
||
) |
|
inline |
Definition at line 207 of file pns_itemset.h.
|
inline |
Definition at line 138 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().
|
inline |
void PNS::ITEM_SET::Prepend | ( | const LINE & | aLine | ) |
Definition at line 39 of file pns_itemset.cpp.
References PNS::LINE::Clone(), and m_items.
Referenced by PNS::TOPOLOGY::followTrivialPath().
|
inline |
|
inline |
Definition at line 163 of file pns_itemset.h.
References m_items.
Referenced by PNS::JOINT::IsLineCorner(), PNS::JOINT::IsNonFanoutVia(), PNS::JOINT::IsStitchingVia(), PNS::JOINT::IsTraceWidthChange(), PNS::ROUTER::StartDragging(), and PNS::JOINT::Unlink().
|
private |
Definition at line 226 of file pns_itemset.h.
Referenced by Add(), CItems(), Clear(), Contains(), Count(), Empty(), Erase(), ExcludeItem(), FilterKinds(), FilterLayers(), FilterMarker(), FilterNet(), FindByKind(), ITEM_SET(), Items(), operator=(), operator[](), Prepend(), and Size().