org.jmol.jvxl.readers
Class JvxlXmlReader

java.lang.Object
  extended by org.jmol.jvxl.readers.SurfaceReader
      extended by org.jmol.jvxl.readers.SurfaceFileReader
          extended by org.jmol.jvxl.readers.VolumeFileReader
              extended by org.jmol.jvxl.readers.JvxlXmlReader
All Implemented Interfaces:
VertexDataServer
Direct Known Subclasses:
JvxlReader

public class JvxlXmlReader
extends VolumeFileReader


Field Summary
protected  java.util.BitSet bsVoxelBitSet
           
protected  int colorDataCount
           
private  int colorPtr
           
protected  int edgeDataCount
           
private  int excludedTriangleCount
           
private  int excludedVertexCount
           
private  int fractionPtr
           
protected  boolean haveContourData
           
(package private)  boolean haveReadColorData
           
private  boolean includeValueNaN
           
private  int invalidatedVertexCount
           
protected  boolean isXmlFile
           
protected  java.lang.String JVXL_VERSION
           
private  java.lang.String strFractionTemp
           
protected  int surfaceDataCount
           
(package private)  java.lang.String tempDataXml
           
protected  boolean thisInside
           
private  int valueCount
           
private  float valueMin
           
private  float valueRange
           
private  XmlReader xr
           
 
Fields inherited from class org.jmol.jvxl.readers.VolumeFileReader
atomCount, boundingBox, canDownsample, downsampleFactor, endOfData, isAngstroms, negativeAtomCount, nSurfaces, readerClosed, thePlane
 
Fields inherited from class org.jmol.jvxl.readers.SurfaceFileReader
binarydoc, br, line, next, os
 
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, isProgressive, isQuiet, isXLowToHigh, jvxlColorDataRead, jvxlCutoff, jvxlData, jvxlDataIs2dContour, 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
JvxlXmlReader(SurfaceGenerator sg, java.io.BufferedReader br)
           
 
Method Summary
protected  void getEncodedVertexData()
          retrieve Jvxl 2.0 format vertex/triangle/edge/color data found within element
private  float getNextValue()
           
protected  float getSurfacePointAndFraction(float cutoff, boolean isCutoffAbsolute, float valueA, float valueB, javax.vecmath.Point3f pointA, javax.vecmath.Vector3f edgeVector, int x, int y, int z, int vA, int vB, float[] fReturn, javax.vecmath.Point3f ptReturn)
           
protected  java.util.BitSet getVoxelBitSet(int nPoints)
           
protected  boolean gotoAndReadVoxelData(boolean isMapData)
           
protected  void gotoData(int n, int nPoints)
           
protected  void jvxlDecodeContourData(JvxlData jvxlData, java.lang.String data)
           
(package private)  int[][] jvxlDecodeTriangleData(java.lang.String data, java.lang.String edgeData, java.lang.String colorData)
          decode triangle data found within element as created with jvxlEncodeTriangleData (see above)
 javax.vecmath.Point3f[] jvxlDecodeVertexData(java.lang.String data, boolean asArray)
          decode vertex data found within element as created by jvxlEncodeVertexData (see above)
private  float jvxlGetNextFraction(int base, int range, float fracOffset)
           
protected  java.lang.String jvxlReadData(java.lang.String type, int nPoints)
           
protected  void jvxlReadSurfaceInfo()
           
protected  void jvxlSetColorRanges(float dataMin, float dataMax, float red, float blue, boolean insideOut)
           
protected  void jvxlSkipData(int nPoints, boolean doSkipColorData)
           
protected  void postProcessVertices()
           
protected  java.lang.String readColorData()
           
protected  void readParameters()
           
protected  boolean readSurfaceData()
           
protected  void readSurfaceData(boolean isMapDataIgnored)
           
protected  void readVector(int voxelVectorIndex)
           
protected  boolean readVolumeData(boolean isMapData)
           
protected  void readVolumeFileSurfaceData()
           
private  void setValueMinMax()
           
 
Methods inherited from class org.jmol.jvxl.readers.VolumeFileReader
checkAtomLine, closeReader, getNextVoxelValue, getPlane, getPlaneProcessed, getValue, initializeSurfaceData, nextVoxel, readVolumeParameters, readVoxelVector, recordData, skipComments, skipData
 
Methods inherited from class org.jmol.jvxl.readers.SurfaceFileReader
discardTempData, getNextQuotedString, getTokens, parseFloat, parseFloat, parseFloatArray, parseFloatArray, parseInt, parseInt, parseIntNext, readLine, setOutputStream, skipTo
 
