HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_OBBTree.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  */
7 
8 #ifndef __GU_OBBTree_h__
9 #define __GU_OBBTree_h__
10 
11 #include "GU_API.h"
12 #include <BV/BV_OBBTree.h>
13 #include <UT/UT_VectorTypes.h>
14 
15 class GU_Detail;
16 
17 /// This is a simple extension to BV_OBBTree that includes debug output
18 /// capability.
20 {
21 public:
23 
24  GU_OBBTree();
25  GU_OBBTree(const GU_OBBTree &);
26 
28 
29  /// Create a GU_Detail showing the OBBs at each level of the
30  /// hierarchy.
31  ///
32  /// If the depth parameter is non-negative, then only leaves
33  /// at the given depth level are included.
34  /// If the onlyLeaf parameter is non-negative, then only boxes containing
35  /// that primitive are included.
36  void createDebugTree(GU_Detail &gdp,
37  int depth = -1,
38  int prim = -1) const;
39 private:
40  bool outputTree(GU_Detail &gdp, const BV_OBB &node,
41  const UT_Matrix3 &R, const UT_Vector3 &T,
42  int onlyDepth, int onlyLeaf, int depth) const;
43 };
44 
45 #endif
46 
A single node in a BV_OBBTree.
Definition: BV_OBBTree.h:210
#define GU_API
Definition: GU_API.h:14
GLint GLint GLsizei GLsizei GLsizei depth
Definition: glcorearb.h:476
BV_OBBTree BaseClass
Definition: GU_OBBTree.h:22
BV_OBBTree & operator=(const BV_OBBTree &)