Package org.jmol.jvxl.readers
Class JvxlXmlReader
java.lang.Object
org.jmol.jvxl.readers.SurfaceReader
org.jmol.jvxl.readers.JvxlXmlReader
- All Implemented Interfaces:
VertexDataServer
- Direct Known Subclasses:
JvxlReader
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
protected GenericBinaryDocument
protected P3[]
protected BufferedReader
protected BS
protected boolean
protected int
protected int
protected int[]
protected int
protected boolean
protected boolean
protected boolean
protected boolean
protected String
protected String
protected int
protected boolean
protected int[]
protected int
protected int
protected int
protected int
protected OC
protected boolean
protected int
protected boolean
Fields inherited from class org.jmol.jvxl.readers.SurfaceReader
allowSigma, anisotropy, center, cJvxlEdgeNaN, colorFractionBase, colorFractionRange, contourVertexCount, dataMax, dataMean, dataMin, eccentricityMatrix, eccentricityMatrixInverse, eccentricityRatio, eccentricityScale, edgeFractionBase, edgeFractionRange, fractionData, haveSurfaceAtoms, isAnisotropic, isEccentric, isJvxl, isPeriodic, isProgressive, isQuiet, isXLowToHigh, jvxlColorDataRead, jvxlCutoff, jvxlCutoffRange, jvxlData, jvxlDataIs2dContour, jvxlDataIsColorDensity, jvxlDataIsColorMapped, jvxlDataIsPrecisionColor, jvxlEdgeDataRead, jvxlFileHeaderBuffer, jvxlNSurfaceInts, jvxlVoxelBitSet, marchingCubes, marchingSquares, meshData, meshDataServer, minMax, nBytes, nDataPoints, nPointsX, nPointsY, nPointsZ, params, ptTemp, qpc, sg, volumetricOrigin, volumetricVectors, voxelCounts, voxelData, xyzMax, xyzMin, yzCount, yzPlanes
-
Method Summary
Modifier and TypeMethodDescriptionprotected static boolean
checkAtomLine
(boolean isXLowToHigh, boolean isAngstroms, String strAtomCount, String atomLine, SB bs) checks an atom line for "ANGSTROMS", possibly overriding the data's natural units, BOHR (similar to Gaussian CUBE files).protected void
protected void
protected void
retrieve Jvxl 2.0 format vertex/triangle/edge/color data found withinelement protected float
protected float
float[]
getPlane
(int x) float[]
getPlaneNCI
(int x) Retrieve raw file planes and pass them to the calculation object for processing into new data.protected String
protected float
getSPFv
(float cutoff, boolean isCutoffAbsolute, float valueA, float valueB, T3 pointA, V3 edgeVector, int x, int y, int z, int vA, int vB, float[] fReturn, T3 ptReturn) protected float
getSurfacePointAndFraction
(float cutoff, boolean isCutoffAbsolute, float valueA, float valueB, T3 pointA, V3 edgeVector, int x, int y, int z, int vA, int vB, float[] fReturn, T3 ptReturn) protected String[]
float
getValue
(int x, int y, int z, int ptyz) for readers onlyprotected BS
getVoxelBitSet
(int nPoints) protected boolean
gotoAndReadVoxelData
(boolean isMapData) protected void
gotoData
(int n, int nPoints) protected void
jvxlDecodeContourData
(JvxlData jvxlData, String data) P3[]
jvxlDecodeVertexData
(String data, boolean asArray) decode vertex data found withinelement as created by jvxlEncodeVertexData (see above) protected String
jvxlReadFractionData
(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 void
protected void
jvxlSetColorRanges
(float dataMin, float dataMax, float red, float blue, boolean insideOut) protected void
jvxlSkipData
(int nPoints, boolean doSkipColorData) protected float
protected float
protected float[]
parseFloatArray
(float[] a, String strStart, String strEnd) protected float[]
protected float
parseFloatRange
(String s, int iStart, int iEnd) protected float
protected int
parseInt()
protected int
protected int
protected void
protected String
rd()
protected String
protected void
protected void
readSurfaceData
(boolean isMapDataIgnored) protected void
protected void
readSurfaceDataVFR
(boolean isMapData) protected boolean
protected void
readVector
(int voxelVectorIndex) protected boolean
readVolumeData
(boolean isMapData) protected boolean
readVolumeDataVFR
(boolean isMapData) protected boolean
readVolumeParameters
(boolean isMapData) protected void
readVoxelVector
(int voxelVectorIndex) protected float
recordData
(float value) protected void
setOutputChannel
(OC out) protected void
protected String
skipComments
(boolean allowBlankLines) protected void
skipData
(int nPoints) protected void
skipDataVFR
(int nPoints) protected void
protected void
swapXZ()
Methods inherited from class org.jmol.jvxl.readers.SurfaceReader
addTriangleCheck, addVC, addVertexCopy, discardTempDataSR, finalizeMapping, getMinMaxMappedValues, getPlaneSR, getSPF, getSurfaceAtomIndex, getSurfacePointIndexAndFraction, getValue2, getValueAtPoint, newVoxelDataCube, selectPocket, setBBox, setVectorAnisotropy, setVertexAnisotropy, setVolumeDataV, setVolumetricAnisotropy, setVolumetricOriginAnisotropy, slabIsosurface
-
Field Details
-
JVXL_VERSION
-
surfaceDataCount
protected int surfaceDataCount -
edgeDataCount
protected int edgeDataCount -
colorDataCount
protected int colorDataCount -
haveContourData
protected boolean haveContourData -
isXmlFile
protected boolean isXmlFile -
thisInside
protected boolean thisInside -
bsVoxelBitSet
-
endOfData
protected boolean endOfData -
negativeAtomCount
protected boolean negativeAtomCount -
ac
protected int ac -
nSurfaces
protected int nSurfaces -
isAngstroms
protected boolean isAngstroms -
canDownsample
protected boolean canDownsample -
downsampleRemainders
protected int[] downsampleRemainders -
nData
protected int nData -
readerClosed
protected boolean readerClosed -
downsampleFactor
protected int downsampleFactor -
nSkipX
protected int nSkipX -
nSkipY
protected int nSkipY -
nSkipZ
protected int nSkipZ -
boundingBox
-
br
-
binarydoc
-
out
-
line
-
next
protected int[] next
-
-
Method Details
-
readVolumeData
protected boolean readVolumeData(boolean isMapData) -
gotoAndReadVoxelData
protected boolean gotoAndReadVoxelData(boolean isMapData) - Overrides:
gotoAndReadVoxelData
in classSurfaceReader
-
readParameters
- Throws:
Exception
-
getJVXLCutoff
protected float getJVXLCutoff() -
readVector
- Throws:
Exception
-
gotoData
- Throws:
Exception
-
jvxlSkipData
- Throws:
Exception
-
jvxlReadSurfaceInfo
- Throws:
Exception
-
jvxlSetColorRanges
protected void jvxlSetColorRanges(float dataMin, float dataMax, float red, float blue, boolean insideOut) -
readSurfaceData
- Throws:
Exception
-
readSurfaceDataXML
- Throws:
Exception
-
readSurfaceDataJXR
- Throws:
Exception
-
jvxlReadFractionData
"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
- Returns:
- JVXL bitset
- Throws:
Exception
-
getSurfacePointAndFraction
-
readColorData
- Overrides:
readColorData
in classSurfaceReader
-
getEncodedVertexData
retrieve Jvxl 2.0 format vertex/triangle/edge/color data found withinelement - Throws:
Exception
-
jvxlDecodeVertexData
decode vertex data found withinelement as created by jvxlEncodeVertexData (see above) - Parameters:
data
- tag and contentsasArray
- or just addVertexCopy- Returns:
- Point3f[] if desired
- Throws:
Exception
-
jvxlDecodeContourData
- Throws:
Exception
-
postProcessVertices
protected void postProcessVertices()- Overrides:
postProcessVertices
in classSurfaceReader
-
recordData
protected float recordData(float value) -
closeReader
protected void closeReader() -
readVolumeParameters
protected boolean readVolumeParameters(boolean isMapData) - Specified by:
readVolumeParameters
in classSurfaceReader
-
readVolumeDataVFR
protected boolean readVolumeDataVFR(boolean isMapData) -
skipComments
- Throws:
Exception
-
readVoxelVector
- Throws:
Exception
-
readSurfaceDataVFR
- Throws:
Exception
-
getPlane
public float[] getPlane(int x) - Specified by:
getPlane
in interfaceVertexDataServer
- Overrides:
getPlane
in classSurfaceReader
-
getPlaneNCI
public float[] getPlaneNCI(int x) Retrieve raw file planes and pass them to the calculation object for processing into new data. Bob Hanson hansonr@stolaf.edu 6/7/2011- Parameters:
x
-- Returns:
- plane (for testing)
-
getValue
public float getValue(int x, int y, int z, int ptyz) Description copied from interface:VertexDataServer
for readers only- Specified by:
getValue
in interfaceVertexDataServer
- Overrides:
getValue
in classSurfaceReader
- Returns:
- value[x][y][z]
-
getNextVoxelValue
- Throws:
Exception
-
nextVoxel
- Throws:
Exception
-
skipData
- Throws:
Exception
-
skipDataVFR
- Throws:
Exception
-
checkAtomLine
protected static boolean checkAtomLine(boolean isXLowToHigh, boolean isAngstroms, String strAtomCount, String atomLine, SB 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
-
getSPFv
-
swapXZ
protected void swapXZ() -
setStream
-
setOutputChannel
- Overrides:
setOutputChannel
in classSurfaceReader
-
closeReaderSFR
protected void closeReaderSFR() -
getTokens
-
parseFloat
protected float parseFloat() -
parseFloatStr
-
parseFloatRange
-
parseInt
protected int parseInt() -
parseIntStr
-
parseIntNext
-
parseFloatArrayStr
-
parseFloatArray
-
getQuotedStringNext
-
skipTo
- Throws:
Exception
-
rd
- Throws:
Exception
-