# Cinder

# cinder::KdTree< NodeData, K, LookupProc > Class Template Reference

`#include <KdTree.h>`

List of all members.

## Public Types
typedef std::pair< const NodeData *, uint32_t > | NodeDataIndex
## Public Member Functions
template<typename NodeDataVector >
| KdTree (const NodeDataVector &data)
| KdTree ()
template<typename NodeDataVector >
void | initialize (const NodeDataVector &d)
| ~KdTree ()
void | recursiveBuild (uint32_t nodeNum, uint32_t start, uint32_t end, std::vector< NodeDataIndex > &buildNodes)
void | lookup (const NodeData &p, const LookupProc &process, float maxDist) const
void | findNearest (float p[K], float result[K], uint32_t *resultIndex) const

### template<typename NodeData, unsigned char K = 3, class LookupProc = NullLookupProc>
class cinder::KdTree< NodeData, K, LookupProc >

## Member Typedef Documentation

template<typename NodeData , unsigned char K = 3, class LookupProc = NullLookupProc>

typedef std::pair<const NodeData*, uint32_t> cinder::KdTree< NodeData, K, LookupProc >::NodeDataIndex

## Constructor & Destructor Documentation

template<typename NodeData , unsigned char K, typename LookupProc >
template<typename NodeDataVector >

cinder::KdTree< NodeData, K, LookupProc >::KdTree | ( | const NodeDataVector & | data | ) |

template<typename NodeData , unsigned char K = 3, class LookupProc = NullLookupProc>

cinder::KdTree< NodeData, K, LookupProc >::KdTree | ( |  | ) |

template<typename NodeData , unsigned char K = 3, class LookupProc = NullLookupProc>

cinder::KdTree< NodeData, K, LookupProc >::~KdTree | ( |  | ) |

## Member Function Documentation

template<typename NodeData , unsigned char K, typename LookupProc >
template<typename NodeDataVector >

void cinder::KdTree< NodeData, K, LookupProc >::initialize | ( | const NodeDataVector & | d | ) |

template<typename NodeData , unsigned char K, typename LookupProc >

void cinder::KdTree< NodeData, K, LookupProc >::recursiveBuild | ( | uint32_t | nodeNum,
|  | uint32_t | start,
|  | uint32_t | end,
|  | std::vector< NodeDataIndex > & | buildNodes |
| ) |  |  |

template<typename NodeData , unsigned char K, typename LookupProc >

void cinder::KdTree< NodeData, K, LookupProc >::lookup | ( | const NodeData & | p,
|  | const LookupProc & | process,
|  | float | maxDist |
| ) |  |  | const

template<typename NodeData , unsigned char K, typename LookupProc >

void cinder::KdTree< NodeData, K, LookupProc >::findNearest | ( | float | p[K],
|  | float | result[K],
|  | uint32_t * | resultIndex |
| ) |  |  | const

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

- include/cinder/KdTree.h