IsoMOReader
Date: 2019-10-22

org.jmol.jvxl.readers

## Class IsoMOReader

- java.lang.Object
- - org.jmol.jvxl.readers.SurfaceReader
  - - org.jmol.jvxl.readers.VolumeDataReader
    - - org.jmol.jvxl.readers.AtomDataReader
      - - org.jmol.jvxl.readers.IsoMOReader

- All Implemented Interfaces:
    VertexDataServer

      class IsoMOReader
      extends AtomDataReader

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private float[]` | `coef`
    `private float[][]` | `coefs`
    `private int[][]` | `dfCoefMaps`
    `private boolean` | `isElectronDensityCalc`
    `private boolean` | `isNci`
    `private float[]` | `linearCombination`
    `private java.util.Map<java.lang.String,java.lang.Object>` | `mo`
    `private javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>` | `mos`
    `private javajs.util.P3[]` | `points`
    `private QuantumCalculation` | `q`
    `private boolean` | `qSetupDone`
    `private java.util.Random` | `random`
    `private float[]` | `vDist`
    `private javajs.util.V3` | `vTemp`

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

      `ac, atomData, atomIndex, atomNo, atomProp, atomRadius, atomXyzTruncated, bsMyIgnored, bsMySelected, bsNearby, bsSurfaceVoxels, contactPair, doAddHydrogens, doUseIterator, fileDotModel, fileName, firstNearbyAtom, haveOneProperty, havePlane, margin, maxDistance, maxRS, modelIndex, myAtomCount, myIndex, nearbyAtomCount, noFaceSpheres, pt0, pt1, ptV, ptY0, ptZ0, rs, rs2, sr, theProperty, thisAtomSet, thisPlane, thisX, validSpheres, vl0, vl1, vl2, voxelSource`

    - ### 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
    `IsoMOReader()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `createOrbital()`
    `private void` | `fixTitleLine(int iLine, java.util.Map<java.lang.String,java.lang.Object> mo)`
    `protected void` | `generateCube()`
    `float[]` | `getPlane(int x)`
    `private float` | `getRnd(float f)`
    `protected float` | `getSurfacePointAndFraction(float cutoff, boolean isCutoffAbsolute, float valueA, float valueB, javajs.util.T3 pointA, javajs.util.V3 edgeVector, int x, int y, int z, int vA, int vB, float[] fReturn, javajs.util.T3 ptReturn)`
    `float` | `getValueAtPoint(javajs.util.T3 pt, boolean getSource)`
    `private void` | `getValues()`
    `(package private) void` | `init(SurfaceGenerator sg)` implemented in SurfaceFileReader and
    `protected void` | `postProcessVertices()`
    `protected void` | `readSurfaceData(boolean isMapData)`
    `protected boolean` | `readVolumeParameters(boolean isMapData)`
    `protected void` | `setup(boolean isMapData)`
    `private boolean` | `setupCalculation()`

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

      `getAtomMinMax, getAtoms, initADR, markPlaneVoxels, markSphereVoxels, resetPlane, resetVoxelData, setGridLimitsForAtom, setHeader, setRadii, setRanges, setup2, setVertexSource, setVolumeData, setVolumeDataADR, setVolumeForPlane, setVoxel, unsetVoxelData, unsetVoxelData2`

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

      `closeReader, initVDR, readSurfaceDataVDR, readVolumeData, 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, getPlaneSR, getSPF, getSurfaceAtomIndex, getSurfacePointIndexAndFraction, getValue, getValue2, gotoAndReadVoxelData, gotoData, initializeMapping, initializeVolumetricData, initPlanes, initSR, jvxlUpdateInfo, newVoxelDataCube, 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

    - #### random

          private java.util.Random random

    - #### points

          private javajs.util.P3[] points

    - #### vTemp

          private javajs.util.V3 vTemp

    - #### q

          private QuantumCalculation q

    - #### mos

          private javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>> mos

    - #### isNci

          private boolean isNci

    - #### coef

          private float[] coef

    - #### dfCoefMaps

          private int[][] dfCoefMaps

    - #### linearCombination

          private float[] linearCombination

    - #### coefs

          private float[][] coefs

    - #### isElectronDensityCalc

          private boolean isElectronDensityCalc

    - #### mo

          private java.util.Map<java.lang.String,java.lang.Object> mo

    - #### vDist

          private final float[] vDist

    - #### qSetupDone

          private boolean qSetupDone

  - ### Constructor Detail

    - #### IsoMOReader

          IsoMOReader()

  - ### 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 `AtomDataReader`

    - #### readVolumeParameters

          protected boolean readVolumeParameters(boolean isMapData)

      Overrides:
        `readVolumeParameters` in class `VolumeDataReader`

    - #### fixTitleLine

          private void fixTitleLine(int iLine,
                                    java.util.Map<java.lang.String,java.lang.Object> mo)

    - #### readSurfaceData

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

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

    - #### postProcessVertices

          protected void postProcessVertices()

      Overrides:
        `postProcessVertices` in class `SurfaceReader`

    - #### getValues

          private void getValues()

    - #### getValueAtPoint

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

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

    - #### getRnd

          private float getRnd(float f)

    - #### generateCube

          protected void generateCube()

      Overrides:
        `generateCube` in class `VolumeDataReader`

    - #### createOrbital

          protected void createOrbital()

    - #### getPlane

          public float[] getPlane(int x)

      Specified by:
        `getPlane` in interface `VertexDataServer`
      Overrides:
        `getPlane` in class `SurfaceReader`

    - #### setupCalculation

          private boolean setupCalculation()

    - #### getSurfacePointAndFraction

          protected float getSurfacePointAndFraction(float cutoff,
                                                     boolean isCutoffAbsolute,
                                                     float valueA,
                                                     float valueB,
                                                     javajs.util.T3 pointA,
                                                     javajs.util.V3 edgeVector,
                                                     int x,
                                                     int y,
                                                     int z,
                                                     int vA,
                                                     int vB,
                                                     float[] fReturn,
                                                     javajs.util.T3 ptReturn)

      Overrides:
        `getSurfacePointAndFraction` in class `SurfaceReader`