public class VolumeData extends java.lang.Object implements VolumeDataInterface
Modifier and Type | Field and Description |
---|---|
boolean |
doIterate |
private javax.vecmath.Vector3f |
edgeVector |
private javax.vecmath.Matrix3f |
inverseMatrix |
boolean |
isPeriodic |
private boolean |
isSquared |
javax.vecmath.Point4f |
mappingPlane |
(package private) float |
mappingPlaneNormalMag |
float |
maxGrid |
private float |
maxVectorLength |
float |
minGrid |
private float |
minToPlaneDistance |
int |
nPoints |
float[] |
origin |
private javax.vecmath.Point3f |
ptTemp |
private javax.vecmath.Point3f |
ptXyzTemp |
private javax.vecmath.Vector3f[] |
spanningVectors |
SurfaceReader |
sr |
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 |
private float[][][] |
voxelData |
private java.util.Map<java.lang.Integer,java.lang.Float> |
voxelMap |
float |
voxelVolume |
java.lang.String |
xmlData |
private int |
yzCount |
Constructor and Description |
---|
VolumeData() |
Modifier and Type | Method and Description |
---|---|
float |
calculateFractionalPoint(float cutoff,
javax.vecmath.Point3f pointA,
javax.vecmath.Point3f pointB,
float valueA,
float valueB,
javax.vecmath.Point3f pt) |
float |
calcVoxelPlaneDistance(int x,
int y,
int z) |
void |
capData(javax.vecmath.Point4f plane,
float cutoff) |
float |
distancePointToPlane(javax.vecmath.Point3f pt) |
float |
distanceToMappingPlane(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) |
float[] |
getOriginFloat() |
void |
getPoint(int ipt,
javax.vecmath.Point3f pt) |
int |
getPointIndex(int x,
int y,
int z) |
javax.vecmath.Vector3f[] |
getSpanningVectors() |
float |
getToPlaneParameter() |
float[] |
getVolumetricVectorLengths() |
int[] |
getVoxelCounts() |
float[][][] |
getVoxelData() |
float |
getVoxelData(int pt) |
float |
getVoxelValue(int x,
int y,
int z) |
int |
getYzCount() |
boolean |
hasPlane() |
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....
|
private int |
indexUpper(float x,
int xLower,
int xMax) |
boolean |
isNearPlane(int x,
int y,
int z,
float toPlaneParameter) |
float |
lookupInterpolatedVoxelValue(javax.vecmath.Point3f point) |
private float |
mantissa(float f) |
(package private) void |
offsetCenter(javax.vecmath.Point3f center) |
void |
setDataDistanceToPlane(javax.vecmath.Point4f plane) |
void |
setMappingPlane(javax.vecmath.Point4f plane) |
private boolean |
setMatrix() |
void |
setPlaneParameters(javax.vecmath.Point4f plane) |
boolean |
setUnitVectors() |
void |
setVolumetricOrigin(float x,
float y,
float z) |
void |
setVolumetricVector(int i,
float x,
float y,
float z) |
java.lang.String |
setVolumetricXml() |
int |
setVoxelCounts(int nPointsX,
int nPointsY,
int nPointsZ) |
void |
setVoxelData(float[][][] voxelData) |
void |
setVoxelData(int pt,
float value) |
void |
setVoxelMap() |
void |
setVoxelMapValue(int x,
int y,
int z,
float v)
for sparse data mapping, as for a plane
|
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) |
public SurfaceReader sr
public boolean doIterate
public final javax.vecmath.Point3f volumetricOrigin
public final float[] origin
public final javax.vecmath.Vector3f[] volumetricVectors
public final int[] voxelCounts
public int nPoints
private float[][][] voxelData
private java.util.Map<java.lang.Integer,java.lang.Float> voxelMap
public final float[] volumetricVectorLengths
private float maxVectorLength
private float minToPlaneDistance
private int yzCount
public final javax.vecmath.Vector3f[] unitVolumetricVectors
private final javax.vecmath.Matrix3f volumetricMatrix
private final javax.vecmath.Matrix3f inverseMatrix
private javax.vecmath.Point4f thePlane
private float thePlaneNormalMag
private final javax.vecmath.Point3f ptXyzTemp
public java.lang.String xmlData
public javax.vecmath.Point4f mappingPlane
float mappingPlaneNormalMag
public float minGrid
public float maxGrid
public float voxelVolume
private javax.vecmath.Vector3f[] spanningVectors
public boolean isPeriodic
private boolean isSquared
private final javax.vecmath.Vector3f edgeVector
private javax.vecmath.Point3f ptTemp
public float[][][] getVoxelData()
getVoxelData
in interface VolumeDataInterface
public void setVoxelData(float[][][] voxelData)
setVoxelData
in interface VolumeDataInterface
public boolean hasPlane()
public void setMappingPlane(javax.vecmath.Point4f plane)
public float distanceToMappingPlane(javax.vecmath.Point3f pt)
public void setVolumetricOrigin(float x, float y, float z)
setVolumetricOrigin
in interface VolumeDataInterface
public float[] getOriginFloat()
getOriginFloat
in interface VolumeDataInterface
public javax.vecmath.Vector3f[] getSpanningVectors()
public int getYzCount()
public float[] getVolumetricVectorLengths()
getVolumetricVectorLengths
in interface VolumeDataInterface
public void setVolumetricVector(int i, float x, float y, float z)
setVolumetricVector
in interface VolumeDataInterface
public int[] getVoxelCounts()
getVoxelCounts
in interface VolumeDataInterface
public int setVoxelCounts(int nPointsX, int nPointsY, int nPointsZ)
setVoxelCounts
in interface VolumeDataInterface
public float getVoxelData(int pt)
public int getPointIndex(int x, int y, int z)
public void getPoint(int ipt, javax.vecmath.Point3f pt)
public void setVoxelData(int pt, float value)
public void setVoxelMap()
private boolean setMatrix()
public void transform(javax.vecmath.Vector3f v1, javax.vecmath.Vector3f v2)
transform
in interface VolumeDataInterface
public void setPlaneParameters(javax.vecmath.Point4f plane)
setPlaneParameters
in interface VolumeDataInterface
public float calcVoxelPlaneDistance(int x, int y, int z)
calcVoxelPlaneDistance
in interface VolumeDataInterface
public float getToPlaneParameter()
public boolean isNearPlane(int x, int y, int z, float toPlaneParameter)
public float distancePointToPlane(javax.vecmath.Point3f pt)
distancePointToPlane
in interface VolumeDataInterface
public void voxelPtToXYZ(int x, int y, int z, javax.vecmath.Point3f pt)
voxelPtToXYZ
in interface VolumeDataInterface
public boolean setUnitVectors()
public void xyzToVoxelPt(float x, float y, float z, javax.vecmath.Point3i pt3i)
xyzToVoxelPt
in interface VolumeDataInterface
public float lookupInterpolatedVoxelValue(javax.vecmath.Point3f point)
lookupInterpolatedVoxelValue
in interface VolumeDataInterface
private float mantissa(float f)
public float getVoxelValue(int x, int y, int z)
public static float getFractional2DValue(float fx, float fy, float x11, float x12, float x21, float x22)
private int indexLower(float x, int xMax)
x
- xMax
- private int indexUpper(float x, int xLower, int xMax)
void offsetCenter(javax.vecmath.Point3f center)
public void setDataDistanceToPlane(javax.vecmath.Point4f plane)
setDataDistanceToPlane
in interface VolumeDataInterface
public void filterData(boolean isSquared, float invertCutoff)
filterData
in interface VolumeDataInterface
public void capData(javax.vecmath.Point4f plane, float cutoff)
capData
in interface VolumeDataInterface
public java.lang.String setVolumetricXml()
public void setVoxelMapValue(int x, int y, int z, float v)
x
- y
- z
- v
- public float calculateFractionalPoint(float cutoff, javax.vecmath.Point3f pointA, javax.vecmath.Point3f pointB, float valueA, float valueB, javax.vecmath.Point3f pt)