CubbyFlow::KdTree< T, K >::Node Struct Reference

Simple K-d tree node. More...

#include <Core/Geometry/KdTree.hpp>

Public Member Functions

void InitLeaf (size_t it, const Point &pt)
 Initializes leaf node. More...
 
void InitInternal (size_t axis, size_t it, size_t c, const Point &pt)
 Initializes internal node. More...
 
bool IsLeaf () const
 Returns true if leaf. More...
 

Public Attributes

size_t flags = 0
 Split axis if flags < K, leaf indicator if flags == K. More...
 
size_t child = std::numeric_limits<size_t>::max()
 Right child index. Note that left child index is this node index + 1. More...
 
size_t item = std::numeric_limits<size_t>::max()
 Item index. More...
 
Point point
 Point stored in the node. More...
 

Detailed Description

template<typename T, size_t K>
struct CubbyFlow::KdTree< T, K >::Node

Simple K-d tree node.

Member Function Documentation

◆ InitInternal()

template<typename T , size_t K>
void CubbyFlow::KdTree< T, K >::Node::InitInternal ( size_t  axis,
size_t  it,
size_t  c,
const Point pt 
)

Initializes internal node.

◆ InitLeaf()

template<typename T , size_t K>
void CubbyFlow::KdTree< T, K >::Node::InitLeaf ( size_t  it,
const Point pt 
)

Initializes leaf node.

◆ IsLeaf()

template<typename T , size_t K>
bool CubbyFlow::KdTree< T, K >::Node::IsLeaf ( ) const

Returns true if leaf.

Member Data Documentation

◆ child

template<typename T, size_t K>
size_t CubbyFlow::KdTree< T, K >::Node::child = std::numeric_limits<size_t>::max()

Right child index. Note that left child index is this node index + 1.

◆ flags

template<typename T, size_t K>
size_t CubbyFlow::KdTree< T, K >::Node::flags = 0

Split axis if flags < K, leaf indicator if flags == K.

◆ item

template<typename T, size_t K>
size_t CubbyFlow::KdTree< T, K >::Node::item = std::numeric_limits<size_t>::max()

Item index.

◆ point

template<typename T, size_t K>
Point CubbyFlow::KdTree< T, K >::Node::point

Point stored in the node.


The documentation for this struct was generated from the following files: