public class VolumeData extends java.lang.Object implements VolumeDataInterface
| Modifier and Type | Field and Description |
|---|---|
boolean |
doIterate |
private javajs.util.V3 |
edgeVector |
private javajs.util.M3 |
inverseMatrix |
boolean |
isPeriodic |
private boolean |
isSquared |
javajs.util.P4 |
mappingPlane |
(package private) float |
mappingPlaneNormalMag |
float |
maxGrid |
private float |
maxVectorLength |
float |
minGrid |
private float |
minToPlaneDistance |
int |
nPoints |
float[] |
origin |
private javajs.util.P3 |
ptTemp |
private javajs.util.P3 |
ptXyzTemp |
javajs.util.V3[] |
spanningVectors |
SurfaceReader |
sr |
private javajs.util.P4 |
thePlane |
private float |
thePlaneNormalMag |
javajs.util.V3[] |
unitVolumetricVectors |
private javajs.util.M3 |
volumetricMatrix |
javajs.util.P3 |
volumetricOrigin |
float[] |
volumetricVectorLengths |
javajs.util.V3[] |
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,
javajs.util.P3 pointA,
javajs.util.P3 pointB,
float valueA,
float valueB,
javajs.util.P3 pt) |
float |
calcVoxelPlaneDistance(int x,
int y,
int z) |
void |
capData(javajs.util.P4 plane,
float cutoff) |
float |
distancePointToPlane(javajs.util.T3 pt) |
float |
distanceToMappingPlane(javajs.util.T3 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,
javajs.util.P3 pt) |
int |
getPointIndex(int x,
int y,
int z) |
float |
getToPlaneParameter() |
float[] |
getVolumetricVectorLengths() |
int[] |
getVoxelCounts() |
float[][][] |
getVoxelData() |
float |
getVoxelDataAt(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(javajs.util.T3 point,
boolean getSource) |
private float |
mantissa(float f) |
(package private) void |
offsetCenter(javajs.util.P3 center) |
void |
setDataDistanceToPlane(javajs.util.P4 plane) |
void |
setMappingPlane(javajs.util.P4 plane) |
private boolean |
setMatrix() |
void |
setPlaneParameters(javajs.util.P4 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(int pt,
float value) |
void |
setVoxelDataAsArray(float[][][] voxelData) |
void |
setVoxelMap() |
void |
setVoxelMapValue(int x,
int y,
int z,
float v)
for sparse data mapping, as for a plane
|
void |
transform(javajs.util.V3 v1,
javajs.util.V3 v2) |
void |
voxelPtToXYZ(int x,
int y,
int z,
javajs.util.T3 pt) |
void |
xyzToVoxelPt(float x,
float y,
float z,
javajs.util.T3i pt3i) |
public SurfaceReader sr
public boolean doIterate
public final javajs.util.P3 volumetricOrigin
public final float[] origin
public final javajs.util.V3[] 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 javajs.util.V3[] unitVolumetricVectors
private final javajs.util.M3 volumetricMatrix
private final javajs.util.M3 inverseMatrix
private javajs.util.P4 thePlane
private float thePlaneNormalMag
private final javajs.util.P3 ptXyzTemp
public java.lang.String xmlData
public javajs.util.P4 mappingPlane
float mappingPlaneNormalMag
public float minGrid
public float maxGrid
public float voxelVolume
public javajs.util.V3[] spanningVectors
public boolean isPeriodic
private boolean isSquared
private final javajs.util.V3 edgeVector
private javajs.util.P3 ptTemp
public float[][][] getVoxelData()
getVoxelData in interface VolumeDataInterfacepublic void setVoxelDataAsArray(float[][][] voxelData)
setVoxelDataAsArray in interface VolumeDataInterfacepublic boolean hasPlane()
public void setMappingPlane(javajs.util.P4 plane)
public float distanceToMappingPlane(javajs.util.T3 pt)
public void setVolumetricOrigin(float x,
float y,
float z)
setVolumetricOrigin in interface VolumeDataInterfacepublic float[] getOriginFloat()
getOriginFloat in interface VolumeDataInterfacepublic int getYzCount()
public float[] getVolumetricVectorLengths()
getVolumetricVectorLengths in interface VolumeDataInterfacepublic void setVolumetricVector(int i,
float x,
float y,
float z)
setVolumetricVector in interface VolumeDataInterfacepublic int[] getVoxelCounts()
getVoxelCounts in interface VolumeDataInterfacepublic int setVoxelCounts(int nPointsX,
int nPointsY,
int nPointsZ)
setVoxelCounts in interface VolumeDataInterfacepublic float getVoxelDataAt(int pt)
public int getPointIndex(int x,
int y,
int z)
public void getPoint(int ipt,
javajs.util.P3 pt)
public void setVoxelData(int pt,
float value)
public void setVoxelMap()
private boolean setMatrix()
public void transform(javajs.util.V3 v1,
javajs.util.V3 v2)
transform in interface VolumeDataInterfacepublic void setPlaneParameters(javajs.util.P4 plane)
setPlaneParameters in interface VolumeDataInterfacepublic float calcVoxelPlaneDistance(int x,
int y,
int z)
calcVoxelPlaneDistance in interface VolumeDataInterfacepublic float getToPlaneParameter()
public boolean isNearPlane(int x,
int y,
int z,
float toPlaneParameter)
public float distancePointToPlane(javajs.util.T3 pt)
distancePointToPlane in interface VolumeDataInterfacepublic void voxelPtToXYZ(int x,
int y,
int z,
javajs.util.T3 pt)
voxelPtToXYZ in interface VolumeDataInterfacepublic boolean setUnitVectors()
public void xyzToVoxelPt(float x,
float y,
float z,
javajs.util.T3i pt3i)
xyzToVoxelPt in interface VolumeDataInterfacepublic float lookupInterpolatedVoxelValue(javajs.util.T3 point,
boolean getSource)
lookupInterpolatedVoxelValue in interface VolumeDataInterfaceprivate 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(javajs.util.P3 center)
public void setDataDistanceToPlane(javajs.util.P4 plane)
setDataDistanceToPlane in interface VolumeDataInterfacepublic void filterData(boolean isSquared,
float invertCutoff)
filterData in interface VolumeDataInterfacepublic void capData(javajs.util.P4 plane,
float cutoff)
capData in interface VolumeDataInterfacepublic java.lang.String setVolumetricXml()
public void setVoxelMapValue(int x,
int y,
int z,
float v)
x - y - z - v - public float calculateFractionalPoint(float cutoff,
javajs.util.P3 pointA,
javajs.util.P3 pointB,
float valueA,
float valueB,
javajs.util.P3 pt)