Public Member Functions | Private Attributes | List of all members
AABBTree Class Reference

#include <OPC_AABBTree.h>

Inheritance diagram for AABBTree:
Inheritance graph
[legend]

Public Member Functions

 AABBTree ()
 
bool Build (AABBTreeBuilder *builder)
 
udword ComputeDepth () const
 
inline_ const udwordGetIndices () const
 Catch the indices. More...
 
inline_ udword GetNbNodes () const
 Catch the number of nodes. More...
 
udword GetUsedBytes () const
 
bool IsComplete () const
 
bool Refit (AABBTreeBuilder *builder)
 
bool Refit2 (AABBTreeBuilder *builder)
 
void Release ()
 
udword Walk (WalkingCallback callback, void *user_data) const
 
 ~AABBTree ()
 
- Public Member Functions inherited from AABBTreeNode
inline_ udword GetNbPrimitives () const
 
inline_ const udwordGetPrimitives () const
 

Private Attributes

udwordmIndices
 Indices in the app list. Indices are reorganized during build (permutation). More...
 
AABBTreeNodemPool
 Linear pool of nodes for complete trees. Null otherwise. [Opcode 1.3]. More...
 
udword mTotalNbNodes
 Number of nodes in the tree. More...
 

Additional Inherited Members

- Protected Member Functions inherited from AABBTreeNode
void _BuildHierarchy (AABBTreeBuilder *builder)
 
void _Refit (AABBTreeBuilder *builder)
 
udword Split (udword axis, AABBTreeBuilder *builder)
 
bool Subdivide (AABBTreeBuilder *builder)
 
- Protected Attributes inherited from AABBTreeNode
udword mNbPrimitives
 Number of primitives for this node. More...
 
udwordmNodePrimitives
 Node-related primitives (shortcut to a position in mIndices below) More...
 

Detailed Description

Contains a generic AABB tree. This is a vanilla AABB tree, without any particular optimization. It contains anonymous references to user-provided primitives, which can theoretically be anything - triangles, boxes, etc. Each primitive is surrounded by an AABB, regardless of the primitive's nature. When the primitive is a triangle, the resulting tree can be converted into an optimized tree. If the primitive is a box, the resulting tree can be used for culling - VFC or occlusion -, assuming you cull on a mesh-by-mesh basis (modern way).

Author
Pierre Terdiman
Version
1.3
Date
March, 20, 2001

Definition at line 113 of file OPC_AABBTree.h.

Constructor & Destructor Documentation

AABBTree::AABBTree ( )
AABBTree::~AABBTree ( )

Member Function Documentation

bool AABBTree::Build ( AABBTreeBuilder builder)
udword AABBTree::ComputeDepth ( ) const
inline_ const udword* AABBTree::GetIndices ( ) const
inline

Catch the indices.

Definition at line 124 of file OPC_AABBTree.h.

inline_ udword AABBTree::GetNbNodes ( ) const
inline

Catch the number of nodes.

Definition at line 125 of file OPC_AABBTree.h.

udword AABBTree::GetUsedBytes ( ) const
bool AABBTree::IsComplete ( ) const
bool AABBTree::Refit ( AABBTreeBuilder builder)
bool AABBTree::Refit2 ( AABBTreeBuilder builder)
void AABBTree::Release ( )
udword AABBTree::Walk ( WalkingCallback  callback,
void user_data 
) const

Member Data Documentation

udword* AABBTree::mIndices
private

Indices in the app list. Indices are reorganized during build (permutation).

Definition at line 137 of file OPC_AABBTree.h.

AABBTreeNode* AABBTree::mPool
private

Linear pool of nodes for complete trees. Null otherwise. [Opcode 1.3].

Definition at line 138 of file OPC_AABBTree.h.

udword AABBTree::mTotalNbNodes
private

Number of nodes in the tree.

Definition at line 140 of file OPC_AABBTree.h.


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


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Sat May 8 2021 02:42:42