public class MarchingCubes extends TriangleData
Modifier and Type | Field and Description |
---|---|
protected java.util.BitSet |
bsExcludedPlanes |
protected java.util.BitSet |
bsExcludedTriangles |
protected java.util.BitSet |
bsExcludedVertices |
protected java.util.BitSet |
bsValues |
protected java.util.BitSet |
bsVoxels |
protected boolean |
colorDensity |
protected int |
contourType |
protected int |
cubeCountX |
protected int |
cubeCountY |
protected int |
cubeCountZ |
protected static javax.vecmath.Vector3f[] |
cubeVertexVectors |
protected float |
cutoff |
protected int |
edgeCount |
protected java.lang.StringBuffer |
edgeData |
protected int[] |
edgePointIndexes |
protected static int[] |
edgeTypeTable |
protected javax.vecmath.Vector3f[] |
edgeVectors |
protected int[] |
edgeVertexPlanes |
protected static int[] |
edgeVertexPlanesHighToLow |
protected static int[] |
edgeVertexPlanesLowToHigh |
protected int[] |
edgeVertexPointers |
protected static int[] |
edgeVertexPointersHighToLow |
protected static int[] |
edgeVertexPointersLowToHigh |
protected float |
fractionOutside |
protected float[] |
fReturn |
protected static short[] |
insideMaskTable |
protected boolean |
integrateSquared |
protected boolean |
isContoured |
protected boolean |
isCutoffAbsolute |
protected int[][][] |
isoPointIndexPlanes |
protected boolean |
isSquared |
protected boolean |
isXLowToHigh |
protected int[] |
linearOffsets |
protected int |
mode |
protected static int |
MODE_BITSET |
protected static int |
MODE_CUBE |
protected static int |
MODE_GETXYZ |
protected int |
nTriangles |
protected int |
nY |
protected int |
nZ |
protected javax.vecmath.Point3f |
pointA |
protected javax.vecmath.Point3f |
pt0 |
protected VertexDataServer |
surfaceReader |
protected float[] |
vertexValues |
protected VolumeData |
volumeData |
protected javax.vecmath.Vector3f[] |
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,
java.util.BitSet 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,
javax.vecmath.Point3f pt) |
protected void |
calcVoxelVertexVectors() |
java.util.BitSet |
getBsVoxels() |
java.lang.String |
getEdgeData() |
int |
getLinearOffset(int x,
int y,
int z,
int offset) |
protected float |
getValue(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 float fractionOutside
protected boolean integrateSquared
protected java.util.BitSet bsVoxels
protected java.util.BitSet bsExcludedVertices
protected java.util.BitSet bsExcludedTriangles
protected java.util.BitSet bsExcludedPlanes
protected java.lang.StringBuffer edgeData
protected int mode
protected static final int MODE_CUBE
protected static final int MODE_BITSET
protected static final int MODE_GETXYZ
protected final float[] vertexValues
protected int edgeCount
protected final javax.vecmath.Vector3f[] voxelVertexVectors
protected final javax.vecmath.Vector3f[] edgeVectors
protected static int[] yzPlanePts
protected final int[] edgePointIndexes
protected int[][][] isoPointIndexPlanes
protected float[][] yzPlanes
protected int nTriangles
protected java.util.BitSet bsValues
protected final javax.vecmath.Point3f pt0
protected final javax.vecmath.Point3f 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 javax.vecmath.Vector3f[] 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, java.util.BitSet bsVoxels)
public java.util.BitSet getBsVoxels()
protected void setParameters(VolumeData volumeData, Parameters params)
protected void calcVoxelVertexVectors()
protected int[][] resetIndexPlane(int[][] plane)
public java.lang.String getEdgeData()
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 getValue(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, javax.vecmath.Point3f pt)
protected void setLinearOffsets()
public int getLinearOffset(int x, int y, int z, int offset)