org.jmol.jvxl.data
Class VolumeData

java.lang.Object
  extended by org.jmol.jvxl.data.VolumeData
All Implemented Interfaces:
VolumeDataInterface

public class VolumeData
extends java.lang.Object
implements VolumeDataInterface


Field Summary
 float[] origin
           
private  javax.vecmath.Vector3f pointVector
           
private  javax.vecmath.Point3f ptXyzTemp
           
(package private)  javax.vecmath.Point4f thePlane
           
private  float thePlaneNormalMag
           
 javax.vecmath.Vector3f[] unitVolumetricVectors
           
private  javax.vecmath.Matrix3f volumetricMatrix
           
 javax.vecmath.Point3f volumetricOrigin
           
 float[] volumetricVectorLengths
           
 javax.vecmath.Vector3f[] volumetricVectors
           
 int[] voxelCounts
           
 float[][][] voxelData
           
 
Constructor Summary
VolumeData()
           
 
Method Summary
 float calcVoxelPlaneDistance(int x, int y, int z)
           
 void capData(javax.vecmath.Point4f plane, float cutoff)
           
 float distancePointToPlane(javax.vecmath.Point3f pt)
           
 void filterData(boolean isSquared, float invertCutoff)
           
static float getFractional2DValue(float fx, float fy, float x11, float x12, float x21, float x22)
           
private  float getInterpolatedVoxelValue(javax.vecmath.Point3f pt)
           
 float[] getOriginFloat()
           
 float[] getVolumetricVectorLengths()
           
 int[] getVoxelCounts()
           
 float[][][] getVoxelData()
           
private static int indexDown(float value, int iMax)
           
 float lookupInterpolatedVoxelValue(javax.vecmath.Point3f point)
           
(package private)  void offsetCenter(javax.vecmath.Point3f center)
           
private  float scaleByVoxelVector(javax.vecmath.Vector3f vector, int voxelVectorIndex)
           
 void setDataDistanceToPlane(javax.vecmath.Point4f plane)
           
 void setMatrix()
           
 void setPlaneParameters(javax.vecmath.Point4f plane)
           
 void setUnitVectors()
           
 void setVolumetricOrigin(float x, float y, float z)
           
 void setVolumetricVector(int i, float x, float y, float z)
           
 void setVoxelCounts(int nPointsX, int nPointsY, int nPointsZ)
           
 void setVoxelData(float[][][] voxelData)
           
private  void setVoxelPoint()
           
 void transform(javax.vecmath.Vector3f v1, javax.vecmath.Vector3f v2)
           
 void voxelPtToXYZ(int x, int y, int z, javax.vecmath.Point3f pt)
           
 void xyzToVoxelPt(float x, float y, float z, javax.vecmath.Point3i pt3i)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

volumetricOrigin

public final javax.vecmath.Point3f volumetricOrigin

origin

public final float[] origin

volumetricVectors

public final javax.vecmath.Vector3f[] volumetricVectors

voxelCounts

public final int[] voxelCounts

voxelData

public float[][][] voxelData

volumetricVectorLengths

public final float[] volumetricVectorLengths

unitVolumetricVectors

public final javax.vecmath.Vector3f[] unitVolumetricVectors

volumetricMatrix

private final javax.vecmath.Matrix3f volumetricMatrix

thePlane

javax.vecmath.Point4f thePlane

thePlaneNormalMag

private float thePlaneNormalMag

ptXyzTemp

private final javax.vecmath.Point3f ptXyzTemp

pointVector

private final javax.vecmath.Vector3f pointVector
Constructor Detail

VolumeData

public VolumeData()
Method Detail

setVolumetricOrigin

public void setVolumetricOrigin(float x,
                                float y,
                                float z)
Specified by:
setVolumetricOrigin in interface VolumeDataInterface

getOriginFloat

public float[] getOriginFloat()
Specified by:
getOriginFloat in interface VolumeDataInterface

getVolumetricVectorLengths

public float[] getVolumetricVectorLengths()
Specified by:
getVolumetricVectorLengths in interface VolumeDataInterface

setVolumetricVector

public void setVolumetricVector(int i,
                                float x,
                                float y,
                                float z)
Specified by:
setVolumetricVector in interface VolumeDataInterface

getVoxelCounts

public int[] getVoxelCounts()
Specified by:
getVoxelCounts in interface VolumeDataInterface

setVoxelCounts

public void setVoxelCounts(int nPointsX,
                           int nPointsY,
                           int nPointsZ)
Specified by:
setVoxelCounts in interface VolumeDataInterface

getVoxelData

public float[][][] getVoxelData()
Specified by:
getVoxelData in interface VolumeDataInterface

setVoxelData

public void setVoxelData(float[][][] voxelData)
Specified by:
setVoxelData in interface VolumeDataInterface

setMatrix

public void setMatrix()
Specified by:
setMatrix in interface VolumeDataInterface

transform

public void transform(javax.vecmath.Vector3f v1,
                      javax.vecmath.Vector3f v2)
Specified by:
transform in interface VolumeDataInterface

setPlaneParameters

public void setPlaneParameters(javax.vecmath.Point4f plane)
Specified by:
setPlaneParameters in interface VolumeDataInterface

calcVoxelPlaneDistance

public float calcVoxelPlaneDistance(int x,
                                    int y,
                                    int z)
Specified by:
calcVoxelPlaneDistance in interface VolumeDataInterface

distancePointToPlane

public float distancePointToPlane(javax.vecmath.Point3f pt)
Specified by:
distancePointToPlane in interface VolumeDataInterface

voxelPtToXYZ

public void voxelPtToXYZ(int x,
                         int y,
                         int z,
                         javax.vecmath.Point3f pt)
Specified by:
voxelPtToXYZ in interface VolumeDataInterface

setUnitVectors

public void setUnitVectors()
Specified by:
setUnitVectors in interface VolumeDataInterface

scaleByVoxelVector

private float scaleByVoxelVector(javax.vecmath.Vector3f vector,
                                 int voxelVectorIndex)

xyzToVoxelPt

public void xyzToVoxelPt(float x,
                         float y,
                         float z,
                         javax.vecmath.Point3i pt3i)
Specified by:
xyzToVoxelPt in interface VolumeDataInterface

setVoxelPoint

private void setVoxelPoint()

lookupInterpolatedVoxelValue

public float lookupInterpolatedVoxelValue(javax.vecmath.Point3f point)
Specified by:
lookupInterpolatedVoxelValue in interface VolumeDataInterface

getInterpolatedVoxelValue

private float getInterpolatedVoxelValue(javax.vecmath.Point3f pt)

getFractional2DValue

public static float getFractional2DValue(float fx,
                                         float fy,
                                         float x11,
                                         float x12,
                                         float x21,
                                         float x22)

indexDown

private static int indexDown(float value,
                             int iMax)

offsetCenter

void offsetCenter(javax.vecmath.Point3f center)

setDataDistanceToPlane

public void setDataDistanceToPlane(javax.vecmath.Point4f plane)
Specified by:
setDataDistanceToPlane in interface VolumeDataInterface

filterData

public void filterData(boolean isSquared,
                       float invertCutoff)
Specified by:
filterData in interface VolumeDataInterface

capData

public void capData(javax.vecmath.Point4f plane,
                    float cutoff)
Specified by:
capData in interface VolumeDataInterface