IsoShapeReader
Date: 2019-10-22

org.jmol.jvxl.readers

## Class IsoShapeReader

- java.lang.Object
- - org.jmol.jvxl.readers.SurfaceReader
  - - org.jmol.jvxl.readers.VolumeDataReader
    - - org.jmol.jvxl.readers.IsoShapeReader

- All Implemented Interfaces:
    VertexDataServer

      final class IsoShapeReader
      extends VolumeDataReader

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private static double` | `A0`
    `private boolean` | `allowNegative`
    `private double` | `angMax2`
    `private double` | `aoMax`
    `private double` | `aoMax2`
    `private static float` | `ATOMIC_ORBITAL_ZERO_CUT_OFF`
    `private static float[]` | `fact`
    `private int` | `monteCarloCount`
    `private int` | `nTries`
    `private double[]` | `pfactor`
    `private javajs.util.P3` | `planeCenter`
    `private float` | `planeRadius`
    `private javajs.util.V3` | `planeU`
    `private javajs.util.V3` | `planeV`
    `private int` | `psi_l`
    `private int` | `psi_m`
    `private int` | `psi_n`
    `private double` | `psi_normalization`
    `private float` | `psi_Znuc`
    `private javajs.util.P3` | `ptPsi`
    `private float` | `radius`
    `private java.util.Random` | `random`
    `private double[]` | `rfactor`
    `private double` | `rnl`
    `private static double` | `ROOT2`
    `private float` | `sphere_radiusAngstroms`
    `private boolean` | `surfaceDone`

    - ### Fields inherited from class org.jmol.jvxl.readers.VolumeDataReader

      `allowMapData, dataType, maxGrid, point, precalculateVoxelData, ptsPerAngstrom, useOriginStepsPoints`

    - ### Fields inherited from class org.jmol.jvxl.readers.SurfaceReader

      `allowSigma, ANGSTROMS_PER_BOHR, anisotropy, center, cJvxlEdgeNaN, colorFractionBase, colorFractionRange, contourVertexCount, dataMax, dataMean, dataMin, defaultCutoff, defaultMappedDataMax, defaultMappedDataMin, eccentricityMatrix, eccentricityMatrixInverse, eccentricityRatio, eccentricityScale, edgeFractionBase, edgeFractionRange, fractionData, hasColorData, haveSurfaceAtoms, isAnisotropic, isEccentric, isJvxl, isPeriodic, isProgressive, isQuiet, isXLowToHigh, jvxlColorDataRead, jvxlCutoff, jvxlData, jvxlDataIs2dContour, jvxlDataIsColorDensity, jvxlDataIsColorMapped, jvxlDataIsPrecisionColor, jvxlEdgeDataRead, jvxlFileHeaderBuffer, jvxlNSurfaceInts, jvxlVoxelBitSet, marchingCubes, marchingSquares, meshData, meshDataServer, minMax, nBytes, nDataPoints, nPointsX, nPointsY, nPointsZ, params, ptTemp, qpc, sg, vertexDataOnly, volumeData, volumetricOrigin, volumetricVectors, voxelCounts, voxelData, xyzMax, xyzMin, yzCount, yzPlanes`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IsoShapeReader()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private double` | `angularPart(double th, double ph, int m)`
    `private void` | `autoScaleOrbital()`
    `private void` | `calcFactors(int n, int el, int m)`
    `private void` | `createGeodesic()`
    `private void` | `createMonteCarloOrbital()`
    `float` | `getValue(int x, int y, int z, int ptyz)` for readers only
    `float` | `getValueAtPoint(javajs.util.T3 pt, boolean getSource)`
    `private double` | `hydrogenAtomPsi(javajs.util.P3 pt)`
    `(package private) void` | `init(SurfaceGenerator sg)` implemented in SurfaceFileReader and
    `private double` | `radialPart(double r)`
    `protected void` | `readSurfaceData(boolean isMapData)`
    `private void` | `setHeader(java.lang.String line1)`
    `protected void` | `setup(boolean isMapData)`
    `protected void` | `setVolumeData()`

    - ### Methods inherited from class org.jmol.jvxl.readers.VolumeDataReader

      `closeReader, generateCube, initVDR, readSurfaceDataVDR, readVolumeData, readVolumeParameters, readVoxelDataIndividually, setVolumeDataParams, setVoxelRange, showGridInfo`

    - ### Methods inherited from class org.jmol.jvxl.readers.SurfaceReader

      `addTriangleCheck, addVC, addVertexCopy, applyColorScale, colorIsosurface, createIsosurface, discardTempData, discardTempDataSR, excludeMaximumSet, excludeMinimumSet, finalizeMapping, getColorPhaseIndex, getMinMaxMappedValues, getPlane, getPlaneSR, getSPF, getSurfaceAtomIndex, getSurfacePointAndFraction, getSurfacePointIndexAndFraction, getValue2, gotoAndReadVoxelData, gotoData, initializeMapping, initializeVolumetricData, initPlanes, initSR, jvxlUpdateInfo, newVoxelDataCube, postProcessVertices, readAndSetVolumeParameters, readColorData, resetIsosurface, selectPocket, setBBox, setOutputChannel, setVectorAnisotropy, setVertexAnisotropy, setVolumeDataV, setVolumetricAnisotropy, setVolumetricOriginAnisotropy, slabIsosurface, updateSurfaceData, updateTriangles`

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

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

