SheafSystem
0.0.0.0
|
A node in a d_tree_point_locator search structure. More...
#include <d_tree_point_locator_node.h>
Friends | |
class | ptr_linked_pool< d_tree_point_locator_node< DC, DB > > |
D_TREE_POINT_LOCATOR_NODE FACET | |
typedef sheaf::size_type | size_type |
An unsigned integral type used to represent sizes and capacities. More... | |
typedef singly_linked_list< const d_bounding_box< DC, DB > * > | box_list_type |
The type of box list. More... | |
box_list_type | _box_list |
The list of bounding boxes associated with this. More... | |
d_tree_point_locator_node< DC, DB > * | _branches [DEGREE] |
The branches of this node. More... | |
size_type | _branch_ct |
The number of non-null branches. More... | |
static const size_type | DEGREE = 1<<DC |
The number of elements in the branches array. More... | |
d_tree_point_locator_node () | |
Default constructor. More... | |
d_tree_point_locator_node (const d_tree_point_locator_node< DC, DB > &xother) | |
Copy constructor. More... | |
d_tree_point_locator_node< DC, DB > & | operator= (const d_tree_point_locator_node< DC, DB > &xother) |
Assignment operator. More... | |
bool | operator== (const d_tree_point_locator_node< DC, DB > &xother) |
Equality operator. More... | |
~d_tree_point_locator_node () | |
Destructor. More... | |
bool | invariant () const |
Class invariant. More... | |
d_tree_point_locator_node< DC, DB > * | branch (int xindex) const |
The xindex-th branch. More... | |
bool | is_leaf () const |
True if this node is a leaf node. More... | |
bool | is_empty () const |
True if box_list() is empty. More... | |
void | insert_box (const d_bounding_box< DC, DB > *xbox, d_tree_point_locator_path< DC, DB > &xpath) |
Inserts xbox in this or somewhere on one of its branches. More... | |
void | remove_box (const d_bounding_box< DC, DB > *xbox, d_tree_point_locator_path< DC, DB > &xpath) |
Removes xbox from this and its branches, recursively. More... | |
bool | contains_box (const d_bounding_box< DC, DB > *xbox, d_tree_point_locator_path< DC, DB > &xpath) const |
True if xbox is in the box list of this or its branches, recursively. More... | |
void | clear () |
Clears all branches and all boxes from this. Warning: this function does not deallocate the branches and hence can leave allocated but unreachable branches. More... | |
const box_list_type & | box_list (d_tree_point_locator_path< DC, DB > &xpath) const |
The bounding boxes which intersect xpath. More... | |
const box_list_type & | box_list () const |
The bounding boxes which intersect this. More... | |
std::string * | to_string () const |
Get instance information as a string. More... | |
size_type | branch_ct () const |
The number of non-null branches. More... | |
static size_type | degree () |
The maximum number of branches a node may have. More... | |
d_tree_point_locator_node< DC, DB > * | next () const |
The next node in the free list; intended for use only by class ptr_linked_pool. More... | |
void | put_next (d_tree_point_locator_node< DC, DB > *xnode) |
Sets the next node in the free list to xnode; intended for use only by class ptr_linked_pool. More... | |
A node in a d_tree_point_locator search structure.
Definition at line 60 of file d_tree_point_locator_node.h.
typedef singly_linked_list<const d_bounding_box<DC, DB>*> geometry::d_tree_point_locator_node< DC, DB >::box_list_type |
The type of box list.
Definition at line 150 of file d_tree_point_locator_node.h.
typedef sheaf::size_type geometry::d_tree_point_locator_node< DC, DB >::size_type |
An unsigned integral type used to represent sizes and capacities.
Definition at line 74 of file d_tree_point_locator_node.h.
geometry::d_tree_point_locator_node< DC, DB >::d_tree_point_locator_node | ( | ) |
Default constructor.
Definition at line 62 of file d_tree_point_locator_node.impl.h.
geometry::d_tree_point_locator_node< DC, DB >::d_tree_point_locator_node | ( | const d_tree_point_locator_node< DC, DB > & | xother | ) |
Copy constructor.
Definition at line 84 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::operator=().
geometry::d_tree_point_locator_node< DC, DB >::~d_tree_point_locator_node | ( | ) |
Destructor.
Definition at line 157 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::invariant().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::operator==().
const d_tree_point_locator_node< DC, DB >::box_list_type & geometry::d_tree_point_locator_node< DC, DB >::box_list | ( | d_tree_point_locator_path< DC, DB > & | xpath | ) | const |
The bounding boxes which intersect xpath.
Definition at line 538 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_path< DC, DB >::ascend(), geometry::d_tree_point_locator_node< DC, DB >::box_list(), geometry::d_tree_point_locator_path< DC, DB >::depth(), geometry::d_tree_point_locator_path< DC, DB >::descend(), geometry::d_tree_point_locator_path< DC, DB >::head(), and geometry::d_tree_point_locator_path< DC, DB >::tree().
const d_tree_point_locator_node< DC, DB >::box_list_type & geometry::d_tree_point_locator_node< DC, DB >::box_list | ( | ) | const |
The bounding boxes which intersect this.
Definition at line 575 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::to_string().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::box_list(), and geometry::d_tree_point_locator_node< DC, DB >::clear().
d_tree_point_locator_node< DC, DB > * geometry::d_tree_point_locator_node< DC, DB >::branch | ( | int | xindex | ) | const |
The xindex-th branch.
Definition at line 188 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::is_leaf().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::invariant().
size_type geometry::d_tree_point_locator_node< DC, DB >::branch_ct | ( | ) | const |
The number of non-null branches.
Definition at line 675 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::next().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::degree().
void geometry::d_tree_point_locator_node< DC, DB >::clear | ( | ) |
Clears all branches and all boxes from this. Warning: this function does not deallocate the branches and hence can leave allocated but unreachable branches.
Definition at line 508 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::box_list().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::contains_box().
bool geometry::d_tree_point_locator_node< DC, DB >::contains_box | ( | const d_bounding_box< DC, DB > * | xbox, |
d_tree_point_locator_path< DC, DB > & | xpath | ||
) | const |
True if xbox is in the box list of this or its branches, recursively.
Definition at line 452 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_path< DC, DB >::ascend(), geometry::d_tree_point_locator_node< DC, DB >::clear(), geometry::d_tree_point_locator_node< DC, DB >::contains_box(), geometry::d_tree_point_locator_path< DC, DB >::depth(), geometry::d_tree_point_locator_path< DC, DB >::descend(), geometry::d_tree_point_locator_path< DC, DB >::intersects(), geometry::d_tree_point_locator_path< DC, DB >::put_head(), and geometry::d_tree_point_locator_path< DC, DB >::tree().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::contains_box(), and geometry::d_tree_point_locator_node< DC, DB >::remove_box().
|
static |
The maximum number of branches a node may have.
Definition at line 652 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::branch_ct().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::to_string().
void geometry::d_tree_point_locator_node< DC, DB >::insert_box | ( | const d_bounding_box< DC, DB > * | xbox, |
d_tree_point_locator_path< DC, DB > & | xpath | ||
) |
Inserts xbox in this or somewhere on one of its branches.
Definition at line 255 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::_box_list, sheaf::ptr_linked_pool< T >::allocate(), geometry::d_tree_point_locator_path< DC, DB >::ascend(), geometry::d_tree_point_locator_path< DC, DB >::depth(), geometry::d_tree_point_locator_path< DC, DB >::descend(), geometry::d_tree_point_locator_node< DC, DB >::insert_box(), geometry::d_tree_point_locator_path< DC, DB >::intersects(), sheaf::singly_linked_list< T, A >::push_front(), geometry::d_tree_point_locator_path< DC, DB >::put_head(), geometry::d_tree_point_locator_node< DC, DB >::remove_box(), and geometry::d_tree_point_locator_path< DC, DB >::tree().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::insert_box(), and geometry::d_tree_point_locator_node< DC, DB >::is_empty().
bool geometry::d_tree_point_locator_node< DC, DB >::invariant | ( | ) | const |
Class invariant.
Definition at line 175 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::branch().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::~d_tree_point_locator_node().
bool geometry::d_tree_point_locator_node< DC, DB >::is_empty | ( | ) | const |
True if box_list() is empty.
Definition at line 232 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::insert_box().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::is_leaf(), and geometry::d_tree_point_locator_node< DC, DB >::remove_box().
bool geometry::d_tree_point_locator_node< DC, DB >::is_leaf | ( | ) | const |
True if this node is a leaf node.
Definition at line 211 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::is_empty().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::branch(), and geometry::d_tree_point_locator_node< DC, DB >::remove_box().
|
protected |
The next node in the free list; intended for use only by class ptr_linked_pool.
Definition at line 700 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::put_next().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::branch_ct().
d_tree_point_locator_node< DC, DB > & geometry::d_tree_point_locator_node< DC, DB >::operator= | ( | const d_tree_point_locator_node< DC, DB > & | xother | ) |
Assignment operator.
Definition at line 104 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::_box_list, geometry::d_tree_point_locator_node< DC, DB >::_branch_ct, geometry::d_tree_point_locator_node< DC, DB >::_branches, and geometry::d_tree_point_locator_node< DC, DB >::operator==().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::d_tree_point_locator_node().
bool geometry::d_tree_point_locator_node< DC, DB >::operator== | ( | const d_tree_point_locator_node< DC, DB > & | xother | ) |
Equality operator.
Definition at line 130 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::_box_list, geometry::d_tree_point_locator_node< DC, DB >::_branch_ct, geometry::d_tree_point_locator_node< DC, DB >::_branches, and geometry::d_tree_point_locator_node< DC, DB >::~d_tree_point_locator_node().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::operator=().
|
protected |
Sets the next node in the free list to xnode; intended for use only by class ptr_linked_pool.
Definition at line 722 of file d_tree_point_locator_node.impl.h.
Referenced by geometry::d_tree_point_locator_node< DC, DB >::next().
void geometry::d_tree_point_locator_node< DC, DB >::remove_box | ( | const d_bounding_box< DC, DB > * | xbox, |
d_tree_point_locator_path< DC, DB > & | xpath | ||
) |
Removes xbox from this and its branches, recursively.
Definition at line 367 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_path< DC, DB >::ascend(), geometry::d_tree_point_locator_node< DC, DB >::contains_box(), geometry::d_tree_point_locator_path< DC, DB >::depth(), geometry::d_tree_point_locator_path< DC, DB >::descend(), geometry::d_tree_point_locator_path< DC, DB >::intersects(), geometry::d_tree_point_locator_node< DC, DB >::is_empty(), geometry::d_tree_point_locator_node< DC, DB >::is_leaf(), geometry::d_tree_point_locator_path< DC, DB >::put_head(), geometry::d_tree_point_locator_node< DC, DB >::remove_box(), and geometry::d_tree_point_locator_path< DC, DB >::tree().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::insert_box(), and geometry::d_tree_point_locator_node< DC, DB >::remove_box().
std::string * geometry::d_tree_point_locator_node< DC, DB >::to_string | ( | ) | const |
Get instance information as a string.
Definition at line 594 of file d_tree_point_locator_node.impl.h.
References geometry::d_tree_point_locator_node< DC, DB >::degree().
Referenced by geometry::d_tree_point_locator_node< DC, DB >::box_list().
|
protected |
The list of bounding boxes associated with this.
Definition at line 182 of file d_tree_point_locator_node.h.
Referenced by geometry::d_tree_point_locator_node< DC, DB >::insert_box(), geometry::d_tree_point_locator_node< DC, DB >::operator=(), and geometry::d_tree_point_locator_node< DC, DB >::operator==().
|
protected |
The number of non-null branches.
Definition at line 197 of file d_tree_point_locator_node.h.
Referenced by geometry::d_tree_point_locator_node< DC, DB >::operator=(), and geometry::d_tree_point_locator_node< DC, DB >::operator==().
|
protected |
The branches of this node.
Definition at line 192 of file d_tree_point_locator_node.h.
Referenced by geometry::d_tree_point_locator_node< DC, DB >::operator=(), and geometry::d_tree_point_locator_node< DC, DB >::operator==().
|
staticprotected |
The number of elements in the branches array.
Definition at line 187 of file d_tree_point_locator_node.h.