org.jmol.jvxl.readers
Class JvxlReader

java.lang.Object
  extended by org.jmol.jvxl.readers.VoxelReader
      extended by org.jmol.jvxl.readers.VolumeFileReader
          extended by org.jmol.jvxl.readers.JvxlReader
All Implemented Interfaces:
VertexDataServer

public class JvxlReader
extends VolumeFileReader


Field Summary
private  int colorDataCount
           
private  int edgeDataCount
           
private  int fractionPtr
           
private static java.lang.String JVXL_VERSION
           
private  int nThisValue
           
private  java.lang.String strFractionTemp
           
private  int surfaceDataCount
           
private  boolean thisInside
           
 
Fields inherited from class org.jmol.jvxl.readers.VolumeFileReader
atomCount, br, canDownsample, endOfData, isAngstroms, line, negativeAtomCount, next
 
Fields inherited from class org.jmol.jvxl.readers.VoxelReader
ANGSTROMS_PER_BOHR, cJvxlEdgeNaN, colorEncoder, colorFractionBase, colorFractionRange, contourVertexCount, defaultColorFractionBase, defaultColorFractionRange, defaultCutoff, defaultEdgeFractionBase, defaultEdgeFractionRange, defaultMappedDataMax, defaultMappedDataMin, edgeFractionBase, edgeFractionRange, fractionData, fReturn, isApbsDx, isJvxl, isProgressive, isXLowToHigh, jvxlColorDataRead, jvxlCutoff, jvxlData, jvxlDataIs2dContour, jvxlDataIsColorMapped, jvxlDataIsPrecisionColor, jvxlEdgeDataRead, jvxlFileHeaderBuffer, jvxlNSurfaceInts, marchingSquares, meshData, meshDataServer, nBytes, nDataPoints, nPointsX, nPointsY, nPointsZ, params, ptTemp, sg, volumeData, volumetricOrigin, volumetricVectors, voxelCounts, voxelData
 
Constructor Summary
JvxlReader(SurfaceGenerator sg, java.io.BufferedReader br)
           
 
Method Summary
private  int countData(java.lang.String str)
           
protected  float getNextVoxelValue(java.lang.StringBuffer sb)
           
protected  void gotoAndReadVoxelData(boolean isMapData)
           
protected  void gotoData(int n, int nPoints)
           
protected  void initializeVoxelData()
           
private static void jvxlAddDummyAtomList(VolumeData v, java.lang.StringBuffer bs)
           
protected static boolean jvxlCheckAtomLine(boolean isXLowToHigh, boolean isAngstroms, java.lang.String strAtomCount, java.lang.String atomLine, java.lang.StringBuffer bs)
          checks an atom line for "ANGSTROMS", possibly overriding the data's natural units, BOHR (similar to Gaussian CUBE files).
(package private) static java.lang.String jvxlCompressString(java.lang.String data)
           
static void jvxlCreateColorData(JvxlData jvxlData, float[] vertexValues)
           
protected static void jvxlCreateHeader(VolumeData v, int nAtoms, javax.vecmath.Point3f[] atomXyz, int[] atomNo, java.lang.StringBuffer sb)
           
protected static void jvxlCreateHeaderWithoutTitleOrAtoms(VolumeData v, java.lang.StringBuffer bs)
           
static int jvxlCreateSurfaceData(JvxlData jvxlData, float[][][] voxelData, float cutoff, boolean isCutoffAbsolute, int nX, int nY, int nZ)
           
protected static java.lang.String jvxlExtraLine(JvxlData jvxlData, int n)
           
protected static char jvxlFractionAsCharacter(float fraction, int base, int range)
           
protected static float jvxlFractionFromCharacter(int ich, int base, int range, float fracOffset)
           
protected static float jvxlFractionFromCharacter2(int ich1, int ich2, int base, int range)
           
static java.lang.String jvxlGetDefinitionLine(JvxlData jvxlData, boolean isInfo)
           
static java.lang.String jvxlGetFile(JvxlData jvxlData, java.lang.String[] title, java.lang.String msg, boolean includeHeader, int nSurfaces, java.lang.String state, java.lang.String comment)
           
private  float jvxlGetNextFraction(int base, int range, float fracOffset)
           
protected static void jvxlReadAtoms(java.io.BufferedReader br, java.lang.StringBuffer bs, int atomCount, VolumeData v)
           
private  java.lang.String jvxlReadData(java.lang.String type, int nPoints)
           
private  void jvxlReadDefinitionLine(boolean showMsg)
           
private  void jvxlSkipData(int nPoints, boolean doSkipColorData)
           
private  void jvxlSkipDataBlock(int nPoints, boolean isInt)
           
private static java.lang.String jvxlUncompressString(java.lang.String data)
           
protected static void jvxlUpdateInfo(JvxlData jvxlData, java.lang.String[] title, int nBytes)
           
static void jvxlUpdateInfoLines(JvxlData jvxlData)
           
static void jvxlUpdateSurfaceData(JvxlData jvxlData, float[] vertexValues, int vertexCount, int vertexIncrement, char isNaN)
           
protected static char jvxlValueAsCharacter(float value, float min, float max, int base, int range)
           
protected static char jvxlValueAsCharacter2(float value, float min, float max, int base, int range, char[] remainder)
           
protected static float jvxlValueFromCharacter2(int ich, int ich2, float min, float max, int base, int range)
           
protected  void readAtomCountAndOrigin()
           
protected  java.lang.String readColorData()
           
protected  int readExtraLine()
           
protected  float readSurfacePoint(float cutoff, boolean isCutoffAbsolute, float valueA, float valueB, javax.vecmath.Point3f pointA, javax.vecmath.Vector3f edgeVector, float[] fReturn, javax.vecmath.Point3f ptReturn)
           
protected  void readTitleLines()
           
protected  void readVolumeData(boolean isMapData)
           
protected  void readVoxelData(boolean isMapDataIgnored)
           
protected static void setSurfaceInfo(JvxlData jvxlData, javax.vecmath.Point4f thePlane, int nSurfaceInts, java.lang.StringBuffer surfaceData)
           
 
Methods inherited from class org.jmol.jvxl.readers.VolumeFileReader
determineFileType, discardTempData, getTokens, nextVoxel, parseFloat, parseFloat, parseFloatNext, parseInt, parseInt, parseInt, parseIntNext, readVolumeParameters, readVolumetricHeader, readVoxelVector, skipComments
 
Methods inherited from class org.jmol.jvxl.readers.VoxelReader
addTriangleCheck, addVertexCopy, applyColorScale, colorIsosurface, createIsosurface, excludeMaximumSet, excludeMinimumSet, getCalcPoint, getColorIndexFromPalette, getColorPhaseIndex, getMaxMappedValue, getMinMappedValue, getSurfacePointIndex, initializeVolumetricData, isInside, jvxlUpdateInfo, resetIsosurface, selectPocket, setVolumeData, updateSurfaceData, updateTriangles
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JVXL_VERSION

private static final java.lang.String JVXL_VERSION
See Also:
Constant Field Values

surfaceDataCount

private int surfaceDataCount

edgeDataCount

private int edgeDataCount

colorDataCount

private int colorDataCount

nThisValue

private int nThisValue

thisInside

private boolean thisInside

fractionPtr

private int fractionPtr

strFractionTemp

private java.lang.String strFractionTemp
Constructor Detail

JvxlReader

JvxlReader(SurfaceGenerator sg,
           java.io.BufferedReader br)
Method Detail

jvxlUpdateInfo

protected static void jvxlUpdateInfo(JvxlData jvxlData,
                                     java.lang.String[] title,
                                     int nBytes)

jvxlUpdateInfoLines

public static void jvxlUpdateInfoLines(JvxlData jvxlData)

readVolumeData

protected void readVolumeData(boolean isMapData)
Overrides:
readVolumeData in class VolumeFileReader

gotoAndReadVoxelData

protected void gotoAndReadVoxelData(boolean isMapData)
Overrides:
gotoAndReadVoxelData in class VoxelReader

initializeVoxelData

protected void initializeVoxelData()

readVoxelData

protected void readVoxelData(boolean isMapDataIgnored)
                      throws java.lang.Exception
Overrides:
readVoxelData in class VolumeFileReader
Throws:
java.lang.Exception

readTitleLines

protected void readTitleLines()
                       throws java.lang.Exception
Overrides:
readTitleLines in class VolumeFileReader
Throws:
java.lang.Exception

jvxlCheckAtomLine

protected static boolean jvxlCheckAtomLine(boolean isXLowToHigh,
                                           boolean isAngstroms,
                                           java.lang.String strAtomCount,
                                           java.lang.String atomLine,
                                           java.lang.StringBuffer bs)
checks an atom line for "ANGSTROMS", possibly overriding the data's natural units, BOHR (similar to Gaussian CUBE files).

Parameters:
isXLowToHigh -
isAngstroms -
strAtomCount -
atomLine -
bs -
Returns:
isAngstroms

readAtomCountAndOrigin

protected void readAtomCountAndOrigin()
                               throws java.lang.Exception
Overrides:
readAtomCountAndOrigin in class VolumeFileReader
Throws:
java.lang.Exception

jvxlReadAtoms

protected static void jvxlReadAtoms(java.io.BufferedReader br,
                                    java.lang.StringBuffer bs,
                                    int atomCount,
                                    VolumeData v)
                             throws java.lang.Exception
Throws:
java.lang.Exception

readExtraLine

protected int readExtraLine()
                     throws java.lang.Exception
Overrides:
readExtraLine in class VolumeFileReader
Throws:
java.lang.Exception

jvxlReadDefinitionLine

private void jvxlReadDefinitionLine(boolean showMsg)
                             throws java.lang.Exception
Throws:
java.lang.Exception

jvxlReadData

private java.lang.String jvxlReadData(java.lang.String type,
                                      int nPoints)

jvxlCompressString

static java.lang.String jvxlCompressString(java.lang.String data)

jvxlUncompressString

private static java.lang.String jvxlUncompressString(java.lang.String data)

getNextVoxelValue

protected float getNextVoxelValue(java.lang.StringBuffer sb)
                           throws java.lang.Exception
Overrides:
getNextVoxelValue in class VolumeFileReader
Throws:
java.lang.Exception

setSurfaceInfo

protected static void setSurfaceInfo(JvxlData jvxlData,
                                     javax.vecmath.Point4f thePlane,
                                     int nSurfaceInts,
                                     java.lang.StringBuffer surfaceData)

readSurfacePoint

protected float readSurfacePoint(float cutoff,
                                 boolean isCutoffAbsolute,
                                 float valueA,
                                 float valueB,
                                 javax.vecmath.Point3f pointA,
                                 javax.vecmath.Vector3f edgeVector,
                                 float[] fReturn,
                                 javax.vecmath.Point3f ptReturn)
Overrides:
readSurfacePoint in class VoxelReader

jvxlGetNextFraction

private float jvxlGetNextFraction(int base,
                                  int range,
                                  float fracOffset)

readColorData

protected java.lang.String readColorData()
Overrides:
readColorData in class VoxelReader

gotoData

protected void gotoData(int n,
                        int nPoints)
                 throws java.lang.Exception
Overrides:
gotoData in class VolumeFileReader
Throws:
java.lang.Exception

jvxlSkipData

private void jvxlSkipData(int nPoints,
                          boolean doSkipColorData)
                   throws java.lang.Exception
Throws:
java.lang.Exception

jvxlSkipDataBlock

private void jvxlSkipDataBlock(int nPoints,
                               boolean isInt)
                        throws java.lang.Exception
Throws:
java.lang.Exception

countData

private int countData(java.lang.String str)

jvxlCreateHeaderWithoutTitleOrAtoms

protected static void jvxlCreateHeaderWithoutTitleOrAtoms(VolumeData v,
                                                          java.lang.StringBuffer bs)

jvxlCreateHeader

protected static void jvxlCreateHeader(VolumeData v,
                                       int nAtoms,
                                       javax.vecmath.Point3f[] atomXyz,
                                       int[] atomNo,
                                       java.lang.StringBuffer sb)

jvxlAddDummyAtomList

private static void jvxlAddDummyAtomList(VolumeData v,
                                         java.lang.StringBuffer bs)

jvxlCreateSurfaceData

public static int jvxlCreateSurfaceData(JvxlData jvxlData,
                                        float[][][] voxelData,
                                        float cutoff,
                                        boolean isCutoffAbsolute,
                                        int nX,
                                        int nY,
                                        int nZ)

jvxlGetDefinitionLine

public static java.lang.String jvxlGetDefinitionLine(JvxlData jvxlData,
                                                     boolean isInfo)

jvxlExtraLine

protected static java.lang.String jvxlExtraLine(JvxlData jvxlData,
                                                int n)

jvxlGetFile

public static java.lang.String jvxlGetFile(JvxlData jvxlData,
                                           java.lang.String[] title,
                                           java.lang.String msg,
                                           boolean includeHeader,
                                           int nSurfaces,
                                           java.lang.String state,
                                           java.lang.String comment)

jvxlFractionFromCharacter

protected static float jvxlFractionFromCharacter(int ich,
                                                 int base,
                                                 int range,
                                                 float fracOffset)

jvxlValueFromCharacter2

protected static float jvxlValueFromCharacter2(int ich,
                                               int ich2,
                                               float min,
                                               float max,
                                               int base,
                                               int range)

jvxlFractionFromCharacter2

protected static float jvxlFractionFromCharacter2(int ich1,
                                                  int ich2,
                                                  int base,
                                                  int range)

jvxlValueAsCharacter

protected static char jvxlValueAsCharacter(float value,
                                           float min,
                                           float max,
                                           int base,
                                           int range)

jvxlFractionAsCharacter

protected static char jvxlFractionAsCharacter(float fraction,
                                              int base,
                                              int range)

jvxlValueAsCharacter2

protected static char jvxlValueAsCharacter2(float value,
                                            float min,
                                            float max,
                                            int base,
                                            int range,
                                            char[] remainder)

jvxlUpdateSurfaceData

public static void jvxlUpdateSurfaceData(JvxlData jvxlData,
                                         float[] vertexValues,
                                         int vertexCount,
                                         int vertexIncrement,
                                         char isNaN)

jvxlCreateColorData

public static void jvxlCreateColorData(JvxlData jvxlData,
                                       float[] vertexValues)