KinemageReader
Date: 2019-10-22

org.jmol.jvxl.readers

## Class KinemageReader

- java.lang.Object
- - org.jmol.jvxl.readers.SurfaceReader
  - - org.jmol.jvxl.readers.SurfaceFileReader
    - - org.jmol.jvxl.readers.PolygonFileReader
      - - org.jmol.jvxl.readers.PmeshReader
        - - org.jmol.jvxl.readers.KinemageReader

- All Implemented Interfaces:
    VertexDataServer

      class KinemageReader
      extends PmeshReader

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private java.lang.String` | `findString`
    `private java.lang.String` | `lastAtom`
    `private int` | `nDots`
    `private static int` | `POINTS_ALL`
    `private static int` | `POINTS_HETS`
    `private static int` | `POINTS_MCMC`
    `private static int` | `POINTS_MCSC`
    `private static int` | `POINTS_SCSC`
    `private int` | `pointType`
    `private float` | `vMax`
    `private float` | `vMin`

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

      `fixedCount, isClosedFace, iToken, nPolygons, onePerLine, pmeshError, tokens, type, vertexBase, vertexMap`

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

      `nTriangles, nVertices`

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

      `binarydoc, br, line, next, out`

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private float` | `assignValueFromGapColorForKin(java.lang.String color)` C++ code gives these as " value > x.x ? "xxxxx", etc.
    `private int` | `getColor(java.lang.String color)`
    `private int` | `getPoint(java.lang.String line, int i, int[] retColor, boolean checkType)`
    `(package private) void` | `init2(SurfaceGenerator sg, java.io.BufferedReader br)`
    `private void` | `readDots()`
    `protected boolean` | `readPolygons()`
    `private void` | `readVectors()`
    `protected boolean` | `readVertices()`
    `protected boolean` | `readVolumeParameters(boolean isMapData)`

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

      `checkBinary, getSurfaceData, init2PR, readBinaryHeader, readPolygonsPM, readVerticesAndPolygons, readVerticesPM, setHeader`

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

      `init2PFR, readSurfaceData, readVolumeData`

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

      `closeReader, closeReaderSFR, discardTempData, getQuotedStringNext, getTokens, init, init2SFR, newBinaryDocument, parseFloat, parseFloatArray, parseFloatArrayStr, parseFloatRange, parseFloatStr, parseInt, parseIntNext, parseIntStr, rd, setOutputChannel, setStream, skipTo`

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

      `addTriangleCheck, addVC, addVertexCopy, applyColorScale, colorIsosurface, createIsosurface, discardTempDataSR, excludeMaximumSet, excludeMinimumSet, finalizeMapping, getColorPhaseIndex, getMinMaxMappedValues, getPlane, getPlaneSR, getSPF, getSurfaceAtomIndex, getSurfacePointAndFraction, getSurfacePointIndexAndFraction, getValue, getValue2, getValueAtPoint, gotoAndReadVoxelData, gotoData, initializeMapping, initializeVolumetricData, initPlanes, initSR, jvxlUpdateInfo, newVoxelDataCube, postProcessVertices, readAndSetVolumeParameters, readColorData, resetIsosurface, selectPocket, setBBox, 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

    - #### POINTS_ALL

          private static final int POINTS_ALL

      See Also:
        Constant Field Values

    - #### POINTS_MCMC

          private static final int POINTS_MCMC

      See Also:
        Constant Field Values

    - #### POINTS_SCSC

          private static final int POINTS_SCSC

      See Also:
        Constant Field Values

    - #### POINTS_MCSC

          private static final int POINTS_MCSC

      See Also:
        Constant Field Values

    - #### POINTS_HETS

          private static final int POINTS_HETS

      See Also:
        Constant Field Values

    - #### nDots

          private int nDots

    - #### vMin

          private float vMin

    - #### vMax

          private float vMax

    - #### pointType

          private int pointType

    - #### findString

          private java.lang.String findString

    - #### lastAtom

          private java.lang.String lastAtom

  - ### Constructor Detail

    - #### KinemageReader

          KinemageReader()

  - ### Method Detail

    - #### init2

          void init2(SurfaceGenerator sg,
                     java.io.BufferedReader br)

      Overrides:
        `init2` in class `PmeshReader`

    - #### readVolumeParameters

          protected boolean readVolumeParameters(boolean isMapData)

      Overrides:
        `readVolumeParameters` in class `PolygonFileReader`

    - #### readVertices

          protected boolean readVertices()
                                  throws java.lang.Exception

      Overrides:
        `readVertices` in class `PmeshReader`
      Throws:
        `java.lang.Exception`

    - #### readDots

          private void readDots()
                         throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### readVectors

          private void readVectors()
                            throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getPoint

          private int getPoint(java.lang.String line,
                               int i,
                               int[] retColor,
                               boolean checkType)

    - #### getColor

          private int getColor(java.lang.String color)

    - #### assignValueFromGapColorForKin

          private float assignValueFromGapColorForKin(java.lang.String color)

      C++ code gives these as " value > x.x ? "xxxxx", etc. so technically we are off by a smidgeon. But they are the reference numbers, so we will use them inclusively instead.
      Parameters:
        `color` -
      Returns:
        value or NaN if outsided desired range

    - #### readPolygons

          protected boolean readPolygons()

      Overrides:
        `readPolygons` in class `PmeshReader`