Add a method to exchange a value of a point.
pub fn exchange(&mut self, query: &[A; K], old_item: T, new_item: T);
Use case:
I have a KdTree with indices to Vec<Slot> because Slot is too large to be efficiently stored directly in the KdTree. When removing an entity, one can efficiently remove it from the Vec with Vec::swap_remove(index) which moves the last slot to index. This creates the need to change the stored index inside KdTree of the moved item.
Add a method to exchange a value of a point.
Use case:
I have a
KdTreewith indices toVec<Slot>becauseSlotis too large to be efficiently stored directly in the KdTree. When removing an entity, one can efficiently remove it from the Vec withVec::swap_remove(index)which moves the last slot toindex. This creates the need to change the stored index inside KdTree of the moved item.