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 javajs.util.BSbsVoxelBitSetprotected intcolorDataCountprivate intcolorPtrprotected intedgeDataCountprivate intexcludedTriangleCountprivate intexcludedVertexCountprivate intfractionPtrprotected booleanhaveContourData(package private) booleanhaveReadColorDataprivate booleanincludeValueNaNprivate intinvalidatedVertexCountprotected booleanisXmlFileprotected StringJVXL_VERSIONprivate StringjvxlColorEncodingReadprivate StringstrFractionTempprotected intsurfaceDataCount(package private) 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, readerClosed
-
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(String c)private StringgetData(String sdata, String name)protected voidgetEncodedVertexData()retrieve Jvxl 2.0 format vertex/triangle/edge/color data found within <jvxlSurfaceData> elementprivate static StringgetEncoding(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 javajs.util.BSgetVoxelBitSet(int nPoints)protected booleangotoAndReadVoxelData(boolean isMapData)protected voidgotoData(int n, int nPoints)(package private) voidinit2(SurfaceGenerator sg, BufferedReader br)(package private) voidinit2JXR(SurfaceGenerator sg, BufferedReader br)protected voidjvxlDecodeContourData(JvxlData jvxlData, String data)(package private) voidjvxlDecodeTriangleData(String tdata, String edgeData, String colorData)decode triangle data found within <jvxlTriangleData> element as created with jvxlEncodeTriangleData (see above)javajs.util.P3[]jvxlDecodeVertexData(String data, boolean asArray)decode vertex data found within <jvxlVertexData> element as created by jvxlEncodeVertexData (see above)private floatjvxlGetNextFraction(int base, int range, float fracOffset)protected StringjvxlReadFractionData(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 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 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
String tempDataXml
-
bsVoxelBitSet
protected javajs.util.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 String strFractionTemp
-
haveReadColorData
boolean haveReadColorData
-
jvxlColorEncodingRead
private String jvxlColorEncodingRead
-
-
Method Detail
-
init2
void init2(SurfaceGenerator sg, BufferedReader br)
- Overrides:
init2in classVolumeFileReader
-
init2JXR
void init2JXR(SurfaceGenerator sg, 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 Exception- Specified by:
readParametersin classVolumeFileReader- Throws:
Exception
-
gotoData
protected void gotoData(int n, int nPoints) throws Exception- Overrides:
gotoDatain classVolumeFileReader- Throws:
Exception
-
jvxlSkipData
protected void jvxlSkipData(int nPoints, boolean doSkipColorData) throws Exception- Throws:
Exception
-
jvxlSetColorRanges
protected void jvxlSetColorRanges(float dataMin, float dataMax, float red, float blue, boolean insideOut)
-
readSurfaceData
protected void readSurfaceData(boolean isMapDataIgnored) throws Exception- Overrides:
readSurfaceDatain classVolumeFileReader- Throws:
Exception
-
jvxlReadFractionData
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. 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 javajs.util.BS getVoxelBitSet(int nPoints) throws Exception- Overrides:
getVoxelBitSetin classVolumeFileReader- Returns:
- JVXL bitset
- Throws:
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 String readColorData()
- Overrides:
readColorDatain classSurfaceReader
-
getColor
private static int getColor(String c)
-
getEncodedVertexData
protected void getEncodedVertexData() throws Exceptionretrieve Jvxl 2.0 format vertex/triangle/edge/color data found within <jvxlSurfaceData> element- Throws:
Exception
-
jvxlDecodeVertexData
public javajs.util.P3[] jvxlDecodeVertexData(String data, boolean asArray) throws Exception
decode vertex data found within <jvxlVertexData> element as created by jvxlEncodeVertexData (see above)- Parameters:
data- tag and contentsasArray- or just addVertexCopy- Returns:
- Point3f[] if desired
- Throws:
Exception
-
jvxlDecodeTriangleData
void jvxlDecodeTriangleData(String tdata, String edgeData, String colorData) throws Exception
decode triangle data found within <jvxlTriangleData> element as created with jvxlEncodeTriangleData (see above)- Parameters:
tdata- tag and contentsedgeData-colorData-- Throws:
Exception
-
jvxlDecodeContourData
protected void jvxlDecodeContourData(JvxlData jvxlData, String data) throws Exception
- Throws:
Exception
-
postProcessVertices
protected void postProcessVertices()
- Overrides:
postProcessVerticesin classSurfaceReader
-
-