MeVisLabToolboxReference
|
Heap structure with property i>2*i+1 and i>2*i+2 Parent i has children 2*i+1 and 2*i+2 Smallest values are stored closer to root of tree Elements are sorted while inserting them in the heap. More...
#include <CSOObjectHeap.h>
Public Member Functions | |
CSOObjectHeap () | |
Standard constructor. | |
~CSOObjectHeap () | |
Standard destructor. | |
T * | root () const |
Get root (fist) element of heap, typecast from CSOLiveWireNode to T. | |
void | swap (unsigned int i, unsigned int j) |
Swap two heap elements and resort heap. | |
void | insert (T *we) |
Insert heap element, resort heap. | |
void | insert (T *we, float v) |
Insert heap element and set value, resort heap. | |
void | update (T *we, float nv) |
Update given heap element with new value, resort heap. | |
int | remove (T *we) |
Remove heap element, resort heap. | |
void | sort () |
Sort heap. |
Heap structure with property i>2*i+1 and i>2*i+2 Parent i has children 2*i+1 and 2*i+2 Smallest values are stored closer to root of tree Elements are sorted while inserting them in the heap.
Definition at line 27 of file CSOObjectHeap.h.
ml::CSOObjectHeap< T >::CSOObjectHeap | ( | ) |
Standard constructor.
Definition at line 69 of file CSOObjectHeap.h.
ml::CSOObjectHeap< T >::~CSOObjectHeap | ( | ) |
Standard destructor.
Definition at line 76 of file CSOObjectHeap.h.
References ml::CSOObjectVector< T >::clear().
void ml::CSOObjectHeap< T >::insert | ( | T * | we | ) |
Insert heap element, resort heap.
Definition at line 102 of file CSOObjectHeap.h.
References ml::CSOObjectVector< T >::appendUnsafe(), and ml::CSOObjectVector< T >::last().
void ml::CSOObjectHeap< T >::insert | ( | T * | we, |
float | v | ||
) |
Insert heap element and set value, resort heap.
Definition at line 116 of file CSOObjectHeap.h.
References ml::CSOObjectVector< T >::appendUnsafe(), ml::CSOObjectVector< T >::last(), and ml::CSOObjectVector< T >::num().
int ml::CSOObjectHeap< T >::remove | ( | T * | we | ) | [virtual] |
Remove heap element, resort heap.
Reimplemented from ml::CSOObjectVector< T >.
Definition at line 136 of file CSOObjectHeap.h.
References ml::CSOObjectVector< T >::at(), ml::CSOObjectVector< T >::deleteLast(), and ml::CSOObjectVector< T >::num().
T * ml::CSOObjectHeap< T >::root | ( | ) | const |
Get root (fist) element of heap, typecast from CSOLiveWireNode to T.
Definition at line 84 of file CSOObjectHeap.h.
References ml::CSOObjectVector< T >::firstBoundsCheck(), and T.
void ml::CSOObjectHeap< T >::sort | ( | ) |
Sort heap.
Definition at line 231 of file CSOObjectHeap.h.
References ml::CSOObjectVector< T >::append(), ml::CSOObjectVector< T >::clear(), ML_CHECK_NEW, ML_DELETE, and ml::CSOObjectVector< T >::num().
void ml::CSOObjectHeap< T >::swap | ( | unsigned int | i, |
unsigned int | j | ||
) | [virtual] |
Swap two heap elements and resort heap.
Reimplemented from ml::CSOObjectVector< T >.
Definition at line 92 of file CSOObjectHeap.h.
References ml::CSOObjectVector< T >::at(), and ml::CSOObjectVector< T >::swap().
void ml::CSOObjectHeap< T >::update | ( | T * | we, |
float | nv | ||
) |
Update given heap element with new value, resort heap.
Definition at line 171 of file CSOObjectHeap.h.
References ml::CSOObjectVector< T >::num().