SimpleMarchingCubes
Date: 2019-10-22

org.openscience.jvxl.simplewriter

## Class SimpleMarchingCubes

- java.lang.Object
- - org.jmol.util.TriangleData
  - - org.jmol.jvxl.calc.MarchingCubes
    - - org.openscience.jvxl.simplewriter.SimpleMarchingCubes

-     public class SimpleMarchingCubes
      extends MarchingCubes

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private float` | `calculatedArea`
    `private float` | `calculatedVolume`
    `private boolean` | `doCalcArea`
    `private boolean` | `doSaveSurfacePoints`
    `private javajs.util.Lst<javajs.util.P3>` | `surfacePoints`
    `private javajs.util.V3` | `vAB`
    `private javajs.util.V3` | `vAC`
    `private VoxelDataCreator` | `vdc`
    `private javajs.util.V3` | `vTemp`

    - ### Fields inherited from class org.jmol.jvxl.calc.MarchingCubes

      `bsExcludedPlanes, bsExcludedTriangles, bsExcludedVertices, bsValues, bsVoxels, colorDensity, contourType, cubeCountX, cubeCountY, cubeCountZ, cubeVertexVectors, cutoff, edgeCount, edgeData, edgePointIndexes, edgeTypeTable, edgeVectors, edgeVertexPlanes, edgeVertexPlanesHighToLow, edgeVertexPlanesLowToHigh, edgeVertexPointers, edgeVertexPointersHighToLow, edgeVertexPointersLowToHigh, fReturn, insideMaskTable, integrateSquared, isContoured, isCutoffAbsolute, isoPointIndexPlanes, isSquared, isXLowToHigh, linearOffsets, mode, MODE_CUBE, MODE_JVXL, MODE_PLANES, nTriangles, nY, nZ, pointA, pt0, surfaceReader, vertexValues, volumeData, voxelVertexVectors, yzCount, yzPlanePts, yzPlanes`

    - ### Fields inherited from class org.jmol.util.TriangleData

      `cubeVertexOffsets, edgeVertexes, Pwr2, triangleTable2`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleMarchingCubes(VoxelDataCreator vdc, VolumeData volumeData, Parameters params, JvxlData jvxlData, javajs.util.Lst<javajs.util.P3> surfacePointsReturn, float[] areaVolumeReturn)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addTriangle(int ia, int ib, int ic, int edgeType)`
    `protected float` | `getValue(int i, int x, int y, int z, int pt, float[] tempValues)`
    `protected int` | `newVertex(javajs.util.P3 pointA, javajs.util.V3 edgeVector, float f)`
    `protected void` | `processTriangles(int insideMask)`

    - ### Methods inherited from class org.jmol.jvxl.calc.MarchingCubes

      `addEdgeData, addVertex, calcVertexPoint, calcVoxelVertexVectors, getEdgeData, getLinearOffset, getValueArray, isInside, processOneCubical, resetIndexPlane, setLinearOffsets, setParameters`

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### doCalcArea

          private boolean doCalcArea

    - #### doSaveSurfacePoints

          private boolean doSaveSurfacePoints

    - #### calculatedArea

          private float calculatedArea

    - #### calculatedVolume

          private float calculatedVolume

    - #### surfacePoints

          private javajs.util.Lst<javajs.util.P3> surfacePoints

    - #### vdc

          private VoxelDataCreator vdc

    - #### vTemp

          private javajs.util.V3 vTemp

    - #### vAC

          private javajs.util.V3 vAC

    - #### vAB

          private javajs.util.V3 vAB

  - ### Constructor Detail

    - #### SimpleMarchingCubes

          public SimpleMarchingCubes(VoxelDataCreator vdc,
                                     VolumeData volumeData,
                                     Parameters params,
                                     JvxlData jvxlData,
                                     javajs.util.Lst<javajs.util.P3> surfacePointsReturn,
                                     float[] areaVolumeReturn)

  - ### Method Detail

    - #### getValue

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

    - #### newVertex

          protected int newVertex(javajs.util.P3 pointA,
                                  javajs.util.V3 edgeVector,
                                  float f)

    - #### processTriangles

          protected void processTriangles(int insideMask)

      Overrides:
        `processTriangles` in class `MarchingCubes`

    - #### addTriangle

          protected void addTriangle(int ia,
                                     int ib,
                                     int ic,
                                     int edgeType)

      Overrides:
        `addTriangle` in class `MarchingCubes`