maspack.collision
Class AccelerationGrid<T>

java.lang.Object
  extended by maspack.collision.AccelerationGrid<T>

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


Field Summary
 java.util.ArrayList<java.util.LinkedHashSet<T>> cells
           
 Vector3d cellsize
           
 java.util.LinkedHashMap<T,java.util.ArrayList<int[]>> elementidxs
           
 int nx
           
 int ny
           
 int nz
           
 Point3d xmax
           
 Point3d xmin
           
 
Constructor Summary
AccelerationGrid()
           
 
Method Summary
 void add_element(T elem, Point3d min, Point3d max)
           
 java.util.ArrayList<T> find_overlapping_elements(Point3d min, Point3d max)
           
 java.util.LinkedHashSet<T> get(int x, int y, int z)
           
 int[] getIndex(Point3d p)
           
 int[][] getIndexes(Point3d min, Point3d max)
           
 void remove_element(T elem)
           
 void set(int x, int y, int z, java.util.LinkedHashSet<T> cell)
           
 void set(Point3d _xmin, Point3d _xmax, int n)
           
 void set(Point3d _xmin, Point3d _xmax, int _nx, int _ny, int _nz)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cells

public java.util.ArrayList<java.util.LinkedHashSet<T>> cells

elementidxs

public java.util.LinkedHashMap<T,java.util.ArrayList<int[]>> elementidxs

xmin

public Point3d xmin

xmax

public Point3d xmax

nx

public int nx

ny

public int ny

nz

public int nz

cellsize

public Vector3d cellsize
Constructor Detail

AccelerationGrid

public AccelerationGrid()
Method Detail

add_element

public void add_element(T elem,
                        Point3d min,
                        Point3d max)

remove_element

public void remove_element(T elem)

set

public void set(Point3d _xmin,
                Point3d _xmax,
                int n)

set

public void set(Point3d _xmin,
                Point3d _xmax,
                int _nx,
                int _ny,
                int _nz)

get

public java.util.LinkedHashSet<T> get(int x,
                                      int y,
                                      int z)

set

public void set(int x,
                int y,
                int z,
                java.util.LinkedHashSet<T> cell)

getIndex

public int[] getIndex(Point3d p)

getIndexes

public int[][] getIndexes(Point3d min,
                          Point3d max)

find_overlapping_elements

public java.util.ArrayList<T> find_overlapping_elements(Point3d min,
                                                        Point3d max)