NTrace
GPU ray tracing framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
FW::KDTInnerNode Class Reference

K-d tree's inner node class. More...

#include <KDTreeNode.hpp>

Inherits FW::KDTreeNode.

Public Member Functions

 KDTInnerNode (F32 split, S32 axis, KDTreeNode *child0, KDTreeNode *child1)
 Constructor. More...
 
bool isLeaf () const
 Returns whether the node is a leaf node. More...
 
S32 getNumChildNodes () const
 Returns number of the node's child nodes. More...
 
KDTreeNodegetChildNode (S32 i) const
 Returns node's child node (left or right). More...
 
- Public Member Functions inherited from FW::KDTreeNode
virtual S32 getNumTriangles () const
 Returns number of triangles this node references. Only leaf nodes will return non-zero values. More...
 
void deleteSubtree ()
 Deletes node's subtree. More...
 
int getSubtreeSize (KDTREE_STAT stat=KDTREE_STAT_NODE_COUNT) const
 Computes given statistics about node's subtree. More...
 

Public Attributes

KDTreeNodem_children [2]
 Node's child nodes. More...
 
F32 m_pos
 Split position. More...
 
S32 m_axis
 Split dimension. More...
 

Detailed Description

K-d tree's inner node class.

Definition at line 94 of file KDTreeNode.hpp.

Constructor & Destructor Documentation

FW::KDTInnerNode::KDTInnerNode ( F32  split,
S32  axis,
KDTreeNode child0,
KDTreeNode child1 
)
inline

Constructor.

Parameters
[in]splitSplit position.
[in]axisSplit axis.
[in]child0Left child.
[in]child1Right child.

Definition at line 104 of file KDTreeNode.hpp.

Member Function Documentation

KDTreeNode* FW::KDTInnerNode::getChildNode ( S32  i) const
inlinevirtual

Returns node's child node (left or right).

Parameters
[in]iWhich child to gte. 0 = left, 1 = right.
Returns
Node's child node (left or right) or NULL if the node has not that child.

Implements FW::KDTreeNode.

Definition at line 124 of file KDTreeNode.hpp.

S32 FW::KDTInnerNode::getNumChildNodes ( ) const
inlinevirtual

Returns number of the node's child nodes.

Returns
Always 2.

Implements FW::KDTreeNode.

Definition at line 117 of file KDTreeNode.hpp.

bool FW::KDTInnerNode::isLeaf ( ) const
inlinevirtual

Returns whether the node is a leaf node.

Returns
Always false.

Implements FW::KDTreeNode.

Definition at line 111 of file KDTreeNode.hpp.

Member Data Documentation

S32 FW::KDTInnerNode::m_axis

Split dimension.

Definition at line 128 of file KDTreeNode.hpp.

KDTreeNode* FW::KDTInnerNode::m_children[2]

Node's child nodes.

Definition at line 126 of file KDTreeNode.hpp.

F32 FW::KDTInnerNode::m_pos

Split position.

Definition at line 127 of file KDTreeNode.hpp.


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