Public Member Functions | Protected Member Functions | Protected Attributes
fcl::IntervalTree Class Reference

Interval tree. More...

#include <hpp/fcl/broadphase/interval_tree.h>

Collaboration diagram for fcl::IntervalTree:
[legend]

List of all members.

Public Member Functions

 IntervalTree ()
 ~IntervalTree ()
void print () const
 Print the whole interval tree.
SimpleIntervaldeleteNode (IntervalTreeNode *node)
 Delete one node of the interval tree.
void deleteNode (SimpleInterval *ivl)
 delete node stored a given interval
IntervalTreeNodeinsert (SimpleInterval *new_interval)
 Insert one node of the interval tree.
IntervalTreeNodegetPredecessor (IntervalTreeNode *node) const
 get the predecessor of a given node
IntervalTreeNodegetSuccessor (IntervalTreeNode *node) const
 Get the successor of a given node.
std::deque< SimpleInterval * > query (double low, double high)
 Return result for a given query.

Protected Member Functions

void leftRotate (IntervalTreeNode *node)
 left rotation of tree node
void rightRotate (IntervalTreeNode *node)
 right rotation of tree node
void recursiveInsert (IntervalTreeNode *node)
 recursively insert a node
void recursivePrint (IntervalTreeNode *node) const
 recursively print a subtree
IntervalTreeNoderecursiveSearch (IntervalTreeNode *node, SimpleInterval *ivl) const
 recursively find the node corresponding to the interval
void fixupMaxHigh (IntervalTreeNode *node)
 Travels up to the root fixing the max_high fields after an insertion or deletion.
void deleteFixup (IntervalTreeNode *node)

Protected Attributes

IntervalTreeNoderoot
IntervalTreeNodenil

Detailed Description

Interval tree.


Constructor & Destructor Documentation

fcl::IntervalTree::IntervalTree ( )
fcl::IntervalTree::~IntervalTree ( )

Member Function Documentation

void fcl::IntervalTree::deleteFixup ( IntervalTreeNode node) [protected]
SimpleInterval* fcl::IntervalTree::deleteNode ( IntervalTreeNode node)

Delete one node of the interval tree.

void fcl::IntervalTree::deleteNode ( SimpleInterval ivl)

delete node stored a given interval

void fcl::IntervalTree::fixupMaxHigh ( IntervalTreeNode node) [protected]

Travels up to the root fixing the max_high fields after an insertion or deletion.

IntervalTreeNode* fcl::IntervalTree::getPredecessor ( IntervalTreeNode node) const

get the predecessor of a given node

IntervalTreeNode* fcl::IntervalTree::getSuccessor ( IntervalTreeNode node) const

Get the successor of a given node.

IntervalTreeNode* fcl::IntervalTree::insert ( SimpleInterval new_interval)

Insert one node of the interval tree.

void fcl::IntervalTree::leftRotate ( IntervalTreeNode node) [protected]

left rotation of tree node

void fcl::IntervalTree::print ( ) const

Print the whole interval tree.

std::deque<SimpleInterval*> fcl::IntervalTree::query ( double  low,
double  high 
)

Return result for a given query.

void fcl::IntervalTree::recursiveInsert ( IntervalTreeNode node) [protected]

recursively insert a node

void fcl::IntervalTree::recursivePrint ( IntervalTreeNode node) const [protected]

recursively print a subtree

IntervalTreeNode* fcl::IntervalTree::recursiveSearch ( IntervalTreeNode node,
SimpleInterval ivl 
) const [protected]

recursively find the node corresponding to the interval

void fcl::IntervalTree::rightRotate ( IntervalTreeNode node) [protected]

right rotation of tree node


Member Data Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines