# Class NciCalculation

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

public class NciCalculation extends QuantumPlaneCalculation

## Field Summary

### Fields inherited from class 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
Description
`NciCalculation()`

## Method Summary

Modifier and Type
Method
Description
`void`
`calcPlane(int x, float[] plane)`
For reduced density only; coloring is done point by point.
`void`
`createCube()`
`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.
`void`
`getPlane(int ix, float[] yzPlane)`
`protected void`
`initializeOnePoint()`
`protected void`
`process()`
`float`
`process(int vA, int vB, float f)`
Passing the grid points of the two ends of an edge and a fraction to this method returns the value at a triangle point.
`void`
`setPlanes(float[][] planes)`
Raw file data planes are passed to us here from VolumeFileReader
`boolean`
`setupCalculation(VolumeData volumeData, BS bsSelected, BS bsExcluded, BS[] bsMolecules, T3[] atomCoordAngstroms, int firstAtomOffset, boolean isReducedDensity, T3[] points, float[] parameters, int testFlags)`

### Methods inherited from class QuantumCalculation

`getIntegration, initialize, initialize0, initializeOnePointQC, processPoints, processPt, setMinMax, setupCoordinates, setXYZBohr`

### Methods inherited from class Object

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

## Constructor Details

### NciCalculation

public NciCalculation()

## Method Details

### getNoValue

public float getNoValue()
Description copied from class: `QuantumPlaneCalculation`
Get that value that represents "no value" so that it can be disregarded in terms of recording and reporting the min/max/mean.

Specified by:
  `getNoValue` in class `QuantumPlaneCalculation`
Returns:
  NO_VALUE

### setupCalculation

public boolean setupCalculation(VolumeData volumeData, BS bsSelected, BS bsExcluded, BS[] bsMolecules, T3[] atomCoordAngstroms, int firstAtomOffset, boolean isReducedDensity, T3[] points, float[] parameters, int testFlags)

### createCube

public void createCube()

Specified by:
  `createCube` in class `QuantumCalculation`

### initializeOnePoint

protected void initializeOnePoint()

Overrides:
  `initializeOnePoint` in class `QuantumCalculation`

### getPlane

public void getPlane(int ix, float[] yzPlane)

Specified by:
  `getPlane` in class `QuantumPlaneCalculation`

### process

protected void process()

Specified by:
  `process` in class `QuantumCalculation`

### setPlanes

public void setPlanes(float[][] planes)
Raw file data planes are passed to us here from VolumeFileReader

Specified by:
  `setPlanes` in class `QuantumPlaneCalculation`
Parameters:
  `planes` -

### calcPlane

public void calcPlane(int x, float[] plane)
For reduced density only; coloring is done point by point.

Specified by:
  `calcPlane` in class `QuantumPlaneCalculation`
Parameters:
  `x` -
  `plane` - an OUTPUT plane, to be filled here and used by MarchingCubes

### process

public float process(int vA, int vB, float f)
Passing the grid points of the two ends of an edge and a fraction to this method returns the value at a triangle point. This way we do not need to calculate this for EVERY point on the grid, only the ones that are part of the surface.

Specified by:
  `process` in class `QuantumPlaneCalculation`
Parameters:
  `vA` -
  `vB` -
  `f` -
Returns:
  value at point f-way between vA and vB