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

gugr::segtree Struct Reference

#include <gugr_planesweep.h>

List of all members.

Public Methods

 segtree ()
 segtree (int nabsz, Ptr< intersection *> abszissa)
 ~segtree ()
void init (int nabsz, Ptr< intersection *> abszissa)
void insert (int beg, int end, segment *seg)
int leaves_to_array (Ptr< segnode *> *L)

Public Attributes

int m_nabsz
Ptr< intersection *> m_absz
segnodem_root


Constructor & Destructor Documentation

gugr::segtree::segtree   [inline]
 

Definition at line 375 of file gugr_planesweep.h.

References m_nabsz.

00376   {
00377     m_nabsz = 0;
00378     m_root = 0;
00379   }

gugr::segtree::segtree int    nabsz,
Ptr< intersection *>    abszissa
[inline]
 

Definition at line 380 of file gugr_planesweep.h.

References m_absz, and m_nabsz.

00381   {
00382     m_nabsz = nabsz;
00383     m_absz = abszissa;
00384 
00385     m_root = new segnode(0, m_nabsz-1, 0 );
00386   }

gugr::segtree::~segtree   [inline]
 

Definition at line 387 of file gugr_planesweep.h.

00388   {
00389     delete m_root;
00390   }


Member Function Documentation

void gugr::segtree::init int    nabsz,
Ptr< intersection *>    abszissa
[inline]
 

Definition at line 391 of file gugr_planesweep.h.

References m_absz, and m_nabsz.

00392   {
00393     delete m_root;
00394     
00395     m_nabsz = nabsz;
00396     m_absz = abszissa;
00397 
00398     m_root = new segnode(0, m_nabsz-1, 0 );
00399   }

void gugr::segtree::insert int    beg,
int    end,
segment   seg
[inline]
 

Definition at line 400 of file gugr_planesweep.h.

00401   {
00402     m_root->insert( beg, end, seg );
00403   }

int gugr::segtree::leaves_to_array Ptr< segnode *> *    L [inline]
 

Definition at line 404 of file gugr_planesweep.h.

References gugr::compare_point_to_eventrec(), and m_nabsz.

00405   {
00406     int nL = 0;
00407 
00408     if( m_nabsz > 0 )
00409     {
00410       int maxn = (int)(ceil(log((double)m_nabsz)/log(2.0))*2.0) + 2;
00411       (*L).reserve_pool( maxn );
00412       if( m_root )
00413         m_root->leaves_to_array( &nL, L );
00414     }
00415     return nL;
00416   }


Member Data Documentation

Ptr<intersection *> gugr::segtree::m_absz
 

Definition at line 372 of file gugr_planesweep.h.

Referenced by init(), and segtree().

int gugr::segtree::m_nabsz
 

Definition at line 371 of file gugr_planesweep.h.

Referenced by init(), leaves_to_array(), and segtree().

segnode* gugr::segtree::m_root
 

Definition at line 373 of file gugr_planesweep.h.


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