KiCad PCB EDA Suite
|
CN_RTREE - Implements an R-tree for fast spatial indexing of connectivity items. More...
#include <connectivity_rtree.h>
Public Member Functions | |
CN_RTREE () | |
~CN_RTREE () | |
void | Insert (T aItem) |
Function Insert() Inserts an item into the tree. | |
void | Remove (T aItem) |
Function Remove() Removes an item from the tree. | |
void | RemoveAll () |
Function RemoveAll() Removes all items from the RTree. | |
template<class Visitor > | |
void | Query (const BOX2I &aBounds, int aStartLayer, int aEndLayer, Visitor &aVisitor) const |
Function Query() Executes a function object aVisitor for each item whose bounding box intersects with aBounds. | |
Private Attributes | |
RTree< T, int, 3, double > * | m_tree |
CN_RTREE - Implements an R-tree for fast spatial indexing of connectivity items.
Non-owning.
Definition at line 39 of file connectivity_rtree.h.
|
inline |
Definition at line 43 of file connectivity_rtree.h.
References CN_RTREE< T >::m_tree.
Definition at line 48 of file connectivity_rtree.h.
References CN_RTREE< T >::m_tree.
|
inline |
Function Insert() Inserts an item into the tree.
Item's bounding box is taken via its BBox() method.
Definition at line 57 of file connectivity_rtree.h.
References BOX2< Vec >::GetBottom(), BOX2< Vec >::GetRight(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), and CN_RTREE< T >::m_tree.
Referenced by CN_LIST::addItemtoTree().
|
inline |
Function Query() Executes a function object aVisitor for each item whose bounding box intersects with aBounds.
Definition at line 109 of file connectivity_rtree.h.
References B_Cu, BOX2< Vec >::GetBottom(), BOX2< Vec >::GetRight(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), and CN_RTREE< T >::m_tree.
Referenced by CN_LIST::FindNearby().
|
inline |
Function Remove() Removes an item from the tree.
Removal is done by comparing pointers, attempting to remove a copy of the item will fail.
Definition at line 72 of file connectivity_rtree.h.
References BOX2< Vec >::GetBottom(), BOX2< Vec >::GetRight(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), and CN_RTREE< T >::m_tree.
|
inline |
Function RemoveAll() Removes all items from the RTree.
Definition at line 98 of file connectivity_rtree.h.
References CN_RTREE< T >::m_tree.
Referenced by CN_LIST::Clear().
|
private |
Definition at line 122 of file connectivity_rtree.h.
Referenced by CN_RTREE< T >::CN_RTREE(), CN_RTREE< T >::Insert(), CN_RTREE< T >::Query(), CN_RTREE< T >::Remove(), CN_RTREE< T >::RemoveAll(), and CN_RTREE< T >::~CN_RTREE().