QuantumPlaneCalculation
Date: 2019-10-22

org.jmol.quantum

## Class QuantumPlaneCalculation

- java.lang.Object
- - org.jmol.quantum.QuantumCalculation
  - - org.jmol.quantum.QuantumPlaneCalculation

- Direct Known Subclasses:
    NciCalculation

      public abstract class QuantumPlaneCalculation
      extends QuantumCalculation

  Allows modification of the planes prior to isosurface creation Used by Noncovalent Interaction Calculation for progressive readers

- - ### Field Summary

    - ### Fields inherited from class org.jmol.quantum.QuantumCalculation

      `atomIndex, bohr_per_angstrom, bsExcluded, countsXYZ, doDebug, firstAtomOffset, integration, nX, nY, nZ, originBohr, points, qmAtoms, rangeBohrOrAngstroms, stepBohr, thisAtom, unitFactor, volume, voxelData, voxelDataTemp, X, X2, xBohr, xMax, xMin, Y, Y2, yBohr, yMax, yMin, Z, Z2, zBohr, zMax, zMin`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `QuantumPlaneCalculation()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | `calcPlane(int x, float[] plane)` Fill this plane with data based on the current set of raw data planes.
    `abstract float` | `getNoValue()` Get that value that represents "no value" so that it can be disregarded in terms of recording and reporting the min/max/mean.
    `abstract void` | `getPlane(int x, float[] yzPlane)`
    `abstract float` | `process(int vA, int vB, float f)` Data mapping function to radically increase speed and reduce memory requirements of mapping data when the mapping comes from the same data set as the points, so isosurface creation and data mapping can be carried out both in the first (and only) pass.
    `abstract void` | `setPlanes(float[][] planes)` Planes to use for holding raw file data.

    - ### Methods inherited from class org.jmol.quantum.QuantumCalculation

      `createCube, getIntegration, initialize, initialize0, initializeOnePoint, initializeOnePointQC, process, processPoints, processPt, setMinMax, setupCoordinates, setXYZBohr`

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

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

- - ### Constructor Detail

    - #### QuantumPlaneCalculation

          public QuantumPlaneCalculation()

  - ### Method Detail

    - #### setPlanes

          public abstract void setPlanes(float[][] planes)

      Planes to use for holding raw file data. These will be managed by VolumeFileReader, but they will be needed by the calculation.
      Parameters:
        `planes` - a set of four planes that shifts as the progressive Marching Cubes process moves along

    - #### calcPlane

          public abstract void calcPlane(int x,
                                         float[] plane)

      Fill this plane with data based on the current set of raw data planes. Really there are just two planes that are managed by VolumeFileReader and are interchanged as the Marching Cubes process moves along.
      Parameters:
        `x` -
        `plane` -

    - #### process

          public abstract float process(int vA,
                                        int vB,
                                        float f)

      Data mapping function to radically increase speed and reduce memory requirements of mapping data when the mapping comes from the same data set as the points, so isosurface creation and data mapping can be carried out both in the first (and only) pass.
      Parameters:
        `vA` - absolute pointer to vertex A on grid
        `vB` - absolute pointer to vertex B on grid
        `f` - fractional way from A to B
      Returns:
        computed value

    - #### getNoValue

          public abstract float getNoValue()

      Get that value that represents "no value" so that it can be disregarded in terms of recording and reporting the min/max/mean.
      Returns:
        NO_VALUE

    - #### getPlane

          public abstract void getPlane(int x,
                                        float[] yzPlane)