Methods inherited from class org.jmol.jvxl.readers.SurfaceReader
addTriangleCheck, addVertexCopy, applyColorScale, colorIsosurface, createIsosurface, excludeMaximumSet, excludeMinimumSet, finalizeMapping, getColorPhaseIndex, getMinMaxMappedValues, getSurfaceAtomIndex, getSurfacePointIndexAndFraction, getValueAtPoint, initializeMapping, initializeVolumetricData, initPlanes, jvxlUpdateInfo, newVoxelDataCube, readAndSetVolumeParameters, resetIsosurface, selectPocket, setBoundingBox, setVectorAnisotropy, setVertexAnisotropy, setVolumeData, 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

JVXL_VERSION

protected java.lang.String JVXL_VERSION

surfaceDataCount

protected int surfaceDataCount

edgeDataCount

protected int edgeDataCount

colorDataCount

protected int colorDataCount

excludedTriangleCount

private int excludedTriangleCount

excludedVertexCount

private int excludedVertexCount

invalidatedVertexCount

private int invalidatedVertexCount

haveContourData

protected boolean haveContourData

xr

private XmlReader xr

isXmlFile

protected boolean isXmlFile

thisInside

protected boolean thisInside

tempDataXml

java.lang.String tempDataXml

bsVoxelBitSet

protected java.util.BitSet bsVoxelBitSet

includeValueNaN

private boolean includeValueNaN

valueCount

private int valueCount

valueMin

private float valueMin

valueRange

private float valueRange

fractionPtr

private int fractionPtr

colorPtr

private int colorPtr

strFractionTemp

private java.lang.String strFractionTemp

haveReadColorData

boolean haveReadColorData
Constructor Detail

JvxlXmlReader

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

readVolumeData

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

gotoAndReadVoxelData

protected boolean gotoAndReadVoxelData(boolean isMapData)
Overrides:
gotoAndReadVoxelData in class SurfaceReader

readParameters

protected void readParameters()
                       throws java.lang.Exception
Specified by:
readParameters in class VolumeFileReader
Throws:
java.lang.Exception

readVector

protected void readVector(int voxelVectorIndex)
                   throws java.lang.Exception
Throws:
java.lang.Exception

gotoData

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

jvxlSkipData

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

jvxlReadSurfaceInfo

protected void jvxlReadSurfaceInfo()
                            throws java.lang.Exception
Throws:
java.lang.Exception

jvxlSetColorRanges

protected void jvxlSetColorRanges(float dataMin,
                                  float dataMax,
                                  float red,
                                  float blue,
                                  boolean insideOut)

readSurfaceData

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

readSurfaceData

protected boolean readSurfaceData()
                           throws java.lang.Exception
Throws:
java.lang.Exception

readVolumeFileSurfaceData

protected void readVolumeFileSurfaceData()
                                  throws java.lang.Exception
Throws:
java.lang.Exception

jvxlReadData

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

getVoxelBitSet

protected java.util.BitSet getVoxelBitSet(int nPoints)
                                   throws java.lang.Exception
Overrides:
getVoxelBitSet in class VolumeFileReader
Returns:
JVXL bitset
Throws:
java.lang.Exception

getSurfacePointAndFraction

protected float getSurfacePointAndFraction(float cutoff,
                                           boolean isCutoffAbsolute,
                                           float valueA,
                                           float valueB,
                                           javax.vecmath.Point3f pointA,
                                           javax.vecmath.Vector3f edgeVector,
                                           int x,
                                           int y,
                                           int z,
                                           int vA,
                                           int vB,
                                           float[] fReturn,
                                           javax.vecmath.Point3f ptReturn)
Overrides:
getSurfacePointAndFraction in class VolumeFileReader
x - TODO
y - TODO
z - TODO
Returns:
fractional distance from A to B

getNextValue

private float getNextValue()

setValueMinMax

private void setValueMinMax()

jvxlGetNextFraction

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

readColorData

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

getEncodedVertexData

protected void getEncodedVertexData()
                             throws java.lang.Exception
retrieve Jvxl 2.0 format vertex/triangle/edge/color data found within element

Throws:
java.lang.Exception

jvxlDecodeVertexData

public javax.vecmath.Point3f[] jvxlDecodeVertexData(java.lang.String data,
                                                    boolean asArray)
                                             throws java.lang.Exception
decode vertex data found within element as created by jvxlEncodeVertexData (see above)

Parameters:
data - tag and contents
asArray - or just addVertexCopy
Returns:
Point3f[] if desired
Throws:
java.lang.Exception

jvxlDecodeTriangleData

int[][] jvxlDecodeTriangleData(java.lang.String data,
                               java.lang.String edgeData,
                               java.lang.String colorData)
                         throws java.lang.Exception
decode triangle data found within element as created with jvxlEncodeTriangleData (see above)

Parameters:
data - tag and contents
edgeData -
colorData -
Returns:
int[][] if desired
Throws:
java.lang.Exception

jvxlDecodeContourData

protected void jvxlDecodeContourData(JvxlData jvxlData,
                                     java.lang.String data)
                              throws java.lang.Exception
Throws:
java.lang.Exception

postProcessVertices

protected void postProcessVertices()
Overrides:
postProcessVertices in class SurfaceReader