Package org.jmol.jvxl.calc
Class MarchingCubes
- java.lang.Object
-
- org.jmol.util.TriangleData
-
- org.jmol.jvxl.calc.MarchingCubes
-
- Direct Known Subclasses:
SimpleMarchingCubes
public class MarchingCubes extends TriangleData
-
-
Field Summary
Fields Modifier and Type Field Description private booleanallInsideprotected BSbsExcludedPlanesprotected BSbsExcludedTrianglesprotected BSbsExcludedVerticesprotected BSbsValuesBSbsVoxelsprotected booleancolorDensityprotected intcontourTypeprotected intcubeCountXprotected intcubeCountYprotected intcubeCountZprotected static javajs.util.V3[]cubeVertexVectorsprotected floatcutoffprotected intedgeCountprotected javajs.util.SBedgeDataprotected int[]edgePointIndexesprotected static int[]edgeTypeTableprotected javajs.util.V3[]edgeVectorsprotected int[]edgeVertexPlanesprotected static int[]edgeVertexPlanesHighToLowprotected static int[]edgeVertexPlanesLowToHighprotected int[]edgeVertexPointersprotected static int[]edgeVertexPointersHighToLowprotected static int[]edgeVertexPointersLowToHighprivate booleanexcludePartialCubesprotected float[]fReturnprotected static short[]insideMaskTableprotected booleanintegrateSquaredprotected booleanisContouredprotected booleanisCutoffAbsoluteprivate booleanisInsideprotected int[][][]isoPointIndexPlanesprotected booleanisSquaredprotected booleanisXLowToHighprotected int[]linearOffsetsprivate javajs.util.P4mappingPlaneprotected intmodeprotected static intMODE_CUBEprotected static intMODE_JVXLprotected static intMODE_PLANESprotected intnTrianglesprotected intnYprotected intnZprivate javajs.util.P3ioffsetprotected javajs.util.P3pointAprotected javajs.util.P3pt0protected VertexDataServersurfaceReaderprotected float[]vertexValuesprotected VolumeDatavolumeDataprivate float[][][]voxelDataprotected javajs.util.V3[]voxelVertexVectorsprotected intyzCountprotected static int[]yzPlanePtsprotected float[][]yzPlanes-
Fields inherited from class org.jmol.util.TriangleData
cubeVertexOffsets, edgeVertexes, Pwr2, triangleTable2
-
-
Constructor Summary
Constructors Constructor Description MarchingCubes()MarchingCubes(VertexDataServer surfaceReader, VolumeData volumeData, Parameters params, BS bsVoxels)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddEdgeData(float f)protected voidaddTriangle(int ia, int ib, int ic, int edgeType)protected voidaddVertex(int x, int y, int z, int pti, float value)voidcalcVertexPoint(int x, int y, int z, int vertex, javajs.util.P3 pt)protected voidcalcVoxelVertexVectors()java.lang.StringgetEdgeData()intgetLinearOffset(int x, int y, int z, int offset)private voidgetPlane(int i, boolean andSwap)private floatgetValue(int x, int y, int z, int pt, int i)protected floatgetValueArray(int x, int y, int z, int pt, float[] tempValues)static booleanisInside(float voxelValue, float max, boolean isAbsolute)protected booleanprocessOneCubical(int insideMask, int x, int y, int z, int pt)protected voidprocessTriangles(int insideMask)protected int[][]resetIndexPlane(int[][] plane)protected voidsetLinearOffsets()protected voidsetParameters(VolumeData volumeData, Parameters params)
-
-
-
Field Detail
-
surfaceReader
protected VertexDataServer surfaceReader
-
volumeData
protected VolumeData volumeData
-
contourType
protected int contourType
-
isContoured
protected boolean isContoured
-
cutoff
protected float cutoff
-
isCutoffAbsolute
protected boolean isCutoffAbsolute
-
isSquared
protected boolean isSquared
-
isXLowToHigh
protected boolean isXLowToHigh
-
cubeCountX
protected int cubeCountX
-
cubeCountY
protected int cubeCountY
-
cubeCountZ
protected int cubeCountZ
-
nY
protected int nY
-
nZ
protected int nZ
-
yzCount
protected int yzCount
-
colorDensity
protected boolean colorDensity
-
integrateSquared
protected boolean integrateSquared
-
bsVoxels
public BS bsVoxels
-
bsExcludedVertices
protected BS bsExcludedVertices
-
bsExcludedTriangles
protected BS bsExcludedTriangles
-
bsExcludedPlanes
protected BS bsExcludedPlanes
-
edgeData
protected javajs.util.SB edgeData
-
excludePartialCubes
private boolean excludePartialCubes
-
mode
protected int mode
-
MODE_CUBE
protected static final int MODE_CUBE
- See Also:
- Constant Field Values
-
MODE_JVXL
protected static final int MODE_JVXL
- See Also:
- Constant Field Values
-
MODE_PLANES
protected static final int MODE_PLANES
- See Also:
- Constant Field Values
-
vertexValues
protected final float[] vertexValues
-
edgeCount
protected int edgeCount
-
voxelVertexVectors
protected final javajs.util.V3[] voxelVertexVectors
-
edgeVectors
protected final javajs.util.V3[] edgeVectors
-
yzPlanePts
protected static int[] yzPlanePts
-
edgePointIndexes
protected final int[] edgePointIndexes
-
isoPointIndexPlanes
protected int[][][] isoPointIndexPlanes
-
yzPlanes
protected float[][] yzPlanes
-
mappingPlane
private javajs.util.P4 mappingPlane
-
allInside
private boolean allInside
-
isInside
private boolean isInside
-
offset
private javajs.util.P3i offset
-
voxelData
private float[][][] voxelData
-
nTriangles
protected int nTriangles
-
bsValues
protected BS bsValues
-
pt0
protected final javajs.util.P3 pt0
-
pointA
protected final javajs.util.P3 pointA
-
edgeVertexPointersLowToHigh
protected static final int[] edgeVertexPointersLowToHigh
-
edgeVertexPointersHighToLow
protected static final int[] edgeVertexPointersHighToLow
-
edgeVertexPointers
protected int[] edgeVertexPointers
-
edgeVertexPlanesLowToHigh
protected static final int[] edgeVertexPlanesLowToHigh
-
edgeVertexPlanesHighToLow
protected static final int[] edgeVertexPlanesHighToLow
-
edgeVertexPlanes
protected int[] edgeVertexPlanes
-
fReturn
protected float[] fReturn
-
cubeVertexVectors
protected static final javajs.util.V3[] cubeVertexVectors
-
edgeTypeTable
protected static final int[] edgeTypeTable
-
linearOffsets
protected final int[] linearOffsets
-
insideMaskTable
protected static final short[] insideMaskTable
-
-
Constructor Detail
-
MarchingCubes
public MarchingCubes()
-
MarchingCubes
public MarchingCubes(VertexDataServer surfaceReader, VolumeData volumeData, Parameters params, BS bsVoxels)
-
-
Method Detail
-
setParameters
protected void setParameters(VolumeData volumeData, Parameters params)
-
calcVoxelVertexVectors
protected void calcVoxelVertexVectors()
-
resetIndexPlane
protected int[][] resetIndexPlane(int[][] plane)
-
getEdgeData
public java.lang.String getEdgeData()
-
getValue
private float getValue(int x, int y, int z, int pt, int i)
-
getPlane
private void getPlane(int i, boolean andSwap)
-
processTriangles
protected void processTriangles(int insideMask)
-
addVertex
protected void addVertex(int x, int y, int z, int pti, float value)
-
addTriangle
protected void addTriangle(int ia, int ib, int ic, int edgeType)
-
getValueArray
protected float getValueArray(int x, int y, int z, int pt, float[] tempValues)
-
isInside
public static boolean isInside(float voxelValue, float max, boolean isAbsolute)
-
processOneCubical
protected boolean processOneCubical(int insideMask, int x, int y, int z, int pt)
-
addEdgeData
protected void addEdgeData(float f)
-
calcVertexPoint
public void calcVertexPoint(int x, int y, int z, int vertex, javajs.util.P3 pt)
-
setLinearOffsets
protected void setLinearOffsets()
-
getLinearOffset
public int getLinearOffset(int x, int y, int z, int offset)
-
-