vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE > Class Template Reference

#include <base.h>

List of all members.

Classes

class  AABBBinaryTreeNode

Public Types

typedef AABBBinaryTree
< OBJTYPE, SCALARTYPE,
NODEAUXDATATYPE > 
ClassType
typedef Point3< ScalarTypeCoordType
typedef NODEAUXDATATYPE NodeAuxDataType
typedef AABBBinaryTreeNode NodeType
typedef ObjTypeObjPtr
typedef std::vector< ObjPtrObjPtrVector
typedef
ObjPtrVector::const_iterator 
ObjPtrVectorConstIterator
typedef ObjPtrVector::iterator ObjPtrVectorIterator
typedef OBJTYPE ObjType
typedef SCALARTYPE ScalarType

Public Member Functions

 AABBBinaryTree (void)
void Clear (void)
template<class OBJITERATOR , class OBJITERATORPTRFUNCT , class OBJBOXFUNCT , class OBJBARYCENTERFUNCT >
bool Set (const OBJITERATOR &oBegin, const OBJITERATOR &oEnd, OBJITERATORPTRFUNCT &objPtr, OBJBOXFUNCT &objBox, OBJBARYCENTERFUNCT &objBarycenter, const unsigned int maxElemsPerLeaf=1, const ScalarType &leafBoxMaxVolume=((ScalarType) 0), const bool useVariance=true)
 ~AABBBinaryTree (void)

Public Attributes

ObjPtrVector pObjects
NodeTypepRoot

Static Protected Member Functions

template<class OBJBARYCENTERFUNCT >
static int BalanceMedian (const ObjPtrVectorIterator &oBegin, const ObjPtrVectorIterator &oEnd, const int size, const int splitAxis, OBJBARYCENTERFUNCT &getBarycenter, ObjPtrVectorIterator &medianIter)
template<class OBJBOXFUNCT , class OBJBARYCENTERFUNCT >
static NodeTypeBoundObjects (const ObjPtrVectorIterator &oBegin, const ObjPtrVectorIterator &oEnd, const unsigned int size, const unsigned int maxElemsPerLeaf, const ScalarType &leafBoxMaxVolume, const bool useVariance, OBJBOXFUNCT &getBox, OBJBARYCENTERFUNCT &getBarycenter)

Detailed Description

template<class OBJTYPE, class SCALARTYPE, class NODEAUXDATATYPE>
class vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >

Definition at line 55 of file space/index/aabb_binary_tree/base.h.


Member Typedef Documentation

template<class OBJTYPE, class SCALARTYPE, class NODEAUXDATATYPE>
typedef AABBBinaryTree<OBJTYPE, SCALARTYPE, NODEAUXDATATYPE> vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::ClassType

Definition at line 57 of file space/index/aabb_binary_tree/base.h.

template<class OBJTYPE, class SCALARTYPE, class NODEAUXDATATYPE>
typedef Point3<ScalarType> vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::CoordType

Definition at line 62 of file space/index/aabb_binary_tree/base.h.

template<class OBJTYPE, class SCALARTYPE, class NODEAUXDATATYPE>
typedef NODEAUXDATATYPE vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::NodeAuxDataType

Definition at line 61 of file space/index/aabb_binary_tree/base.h.

template<class OBJTYPE, class SCALARTYPE, class NODEAUXDATATYPE>
typedef AABBBinaryTreeNode vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::NodeType

Definition at line 113 of file space/index/aabb_binary_tree/base.h.

template<class OBJTYPE, class SCALARTYPE, class NODEAUXDATATYPE>
typedef ObjType* vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::ObjPtr

Definition at line 59 of file space/index/aabb_binary_tree/base.h.

template<class OBJTYPE, class SCALARTYPE, class NODEAUXDATATYPE>
typedef std::vector<ObjPtr> vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::ObjPtrVector

Definition at line 64 of file space/index/aabb_binary_tree/base.h.

template<class OBJTYPE, class SCALARTYPE, class NODEAUXDATATYPE>
typedef ObjPtrVector::const_iterator vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::ObjPtrVectorConstIterator

