TrigVSI::KDTree< T, D > Node1 TrigVSI::KDTree< T, D > - m_idLength - m_locked + KDTree() + KDTree() + genTree() + lock() + unlock() + at() - buildTree() - nearestNeighborRec() Node2 std::unique_ptr< TrigVSI ::KDTree::Node > + operator->() Node2->Node1 -m_rootNode Node3 TrigVSI::KDTree< T, D >::Node + dataRef + dataIdx + axis + Node() + Node() Node2->Node3 +leftPtr +rightPtr Node3->Node2 +ptr Node4 std::vector< size_t > + elements Node4->Node1 -m_indices Node5 std::vector< TrigVSI ::KDPoint< T, D > > + elements Node5->Node1 -m_datas