|
KiCad PCB EDA Suite
|
#include <connectivity_items.h>
Classes | |
| class | BULK_ADD_SCOPE |
| Hold bulk mode for a scope. More... | |
Public Member Functions | |
| CN_LIST () | |
| void | Clear () |
| bool | StartBulkAdd () |
| Defer spatial indexing until FinishBulkAdd(), which packs the index in one pass. | |
| void | FinishBulkAdd () |
| std::vector< CN_ITEM * >::iterator | begin () |
| std::vector< CN_ITEM * >::iterator | end () |
| std::vector< CN_ITEM * >::const_iterator | begin () const |
| std::vector< CN_ITEM * >::const_iterator | end () const |
| CN_ITEM * | operator[] (int aIndex) |
| template<class T> | |
| void | FindNearby (CN_ITEM *aItem, T aFunc) |
| void | SetHasInvalid (bool aInvalid=true) |
| void | SetDirty (bool aDirty=true) |
| bool | IsDirty () const |
| void | RemoveInvalidItems (std::vector< CN_ITEM * > &aGarbage) |
| void | ClearDirtyFlags () |
| int | Size () const |
| CN_ITEM * | Add (PAD *pad) |
| CN_ITEM * | Add (PCB_TRACK *track) |
| CN_ITEM * | Add (PCB_ARC *track) |
| CN_ITEM * | Add (PCB_VIA *via) |
| CN_ITEM * | Add (CN_ZONE_LAYER *zitem) |
| CN_ITEM * | Add (PCB_SHAPE *shape) |
| const std::vector< CN_ITEM * > | Add (ZONE *zone, PCB_LAYER_ID aLayer) |
Protected Member Functions | |
| void | addItemtoTree (CN_ITEM *item) |
| The sole place CN_ITEM list numbering is assigned. | |
| void | appendItem (CN_ITEM *aItem) |
Protected Attributes | |
| std::vector< CN_ITEM * > | m_items |
Private Attributes | |
| bool | m_dirty |
| bool | m_hasInvalid |
| bool | m_bulkAdd = false |
| see StartBulkAdd() | |
| CN_RTREE< CN_ITEM * > | m_index |
Definition at line 470 of file connectivity_items.h.
|
inline |
Definition at line 473 of file connectivity_items.h.
References m_dirty, and m_hasInvalid.
Referenced by CN_LIST::BULK_ADD_SCOPE::BULK_ADD_SCOPE().
| CN_ITEM * CN_LIST::Add | ( | CN_ZONE_LAYER * | zitem | ) |
Definition at line 263 of file connectivity_items.cpp.
References addItemtoTree(), appendItem(), CN_ITEM::SetDirty(), and SetDirty().
Definition at line 145 of file connectivity_items.cpp.
References addItemtoTree(), anchor, appendItem(), B_Cu, CONN, F_Cu, NPTH, pad, SetDirty(), and SMD.
Referenced by Add().
Definition at line 208 of file connectivity_items.cpp.
References CN_ITEM::AddAnchor(), addItemtoTree(), appendItem(), PCB_TRACK::GetEnd(), BOARD_CONNECTED_ITEM::GetLayer(), PCB_TRACK::GetStart(), CN_ITEM::SetDirty(), SetDirty(), and CN_ITEM::SetLayer().
Definition at line 275 of file connectivity_items.cpp.
References CN_ITEM::AddAnchor(), addItemtoTree(), appendItem(), PCB_SHAPE::GetConnectionPoints(), PCB_SHAPE::GetLayer(), CN_ITEM::SetDirty(), SetDirty(), and CN_ITEM::SetLayer().
Definition at line 192 of file connectivity_items.cpp.
References CN_ITEM::AddAnchor(), addItemtoTree(), appendItem(), PCB_TRACK::GetEnd(), BOARD_CONNECTED_ITEM::GetLayer(), PCB_TRACK::GetStart(), CN_ITEM::SetDirty(), SetDirty(), and CN_ITEM::SetLayer().
Definition at line 224 of file connectivity_items.cpp.
References CN_ITEM::AddAnchor(), addItemtoTree(), appendItem(), CN_ITEM::SetDirty(), SetDirty(), CN_ITEM::SetLayers(), and via.
| const std::vector< CN_ITEM * > CN_LIST::Add | ( | ZONE * | zone, |
| PCB_LAYER_ID | aLayer ) |
Definition at line 241 of file connectivity_items.cpp.
References Add(), CN_ITEM::AddAnchor(), CN_ZONE_LAYER::BuildRTree(), SHAPE_POLY_SET::COutline(), SHAPE_LINE_CHAIN::CPoints(), and ZONE::GetFilledPolysList().
|
inlineprotected |
|
inlineprotected |
Definition at line 600 of file connectivity_items.h.
References m_items, and CN_ITEM::SetListIndex().
|
inline |
Definition at line 552 of file connectivity_items.h.
References m_items.
|
inline |
Definition at line 555 of file connectivity_items.h.
References m_items.
|
inline |
Definition at line 479 of file connectivity_items.h.
|
inline |
Definition at line 573 of file connectivity_items.h.
References m_items, and SetDirty().
|
inline |
Definition at line 553 of file connectivity_items.h.
References m_items.
|
inline |
Definition at line 556 of file connectivity_items.h.
References m_items.
Definition at line 561 of file connectivity_items.h.
References CN_ITEM::BBox(), CN_ITEM::EndLayer(), m_index, CN_ITEM::StartLayer(), and T.
|
inline |
Definition at line 507 of file connectivity_items.h.
References BOX2< Vec >::GetBottom(), BOX2< Vec >::GetRight(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), m_bulkAdd, m_index, and m_items.
|
inline |
Definition at line 569 of file connectivity_items.h.
References m_dirty.
|
inline |
Definition at line 558 of file connectivity_items.h.
References m_items.
| void CN_LIST::RemoveInvalidItems | ( | std::vector< CN_ITEM * > & | aGarbage | ) |
Definition at line 293 of file connectivity_items.cpp.
References m_hasInvalid, and m_items.
|
inline |
Definition at line 568 of file connectivity_items.h.
References m_dirty.
Referenced by Add(), Add(), Add(), Add(), Add(), Add(), and ClearDirtyFlags().
|
inline |
Definition at line 566 of file connectivity_items.h.
References m_hasInvalid.
|
inline |
Definition at line 581 of file connectivity_items.h.
References m_items.
|
inline |
Defer spatial indexing until FinishBulkAdd(), which packs the index in one pass.
Only legal on an empty list, because the bulk load replaces the whole index. Prefer BULK_ADD_SCOPE to calling this directly.
Definition at line 497 of file connectivity_items.h.
References m_bulkAdd, m_hasInvalid, and m_items.
|
private |
see StartBulkAdd()
Definition at line 612 of file connectivity_items.h.
Referenced by addItemtoTree(), Clear(), FinishBulkAdd(), and StartBulkAdd().
|
private |
Definition at line 610 of file connectivity_items.h.
Referenced by CN_LIST(), IsDirty(), and SetDirty().
|
private |
Definition at line 611 of file connectivity_items.h.
Referenced by CN_LIST(), RemoveInvalidItems(), SetHasInvalid(), and StartBulkAdd().
Definition at line 613 of file connectivity_items.h.
Referenced by addItemtoTree(), Clear(), FindNearby(), and FinishBulkAdd().
|
protected |
Definition at line 607 of file connectivity_items.h.
Referenced by appendItem(), begin(), begin(), Clear(), ClearDirtyFlags(), end(), end(), FinishBulkAdd(), operator[](), RemoveInvalidItems(), Size(), and StartBulkAdd().