38 #ifndef HPP_FCL_INTERVAL_TREE_H
39 #define HPP_FCL_INTERVAL_TREE_H
119 unsigned int recursion_node_stack_size;
121 unsigned int current_parent;
122 unsigned int recursion_node_stack_top;
The node for interval tree.
Definition: interval_tree_node.h:52
Interval tree.
Definition: interval_tree.h:64
IntervalTreeNode * getPredecessor(IntervalTreeNode *node) const
get the predecessor of a given node
void deleteNode(SimpleInterval *ivl)
delete node stored a given interval
SimpleInterval * deleteNode(IntervalTreeNode *node)
Delete one node of the interval tree.
IntervalTreeNode * insert(SimpleInterval *new_interval)
Insert one node of the interval tree.
void fixupMaxHigh(IntervalTreeNode *node)
Travels up to the root fixing the max_high fields after an insertion or deletion.
void recursiveInsert(IntervalTreeNode *node)
Inserts node into the tree as if it were a regular binary tree.
IntervalTreeNode * getSuccessor(IntervalTreeNode *node) const
Get the successor of a given node.
void recursivePrint(IntervalTreeNode *node) const
recursively print a subtree
IntervalTreeNode * invalid_node
Definition: interval_tree.h:94
void print() const
Print the whole interval tree.
IntervalTreeNode * root
Definition: interval_tree.h:92
void deleteFixup(IntervalTreeNode *node)
void leftRotate(IntervalTreeNode *node)
left rotation of tree node
void rightRotate(IntervalTreeNode *node)
right rotation of tree node
IntervalTreeNode * recursiveSearch(IntervalTreeNode *node, SimpleInterval *ivl) const
recursively find the node corresponding to the interval
std::deque< SimpleInterval * > query(FCL_REAL low, FCL_REAL high)
Return result for a given query.
#define HPP_FCL_DLLAPI
Definition: config.hh:88
double FCL_REAL
Definition: data_types.h:66
Main namespace.
Definition: broadphase_bruteforce.h:44
Interval trees implemented using red-black-trees as described in the book Introduction_To_Algorithms_...
Definition: simple_interval.h:50
Class describes the information needed when we take the right branch in searching for intervals but p...
Definition: interval_tree.h:54
unsigned int parent_index
Definition: interval_tree.h:58
bool try_right_branch
Definition: interval_tree.h:60
IntervalTreeNode * start_node
Definition: interval_tree.h:56