Package org.jmol.jvxl.readers
Class JvxlXmlReader
- java.lang.Object
-
- org.jmol.jvxl.readers.SurfaceReader
-
- org.jmol.jvxl.readers.SurfaceFileReader
-
- org.jmol.jvxl.readers.VolumeFileReader
-
- org.jmol.jvxl.readers.JvxlXmlReader
-
- All Implemented Interfaces:
VertexDataServer
- Direct Known Subclasses:
JvxlReader
public class JvxlXmlReader extends VolumeFileReader
-
-
Field Summary
Fields Modifier and Type Field Description protected BSbsVoxelBitSetprotected intcolorDataCountprivate intcolorPtrprotected intedgeDataCountprivate intexcludedTriangleCountprivate intexcludedVertexCountprivate intfractionPtrprotected booleanhaveContourData(package private) booleanhaveReadColorDataprivate booleanincludeValueNaNprivate intinvalidatedVertexCountprotected booleanisXmlFileprotected java.lang.StringJVXL_VERSIONprivate java.lang.StringjvxlColorEncodingReadprivate java.lang.StringstrFractionTempprotected intsurfaceDataCount(package private) java.lang.StringtempDataXmlprotected booleanthisInsideprivate intvalueCountprivate floatvalueMinprivate floatvalueRangeprivate XmlReaderxr-
Fields inherited from class org.jmol.jvxl.readers.VolumeFileReader
ac, boundingBox, canDownsample, downsampleFactor, downsampleRemainders, endOfData, isAngstroms, nData, negativeAtomCount, nSkipX, nSkipY, nSkipZ, nSurfaces
-
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 Description JvxlXmlReader()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static intgetColor(java.lang.String c)private java.lang.StringgetData(java.lang.String sdata, java.lang.String name)protected voidgetEncodedVertexData()retrieve Jvxl 2.0 format vertex/triangle/edge/color data found withinelement private static java.lang.StringgetEncoding(java.lang.String data)private floatgetNextValue()protected floatgetSurfacePointAndFraction(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)protected BSgetVoxelBitSet(int nPoints)protected booleangotoAndReadVoxelData(boolean isMapData)protected voidgotoData(int n, int nPoints)(package private) voidinit2(SurfaceGenerator sg, java.io.BufferedReader br)(package private) voidinit2JXR(SurfaceGenerator sg, java.io.BufferedReader br)protected voidjvxlDecodeContourData(JvxlData jvxlData, java.lang.String data)(package private) voidjvxlDecodeTriangleData(java.lang.String tdata, java.lang.String edgeData, java.lang.String colorData)decode triangle data found withinelement as created with jvxlEncodeTriangleData (see above) javajs.util.P3[]jvxlDecodeVertexData(java.lang.String data, boolean asArray)decode vertex data found withinelement as created by jvxlEncodeVertexData (see above) private floatjvxlGetNextFraction(int base, int range, float fracOffset)protected java.lang.StringjvxlReadFractionData(java.lang.String type, int nPoints)"edge" data includes two parts -- a compressed bitset indicating exactly which edges, in order or processing by Jmol, are crossed by the surface, and a set of fractions indicating how far along that edge (good to 1 part in 8100) that surface crosses that edge.protected voidjvxlReadSurfaceInfo()protected voidjvxlSetColorRanges(float dataMin, float dataMax, float red, float blue, boolean insideOut)protected voidjvxlSkipData(int nPoints, boolean doSkipColorData)protected voidpostProcessVertices()protected java.lang.StringreadColorData()protected voidreadParameters()protected voidreadSurfaceData(boolean isMapDataIgnored)protected voidreadSurfaceDataJXR()protected booleanreadSurfaceDataXML()protected voidreadVector(int voxelVectorIndex)protected booleanreadVolumeData(boolean isMapData)private voidsetValueMinMax()-
Methods inherited from class org.jmol.jvxl.readers.VolumeFileReader
checkAtomLine, closeReader, getNextVoxelValue, getPlane, getPlaneNCI, getSPFv, getValue, init2VFR, initializeSurfaceData, nextVoxel, readSurfaceDataVFR, readVolumeDataVFR, readVolumeParameters, readVoxelVector, recordData, skipComments, skipData, skipDataVFR, swapXZ
-
Methods inherited from class org.jmol.jvxl.readers.SurfaceFileReader
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, getPlaneSR, getSPF, getSurfaceAtomIndex, getSurfacePointIndexAndFraction, getValue2, getValueAtPoint, initializeMapping, initializeVolumetricData, initPlanes, initSR, jvxlUpdateInfo, newVoxelDataCube, readAndSetVolumeParameters, resetIsosurface, selectPocket, setBBox, setVectorAnisotropy, setVertexAnisotropy, setVolumeDataV, setVolumetricAnisotropy, setVolumetricOriginAnisotropy, slabIsosurface, updateSurfaceData, updateTriangles
-
-
-
-
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 BS 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
-
jvxlColorEncodingRead
private java.lang.String jvxlColorEncodingRead
-
-
Method Detail
-
init2
void init2(SurfaceGenerator sg, java.io.BufferedReader br)
- Overrides:
init2in classVolumeFileReader
-
init2JXR
void init2JXR(SurfaceGenerator sg, java.io.BufferedReader br)
-
readVolumeData
protected boolean readVolumeData(boolean isMapData)
- Overrides:
readVolumeDatain classVolumeFileReader
-
gotoAndReadVoxelData
protected boolean gotoAndReadVoxelData(boolean isMapData)
- Overrides:
gotoAndReadVoxelDatain classSurfaceReader
-
readParameters
protected void readParameters() throws java.lang.Exception- Specified by:
readParametersin classVolumeFileReader- 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:
gotoDatain classVolumeFileReader- 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:
readSurfaceDatain classVolumeFileReader- Throws:
java.lang.Exception
-
readSurfaceDataXML
protected boolean readSurfaceDataXML() throws java.lang.Exception- Throws:
java.lang.Exception
-
readSurfaceDataJXR
protected void readSurfaceDataJXR() throws java.lang.Exception- Throws:
java.lang.Exception
-
jvxlReadFractionData
protected java.lang.String jvxlReadFractionData(java.lang.String type, int nPoints)"edge" data includes two parts -- a compressed bitset indicating exactly which edges, in order or processing by Jmol, are crossed by the surface, and a set of fractions indicating how far along that edge (good to 1 part in 8100) that surface crosses that edge. We are just reading he fractions here. "color" data comprises the corresponding sequence of data mapping values, again stored to a precision of 1 part in 8100, relative to a range of values.- Parameters:
type-nPoints-- Returns:
- data
-
getVoxelBitSet
protected BS getVoxelBitSet(int nPoints) throws java.lang.Exception
- Overrides:
getVoxelBitSetin classVolumeFileReader- Returns:
- JVXL bitset
- Throws:
java.lang.Exception
-
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:
getSurfacePointAndFractionin classVolumeFileReader
-
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:
readColorDatain classSurfaceReader
-
getColor
private static int getColor(java.lang.String c)
-
getEncodedVertexData
protected void getEncodedVertexData() throws java.lang.Exceptionretrieve Jvxl 2.0 format vertex/triangle/edge/color data found withinelement - Throws:
java.lang.Exception
-
getData
private java.lang.String getData(java.lang.String sdata, java.lang.String name) throws java.lang.Exception- Throws:
java.lang.Exception
-
getEncoding
private static java.lang.String getEncoding(java.lang.String data)
-
jvxlDecodeVertexData
public javajs.util.P3[] jvxlDecodeVertexData(java.lang.String data, boolean asArray) throws java.lang.Exceptiondecode vertex data found withinelement as created by jvxlEncodeVertexData (see above) - Parameters:
data- tag and contentsasArray- or just addVertexCopy- Returns:
- Point3f[] if desired
- Throws:
java.lang.Exception
-
jvxlDecodeTriangleData
void jvxlDecodeTriangleData(java.lang.String tdata, java.lang.String edgeData, java.lang.String colorData) throws java.lang.Exceptiondecode triangle data found withinelement as created with jvxlEncodeTriangleData (see above) - Parameters:
tdata- tag and contentsedgeData-colorData-- 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:
postProcessVerticesin classSurfaceReader
-
-