HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_SpatialTree< T, S, B, N > Class Template Reference

#include <UT_SpatialTree.h>

Classes

class  NodeIterator
 

Public Member Functions

 UT_SpatialTree (S *subd_strategy, B *bounds_provider, const fpreal *min, const fpreal *max)
 
 UT_SpatialTree (S *subd_strategy, B *bounds_provider)
 
 ~UT_SpatialTree ()
 Destructor. More...
 
void addObject (T object)
 Add the specified object to the tree. More...
 
const B * getBoundsProvider () const
 Returns the bounds provider used by this tree. More...
 
template<class A >
void getObjects (const fpreal *pt, UT_ValArray< T > &objects, const A &accepter) const
 
void getObjects (const fpreal *pt, UT_ValArray< T > &objects) const
 
template<class A >
int getObjects (const fpreal *pt, UT_ValArray< T > &objects, UT_FloatArray &distances2, fpreal radius, int max_objects, const A &accepter) const
 
int getObjects (const fpreal *pt, UT_ValArray< T > &objects, UT_FloatArray &distances2, fpreal radius, int max_objects) const
 
const SgetSubdivisionStrategy () const
 Returns the subdivision strategy used by this tree. More...
 
void dump (std::ostream &os)
 
NodeIterator begin () const
 
NodeIterator leaf_end () const
 

Static Public Member Functions

static int getMaxDimensions ()
 Return the maximum number of dimensions allowed. More...
 

Detailed Description

template<class T, class S, class B, int N>
class UT_SpatialTree< T, S, B, N >

Definition at line 76 of file UT_SpatialTree.h.

Constructor & Destructor Documentation

template<class T , class S , class B , int N>
UT_SpatialTree< T, S, B, N >::UT_SpatialTree ( S subd_strategy,
B *  bounds_provider,
const fpreal min,
const fpreal max 
)

Construct a tree with the specified subdivision strategy (subd_strategy must not be null), the bounds provider (must not be null), the specified bounds (min/max), and with the specified dimensions.

Definition at line 459 of file UT_SpatialTree.h.

template<class T , class S , class B , int N>
UT_SpatialTree< T, S, B, N >::UT_SpatialTree ( S subd_strategy,
B *  bounds_provider 
)

Construct a tree with the specified subdivision strategy (subd_strategy must not be null), the specified bounds provider (must not be null), and with the specified dimensions.

Definition at line 476 of file UT_SpatialTree.h.

template<class T , class S , class B , int N>
UT_SpatialTree< T, S, B, N >::~UT_SpatialTree ( )

Destructor.

Definition at line 490 of file UT_SpatialTree.h.

Member Function Documentation

template<class T , class S , class B , int N>
void UT_SpatialTree< T, S, B, N >::addObject ( T  object)

Add the specified object to the tree.

Definition at line 497 of file UT_SpatialTree.h.

template<class T , class S , class B , int N>
NodeIterator UT_SpatialTree< T, S, B, N >::begin ( void  ) const
inline

Definition at line 270 of file UT_SpatialTree.h.

template<class T , class S , class B , int N>
void UT_SpatialTree< T, S, B, N >::dump ( std::ostream &  os)
inline

Definition at line 177 of file UT_SpatialTree.h.

template<class T , class S , class B , int N>
const B* UT_SpatialTree< T, S, B, N >::getBoundsProvider ( ) const
inline

Returns the bounds provider used by this tree.

Definition at line 104 of file UT_SpatialTree.h.

template<class T , class S , class B , int N>
static int UT_SpatialTree< T, S, B, N >::getMaxDimensions ( )
inlinestatic

Return the maximum number of dimensions allowed.

Definition at line 107 of file UT_SpatialTree.h.

template<class T , class S , class B , int N>
template<class A >
void UT_SpatialTree< T, S, B, N >::getObjects ( const fpreal pt,
UT_ValArray< T > &  objects,
const A &  accepter 
) const

Return the objects in the tree whose bounds contain the specified point. Objects are returned in the supplied array.

Definition at line 758 of file UT_SpatialTree.h.

template<class T , class S , class B , int N>
void UT_SpatialTree< T, S, B, N >::getObjects ( const fpreal pt,
UT_ValArray< T > &  objects 
) const
inline

Definition at line 117 of file UT_SpatialTree.h.

template<class T , class S , class B , int N>
template<class A >
int UT_SpatialTree< T, S, B, N >::getObjects ( const fpreal pt,
UT_ValArray< T > &  objects,
UT_FloatArray distances2,
fpreal  radius,
int  max_objects,
const A &  accepter 
) const

Return the objects in the tree whose bounds are withing the specified radius of the specified point.

Definition at line 802 of file UT_SpatialTree.h.

template<class T , class S , class B , int N>
int UT_SpatialTree< T, S, B, N >::getObjects ( const fpreal pt,
UT_ValArray< T > &  objects,
UT_FloatArray distances2,
fpreal  radius,
int  max_objects 
) const
inline

Definition at line 135 of file UT_SpatialTree.h.

template<class T , class S , class B , int N>
const S* UT_SpatialTree< T, S, B, N >::getSubdivisionStrategy ( ) const
inline

Returns the subdivision strategy used by this tree.

Definition at line 148 of file UT_SpatialTree.h.

template<class T , class S , class B , int N>
NodeIterator UT_SpatialTree< T, S, B, N >::leaf_end ( ) const
inline

Definition at line 275 of file UT_SpatialTree.h.


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