Classes | Public Types | Public Member Functions | Public Attributes | List of all members
Nabo::IndexHeapSTL< IT, VT > Struct Template Reference

balanced-tree implementation of heap More...

#include <index_heap.h>

Classes

struct  Entry
 an entry of the heap tree More...
 

Public Types

typedef std::vector< EntryEntries
 vector of entry, type for the storage of the tree More...
 
typedef IT Index
 type of an index More...
 
typedef Eigen::Matrix< Index, Eigen::Dynamic, 1 > IndexVector
 vector of indices More...
 
typedef VT Value
 type of a value More...
 
typedef Eigen::Matrix< Value, Eigen::Dynamic, 1 > ValueVector
 vector of values More...
 

Public Member Functions

template<typename DI , typename DV >
void getData (const Eigen::MatrixBase< DI > &indices, const Eigen::MatrixBase< DV > &values) const
 get the data from the heap More...
 
const VT & headValue () const
 get the largest value of the heap More...
 
 IndexHeapSTL (const size_t size)
 Constructor. More...
 
void replaceHead (const Index index, const Value value)
 put value into heap, replace the largest value if full More...
 
void reset ()
 reset to the empty heap More...
 
void sort ()
 sort the entries, from the smallest to the largest More...
 

Public Attributes

Entries data
 storage for the tree More...
 
const size_t nbNeighbours
 number of neighbours requested More...
 

Detailed Description

template<typename IT, typename VT>
struct Nabo::IndexHeapSTL< IT, VT >

balanced-tree implementation of heap

It uses a binary heap, which provides replacement in O(log(n)), however the constant overhead is significative.

Definition at line 52 of file index_heap.h.

Member Typedef Documentation

◆ Entries

template<typename IT, typename VT>
typedef std::vector<Entry> Nabo::IndexHeapSTL< IT, VT >::Entries

vector of entry, type for the storage of the tree

Definition at line 71 of file index_heap.h.

◆ Index

template<typename IT, typename VT>
typedef IT Nabo::IndexHeapSTL< IT, VT >::Index

type of an index

Definition at line 55 of file index_heap.h.

◆ IndexVector

template<typename IT, typename VT>
typedef Eigen::Matrix<Index, Eigen::Dynamic, 1> Nabo::IndexHeapSTL< IT, VT >::IndexVector

vector of indices

Definition at line 73 of file index_heap.h.

◆ Value

template<typename IT, typename VT>
typedef VT Nabo::IndexHeapSTL< IT, VT >::Value

type of a value

Definition at line 57 of file index_heap.h.

◆ ValueVector

template<typename IT, typename VT>
typedef Eigen::Matrix<Value, Eigen::Dynamic, 1> Nabo::IndexHeapSTL< IT, VT >::ValueVector

vector of values

Definition at line 75 of file index_heap.h.

Constructor & Destructor Documentation

◆ IndexHeapSTL()

template<typename IT, typename VT>
Nabo::IndexHeapSTL< IT, VT >::IndexHeapSTL ( const size_t  size)
inline

Constructor.

Parameters
sizenumber of elements in the heap

Definition at line 85 of file index_heap.h.

Member Function Documentation

◆ getData()

template<typename IT, typename VT>
template<typename DI , typename DV >
void Nabo::IndexHeapSTL< IT, VT >::getData ( const Eigen::MatrixBase< DI > &  indices,
const Eigen::MatrixBase< DV > &  values 
) const
inline

get the data from the heap

Parameters
indicesindex vector
valuesvalue vector

Definition at line 132 of file index_heap.h.

◆ headValue()

template<typename IT, typename VT>
const VT& Nabo::IndexHeapSTL< IT, VT >::headValue ( ) const
inline

get the largest value of the heap

Returns
the largest value in the heap

Definition at line 101 of file index_heap.h.

◆ replaceHead()

template<typename IT, typename VT>
void Nabo::IndexHeapSTL< IT, VT >::replaceHead ( const Index  index,
const Value  value 
)
inline

put value into heap, replace the largest value if full

Parameters
indexnew point index
valuenew distance value

Definition at line 106 of file index_heap.h.

◆ reset()

template<typename IT, typename VT>
void Nabo::IndexHeapSTL< IT, VT >::reset ( )
inline

reset to the empty heap

Definition at line 93 of file index_heap.h.

◆ sort()

template<typename IT, typename VT>
void Nabo::IndexHeapSTL< IT, VT >::sort ( )
inline

sort the entries, from the smallest to the largest

Definition at line 123 of file index_heap.h.

Member Data Documentation

◆ data

template<typename IT, typename VT>
Entries Nabo::IndexHeapSTL< IT, VT >::data

storage for the tree

Definition at line 78 of file index_heap.h.

◆ nbNeighbours

template<typename IT, typename VT>
const size_t Nabo::IndexHeapSTL< IT, VT >::nbNeighbours

number of neighbours requested

Definition at line 80 of file index_heap.h.


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


libnabo
Author(s): Stéphane Magnenat
autogenerated on Mon Feb 28 2022 22:41:38