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 VolumeDataInterface
public void setVoxelDataAsArray(float[][][] voxelData)
setVoxelDataAsArray
in interface VolumeDataInterface
public 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 VolumeDataInterface
public float[] getOriginFloat()
getOriginFloat
in interface VolumeDataInterface
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 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 VolumeDataInterface
public void setPlaneParameters(javajs.util.P4 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(javajs.util.T3 pt)
distancePointToPlane
in interface VolumeDataInterface
public void voxelPtToXYZ(int x, int y, int z, javajs.util.T3 pt)
voxelPtToXYZ
in interface VolumeDataInterface
public boolean setUnitVectors()
public void xyzToVoxelPt(float x, float y, float z, javajs.util.T3i pt3i)
xyzToVoxelPt
in interface VolumeDataInterface
public float lookupInterpolatedVoxelValue(javajs.util.T3 point, boolean getSource)
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(javajs.util.P3 center)
public void setDataDistanceToPlane(javajs.util.P4 plane)
setDataDistanceToPlane
in interface VolumeDataInterface
public void filterData(boolean isSquared, float invertCutoff)
filterData
in interface VolumeDataInterface
public void capData(javajs.util.P4 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, javajs.util.P3 pointA, javajs.util.P3 pointB, float valueA, float valueB, javajs.util.P3 pt)