us.ihmc.utilities.dataStructures.hyperCubeTree
Class HyperCubeTree<T,D>

java.lang.Object
  extended by 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>


Constructor Summary
HyperCubeTree(OneDimensionalBounds[] bounds)
           
 
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
 
Methods inherited from interface us.ihmc.utilities.dataStructures.hyperCubeTree.HyperCubeTreeListener
treeCleared
 

Constructor Detail

HyperCubeTree

public HyperCubeTree(OneDimensionalBounds[] bounds)
Method Detail

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)