# 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
`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 final V3[]`
`cubeVertexVectors`
`protected float`
`cutoff`
`protected int`
`edgeCount`
`protected SB`
`edgeData`
`protected final int[]`
`edgePointIndexes`
`protected static final int[]`
`edgeTypeTable`
`protected final V3[]`
`edgeVectors`
`protected int[]`
`edgeVertexPlanes`
`protected static final int[]`
`edgeVertexPlanesHighToLow`
`protected static final int[]`
`edgeVertexPlanesLowToHigh`
`protected int[]`
`edgeVertexPointers`
`protected static final int[]`
`edgeVertexPointersHighToLow`
`protected static final int[]`
`edgeVertexPointersLowToHigh`
`protected float[]`
`fReturn`
`protected static final short[]`
`insideMaskTable`
`protected boolean`
`integrateSquared`
`protected boolean`
`isContoured`
`protected boolean`
`isCutoffAbsolute`
`protected int[][][]`
`isoPointIndexPlanes`
`protected boolean`
`isSquared`
`protected boolean`
`isXLowToHigh`
`protected final int[]`
`linearOffsets`
`protected int`
`mode`
`protected static final int`
`MODE_CUBE`
`protected static final int`
`MODE_JVXL`
`protected static final int`
`MODE_PLANES`
`protected int`
`nTriangles`
`protected int`
`nY`
`protected int`
`nZ`
`protected final P3`
`pointA`
`protected final P3`
`pt0`
`protected VertexDataServer`
`surfaceReader`
`protected final float[]`
`vertexValues`
`protected VolumeData`
`volumeData`
`protected final V3[]`
`voxelVertexVectors`
`protected int`
`yzCount`
`protected static int[]`
`yzPlanePts`
`protected float[][]`
`yzPlanes`

### Fields inherited from class TriangleData

`cubeVertexOffsets, edgeVertexes, Pwr2, triangleTable2`

## Constructor Summary

Constructors
Constructor
Description
`MarchingCubes()`
`MarchingCubes(VertexDataServer surfaceReader, VolumeData volumeData, Parameters params, BS bsVoxels)`

## Method Summary

Modifier and Type
Method
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, P3 pt)`
`protected void`
`calcVoxelVertexVectors()`
`String`
`getEdgeData()`
`int`
`getLinearOffset(int x, int y, int z, int offset)`
`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)`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### 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 SB edgeData

### 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 V3[] voxelVertexVectors

### edgeVectors

protected final V3[] edgeVectors

### yzPlanePts

protected static int[] yzPlanePts

### edgePointIndexes

protected final int[] edgePointIndexes

### isoPointIndexPlanes

protected int[][][] isoPointIndexPlanes

### yzPlanes

protected float[][] yzPlanes

### nTriangles

protected int nTriangles

### bsValues

protected BS bsValues

### pt0

protected final P3 pt0

### pointA

protected final 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 V3[] cubeVertexVectors

### edgeTypeTable

protected static final int[] edgeTypeTable

### linearOffsets

protected final int[] linearOffsets

### insideMaskTable

protected static final short[] insideMaskTable

## Constructor Details

### MarchingCubes

public MarchingCubes()

### MarchingCubes

public MarchingCubes(VertexDataServer surfaceReader, VolumeData volumeData, Parameters params, BS bsVoxels)

## Method Details

### setParameters

protected void setParameters(VolumeData volumeData, Parameters params)

### calcVoxelVertexVectors

protected void calcVoxelVertexVectors()

### resetIndexPlane

protected int[][] resetIndexPlane(int[][] plane)

### getEdgeData

public String getEdgeData()

### 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, P3 pt)

### setLinearOffsets

protected void setLinearOffsets()

### getLinearOffset

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