us.ihmc.utilities.dataStructures.hyperCubeTree
Class HyperCubeTree<T,D>
java.lang.Object
us.ihmc.utilities.dataStructures.hyperCubeTree.HyperCubeTree<T,D>
- All Implemented Interfaces:
- HyperCubeTreeListener<T,D>
- Direct Known Subclasses:
- Octree, SimpleLossyDoubleTree
public abstract class HyperCubeTree<T,D>
- extends java.lang.Object
- implements HyperCubeTreeListener<T,D>
Method Summary |
void |
addListener(HyperCubeTreeListener<T,D> listener)
|
void |
checkDimensionality(double[] array)
|
void |
clearTree()
|
int |
countNodes()
|
HyperCubeLeaf<T> |
get(double[] location)
|
java.util.List<RecursableHyperTreeNode<T,D>> |
getHyperVolumeIntersection(HyperVolume volume)
|
RecursableHyperTreeNode<T,D> |
getLeafNodeAtLocation(double[] location)
|
RecursableHyperTreeNode<T,D> |
getNode(double[] location)
|
RecursableHyperTreeNode<T,D> |
getRootNode()
|
void |
leafAdded(HyperCubeLeaf<T> leaf)
|
java.util.List<RecursableHyperTreeNode<T,D>> |
listAllLeafNodes()
|
java.util.List<HyperCubeLeaf<T>> |
listAllLeaves()
|
void |
metaDataUpdated(java.lang.String id,
OneDimensionalBounds[] bounds,
D data)
|
void |
nodeAdded(java.lang.String id,
OneDimensionalBounds[] bounds,
HyperCubeLeaf<T> leaf)
|
void |
nodeRemoved(java.lang.String id)
|
boolean |
put(double[] location,
T value)
|
boolean |
put(HyperCubeLeaf<T> leaf)
|
void |
remove(HyperCubeLeaf<T> leaf)
|
void |
removeListener(HyperCubeTreeListener<T,D> listener)
|
void |
replacementPut(HyperCubeLeaf<T> leaf)
|
void |
upRezz(double[] location)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HyperCubeTree
public HyperCubeTree(OneDimensionalBounds[] bounds)
addListener
public void addListener(HyperCubeTreeListener<T,D> listener)
checkDimensionality
public void checkDimensionality(double[] array)
clearTree
public void clearTree()
countNodes
public int countNodes()
get
public HyperCubeLeaf<T> get(double[] location)
getHyperVolumeIntersection
public java.util.List<RecursableHyperTreeNode<T,D>> getHyperVolumeIntersection(HyperVolume volume)
getLeafNodeAtLocation
public RecursableHyperTreeNode<T,D> getLeafNodeAtLocation(double[] location)
getNode
public RecursableHyperTreeNode<T,D> getNode(double[] location)
getRootNode
public RecursableHyperTreeNode<T,D> getRootNode()
leafAdded
public void leafAdded(HyperCubeLeaf<T> leaf)
- Specified by:
leafAdded
in interface HyperCubeTreeListener<T,D>
listAllLeafNodes
public java.util.List<RecursableHyperTreeNode<T,D>> listAllLeafNodes()
listAllLeaves
public java.util.List<HyperCubeLeaf<T>> listAllLeaves()
nodeAdded
public void nodeAdded(java.lang.String id,
OneDimensionalBounds[] bounds,
HyperCubeLeaf<T> leaf)
- Specified by:
nodeAdded
in interface HyperCubeTreeListener<T,D>
nodeRemoved
public void nodeRemoved(java.lang.String id)
- Specified by:
nodeRemoved
in interface HyperCubeTreeListener<T,D>
metaDataUpdated
public void metaDataUpdated(java.lang.String id,
OneDimensionalBounds[] bounds,
D data)
- Specified by:
metaDataUpdated
in interface HyperCubeTreeListener<T,D>
put
public boolean put(double[] location,
T value)
put
public boolean put(HyperCubeLeaf<T> leaf)
remove
public void remove(HyperCubeLeaf<T> leaf)
removeListener
public void removeListener(HyperCubeTreeListener<T,D> listener)
replacementPut
public void replacementPut(HyperCubeLeaf<T> leaf)
upRezz
public void upRezz(double[] location)