Package org.jmol.jvxl.data
Class VolumeData
- java.lang.Object
-
- org.jmol.jvxl.data.VolumeData
-
public class VolumeData extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description booleandoIterateprivate javajs.util.V3edgeVectorprivate javajs.util.M3inverseMatrixbooleanisPeriodicprivate booleanisSquaredjavajs.util.P4mappingPlane(package private) floatmappingPlaneNormalMagfloatmaxGridprivate floatmaxVectorLengthfloatminGridprivate floatminToPlaneDistanceintnPointsfloat[]originprivate javajs.util.P3ptTempprivate javajs.util.P3ptXyzTempjavajs.util.V3[]spanningVectorsSurfaceReadersrprivate javajs.util.P4thePlaneprivate floatthePlaneNormalMagjavajs.util.V3[]unitVolumetricVectorsprivate javajs.util.M3volumetricMatrixjavajs.util.P3volumetricOriginfloat[]volumetricVectorLengthsjavajs.util.V3[]volumetricVectorsint[]voxelCountsprivate float[][][]voxelDataprivate java.util.Map<java.lang.Integer,java.lang.Float>voxelMapfloatvoxelVolumejava.lang.StringxmlDataprivate intyzCount
-
Constructor Summary
Constructors Constructor Description VolumeData()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description floatcalculateFractionalPoint(float cutoff, javajs.util.P3 pointA, javajs.util.P3 pointB, float valueA, float valueB, javajs.util.P3 pt)floatcalcVoxelPlaneDistance(int x, int y, int z)voidcapData(javajs.util.P4 plane, float cutoff)floatdistancePointToPlane(javajs.util.T3 pt)floatdistanceToMappingPlane(javajs.util.T3 pt)voidfilterData(boolean isSquared, float invertCutoff)static floatgetFractional2DValue(float fx, float fy, float x11, float x12, float x21, float x22)float[]getOriginFloat()voidgetPoint(int ipt, javajs.util.P3 pt)intgetPointIndex(int x, int y, int z)floatgetToPlaneParameter()float[]getVolumetricVectorLengths()int[]getVoxelCounts()float[][][]getVoxelData()floatgetVoxelDataAt(int pt)floatgetVoxelValue(int x, int y, int z)intgetYzCount()booleanhasPlane()private intindexLower(float x, int xMax)periodic grids should have val[0] == val[xMax] voxelCount: 1....2....3....4....5 xMax/index: 0....1....2....3....4....private intindexUpper(float x, int xLower, int xMax)booleanisNearPlane(int x, int y, int z, float toPlaneParameter)floatlookupInterpolatedVoxelValue(javajs.util.T3 point, boolean getSource)private floatmantissa(float f)(package private) voidoffsetCenter(javajs.util.P3 center)voidsetDataDistanceToPlane(javajs.util.P4 plane)voidsetMappingPlane(javajs.util.P4 plane)private booleansetMatrix()voidsetPlaneParameters(javajs.util.P4 plane)booleansetUnitVectors()voidsetVolumetricOrigin(float x, float y, float z)voidsetVolumetricVector(int i, float x, float y, float z)java.lang.StringsetVolumetricXml()intsetVoxelCounts(int nPointsX, int nPointsY, int nPointsZ)voidsetVoxelData(int pt, float value)voidsetVoxelDataAsArray(float[][][] voxelData)voidsetVoxelMap()voidsetVoxelMapValue(int x, int y, int z, float v)for sparse data mapping, as for a planevoidtransform(javajs.util.V3 v1, javajs.util.V3 v2)voidvoxelPtToXYZ(int x, int y, int z, javajs.util.T3 pt)voidxyzToVoxelPt(float x, float y, float z, javajs.util.T3i pt3i)
-
-
-
Field Detail
-
sr
public SurfaceReader sr
-
doIterate
public boolean doIterate
-
volumetricOrigin
public final javajs.util.P3 volumetricOrigin
-
origin
public final float[] origin
-
volumetricVectors
public final javajs.util.V3[] volumetricVectors
-
voxelCounts
public final int[] voxelCounts
-
nPoints
public int nPoints
-
voxelData
private float[][][] voxelData
-
voxelMap
private java.util.Map<java.lang.Integer,java.lang.Float> voxelMap
-
volumetricVectorLengths
public final float[] volumetricVectorLengths
-
maxVectorLength
private float maxVectorLength
-
minToPlaneDistance
private float minToPlaneDistance
-
yzCount
private int yzCount
-
unitVolumetricVectors
public final javajs.util.V3[] unitVolumetricVectors
-
volumetricMatrix
private final javajs.util.M3 volumetricMatrix
-
inverseMatrix
private final javajs.util.M3 inverseMatrix
-
thePlane
private javajs.util.P4 thePlane
-
thePlaneNormalMag
private float thePlaneNormalMag
-
ptXyzTemp
private final javajs.util.P3 ptXyzTemp
-
xmlData
public java.lang.String xmlData
-
mappingPlane
public javajs.util.P4 mappingPlane
-
mappingPlaneNormalMag
float mappingPlaneNormalMag
-
minGrid
public float minGrid
-
maxGrid
public float maxGrid
-
voxelVolume
public float voxelVolume
-
spanningVectors
public javajs.util.V3[] spanningVectors
-
isPeriodic
public boolean isPeriodic
-
isSquared
private boolean isSquared
-
edgeVector
private final javajs.util.V3 edgeVector
-
ptTemp
private javajs.util.P3 ptTemp
-
-
Method Detail
-
getVoxelData
public float[][][] getVoxelData()
-
setVoxelDataAsArray
public void setVoxelDataAsArray(float[][][] voxelData)
-
hasPlane
public boolean hasPlane()
-
setMappingPlane
public void setMappingPlane(javajs.util.P4 plane)
-
distanceToMappingPlane
public float distanceToMappingPlane(javajs.util.T3 pt)
-
setVolumetricOrigin
public void setVolumetricOrigin(float x, float y, float z)
-
getOriginFloat
public float[] getOriginFloat()
-
getYzCount
public int getYzCount()
-
getVolumetricVectorLengths
public float[] getVolumetricVectorLengths()
-
setVolumetricVector
public void setVolumetricVector(int i, float x, float y, float z)
-
getVoxelCounts
public int[] getVoxelCounts()
-
setVoxelCounts
public int setVoxelCounts(int nPointsX, int nPointsY, int nPointsZ)
-
getVoxelDataAt
public float getVoxelDataAt(int pt)
-
getPointIndex
public int getPointIndex(int x, int y, int z)
-
getPoint
public void getPoint(int ipt, javajs.util.P3 pt)
-
setVoxelData
public void setVoxelData(int pt, float value)
-
setVoxelMap
public void setVoxelMap()
-
setMatrix
private boolean setMatrix()
-
transform
public void transform(javajs.util.V3 v1, javajs.util.V3 v2)
-
setPlaneParameters
public void setPlaneParameters(javajs.util.P4 plane)
-
calcVoxelPlaneDistance
public float calcVoxelPlaneDistance(int x, int y, int z)
-
getToPlaneParameter
public float getToPlaneParameter()
-
isNearPlane
public boolean isNearPlane(int x, int y, int z, float toPlaneParameter)
-
distancePointToPlane
public float distancePointToPlane(javajs.util.T3 pt)
-
voxelPtToXYZ
public void voxelPtToXYZ(int x, int y, int z, javajs.util.T3 pt)
-
setUnitVectors
public boolean setUnitVectors()
-
xyzToVoxelPt
public void xyzToVoxelPt(float x, float y, float z, javajs.util.T3i pt3i)
-
lookupInterpolatedVoxelValue
public float lookupInterpolatedVoxelValue(javajs.util.T3 point, boolean getSource)
-
mantissa
private float mantissa(float f)
-
getVoxelValue
public float getVoxelValue(int x, int y, int z)
-
getFractional2DValue
public static float getFractional2DValue(float fx, float fy, float x11, float x12, float x21, float x22)
-
indexLower
private int indexLower(float x, int xMax)periodic grids should have val[0] == val[xMax] voxelCount: 1....2....3....4....5 xMax/index: 0....1....2....3....4.... nonper. ^ ---> [0,0] ^ --> [4, 4] periodic ^ ---> [3,4] ^ --> [0, 1]- Parameters:
x-xMax-- Returns:
- lower index in range
-
indexUpper
private int indexUpper(float x, int xLower, int xMax)
-
offsetCenter
void offsetCenter(javajs.util.P3 center)
-
setDataDistanceToPlane
public void setDataDistanceToPlane(javajs.util.P4 plane)
-
filterData
public void filterData(boolean isSquared, float invertCutoff)
-
capData
public void capData(javajs.util.P4 plane, float cutoff)
-
setVolumetricXml
public java.lang.String setVolumetricXml()
-
setVoxelMapValue
public void setVoxelMapValue(int x, int y, int z, float v)for sparse data mapping, as for a plane- Parameters:
x-y-z-v-
-
calculateFractionalPoint
public float calculateFractionalPoint(float cutoff, javajs.util.P3 pointA, javajs.util.P3 pointB, float valueA, float valueB, javajs.util.P3 pt)
-
-