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 &)
 
 ~BV_KDOPTree () override
 
BV_KDOPTreeoperator= (const BV_KDOPTree &)
 
const char * getType () const override
 
const BV_TreecastTo (const char *type) const override
 
BV_TreecastTo (const char *type) override
 
- 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...
 
static const UT_Vector3getPlaneDir (int k)
 Retrieve the orientation of the k-th slab. More...
 
- Protected Member Functions inherited from BV_KDOPTree< K >
BV_TreecloneSubclass () const override
 
int64 getMemoryUsageSubclass () const override
 
int getNumLeavesSubclass () const override
 
void saveSubclass (std::ostream &os, bool onlyStructure) const override
 
bool loadSubclass (UT_IStream &is, bool onlyStructure) override
 
void buildSubclass (BV_LeafIterator &leafIt) override
 
void updateExtentsSubclass (BV_LeafIterator &leafIt) override
 
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 override
 
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)
 

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: