#include <base.h>
Classes | |
class | AABBBinaryTreeNode |
Public Types | |
typedef AABBBinaryTree < OBJTYPE, SCALARTYPE, NODEAUXDATATYPE > | ClassType |
typedef Point3< ScalarType > | CoordType |
typedef NODEAUXDATATYPE | NodeAuxDataType |
typedef AABBBinaryTreeNode | NodeType |
typedef ObjType * | ObjPtr |
typedef std::vector< ObjPtr > | ObjPtrVector |
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 |
NodeType * | pRoot |
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 NodeType * | 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) |
Definition at line 55 of file space/index/aabb_binary_tree/base.h.
typedef AABBBinaryTree<OBJTYPE, SCALARTYPE, NODEAUXDATATYPE> vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::ClassType |
Definition at line 57 of file space/index/aabb_binary_tree/base.h.
typedef Point3<ScalarType> vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::CoordType |
Definition at line 62 of file space/index/aabb_binary_tree/base.h.
typedef NODEAUXDATATYPE vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::NodeAuxDataType |
Definition at line 61 of file space/index/aabb_binary_tree/base.h.
typedef AABBBinaryTreeNode vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::NodeType |
Definition at line 113 of file space/index/aabb_binary_tree/base.h.
typedef ObjType* vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::ObjPtr |
Definition at line 59 of file space/index/aabb_binary_tree/base.h.
typedef std::vector<ObjPtr> vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::ObjPtrVector |
Definition at line 64 of file space/index/aabb_binary_tree/base.h.
typedef ObjPtrVector::const_iterator vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::ObjPtrVectorConstIterator |
Definition at line 66 of file space/index/aabb_binary_tree/base.h.
typedef ObjPtrVector::iterator vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::ObjPtrVectorIterator |
Definition at line 65 of file space/index/aabb_binary_tree/base.h.
typedef OBJTYPE vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::ObjType |
Definition at line 58 of file space/index/aabb_binary_tree/base.h.
typedef SCALARTYPE vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::ScalarType |
Definition at line 60 of file space/index/aabb_binary_tree/base.h.
vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::AABBBinaryTree | ( | void | ) | [inline] |
Definition at line 137 of file space/index/aabb_binary_tree/base.h.
vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::~AABBBinaryTree | ( | void | ) | [inline] |
Definition at line 143 of file space/index/aabb_binary_tree/base.h.
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.
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.
void vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::Clear | ( | void | ) | [inline] |
Definition at line 149 of file space/index/aabb_binary_tree/base.h.
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.
ObjPtrVector vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::pObjects |
Definition at line 115 of file space/index/aabb_binary_tree/base.h.
NodeType* vcg::AABBBinaryTree< OBJTYPE, SCALARTYPE, NODEAUXDATATYPE >::pRoot |
Definition at line 116 of file space/index/aabb_binary_tree/base.h.