org.openscience.jvxl.simplewriter
Class SimpleMarchingCubesOld

java.lang.Object
  extended by org.openscience.jvxl.simplewriter.SimpleMarchingCubesOld

public class SimpleMarchingCubesOld
extends java.lang.Object


Field Summary
(package private)  java.util.BitSet bsValues
           
private  java.util.BitSet bsVoxels
           
private  int cubeCountX
           
private  int cubeCountY
           
private  int cubeCountZ
           
(package private) static javax.vecmath.Point3i[] cubeVertexOffsets
           
private  float cutoff
           
(package private)  int edgeCount
           
private static byte[] edgeVertexes
           
private  java.lang.StringBuffer fractionData
           
private static short[] insideMaskTable
           
private  boolean isCutoffAbsolute
           
private  boolean isXLowToHigh
           
private  int[] linearOffsets
           
private  int mode
           
private static int MODE_BITSET
           
private static int MODE_CUBE
           
private static int MODE_GETXYZ
           
private  int[] nullNeighbor
           
private  int nY
           
private  int nZ
           
private static int[] Pwr2
           
private  VoxelDataCreator vdc
           
private  javax.vecmath.Point3i[] vertexPoints
           
private  float[] vertexValues
           
private  VolumeData volumeData
           
private static int[] xyPlanePts
           
(package private)  int yzCount
           
 
Constructor Summary
SimpleMarchingCubesOld(VoxelDataCreator vdc, VolumeData volumeData, float cutoff, boolean isCutoffAbsolute, boolean isXLowToHigh)
           
 
Method Summary
 java.util.BitSet getBsVoxels()
           
 java.lang.String getEdgeData()
           
 int getLinearOffset(int x, int y, int z, int offset)
           
private  float getValue(int i, int x, int y, int z, int pt, float[] tempValues)
           
static boolean isInside(float voxelValue, float max, boolean isAbsolute)
           
private  boolean processOneCubical(int insideMask, int[] voxelPointIndexes, int x, int y, int z, int pt)
           
private  int[] propagateNeighborPointIndexes(int x, int y, int z, int pt, int[][] isoPointIndexes, int cellIndex)
           
(package private)  void setLinearOffsets()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

volumeData

private VolumeData volumeData

cutoff

private float cutoff

isCutoffAbsolute

private boolean isCutoffAbsolute

isXLowToHigh

private boolean isXLowToHigh

fractionData

private java.lang.StringBuffer fractionData

cubeCountX

private int cubeCountX

cubeCountY

private int cubeCountY

cubeCountZ

private int cubeCountZ

nY

private int nY

nZ

private int nZ

bsVoxels

private java.util.BitSet bsVoxels

mode

private int mode

MODE_CUBE

private static final int MODE_CUBE
See Also:
Constant Field Values

MODE_BITSET

private static final int MODE_BITSET
See Also:
Constant Field Values

MODE_GETXYZ

private static final int MODE_GETXYZ
See Also:
Constant Field Values

vdc

private VoxelDataCreator vdc

vertexValues

private final float[] vertexValues

vertexPoints

private final javax.vecmath.Point3i[] vertexPoints

edgeCount

int edgeCount

xyPlanePts

private static int[] xyPlanePts

bsValues

java.util.BitSet bsValues

nullNeighbor

private final int[] nullNeighbor

Pwr2

private static final int[] Pwr2

cubeVertexOffsets

static final javax.vecmath.Point3i[] cubeVertexOffsets

linearOffsets

private final int[] linearOffsets

yzCount

int yzCount

edgeVertexes

private static final byte[] edgeVertexes

insideMaskTable

private static final short[] insideMaskTable
Constructor Detail

SimpleMarchingCubesOld

public SimpleMarchingCubesOld(VoxelDataCreator vdc,
                              VolumeData volumeData,
                              float cutoff,
                              boolean isCutoffAbsolute,
                              boolean isXLowToHigh)
Method Detail

getBsVoxels

public java.util.BitSet getBsVoxels()

getEdgeData

public java.lang.String getEdgeData()

isInside

public static boolean isInside(float voxelValue,
                               float max,
                               boolean isAbsolute)

getValue

private float getValue(int i,
                       int x,
                       int y,
                       int z,
                       int pt,
                       float[] tempValues)

propagateNeighborPointIndexes

private int[] propagateNeighborPointIndexes(int x,
                                            int y,
                                            int z,
                                            int pt,
                                            int[][] isoPointIndexes,
                                            int cellIndex)

processOneCubical

private boolean processOneCubical(int insideMask,
                                  int[] voxelPointIndexes,
                                  int x,
                                  int y,
                                  int z,
                                  int pt)

setLinearOffsets

void setLinearOffsets()

getLinearOffset

public int getLinearOffset(int x,
                           int y,
                           int z,
                           int offset)