HDK
|
#include <GU_KDOPTree.h>
Public Types | |
typedef BV_KDOPTree< K > | BaseClass |
![]() | |
typedef BV_Tree | BaseClass |
![]() | |
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_KDOPTree & | operator= (const GU_KDOPTree &) |
void | createDebugTree (GU_Detail &gdp, int depth=-1, int prim=-1) const |
![]() | |
BV_KDOPTree () | |
BV_KDOPTree (const BV_KDOPTree &) | |
~BV_KDOPTree () override | |
BV_KDOPTree & | operator= (const BV_KDOPTree &) |
const char * | getType () const override |
const BV_Tree * | castTo (const char *type) const override |
BV_Tree * | castTo (const char *type) override |
![]() | |
BV_Tree () | |
virtual | ~BV_Tree () |
BV_Tree * | clone () 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 int | getNumSlabs () |
This defines the number of "slabs" used to define the polytope. More... | |
static const UT_Vector3 & | getPlaneDir (int k) |
Retrieve the orientation of the k-th slab. More... | |
![]() | |
BV_Tree * | cloneSubclass () 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 |
![]() | |
BV_Tree (const BV_Tree &tree) | |
![]() | |
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) |
This is a simple extension to BV_KDOPTree that includes debug output capability.
Definition at line 19 of file GU_KDOPTree.h.
typedef BV_KDOPTree<K> GU_KDOPTree< K >::BaseClass |
Definition at line 22 of file GU_KDOPTree.h.
GU_KDOPTree< K >::GU_KDOPTree | ( | ) |
GU_KDOPTree< K >::GU_KDOPTree | ( | const GU_KDOPTree< 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.
GU_KDOPTree& GU_KDOPTree< K >::operator= | ( | const GU_KDOPTree< K > & | ) |