HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_KDOPTree< K > Class Template Reference

#include <GU_KDOPTree.h>

+ Inheritance diagram for GU_KDOPTree< K >:

Public Types

typedef BV_KDOPTree< K > BaseClass
 
- Public Types inherited from BV_KDOPTree< K >
typedef BV_Tree BaseClass
 
- Public Types inherited from BV_Tree
enum  BV_Status { BV_PASS, BV_FAIL_ROTATIONS_UNSUPPORTED, BV_FAIL_BAD_TYPE, BV_FAIL }
 

Public Member Functions

 GU_KDOPTree ()
 
 GU_KDOPTree (const GU_KDOPTree &)
 
GU_KDOPTreeoperator= (const GU_KDOPTree &)
 
void createDebugTree (GU_Detail &gdp, int depth=-1, int prim=-1) const
 
- Public Member Functions inherited from BV_KDOPTree< K >
 BV_KDOPTree ()
 
 BV_KDOPTree (const BV_KDOPTree &)
 
virtual ~BV_KDOPTree ()
 
BV_KDOPTreeoperator= (const BV_KDOPTree &)
 
virtual const char * getType () const
 
virtual const BV_TreecastTo (const char *type) const
 
virtual BV_TreecastTo (const char *type)
 
const UT_Vector3getPlaneDir (int k) const
 Retrieve the orientation of the k-th slab. More...
 
- Public Member Functions inherited from BV_Tree
 BV_Tree ()
 
virtual ~BV_Tree ()
 
BV_Treeclone () const
 
int64 getMemoryUsage () const
 
int getNumLeaves () const
 
void build (BV_LeafIterator &leafIt)
 Construct a volume hierarchy from the given primitives. More...
 
void updateExtents (BV_LeafIterator &leafIt)
 
void save (std::ostream &os, bool onlyStructure) const
 
bool load (UT_IStream &is, bool onlyStructure)
 
BV_Status intersect (BV_Callback &callback, const BV_Tree &treeb, const UT_DMatrix4 &xforma, const UT_DMatrix4 &xformb, fpreal tol=0.001F) const
 
BV_Status intersect (BV_Callback &callback, const BV_Tree &treeb, fpreal tol=0.001F) const
 Static boxes only! More...
 
BV_Status intersect (BV_Callback &callback, const BV_Tree &treeb, const UT_DMatrix4 &startxforma, const UT_DMatrix4 &startxformb, const UT_DMatrix4 &endxforma, const UT_DMatrix4 &endxformb, fpreal tol=0.001F) const
 Moving boxes only! More...
 
BV_Status intersect (BV_Callback &callback, const BV_Tree &treeb, const UT_DMatrix4 &xforma, const UT_DMatrix4 &startxforma, const UT_DMatrix4 &startxformb, const UT_DMatrix4 &xformb, const UT_DMatrix4 &endxforma, const UT_DMatrix4 &endxformb, fpreal tol=0.001F) const
 Moving boxes only! More...
 

Additional Inherited Members

- Static Public Member Functions inherited from BV_KDOPTree< K >
static int getNumSlabs ()
 This defines the number of "slabs" used to define the polytope. More...
 
- Protected Member Functions inherited from BV_KDOPTree< K >
virtual BV_TreecloneSubclass () const
 
virtual int64 getMemoryUsageSubclass () const
 
virtual int getNumLeavesSubclass () const
 
virtual void saveSubclass (std::ostream &os, bool onlyStructure) const
 
virtual bool loadSubclass (UT_IStream &is, bool onlyStructure)
 
virtual void buildSubclass (BV_LeafIterator &leafIt)
 
virtual void updateExtentsSubclass (BV_LeafIterator &leafIt)
 
virtual BV_Status intersectSubclass (BV_Callback &callback, const BV_Tree &treeb, const UT_DMatrix4 &startxforma, const UT_DMatrix4 &startxformb, const UT_DMatrix4 &endxforma, const UT_DMatrix4 &endxformb, fpreal tol) const
 
const BV_KDOPNode< K > * getRoot () const
 
- Protected Member Functions inherited from BV_Tree
 BV_Tree (const BV_Tree &tree)
 
- Static Protected Member Functions inherited from BV_KDOPTree< K >
static bool intersectRecurse (BV_Callback &callback, const BV_KDOPNode< K > &nodea, const BV_KDOPNode< K > &nodeb, fpreal tol)
 
static BV_KDOPNode< K > * buildRecurse (UT_Array< bvLeaf > &leafData, int startLeaf, int numLeaves)
 
static void updateExtentsRecurse (BV_LeafIterator &leafIt, BV_KDOPNode< K > &node)
 
- Static Protected Attributes inherited from BV_KDOPTree< K >
static const UT_Vector3 myPlaneDirs [K/2]
 

Detailed Description

template<int K>
class GU_KDOPTree< K >

This is a simple extension to BV_KDOPTree that includes debug output capability.

Definition at line 19 of file GU_KDOPTree.h.

Member Typedef Documentation

template<int K>
typedef BV_KDOPTree<K> GU_KDOPTree< K >::BaseClass

Definition at line 22 of file GU_KDOPTree.h.

Constructor & Destructor Documentation

template<int K>
GU_KDOPTree< K >::GU_KDOPTree ( )
template<int K>
GU_KDOPTree< K >::GU_KDOPTree ( const GU_KDOPTree< K > &  )

Member Function Documentation

template<int K>
void GU_KDOPTree< K >::createDebugTree ( GU_Detail gdp,
int  depth = -1,
int  prim = -1 
) const

Create a GU_Detail showing the KDOPs at each level of the hierarchy.

If the depth parameter is non-negative, then only leaves at the given depth level are included. If the onlyLeaf parameter is non-negative, then only boxes containing that primitive are included.

template<int K>
GU_KDOPTree& GU_KDOPTree< K >::operator= ( const GU_KDOPTree< K > &  )

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