org.jmol.util
Class BoxInfo

java.lang.Object
  extended by org.jmol.util.BoxInfo

public class BoxInfo
extends java.lang.Object


Field Summary
static char[] bbcageTickEdges
           
private  javax.vecmath.Point3f bbCenter
           
private  javax.vecmath.Point3f bbCorner0
           
private  javax.vecmath.Point3f bbCorner1
           
private  javax.vecmath.Vector3f bbVector
           
private  Point3fi[] bbVertices
           
protected static javax.vecmath.Point3i[] cubeVertexOffsets
           
static byte[] edges
           
private static javax.vecmath.Point3i[] facePoints
           
private  boolean isScaleSet
           
static int[] toCanonical
           
static char[] uccageTickEdges
           
private static javax.vecmath.Point3f[] unitBboxPoints
           
static javax.vecmath.Point3f[] unitCubePoints
           
 
Constructor Summary
BoxInfo()
           
 
Method Summary
 void addBoundBoxPoint(javax.vecmath.Point3f pt)
           
static void addPoint(javax.vecmath.Point3f pt, javax.vecmath.Point3f xyzMin, javax.vecmath.Point3f xyzMax, float margin)
           
 Point3fi[] getBboxVertices()
           
 javax.vecmath.Point3f getBoundBoxCenter()
           
 javax.vecmath.Vector3f getBoundBoxCornerVector()
           
 java.util.Map<java.lang.String,java.lang.Object> getBoundBoxInfo()
           
 javax.vecmath.Point3f[] getBoundBoxPoints()
           
 javax.vecmath.Point3f[] getCanonicalCopy(float scale)
           
static javax.vecmath.Point3f[] getCanonicalCopy(javax.vecmath.Point3f[] bbUcPoints, float scale)
           
static javax.vecmath.Point3f[] getCriticalPoints(javax.vecmath.Point3f[] bbVertices, javax.vecmath.Point3f offset)
           
static javax.vecmath.Point4f[] getFacesFromCriticalPoints(javax.vecmath.Point3f[] points)
           
 java.util.List<java.lang.Object> intersectPlane(javax.vecmath.Point4f plane, float scale, int flags)
          returns a set of points defining the geometric object within the given plane that spans the unit cell within the given margins
 boolean isWithin(javax.vecmath.Point3f pt)
           
 void reset()
           
static void scaleBox(javax.vecmath.Point3f[] pts, float scale)
           
 void setBbcage(float scale)
           
 void setBoundBox(javax.vecmath.Point3f pt1, javax.vecmath.Point3f pt2, boolean byCorner, float scale)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bbCorner0

private final javax.vecmath.Point3f bbCorner0

bbCorner1

private final javax.vecmath.Point3f bbCorner1

bbCenter

private final javax.vecmath.Point3f bbCenter

bbVector

private final javax.vecmath.Vector3f bbVector

bbVertices

private final Point3fi[] bbVertices

isScaleSet

private boolean isScaleSet

bbcageTickEdges

public static char[] bbcageTickEdges

uccageTickEdges

public static char[] uccageTickEdges

edges

public static final byte[] edges

unitCubePoints

public static final javax.vecmath.Point3f[] unitCubePoints

facePoints

private static javax.vecmath.Point3i[] facePoints

toCanonical

public static final int[] toCanonical

cubeVertexOffsets

protected static final javax.vecmath.Point3i[] cubeVertexOffsets

unitBboxPoints

private static final javax.vecmath.Point3f[] unitBboxPoints
Constructor Detail

BoxInfo

public BoxInfo()
Method Detail

intersectPlane

public java.util.List<java.lang.Object> intersectPlane(javax.vecmath.Point4f plane,
                                                       float scale,
                                                       int flags)
returns a set of points defining the geometric object within the given plane that spans the unit cell within the given margins

Parameters:
plane -
scale -
flags - 0 -- polygon int[] 1 -- edges only 2 -- triangles only 3 -- both
Returns:
a set of points

getCanonicalCopy

public javax.vecmath.Point3f[] getCanonicalCopy(float scale)

getCanonicalCopy

public static final javax.vecmath.Point3f[] getCanonicalCopy(javax.vecmath.Point3f[] bbUcPoints,
                                                             float scale)

scaleBox

public static void scaleBox(javax.vecmath.Point3f[] pts,
                            float scale)

getFacesFromCriticalPoints

public static javax.vecmath.Point4f[] getFacesFromCriticalPoints(javax.vecmath.Point3f[] points)

getCriticalPoints

public static final javax.vecmath.Point3f[] getCriticalPoints(javax.vecmath.Point3f[] bbVertices,
                                                              javax.vecmath.Point3f offset)

getBoundBoxCenter

public javax.vecmath.Point3f getBoundBoxCenter()

getBoundBoxCornerVector

public javax.vecmath.Vector3f getBoundBoxCornerVector()

getBoundBoxPoints

public javax.vecmath.Point3f[] getBoundBoxPoints()

getBboxVertices

public Point3fi[] getBboxVertices()

getBoundBoxInfo

public java.util.Map<java.lang.String,java.lang.Object> getBoundBoxInfo()

setBoundBox

public void setBoundBox(javax.vecmath.Point3f pt1,
                        javax.vecmath.Point3f pt2,
                        boolean byCorner,
                        float scale)

reset

public void reset()

addBoundBoxPoint

public void addBoundBoxPoint(javax.vecmath.Point3f pt)

addPoint

public static void addPoint(javax.vecmath.Point3f pt,
                            javax.vecmath.Point3f xyzMin,
                            javax.vecmath.Point3f xyzMax,
                            float margin)

setBbcage

public void setBbcage(float scale)

isWithin

public boolean isWithin(javax.vecmath.Point3f pt)