Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

gugr::edge_interval_tree Struct Reference

List of all members.

Public Methods

 edge_interval_tree ()
BBTNode * NewNode (void)
BBTNode * Head (void)
void FreeNode (BBTNode *node)
void InsertNode (BBTNode *element, BBTNode *where, int side)
void RemoveNode (BBTNode *element)
int SearchNode (void *key, int compare(void *, void *), BBTNode **element)

Static Public Methods

void dump_edge_interval (void *p)

Public Attributes

BBTNode root

Constructor & Destructor Documentation

gugr::edge_interval_tree::edge_interval_tree   [inline]
 

Definition at line 107 of file gugr_regularize.cpp.

References guma::InitBBT(), and root.

00108   {
00109     InitBBT(&root);
00110     // icnt = ncnt = 0;
00111   }


Member Function Documentation

void gugr::edge_interval_tree::dump_edge_interval void *    p [inline, static]
 

Definition at line 150 of file gugr_regularize.cpp.

References guma::BBTNode, gugr::compare_edge_to_intervalBU(), gugr::compare_edge_to_intervalTD(), EDGE_NEG_INF, EDGE_POS_INF, gugr::graph_edge_list, gugr::graph_vertex_list, and gul::ndebug.

00151   {
00152      edge_interval *ei = (edge_interval *)p;
00153      cout << "key = {l=" << (void *)ei->l << ", r=" << (void *)ei->r <<
00154           ", v=" << (void *)ei->v << "}";
00155   }

void gugr::edge_interval_tree::FreeNode BBTNode *    node [inline]
 

Definition at line 128 of file gugr_regularize.cpp.

References guma::BBTNode, and gust::PoolFree().

00129   {
00130     PoolFree( node->key, sizeof(edge_interval) );
00131     PoolFree( node, sizeof(BBTNode) );   
00132   }

BBTNode* gugr::edge_interval_tree::Head void    [inline]
 

Definition at line 126 of file gugr_regularize.cpp.

References guma::BBTNode, and root.

00126 { return(root.right); }

void gugr::edge_interval_tree::InsertNode BBTNode *    element,
BBTNode *    where,
int    side
[inline]
 

Definition at line 134 of file gugr_regularize.cpp.

References guma::BBTNode, guma::InsertElementIntoBBT(), and root.

00135   {
00136     InsertElementIntoBBT( element, where, side, &root );
00137   }

BBTNode* gugr::edge_interval_tree::NewNode void    [inline]
 

Definition at line 113 of file gugr_regularize.cpp.

References guma::BBTNode, and gust::PoolAlloc().

00114   {
00115     BBTNode *node;
00116     size_t dummy;
00117     
00118     node = (BBTNode *)PoolAlloc( sizeof(BBTNode), &dummy );
00119     if( node == NULL ) throw PoolAllocError();
00120     node->key = PoolAlloc( sizeof(edge_interval), &dummy );
00121     if( node->key == NULL ) throw PoolAllocError();
00122 
00123     return(node);
00124   }

void gugr::edge_interval_tree::RemoveNode BBTNode *    element [inline]
 

Definition at line 139 of file gugr_regularize.cpp.

References guma::BBTNode, guma::DeleteElementFromBBT(), and root.

00140   {
00141     DeleteElementFromBBT( element, &root );
00142   }

int gugr::edge_interval_tree::SearchNode void *    key,
int compare(void *, void *)   ,
BBTNode **    element
[inline]
 

Definition at line 144 of file gugr_regularize.cpp.

References guma::BBTNode, root, and guma::SearchElementInBBT().

00146   {
00147     return( SearchElementInBBT(&root, key, compare, element) );
00148   }


Member Data Documentation

BBTNode gugr::edge_interval_tree::root
 

Definition at line 104 of file gugr_regularize.cpp.

Referenced by edge_interval_tree(), Head(), InsertNode(), RemoveNode(), and SearchNode().


The documentation for this struct was generated from the following file:
Generated on Mon Jan 21 04:17:54 2002 for GUL 0.6 - Geometry Utility Library by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001