- - ### Field Detail

    - #### psi_n

          private int psi_n

    - #### psi_l

          private int psi_l

    - #### psi_m

          private int psi_m

    - #### psi_Znuc

          private float psi_Znuc

    - #### sphere_radiusAngstroms

          private float sphere_radiusAngstroms

    - #### monteCarloCount

          private int monteCarloCount

    - #### random

          private java.util.Random random

    - #### allowNegative

          private boolean allowNegative

    - #### rfactor

          private double[] rfactor

    - #### pfactor

          private double[] pfactor

    - #### A0

          private static final double A0

      See Also:
        Constant Field Values

    - #### ROOT2

          private static final double ROOT2

      See Also:
        Constant Field Values

    - #### ATOMIC_ORBITAL_ZERO_CUT_OFF

          private static final float ATOMIC_ORBITAL_ZERO_CUT_OFF

      See Also:
        Constant Field Values

    - #### radius

          private float radius

    - #### ptPsi

          private final javajs.util.P3 ptPsi

    - #### fact

          private static final float[] fact

    - #### psi_normalization

          private double psi_normalization

    - #### aoMax

          private double aoMax

    - #### aoMax2

          private double aoMax2

    - #### angMax2

          private double angMax2

    - #### planeU

          private javajs.util.V3 planeU

    - #### planeV

          private javajs.util.V3 planeV

    - #### planeCenter

          private javajs.util.P3 planeCenter

    - #### planeRadius

          private float planeRadius

    - #### rnl

          private double rnl

    - #### surfaceDone

          private boolean surfaceDone

    - #### nTries

          private int nTries

  - ### Constructor Detail

    - #### IsoShapeReader

          IsoShapeReader()

  - ### Method Detail

    - #### init

          void init(SurfaceGenerator sg)

      Description copied from class: `SurfaceReader`
      implemented in SurfaceFileReader and
      Overrides:
        `init` in class `VolumeDataReader`

    - #### setup

          protected void setup(boolean isMapData)

      Overrides:
        `setup` in class `VolumeDataReader`

    - #### setVolumeData

          protected void setVolumeData()

      Overrides:
        `setVolumeData` in class `VolumeDataReader`

    - #### getValue

          public float getValue(int x,
                                int y,
                                int z,
                                int ptyz)

      Description copied from interface: `VertexDataServer`
      for readers only
      Specified by:
        `getValue` in interface `VertexDataServer`
      Overrides:
        `getValue` in class `SurfaceReader`
      Returns:
        value[x][y][z]

    - #### getValueAtPoint

          public float getValueAtPoint(javajs.util.T3 pt,
                                       boolean getSource)

      Overrides:
        `getValueAtPoint` in class `SurfaceReader`
        `getSource` - TODO
      Returns:
        value

    - #### setHeader

          private void setHeader(java.lang.String line1)

    - #### calcFactors

          private void calcFactors(int n,
                                   int el,
                                   int m)

    - #### autoScaleOrbital

          private void autoScaleOrbital()

    - #### radialPart

          private double radialPart(double r)

    - #### hydrogenAtomPsi

          private double hydrogenAtomPsi(javajs.util.P3 pt)

    - #### angularPart

          private double angularPart(double th,
                                     double ph,
                                     int m)

    - #### createMonteCarloOrbital

          private void createMonteCarloOrbital()

    - #### readSurfaceData

          protected void readSurfaceData(boolean isMapData)
                                  throws java.lang.Exception

      Overrides:
        `readSurfaceData` in class `VolumeDataReader`
      Throws:
        `java.lang.Exception`

    - #### createGeodesic

          private void createGeodesic()