public class MarchingCubes extends TriangleData
Modifier and Type | Field and Description |
---|---|
private boolean |
allInside |
protected BS |
bsExcludedPlanes |
protected BS |
bsExcludedTriangles |
protected BS |
bsExcludedVertices |
protected BS |
bsValues |
BS |
bsVoxels |
protected boolean |
colorDensity |
protected int |
contourType |
protected int |
cubeCountX |
protected int |
cubeCountY |
protected int |
cubeCountZ |
protected static javajs.util.V3[] |
cubeVertexVectors |
protected float |
cutoff |
protected int |
edgeCount |
protected javajs.util.SB |
edgeData |
protected int[] |
edgePointIndexes |
protected static int[] |
edgeTypeTable |
protected javajs.util.V3[] |
edgeVectors |
protected int[] |
edgeVertexPlanes |
protected static int[] |
edgeVertexPlanesHighToLow |
protected static int[] |
edgeVertexPlanesLowToHigh |
protected int[] |
edgeVertexPointers |
protected static int[] |
edgeVertexPointersHighToLow |
protected static int[] |
edgeVertexPointersLowToHigh |
private boolean |
excludePartialCubes |
protected float[] |
fReturn |
protected static short[] |
insideMaskTable |
protected boolean |
integrateSquared |
protected boolean |
isContoured |
protected boolean |
isCutoffAbsolute |
private boolean |
isInside |
protected int[][][] |
isoPointIndexPlanes |
protected boolean |
isSquared |
protected boolean |
isXLowToHigh |
protected int[] |
linearOffsets |
private javajs.util.P4 |
mappingPlane |
protected int |
mode |
protected static int |
MODE_CUBE |
protected static int |
MODE_JVXL |
protected static int |
MODE_PLANES |
protected int |
nTriangles |
protected int |
nY |
protected int |
nZ |
private javajs.util.P3i |
offset |
protected javajs.util.P3 |
pointA |
protected javajs.util.P3 |
pt0 |
protected VertexDataServer |
surfaceReader |
protected float[] |
vertexValues |
protected VolumeData |
volumeData |
private float[][][] |
voxelData |
protected javajs.util.V3[] |
voxelVertexVectors |
protected int |
yzCount |
protected static int[] |
yzPlanePts |
protected float[][] |
yzPlanes |
cubeVertexOffsets, edgeVertexes, Pwr2, triangleTable2
Constructor and Description |
---|
MarchingCubes() |
MarchingCubes(VertexDataServer surfaceReader,
VolumeData volumeData,
Parameters params,
BS bsVoxels) |
Modifier and Type | Method and Description |
---|---|
protected void |
addEdgeData(float f) |
protected void |
addTriangle(int ia,
int ib,
int ic,
int edgeType) |
protected void |
addVertex(int x,
int y,
int z,
int pti,
float value) |
void |
calcVertexPoint(int x,
int y,
int z,
int vertex,
javajs.util.P3 pt) |
protected void |
calcVoxelVertexVectors() |
java.lang.String |
getEdgeData() |
int |
getLinearOffset(int x,
int y,
int z,
int offset) |
private void |
getPlane(int i,
boolean andSwap) |
private float |
getValue(int x,
int y,
int z,
int pt,
int i) |
protected float |
getValueArray(int x,
int y,
int z,
int pt,
float[] tempValues) |
static boolean |
isInside(float voxelValue,
float max,
boolean isAbsolute) |
protected boolean |
processOneCubical(int insideMask,
int x,
int y,
int z,
int pt) |
protected void |
processTriangles(int insideMask) |
protected int[][] |
resetIndexPlane(int[][] plane) |
protected void |
setLinearOffsets() |
protected void |
setParameters(VolumeData volumeData,
Parameters params) |
intersectPlane
protected VertexDataServer surfaceReader
protected VolumeData volumeData
protected int contourType
protected boolean isContoured
protected float cutoff
protected boolean isCutoffAbsolute
protected boolean isSquared
protected boolean isXLowToHigh
protected int cubeCountX
protected int cubeCountY
protected int cubeCountZ
protected int nY
protected int nZ
protected int yzCount
protected boolean colorDensity
protected boolean integrateSquared
public BS bsVoxels
protected BS bsExcludedVertices
protected BS bsExcludedTriangles
protected BS bsExcludedPlanes
protected javajs.util.SB edgeData
private boolean excludePartialCubes
protected int mode
protected static final int MODE_CUBE
protected static final int MODE_JVXL
protected static final int MODE_PLANES
protected final float[] vertexValues
protected int edgeCount
protected final javajs.util.V3[] voxelVertexVectors
protected final javajs.util.V3[] edgeVectors
protected static int[] yzPlanePts
protected final int[] edgePointIndexes
protected int[][][] isoPointIndexPlanes
protected float[][] yzPlanes
private javajs.util.P4 mappingPlane
private boolean allInside
private boolean isInside
private javajs.util.P3i offset
private float[][][] voxelData
protected int nTriangles
protected BS bsValues
protected final javajs.util.P3 pt0
protected final javajs.util.P3 pointA
protected static final int[] edgeVertexPointersLowToHigh
protected static final int[] edgeVertexPointersHighToLow
protected int[] edgeVertexPointers
protected static final int[] edgeVertexPlanesLowToHigh
protected static final int[] edgeVertexPlanesHighToLow
protected int[] edgeVertexPlanes
protected float[] fReturn
protected static final javajs.util.V3[] cubeVertexVectors
protected static final int[] edgeTypeTable
protected final int[] linearOffsets
protected static final short[] insideMaskTable
public MarchingCubes()
public MarchingCubes(VertexDataServer surfaceReader, VolumeData volumeData, Parameters params, BS bsVoxels)
protected void setParameters(VolumeData volumeData, Parameters params)
protected void calcVoxelVertexVectors()
protected int[][] resetIndexPlane(int[][] plane)
public java.lang.String getEdgeData()
private float getValue(int x, int y, int z, int pt, int i)
private void getPlane(int i, boolean andSwap)
protected void processTriangles(int insideMask)
protected void addVertex(int x, int y, int z, int pti, float value)
protected void addTriangle(int ia, int ib, int ic, int edgeType)
protected float getValueArray(int x, int y, int z, int pt, float[] tempValues)
public static boolean isInside(float voxelValue, float max, boolean isAbsolute)
protected boolean processOneCubical(int insideMask, int x, int y, int z, int pt)
protected void addEdgeData(float f)
public void calcVertexPoint(int x, int y, int z, int vertex, javajs.util.P3 pt)
protected void setLinearOffsets()
public int getLinearOffset(int x, int y, int z, int offset)