class IsoSolventReader extends AtomDataReader
Modifier and Type | Class and Description |
---|---|
private class |
IsoSolventReader.Edge |
private class |
IsoSolventReader.Face |
Modifier and Type | Field and Description |
---|---|
private BS[] |
bsAtomMinMax |
private BS[] |
bsLocale |
private BS |
bsSurfaceDone |
private BS |
bsSurfacePoints |
private float |
cavityRadius |
private float |
dAB |
private float |
dAB2 |
private boolean |
doCalculateTroughs |
private javajs.util.P3[] |
dots |
private float |
ecosASB2 |
private float |
envelopeRadius |
private java.util.Map<java.lang.String,IsoSolventReader.Edge> |
htEdges |
private int |
iAtomSurface |
private boolean |
isCavity |
private boolean |
isPocket |
private boolean |
isSurfacePoint |
private AtomIndexIterator |
iter |
(package private) int |
nTest |
protected javajs.util.P3 |
p |
protected javajs.util.P4 |
plane |
private javajs.util.P3 |
ptS1 |
private javajs.util.P3 |
ptS2 |
protected javajs.util.P3 |
ptTemp2 |
private float |
rAS |
private float |
rAS2 |
private float |
rBS |
private float |
rBS2 |
private static boolean |
testLinear |
protected javajs.util.Lst<IsoSolventReader.Edge> |
vEdges |
private javajs.util.Lst<IsoSolventReader.Face> |
vFaces |
protected javajs.util.V3 |
vTemp |
protected javajs.util.V3 |
vTemp2 |
ac, atomData, atomIndex, atomNo, atomProp, atomRadius, atomXyz, bsMyIgnored, bsMySelected, bsNearby, bsSurfaceVoxels, contactPair, doAddHydrogens, doUseIterator, fileDotModel, fileName, firstNearbyAtom, haveOneProperty, havePlane, margin, maxDistance, maxRS, modelIndex, myAtomCount, myIndex, nearbyAtomCount, noFaceSpheres, pt0, pt1, ptV, ptY0, ptZ0, rs, rs2, sr, theProperty, thisAtomSet, thisPlane, thisX, validSpheres, vl0, vl1, vl2, voxelSource
allowMapData, dataType, maxGrid, point, precalculateVoxelData, ptsPerAngstrom, useOriginStepsPoints
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 and Description |
---|
IsoSolventReader() |
Modifier and Type | Method and Description |
---|---|
int |
addVertexCopy(javajs.util.T3 vertexXYZ,
float value,
int assocVertex,
boolean asCopy)
addVertexCopy is used by the Marching Squares algorithm to
uniquely identify a new vertex when an edge is crossed in the 2D plane.
|
private float |
checkSpecialVoxel(javajs.util.P3 ptA,
javajs.util.P3 ptB,
javajs.util.P3 ptV) |
(package private) void |
discardTempData(boolean discardAll) |
(package private) void |
dumpLine(javajs.util.P3 pt1,
javajs.util.T3 pt2,
java.lang.String label,
java.lang.String color) |
(package private) void |
dumpLine2(javajs.util.P3 pt1,
javajs.util.P3 pt2,
java.lang.String label,
float d,
java.lang.String color1,
java.lang.String color2) |
(package private) void |
dumpPoint(javajs.util.P3 pt,
java.lang.String label,
java.lang.String color) |
protected IsoSolventReader.Edge |
findEdge(int i,
int j) |
protected void |
generateCube() |
private void |
generateSolventCavity() |
private void |
generateSolventCube() |
private void |
getEdges() |
private void |
getFaces() |
float[] |
getPlane(int x) |
private boolean |
getSolventPoints(IsoSolventReader.Edge edge,
int ia,
int ib,
int ic) |
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 vA0,
int vB0,
float[] fReturn,
javajs.util.T3 ptReturn)
TEST: alternative EXACT position of fraction for spherical MarchingCubes
FOR: ttest.xyz:
2
isosurface molecular test showing discontinuities
C -2.70 0 0
C 2.75 0 0
RESULT:
LINEAR (points slightly within R):
$ isosurface resolution 5 volume area solvent 1.5 full
isosurface1 created with cutoff=0.0; number of isosurfaces = 1
isosurfaceArea = [75.06620391572324]
isosurfaceVolume = [41.639681683494324]
NONLINEAR:
$ isosurface resolution 5 volume area solvent 1.5 full
isosurface1 created with cutoff=0.0; number of isosurfaces = 1
isosurfaceArea = [75.11873783245028]
isosurfaceVolume = [41.727027252180655]
revision 3/16/2014:
isosurfaceArea = [75.13146821881998]
isosurfaceVolume = [41.74598178064965]
MSMS:
msms -if ttest.xyzrn -of ttest -density 5
MSMS 2.6.1 started on Local PC
Copyright M.F.
|
float |
getValueAtPoint(javajs.util.T3 pt,
boolean getSource) |
(package private) void |
init(SurfaceGenerator sg)
implemented in SurfaceFileReader and
|
private void |
markFaceVoxels(boolean firstPass) |
private void |
markToroidVoxels() |
protected void |
postProcessVertices() |
protected boolean |
readVolumeParameters(boolean isMapData) |
void |
selectPocket(boolean doExclude) |
protected void |
setup(boolean isMapData) |
private float |
solventDistance(float rAS,
float rAS2,
float rBS2,
float dAV,
float dAV2,
float dBV2) |
protected void |
unsetVoxelData() |
private IsoSolventReader.Face |
validateFace(int ia,
int ib,
int ic,
IsoSolventReader.Edge edge,
javajs.util.P3 ptS) |
getAtomMinMax, getAtoms, initADR, markPlaneVoxels, markSphereVoxels, resetPlane, resetVoxelData, setGridLimitsForAtom, setHeader, setRadii, setRanges, setup2, setVertexSource, setVolumeData, setVolumeDataADR, setVolumeForPlane, setVoxel, unsetVoxelData2
closeReader, initVDR, readSurfaceData, readSurfaceDataVDR, readVolumeData, readVoxelDataIndividually, setVolumeDataParams, setVoxelRange, showGridInfo
addTriangleCheck, addVC, applyColorScale, colorIsosurface, createIsosurface, discardTempDataSR, excludeMaximumSet, excludeMinimumSet, finalizeMapping, getColorPhaseIndex, getMinMaxMappedValues, getPlane2, getSPF, getSurfaceAtomIndex, getSurfacePointIndexAndFraction, getValue, getValue2, gotoAndReadVoxelData, gotoData, initializeMapping, initializeVolumetricData, initPlanes, initSR, jvxlUpdateInfo, newVoxelDataCube, readAndSetVolumeParameters, readColorData, resetIsosurface, setBBox, setOutputChannel, setVectorAnisotropy, setVertexAnisotropy, setVolumeDataV, setVolumetricAnisotropy, setVolumetricOriginAnisotropy, slabIsosurface, updateSurfaceData, updateTriangles
private float cavityRadius
private float envelopeRadius
private javajs.util.P3[] dots
private boolean doCalculateTroughs
private boolean isCavity
private boolean isPocket
private AtomIndexIterator iter
private BS bsSurfacePoints
private BS bsSurfaceDone
private BS[] bsLocale
private java.util.Map<java.lang.String,IsoSolventReader.Edge> htEdges
protected javajs.util.Lst<IsoSolventReader.Edge> vEdges
private javajs.util.Lst<IsoSolventReader.Face> vFaces
private final javajs.util.P3 ptS1
private final javajs.util.P3 ptS2
protected final javajs.util.V3 vTemp
protected final javajs.util.P4 plane
protected final javajs.util.P3 ptTemp2
protected final javajs.util.V3 vTemp2
protected final javajs.util.P3 p
private static boolean testLinear
private BS[] bsAtomMinMax
private boolean isSurfacePoint
private int iAtomSurface
int nTest
private float rAS
private float rBS
private float rAS2
private float rBS2
private float dAB
private float dAB2
private float ecosASB2
void init(SurfaceGenerator sg)
SurfaceReader
init
in class VolumeDataReader
protected boolean readVolumeParameters(boolean isMapData)
readVolumeParameters
in class VolumeDataReader
protected void setup(boolean isMapData)
setup
in class AtomDataReader
protected void generateCube()
generateCube
in class VolumeDataReader
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 vA0, int vB0, float[] fReturn, javajs.util.T3 ptReturn)
getSurfacePointAndFraction
in class SurfaceReader
cutoff
- isCutoffAbsolute
- valueA
- valueB
- pointA
- edgeVector
- fReturn
- ptReturn
- public int addVertexCopy(javajs.util.T3 vertexXYZ, float value, int assocVertex, boolean asCopy)
VertexDataServer
addVertexCopy
in interface VertexDataServer
addVertexCopy
in class SurfaceReader
assocVertex
- unique association vertex or -1public void selectPocket(boolean doExclude)
selectPocket
in class SurfaceReader
protected void postProcessVertices()
postProcessVertices
in class SurfaceReader
private void generateSolventCavity()
private void generateSolventCube()
private void getEdges()
protected IsoSolventReader.Edge findEdge(int i, int j)
private void getFaces()
private IsoSolventReader.Face validateFace(int ia, int ib, int ic, IsoSolventReader.Edge edge, javajs.util.P3 ptS)
private void markFaceVoxels(boolean firstPass)
private void markToroidVoxels()
protected void unsetVoxelData()
unsetVoxelData
in class AtomDataReader
private boolean getSolventPoints(IsoSolventReader.Edge edge, int ia, int ib, int ic)
private float checkSpecialVoxel(javajs.util.P3 ptA, javajs.util.P3 ptB, javajs.util.P3 ptV)
private float solventDistance(float rAS, float rAS2, float rBS2, float dAV, float dAV2, float dBV2)
void dumpLine(javajs.util.P3 pt1, javajs.util.T3 pt2, java.lang.String label, java.lang.String color)
void dumpLine2(javajs.util.P3 pt1, javajs.util.P3 pt2, java.lang.String label, float d, java.lang.String color1, java.lang.String color2)
void dumpPoint(javajs.util.P3 pt, java.lang.String label, java.lang.String color)
public float getValueAtPoint(javajs.util.T3 pt, boolean getSource)
getValueAtPoint
in class SurfaceReader
getSource
- TODOvoid discardTempData(boolean discardAll)
discardTempData
in class SurfaceReader
public float[] getPlane(int x)
getPlane
in interface VertexDataServer
getPlane
in class SurfaceReader