de.grogra.vecmath.geom
Class Octree.State

java.lang.Object
  extended by de.grogra.vecmath.geom.Variables
      extended by de.grogra.vecmath.geom.Octree.State
Enclosing class:
Octree

public abstract static class Octree.State
extends Variables

An instance of State represents the state which is needed for octree algorithms, namely for the methods Octree.computeIntersections(de.grogra.vecmath.geom.Line, int, de.grogra.vecmath.geom.IntersectionList, de.grogra.vecmath.geom.Intersection, de.grogra.vecmath.geom.Intersection, de.grogra.vecmath.geom.Octree.State) and Octree.Cell.getVolume(int, de.grogra.vecmath.geom.Octree.State). A suitable instance for a specific octree implementation is obtained by Octree.createState().

Author:
Ole Kniemeyer

Field Summary
protected  CellIterator cellIterator
          The cell iterator which is used to traverse the octree along a line.
 
Fields inherited from class de.grogra.vecmath.geom.Variables
cache, istack, tmpLine, tmpMatrix3, tmpPoint0, tmpPoint1, tmpPoint2, tmpPoint3, tmpVector0, tmpVector1, tmpVector2, tmpVector3
 
Constructor Summary
Octree.State()
           
 
Method Summary
abstract  void clear(int id)
          Clears any mark of volume id which has been set previously by mark(int) within this state.
abstract  boolean mark(int id)
          Marks the volume id within this state, returns true iff the volume has not yet been marked before within this state.
 
Methods inherited from class de.grogra.vecmath.geom.Variables
getISize, ienter, ipop, ipush, setISize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cellIterator

protected CellIterator cellIterator
The cell iterator which is used to traverse the octree along a line.

Constructor Detail

Octree.State

public Octree.State()
Method Detail

clear

public abstract void clear(int id)
Clears any mark of volume id which has been set previously by mark(int) within this state.

Parameters:
id - of the volume
See Also:
mark(int)

mark

public abstract boolean mark(int id)
Marks the volume id within this state, returns true iff the volume has not yet been marked before within this state.

Parameters:
id - id of the volume
Returns:
true iff the volume id is marked for the first time
See Also:
clear(int)