|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jmol.jvxl.readers.SurfaceReader
org.jmol.jvxl.readers.SurfaceFileReader
org.jmol.jvxl.readers.VolumeFileReader
org.jmol.jvxl.readers.JvxlReader
public class JvxlReader
Field Summary | |
---|---|
private int |
colorDataCount
|
static int |
defaultColorFractionBase
|
static int |
defaultColorFractionRange
|
static int |
defaultEdgeFractionBase
|
static int |
defaultEdgeFractionRange
|
private int |
edgeDataCount
|
private int |
fractionPtr
|
private boolean |
haveContourData
|
private static java.lang.String |
JVXL_VERSION
|
private int |
nThisValue
|
private java.lang.String |
strFractionTemp
|
private int |
surfaceDataCount
|
private boolean |
thisInside
|
Fields inherited from class org.jmol.jvxl.readers.VolumeFileReader |
---|
atomCount, canDownsample, endOfData, isAngstroms, negativeAtomCount |
Fields inherited from class org.jmol.jvxl.readers.SurfaceFileReader |
---|
binarydoc, br, line, next |
Constructor Summary | |
---|---|
JvxlReader(SurfaceGenerator sg,
java.io.BufferedReader br)
|
Method Summary | |
---|---|
private int |
countData(java.lang.String str)
|
private void |
getEncodedVertexData()
retrieve Jvxl 2.0 format vertex/triangle/color data found within |
protected float |
getNextVoxelValue(java.lang.StringBuffer sb)
|
protected float |
getSurfacePointAndFraction(float cutoff,
boolean isCutoffAbsolute,
float valueA,
float valueB,
javax.vecmath.Point3f pointA,
javax.vecmath.Vector3f edgeVector,
float[] fReturn,
javax.vecmath.Point3f ptReturn)
|
protected java.util.BitSet |
getVoxelBitSet(int nPoints)
|
private static java.lang.String |
getXmlAttrib(java.lang.String data,
java.lang.String what)
|
private java.lang.String |
getXmlData(java.lang.String name,
java.lang.String data,
boolean withTag)
a relatively simple XML reader for this specific application. |
protected boolean |
gotoAndReadVoxelData(boolean isMapData)
|
protected void |
gotoData(int n,
int nPoints)
|
protected void |
initializeVoxelData()
|
private static void |
jvxlAddDummyAtomList(VolumeData v,
java.lang.StringBuffer bs)
|
private static void |
jvxlAppendCharacter2(float value,
float min,
float max,
int base,
int range,
java.lang.StringBuffer list1,
java.lang.StringBuffer list2)
|
protected static boolean |
jvxlCheckAtomLine(boolean isXLowToHigh,
boolean isAngstroms,
java.lang.String strAtomCount,
java.lang.String atomLine,
java.lang.StringBuffer bs)
checks an atom line for "ANGSTROMS", possibly overriding the data's natural units, BOHR (similar to Gaussian CUBE files). |
static java.lang.String |
jvxlCompressString(java.lang.String data)
|
static void |
jvxlCreateColorData(JvxlData jvxlData,
float[] vertexValues)
|
protected static void |
jvxlCreateHeader(VolumeData v,
int nAtoms,
javax.vecmath.Point3f[] atomXyz,
int[] atomNo,
java.lang.StringBuffer sb)
|
protected static void |
jvxlCreateHeaderWithoutTitleOrAtoms(VolumeData v,
java.lang.StringBuffer bs)
|
private static java.util.BitSet |
jvxlDecodeBitSet(java.lang.String data)
|
private void |
jvxlDecodeContourData(java.lang.String data)
|
(package private) int[][] |
jvxlDecodeTriangleData(java.lang.String data,
java.lang.String colorData,
boolean asArray)
decode triangle data found within |
javax.vecmath.Point3f[] |
jvxlDecodeVertexData(java.lang.String data,
boolean asArray)
decode vertex data found within |
private static int |
jvxlEncodeBitSet(java.util.BitSet bs,
int nPoints,
java.lang.StringBuffer sb)
|
private static void |
jvxlEncodeContourData(java.util.Vector[] contours,
java.lang.StringBuffer sb)
|
static java.lang.String |
jvxlEncodeTriangleData(int[][] triangles,
int nData,
int[] vertexIdNew)
encode triangle data -- [ia ib ic] [ia ib ic] [ia ib ic] ... |
static java.lang.String |
jvxlEncodeVertexData(MeshDataServer meshDataServer,
JvxlData jvxlData,
int[] vertexIdNew,
javax.vecmath.Point3f[] vertices,
float[] vertexValues,
int vertexCount,
short[] polygonColixes,
int polygonCount,
boolean addColorData)
encode the vertex data. |
protected static java.lang.String |
jvxlExtraLine(JvxlData jvxlData,
int n)
|
static char |
jvxlFractionAsCharacter(float fraction)
|
protected static char |
jvxlFractionAsCharacter(float fraction,
int base,
int range)
|
protected static float |
jvxlFractionFromCharacter(int ich,
int base,
int range,
float fracOffset)
|
protected static float |
jvxlFractionFromCharacter2(int ich1,
int ich2,
int base,
int range)
|
static java.lang.String |
jvxlGetDefinitionLine(JvxlData jvxlData,
boolean isInfo)
|
static java.lang.String |
jvxlGetFile(MeshDataServer meshDataServer,
JvxlData jvxlData,
MeshData meshData,
java.lang.String[] title,
java.lang.String msg,
boolean includeHeader,
int nSurfaces,
java.lang.String state,
java.lang.String comment)
|
private float |
jvxlGetNextFraction(int base,
int range,
float fracOffset)
|
protected static void |
jvxlReadAtoms(java.io.BufferedReader br,
java.lang.StringBuffer bs,
int atomCount,
VolumeData v)
|
private java.lang.String |
jvxlReadData(java.lang.String type,
int nPoints)
|
private void |
jvxlReadDefinitionLine(boolean showMsg)
|
private void |
jvxlSkipData(int nPoints,
boolean doSkipColorData)
|
private void |
jvxlSkipDataBlock(int nPoints,
boolean isInt)
|
private static java.lang.String |
jvxlUncompressString(java.lang.String data)
|
protected static void |
jvxlUpdateInfo(JvxlData jvxlData,
java.lang.String[] title,
int nBytes)
|
static void |
jvxlUpdateInfoLines(JvxlData jvxlData)
|
static void |
jvxlUpdateSurfaceData(JvxlData jvxlData,
float[] vertexValues,
int vertexCount,
int vertexIncrement,
char isNaN)
|
protected static char |
jvxlValueAsCharacter(float value,
float min,
float max,
int base,
int range)
|
protected static float |
jvxlValueFromCharacter2(int ich,
int ich2,
float min,
float max,
int base,
int range)
|
protected void |
readAtomCountAndOrigin()
|
protected java.lang.String |
readColorData()
|
protected int |
readExtraLine()
|
protected void |
readSurfaceData(boolean isMapDataIgnored)
|
protected void |
readTitleLines()
|
protected boolean |
readVolumeData(boolean isMapData)
|
static void |
set3dContourVector(java.util.Vector v,
int[][] polygonIndexes,
javax.vecmath.Point3f[] vertices)
|
private static int |
setNext(java.lang.String data,
java.lang.String what,
int[] next,
int offset)
shift pointer to a new tag or field contents |
protected static void |
setSurfaceInfo(JvxlData jvxlData,
javax.vecmath.Point4f thePlane,
int nSurfaceInts,
java.lang.StringBuffer surfaceData)
|
static void |
setSurfaceInfoFromBitSet(JvxlData jvxlData,
java.util.BitSet bs,
javax.vecmath.Point4f thePlane)
|
Methods inherited from class org.jmol.jvxl.readers.VolumeFileReader |
---|
getNextVoxelValue, nextVoxel, readVolumeParameters, readVolumetricHeader, readVoxelVector, skipComments, skipData |
Methods inherited from class org.jmol.jvxl.readers.SurfaceFileReader |
---|
determineFileType, discardTempData, getTokens, parseFloat, parseFloat, parseInt, parseInt, parseIntNext, skipTo |
Methods inherited from class org.jmol.jvxl.readers.SurfaceReader |
---|
addTriangleCheck, addVertexCopy, applyColorScale, colorIsosurface, createIsosurface, excludeMaximumSet, excludeMinimumSet, getArgbFromPalette, getColorIndexFromPalette, getColorPhaseIndex, getMaxMappedValue, getMinMappedValue, getSurfacePointIndexAndFraction, getValue, initializeVolumetricData, jvxlUpdateInfo, resetIsosurface, selectPocket, setVolumeData, updateSurfaceData, updateTriangles |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final java.lang.String JVXL_VERSION
public static final int defaultEdgeFractionBase
public static final int defaultEdgeFractionRange
public static final int defaultColorFractionBase
public static final int defaultColorFractionRange
private int surfaceDataCount
private int edgeDataCount
private int colorDataCount
private boolean haveContourData
private int nThisValue
private boolean thisInside
private int fractionPtr
private java.lang.String strFractionTemp
Constructor Detail |
---|
JvxlReader(SurfaceGenerator sg, java.io.BufferedReader br)
Method Detail |
---|
protected static void jvxlUpdateInfo(JvxlData jvxlData, java.lang.String[] title, int nBytes)
public static void jvxlUpdateInfoLines(JvxlData jvxlData)
protected boolean readVolumeData(boolean isMapData)
readVolumeData
in class VolumeFileReader
protected boolean gotoAndReadVoxelData(boolean isMapData)
gotoAndReadVoxelData
in class SurfaceReader
protected void initializeVoxelData()
protected void readSurfaceData(boolean isMapDataIgnored) throws java.lang.Exception
readSurfaceData
in class VolumeFileReader
java.lang.Exception
protected void readTitleLines() throws java.lang.Exception
readTitleLines
in class VolumeFileReader
java.lang.Exception
protected static boolean jvxlCheckAtomLine(boolean isXLowToHigh, boolean isAngstroms, java.lang.String strAtomCount, java.lang.String atomLine, java.lang.StringBuffer bs)
isXLowToHigh
- isAngstroms
- strAtomCount
- atomLine
- bs
-
protected void readAtomCountAndOrigin() throws java.lang.Exception
readAtomCountAndOrigin
in class VolumeFileReader
java.lang.Exception
protected static void jvxlReadAtoms(java.io.BufferedReader br, java.lang.StringBuffer bs, int atomCount, VolumeData v) throws java.lang.Exception
java.lang.Exception
protected int readExtraLine() throws java.lang.Exception
readExtraLine
in class VolumeFileReader
java.lang.Exception
private void jvxlReadDefinitionLine(boolean showMsg) throws java.lang.Exception
java.lang.Exception
private java.lang.String jvxlReadData(java.lang.String type, int nPoints)
public static java.lang.String jvxlCompressString(java.lang.String data)
private static java.lang.String jvxlUncompressString(java.lang.String data)
protected java.util.BitSet getVoxelBitSet(int nPoints) throws java.lang.Exception
getVoxelBitSet
in class VolumeFileReader
java.lang.Exception
protected float getNextVoxelValue(java.lang.StringBuffer sb) throws java.lang.Exception
java.lang.Exception
public static void setSurfaceInfoFromBitSet(JvxlData jvxlData, java.util.BitSet bs, javax.vecmath.Point4f thePlane)
private static int jvxlEncodeBitSet(java.util.BitSet bs, int nPoints, java.lang.StringBuffer sb)
private static java.util.BitSet jvxlDecodeBitSet(java.lang.String data)
protected static void setSurfaceInfo(JvxlData jvxlData, javax.vecmath.Point4f thePlane, int nSurfaceInts, java.lang.StringBuffer surfaceData)
protected float getSurfacePointAndFraction(float cutoff, boolean isCutoffAbsolute, float valueA, float valueB, javax.vecmath.Point3f pointA, javax.vecmath.Vector3f edgeVector, float[] fReturn, javax.vecmath.Point3f ptReturn)
getSurfacePointAndFraction
in class SurfaceReader
private float jvxlGetNextFraction(int base, int range, float fracOffset)
protected java.lang.String readColorData()
readColorData
in class SurfaceReader
protected void gotoData(int n, int nPoints) throws java.lang.Exception
gotoData
in class VolumeFileReader
java.lang.Exception
private void jvxlSkipData(int nPoints, boolean doSkipColorData) throws java.lang.Exception
java.lang.Exception
private void jvxlSkipDataBlock(int nPoints, boolean isInt) throws java.lang.Exception
java.lang.Exception
private int countData(java.lang.String str)
protected static void jvxlCreateHeaderWithoutTitleOrAtoms(VolumeData v, java.lang.StringBuffer bs)
protected static void jvxlCreateHeader(VolumeData v, int nAtoms, javax.vecmath.Point3f[] atomXyz, int[] atomNo, java.lang.StringBuffer sb)
private static void jvxlAddDummyAtomList(VolumeData v, java.lang.StringBuffer bs)
public static java.lang.String jvxlGetDefinitionLine(JvxlData jvxlData, boolean isInfo)
protected static java.lang.String jvxlExtraLine(JvxlData jvxlData, int n)
public static java.lang.String jvxlGetFile(MeshDataServer meshDataServer, JvxlData jvxlData, MeshData meshData, java.lang.String[] title, java.lang.String msg, boolean includeHeader, int nSurfaces, java.lang.String state, java.lang.String comment)
private static void jvxlEncodeContourData(java.util.Vector[] contours, java.lang.StringBuffer sb)
protected static float jvxlFractionFromCharacter(int ich, int base, int range, float fracOffset)
protected static float jvxlValueFromCharacter2(int ich, int ich2, float min, float max, int base, int range)
protected static float jvxlFractionFromCharacter2(int ich1, int ich2, int base, int range)
protected static char jvxlValueAsCharacter(float value, float min, float max, int base, int range)
public static char jvxlFractionAsCharacter(float fraction)
protected static char jvxlFractionAsCharacter(float fraction, int base, int range)
private static void jvxlAppendCharacter2(float value, float min, float max, int base, int range, java.lang.StringBuffer list1, java.lang.StringBuffer list2)
public static void jvxlUpdateSurfaceData(JvxlData jvxlData, float[] vertexValues, int vertexCount, int vertexIncrement, char isNaN)
public static void jvxlCreateColorData(JvxlData jvxlData, float[] vertexValues)
public static java.lang.String jvxlEncodeTriangleData(int[][] triangles, int nData, int[] vertexIdNew)
triangles
- nData
- vertexIdNew
-
public static java.lang.String jvxlEncodeVertexData(MeshDataServer meshDataServer, JvxlData jvxlData, int[] vertexIdNew, javax.vecmath.Point3f[] vertices, float[] vertexValues, int vertexCount, short[] polygonColixes, int polygonCount, boolean addColorData)
meshDataServer
- jvxlData
- vertexIdNew
- vertices
- vertexValues
- vertexCount
- polygonColixes
- polygonCount
- addColorData
-
private void getEncodedVertexData() throws java.lang.Exception
java.lang.Exception
private void jvxlDecodeContourData(java.lang.String data) throws java.lang.Exception
java.lang.Exception
public static void set3dContourVector(java.util.Vector v, int[][] polygonIndexes, javax.vecmath.Point3f[] vertices)
private java.lang.String getXmlData(java.lang.String name, java.lang.String data, boolean withTag) throws java.lang.Exception
name
- data
- withTag
-
java.lang.Exception
public javax.vecmath.Point3f[] jvxlDecodeVertexData(java.lang.String data, boolean asArray)
data
- tag and contentsasArray
- or just addVertexCopy
int[][] jvxlDecodeTriangleData(java.lang.String data, java.lang.String colorData, boolean asArray)
data
- tag and contentscolorData
- asArray
- or just addTriangleCheck
private static java.lang.String getXmlAttrib(java.lang.String data, java.lang.String what)
private static int setNext(java.lang.String data, java.lang.String what, int[] next, int offset)
data
- string of datawhat
- tag or field namenext
- current pointer into dataoffset
- offset past end of "what" for pointer
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |