us.ihmc.utilities.dataStructures.quadTree
Class QuadTree<T>

java.lang.Object
  extended by us.ihmc.utilities.dataStructures.quadTree.QuadTree<T>
Direct Known Subclasses:
FloatQuadTree

public class QuadTree<T>
extends java.lang.Object


Constructor Summary
QuadTree(double minX, double minY, double maxX, double maxY, double resolution, double heightThreshold)
           
 
Method Summary
 void addQuadTreeListener(QuadTreeListener quadTreeListener)
           
 void clear()
           
 java.util.ArrayList<T> get(Box bounds, java.util.ArrayList<T> values)
           
 T get(double x, double y)
           
 java.util.ArrayList<T> get(double x, double y, double distance)
           
 java.util.ArrayList<T> get(double minX, double minY, double maxX, double maxY, java.util.ArrayList<T> values)
           
 java.util.ArrayList<QuadNode<T>> getAllVisableNodes()
           
 double getHeightThreshold()
           
 double getMaxX()
           
 double getMaxY()
           
 double getMinX()
           
 double getMinY()
           
 int getNumberOfQuads()
           
 java.util.ArrayList<javax.vecmath.Point3d> getPointsAtGridResolution(double centerX, double centerY, double extentX, double extentY)
           
 QuadTreePutResult put(double x, double y, T value)
           
 void remove(double x, double y)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QuadTree

public QuadTree(double minX,
                double minY,
                double maxX,
                double maxY,
                double resolution,
                double heightThreshold)
Method Detail

getAllVisableNodes

public java.util.ArrayList<QuadNode<T>> getAllVisableNodes()

addQuadTreeListener

public void addQuadTreeListener(QuadTreeListener quadTreeListener)

put

public QuadTreePutResult put(double x,
                             double y,
                             T value)

remove

public void remove(double x,
                   double y)

clear

public void clear()

get

public T get(double x,
             double y)

get

public java.util.ArrayList<T> get(double x,
                                  double y,
                                  double distance)

get

public java.util.ArrayList<T> get(Box bounds,
                                  java.util.ArrayList<T> values)

getPointsAtGridResolution

public java.util.ArrayList<javax.vecmath.Point3d> getPointsAtGridResolution(double centerX,
                                                                            double centerY,
                                                                            double extentX,
                                                                            double extentY)

get

public java.util.ArrayList<T> get(double minX,
                                  double minY,
                                  double maxX,
                                  double maxY,
                                  java.util.ArrayList<T> values)

getMinX

public double getMinX()

getMaxX

public double getMaxX()

getMinY

public double getMinY()

getMaxY

public double getMaxY()

getNumberOfQuads

public int getNumberOfQuads()

getHeightThreshold

public double getHeightThreshold()