Package org.jmol.bspt
Class CubeIterator
- java.lang.Object
-
- org.jmol.bspt.CubeIterator
-
public class CubeIterator extends java.lang.ObjectIterator used for finding all points within a box or a hemi-boxObtain a CubeIterator by calling Bspt.allocateCubeIterator().
call initialize(...) or initializeHemizphere(...)
re-initialize in order to reuse the same CubeIterator
- Author:
- Miguel, miguel@jmol.org
-
-
Field Summary
Fields Modifier and Type Field Description private Bsptbsptprivate floatcxprivate floatcyprivate floatczprivate floatdxprivate floatdyprivate floatdzprivate Leafleafprivate intleafIndexprivate floatradiusprivate intspprivate Element[]stackprivate booleantHemisphere
-
Constructor Summary
Constructors Constructor Description CubeIterator(Bspt bspt)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidfindLeftLeaf()does the workfloatfoundDistance2()After calling nextElement(), allows one to find out the value of the distance squared.booleanhasMoreElements()normal iterator predicatevoidinitialize(javajs.util.T3 center, float radius, boolean hemisphereOnly)initialize to return all points within the sphere defined by center and radiusprivate booleanisWithinRadius(javajs.util.T3 t)checks one Point3f for box-based distancejavajs.util.T3nextElement()normal iterator methodvoidrelease()nulls internal references(package private) voidset(Bspt bspt)
-
-
-
Field Detail
-
bspt
private Bspt bspt
-
stack
private Element[] stack
-
sp
private int sp
-
leafIndex
private int leafIndex
-
leaf
private Leaf leaf
-
radius
private float radius
-
cx
private float cx
-
cy
private float cy
-
cz
private float cz
-
dx
private float dx
-
dy
private float dy
-
dz
private float dz
-
tHemisphere
private boolean tHemisphere
-
-
Constructor Detail
-
CubeIterator
CubeIterator(Bspt bspt)
-
-
Method Detail
-
set
void set(Bspt bspt)
-
initialize
public void initialize(javajs.util.T3 center, float radius, boolean hemisphereOnly)initialize to return all points within the sphere defined by center and radius- Parameters:
center-radius-hemisphereOnly-
-
release
public void release()
nulls internal references
-
hasMoreElements
public boolean hasMoreElements()
normal iterator predicate- Returns:
- boolean
-
nextElement
public javajs.util.T3 nextElement()
normal iterator method- Returns:
- Tuple
-
foundDistance2
public float foundDistance2()
After calling nextElement(), allows one to find out the value of the distance squared. To get the distance just take the sqrt.- Returns:
- float
-
findLeftLeaf
private void findLeftLeaf()
does the work
-
isWithinRadius
private boolean isWithinRadius(javajs.util.T3 t)
checks one Point3f for box-based distance- Parameters:
t-- Returns:
- boolean
-
-