Package org.jmol.jvxl.readers
Class VolumeFileReader
- java.lang.Object
-
- org.jmol.jvxl.readers.SurfaceReader
-
- org.jmol.jvxl.readers.SurfaceFileReader
-
- org.jmol.jvxl.readers.VolumeFileReader
-
- All Implemented Interfaces:
VertexDataServer
- Direct Known Subclasses:
ApbsReader,CubeReader,DelPhiBinaryReader,JaguarReader,JvxlXmlReader,MapFileReader,PeriodicVolumeFileReader,PltFormattedReader,UhbdReader,XsfReader
abstract class VolumeFileReader extends SurfaceFileReader
-
-
Field Summary
Fields Modifier and Type Field Description protected intacprotected javajs.util.P3[]boundingBoxprotected booleancanDownsampleprotected intdownsampleFactorprotected int[]downsampleRemaindersprotected booleanendOfDataprivate booleangetNCIPlanesprivate intiPlaneNCIprotected booleanisAngstromsprivate booleanisScaledAlreadyprotected intnDataprotected booleannegativeAtomCountprotected intnSkipXprotected intnSkipYprotected intnSkipZprotected intnSurfacesprivate booleanreaderClosedprivate float[][]yzPlanesRaw-
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 VolumeFileReader()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected static booleancheckAtomLine(boolean isXLowToHigh, boolean isAngstroms, java.lang.String strAtomCount, java.lang.String atomLine, javajs.util.SB bs)checks an atom line for "ANGSTROMS", possibly overriding the data's natural units, BOHR (similar to Gaussian CUBE files).protected voidcloseReader()private intcountData(java.lang.String str)protected floatgetNextVoxelValue()float[]getPlane(int x)float[]getPlaneNCI(int x)Retrieve raw file planes and pass them to the calculation object for processing into new data.private voidgetPlaneVFR(float[] plane, boolean doRecord)protected floatgetSPFv(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 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)floatgetValue(int x, int y, int z, int ptyz)for readers onlyprotected BSgetVoxelBitSet(int nPoints)protected voidgotoData(int n, int nPoints)(package private) voidinit2(SurfaceGenerator sg, java.io.BufferedReader br)(package private) voidinit2VFR(SurfaceGenerator sg, java.io.BufferedReader br)(package private) voidinitializeSurfaceData()protected floatnextVoxel()protected abstract voidreadParameters()protected voidreadSurfaceData(boolean isMapData)protected voidreadSurfaceDataVFR(boolean isMapData)protected booleanreadVolumeData(boolean isMapData)protected booleanreadVolumeDataVFR(boolean isMapData)protected booleanreadVolumeParameters(boolean isMapData)private intreadVolumetricHeader()protected voidreadVoxelVector(int voxelVectorIndex)protected floatrecordData(float value)private voidscaleIsosurface(float scale)protected java.lang.StringskipComments(boolean allowBlankLines)protected voidskipData(int nPoints)protected voidskipDataVFR(int nPoints)private voidskipVoxels(int n)protected voidswapXZ()-
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, gotoAndReadVoxelData, initializeMapping, initializeVolumetricData, initPlanes, initSR, jvxlUpdateInfo, newVoxelDataCube, postProcessVertices, readAndSetVolumeParameters, readColorData, resetIsosurface, selectPocket, setBBox, setVectorAnisotropy, setVertexAnisotropy, setVolumeDataV, setVolumetricAnisotropy, setVolumetricOriginAnisotropy, slabIsosurface, updateSurfaceData, updateTriangles
-
-
-
-
Field Detail
-
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
-
getNCIPlanes
private boolean getNCIPlanes
-
nData
protected int nData
-
readerClosed
private boolean readerClosed
-
downsampleFactor
protected int downsampleFactor
-
nSkipX
protected int nSkipX
-
nSkipY
protected int nSkipY
-
nSkipZ
protected int nSkipZ
-
yzPlanesRaw
private float[][] yzPlanesRaw
-
iPlaneNCI
private int iPlaneNCI
-
boundingBox
protected javajs.util.P3[] boundingBox
-
isScaledAlready
private boolean isScaledAlready
-
-
Method Detail
-
init2
void init2(SurfaceGenerator sg, java.io.BufferedReader br)
- Overrides:
init2in classSurfaceFileReader
-
init2VFR
void init2VFR(SurfaceGenerator sg, java.io.BufferedReader br)
-
recordData
protected float recordData(float value)
-
closeReader
protected void closeReader()
- Overrides:
closeReaderin classSurfaceFileReader
-
readVolumeParameters
protected boolean readVolumeParameters(boolean isMapData)
- Specified by:
readVolumeParametersin classSurfaceReader
-
readVolumeData
protected boolean readVolumeData(boolean isMapData)
- Specified by:
readVolumeDatain classSurfaceReader
-
readVolumeDataVFR
protected boolean readVolumeDataVFR(boolean isMapData)
-
readVolumetricHeader
private int readVolumetricHeader()
-
readParameters
protected abstract void readParameters() throws java.lang.Exception- Throws:
java.lang.Exception
-
skipComments
protected java.lang.String skipComments(boolean allowBlankLines) throws java.lang.Exception- Throws:
java.lang.Exception
-
readVoxelVector
protected void readVoxelVector(int voxelVectorIndex) throws java.lang.Exception- Throws:
java.lang.Exception
-
initializeSurfaceData
void initializeSurfaceData()
-
readSurfaceData
protected void readSurfaceData(boolean isMapData) throws java.lang.Exception- Specified by:
readSurfaceDatain classSurfaceReader- Throws:
java.lang.Exception
-
readSurfaceDataVFR
protected void readSurfaceDataVFR(boolean isMapData) throws java.lang.Exception- Throws:
java.lang.Exception
-
getPlane
public float[] getPlane(int x)
- Specified by:
getPlanein interfaceVertexDataServer- Overrides:
getPlanein 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)
-
getPlaneVFR
private void getPlaneVFR(float[] plane, boolean doRecord)
-
getValue
public float getValue(int x, int y, int z, int ptyz)Description copied from interface:VertexDataServerfor readers only- Specified by:
getValuein interfaceVertexDataServer- Overrides:
getValuein classSurfaceReader- Returns:
- value[x][y][z]
-
skipVoxels
private void skipVoxels(int n) throws java.lang.Exception- Throws:
java.lang.Exception
-
getVoxelBitSet
protected BS getVoxelBitSet(int nPoints) throws java.lang.Exception
- Parameters:
nPoints-- Returns:
- JVXL bitset
- Throws:
java.lang.Exception
-
getNextVoxelValue
protected float getNextVoxelValue() throws java.lang.Exception- Throws:
java.lang.Exception
-
nextVoxel
protected float nextVoxel() throws java.lang.Exception- Throws:
java.lang.Exception
-
gotoData
protected void gotoData(int n, int nPoints) throws java.lang.Exception- Overrides:
gotoDatain classSurfaceReader- Throws:
java.lang.Exception
-
skipData
protected void skipData(int nPoints) throws java.lang.Exception- Throws:
java.lang.Exception
-
skipDataVFR
protected void skipDataVFR(int nPoints) throws java.lang.Exception- Throws:
java.lang.Exception
-
countData
private int countData(java.lang.String str)
-
checkAtomLine
protected static boolean checkAtomLine(boolean isXLowToHigh, boolean isAngstroms, java.lang.String strAtomCount, java.lang.String atomLine, javajs.util.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
-
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 classSurfaceReader
-
getSPFv
protected float getSPFv(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)
-
scaleIsosurface
private void scaleIsosurface(float scale)
-
swapXZ
protected void swapXZ()
-
-