version 3.3

VRS::BoundingBoxTree Class Reference

The bounding box tree allows to organize a set of bounding boxes in a hierarchy so that overlapping tests can be performed efficiently. More...

#include <vrs/container/boundingboxtree.h>

Inheritance diagram for VRS::BoundingBoxTree:

VRS::SharedObj VRS::Visitable

List of all members.

Public Member Functions

 BoundingBoxTree (SO< Iterator< Bounds > > bboxes, int objectsPerLeaf=5, int thresholdFactor=50)
 The numbers of the bounding boxes are organized in a tree structure.
SO< Iterator< int > > findOverlappingBoxes (const VRS::Bounds &bounds) const
 Returns the numbers of all initially specified bounding boxes that overlap the given volume.
 VRS_TYPEINFO (BoundingBoxTree, SharedObj)
 VRS_SERIALIZABLE (BoundingBoxTree)

Static Public Member Functions

static SO< BoundingBoxTreecreate (SO< Iterator< Vector > > primitives, int verticesPerPrimitive, int objectsPerLeaf=5, int thresholdFactor=50)
 Convenience method: Computes the bounding box tree for a set of primitives of equal length (Points, Lines, Triangles, Quads.

Classes

struct  Node


Detailed Description

The bounding box tree allows to organize a set of bounding boxes in a hierarchy so that overlapping tests can be performed efficiently.


Constructor & Destructor Documentation

VRS::BoundingBoxTree::BoundingBoxTree ( SO< Iterator< Bounds > >  bboxes,
int  objectsPerLeaf = 5,
int  thresholdFactor = 50 
)

The numbers of the bounding boxes are organized in a tree structure.

Each bounding box B is referenced in each leaf node whose region overlaps B. The parameters 'numObjects' and 'thresholdFactor' defines the termination criterion for the node subdivision: The subdivision terminates if either the number of objects is smaller than 'objectsPerLeaf' or if a possible subdivison would insert more than 'thresholdFactor' percent in both child nodes. threshold mus be between 0 and 100.


Member Function Documentation

static SO<BoundingBoxTree> VRS::BoundingBoxTree::create ( SO< Iterator< Vector > >  primitives,
int  verticesPerPrimitive,
int  objectsPerLeaf = 5,
int  thresholdFactor = 50 
) [static]

Convenience method: Computes the bounding box tree for a set of primitives of equal length (Points, Lines, Triangles, Quads.

..)

SO<Iterator<int> > VRS::BoundingBoxTree::findOverlappingBoxes ( const VRS::Bounds bounds  )  const

Returns the numbers of all initially specified bounding boxes that overlap the given volume.

VRS::BoundingBoxTree::VRS_TYPEINFO ( BoundingBoxTree  ,
SharedObj   
)

VRS::BoundingBoxTree::VRS_SERIALIZABLE ( BoundingBoxTree   ) 


The documentation for this class was generated from the following file:

Generated on Fri May 18 06:00:18 2012 by Doxygen 1.5.6
© 2001-2010 Hasso-Plattner-Institut | Impressum | Contact