Definition at line 66 of file space/index/aabb_binary_tree/base.h.

template<class OBJTYPE, class SCALARTYPE, class NODEAUXDATATYPE>
typedef ObjPtrVector::iterator vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::ObjPtrVectorIterator

Definition at line 65 of file space/index/aabb_binary_tree/base.h.

template<class OBJTYPE, class SCALARTYPE, class NODEAUXDATATYPE>
typedef OBJTYPE vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::ObjType

Definition at line 58 of file space/index/aabb_binary_tree/base.h.

template<class OBJTYPE, class SCALARTYPE, class NODEAUXDATATYPE>
typedef SCALARTYPE vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::ScalarType

Definition at line 60 of file space/index/aabb_binary_tree/base.h.


Constructor & Destructor Documentation

template<class OBJTYPE , class SCALARTYPE , class NODEAUXDATATYPE >
vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::AABBBinaryTree ( void   )  [inline]

Definition at line 137 of file space/index/aabb_binary_tree/base.h.

template<class OBJTYPE , class SCALARTYPE , class NODEAUXDATATYPE >
vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::~AABBBinaryTree ( void   )  [inline]

Definition at line 143 of file space/index/aabb_binary_tree/base.h.


Member Function Documentation

template<class OBJTYPE , class SCALARTYPE , class NODEAUXDATATYPE >
template<class OBJBARYCENTERFUNCT >
int vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::BalanceMedian ( const ObjPtrVectorIterator oBegin,
const ObjPtrVectorIterator oEnd,
const int  size,
const int  splitAxis,
OBJBARYCENTERFUNCT &  getBarycenter,
ObjPtrVectorIterator medianIter 
) [inline, static, protected]

Definition at line 274 of file space/index/aabb_binary_tree/base.h.

template<class OBJTYPE , class SCALARTYPE , class NODEAUXDATATYPE >
template<class OBJBOXFUNCT , class OBJBARYCENTERFUNCT >
AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::NodeType * vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::BoundObjects ( const ObjPtrVectorIterator oBegin,
const ObjPtrVectorIterator oEnd,
const unsigned int  size,
const unsigned int  maxElemsPerLeaf,
const ScalarType leafBoxMaxVolume,
const bool  useVariance,
OBJBOXFUNCT &  getBox,
OBJBARYCENTERFUNCT &  getBarycenter 
) [inline, static, protected]

Definition at line 178 of file space/index/aabb_binary_tree/base.h.

template<class OBJTYPE , class SCALARTYPE , class NODEAUXDATATYPE >
void vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::Clear ( void   )  [inline]

Definition at line 149 of file space/index/aabb_binary_tree/base.h.

template<class OBJTYPE , class SCALARTYPE , class NODEAUXDATATYPE >
template<class OBJITERATOR , class OBJITERATORPTRFUNCT , class OBJBOXFUNCT , class OBJBARYCENTERFUNCT >
bool vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::Set ( const OBJITERATOR &  oBegin,
const OBJITERATOR &  oEnd,
OBJITERATORPTRFUNCT &  objPtr,
OBJBOXFUNCT &  objBox,
OBJBARYCENTERFUNCT &  objBarycenter,
const unsigned int  maxElemsPerLeaf = 1,
const ScalarType leafBoxMaxVolume = ((ScalarType)0),
const bool  useVariance = true 
) [inline]

Definition at line 157 of file space/index/aabb_binary_tree/base.h.


Member Data Documentation

template<class OBJTYPE, class SCALARTYPE, class NODEAUXDATATYPE>
ObjPtrVector vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::pObjects

Definition at line 115 of file space/index/aabb_binary_tree/base.h.

template<class OBJTYPE, class SCALARTYPE, class NODEAUXDATATYPE>
NodeType* vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::pRoot

Definition at line 116 of file space/index/aabb_binary_tree/base.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


vcglib
Author(s): Christian Bersch
autogenerated on Fri Jan 11 09:22:56 2013