Package org.jmol.shapesurface
Class Contact
- java.lang.Object
-
- org.jmol.shape.Shape
-
- org.jmol.shape.MeshCollection
-
- org.jmol.shapesurface.Isosurface
-
- org.jmol.shapesurface.Contact
-
- All Implemented Interfaces:
MeshDataServer
,VertexDataServer
public class Contact extends Isosurface
-
-
Field Summary
Fields Modifier and Type Field Description private int
ac
protected Atom[]
atoms
protected int
displayType
private float
maxData
private float
minData
private javajs.util.P3
pt1
private javajs.util.P3
pt2
private static RadiusData
rdVDW
private javajs.util.V3
vX
private javajs.util.V3
vY
private javajs.util.V3
vZ
-
Fields inherited from class org.jmol.shapesurface.Isosurface
allowMesh, iHaveBitSets, isomeshes, keyXy, sg, thisMesh
-
Fields inherited from class org.jmol.shape.MeshCollection
bsDisplay, colix, color, connections, currentMesh, displayWithinDistance2, displayWithinPoints, explicitID, htObjects, isDisplayWithinNot, isFixed, jvxlData, linkedMesh, meshCount, meshes, modelIndex, nUnnamed, pickedMesh, pickedModel, pickedPt, pickedVertex, PREVIOUS_MESH_ID, previousMeshID, title
-
Fields inherited from class org.jmol.shape.Shape
bsColixSet, bsSizeSet, isBioShape, ms, myType, RADIUS_MAX, shapeID, translucentAllowed, translucentLevel, vf, vwr
-
-
Constructor Summary
Constructors Constructor Description Contact()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addMeshInfo(IsosurfaceMesh mesh, java.util.Map<java.lang.String,java.lang.Object> info)
private static int
checkCp(ContactPair cp1, ContactPair cp2, int i1, int i2)
private float
combineSurfaces(javajs.util.Lst<ContactPair> pairs, int contactType, int displayType, float[] parameters, java.lang.Object func, boolean isColorDensity, boolean colorByType)
private javajs.util.Lst<ContactPair>
getPairs(javajs.util.BS bsA, javajs.util.BS bsB, RadiusData rd, int intramolecularMode, boolean doEditCpList)
protected java.lang.Object
getPropC(java.lang.String property, int index)
java.lang.Object
getProperty(java.lang.String property, int index)
private static void
getVdwClashRadius(ContactPair cp, double x0, double vdwA, double vdwB, double d)
well, heh, heh...void
initShape()
private boolean
isWithinFourBonds(Atom atomA, Atom atomB)
private void
mergeMesh(MeshData md)
private void
newSurface(int displayType, ContactPair cp, javajs.util.BS bs1, javajs.util.BS bs2, RadiusData rd, float[] parameters, java.lang.Object func, boolean isColorDensity, VolumeData volumeData, float sasurfaceRadius)
private int
setColorByScore(float score, int nV)
private void
setContacts(java.lang.Object[] value, boolean doEditCpList)
void
setProperty(java.lang.String propertyName, java.lang.Object value, javajs.util.BS bs)
private void
setVolumeData(int type, VolumeData volumeData, ContactPair cp, float resolution, int nPairs)
-
Methods inherited from class org.jmol.shapesurface.Isosurface
addRequiredFile, addTriangleCheck, addVertexCopy, allocMesh, calculateGeodesicSurface, checkObjectClicked, checkObjectHovered, clearSg, discardTempData, fillMeshData, getCapSlabInfo, getCmd, getPlane, getPolygonColorData, getPropertyData, getPropI, getShapeDetail, getShapeState, getSurfacePointIndexAndFraction, getValue, getValues, getVertices, invalidateTriangles, newSg, notifySurfaceGenerationCompleted, notifySurfaceMappingCompleted, setOutputChannel, setPropI, setRequiredFile, setScriptInfo, slabPolygons
-
Methods inherited from class org.jmol.shape.MeshCollection
checkExplicit, clean, deleteMeshI, deleteMeshKey, getIndexFromName, getMesh, getMeshList, getPickedPoint, getPropDataMC, getPropMC, merge, resetObjects, setModelVisibilityFlags, setPropMC, setStatusPicked, setTokenProperty
-
Methods inherited from class org.jmol.shape.Shape
appendCmd, checkBoundsMinMax, checkObjectDragged, coordinateInRange, encodeColor, findNearestAtomIndex, getColix, getColixA, getColixB, getColixI, getColorCommand, getColorCommandUnk, getFontCommand, getPropShape, getSize, getSizeG, getTranslucentLabel, initializeShape, initModelSet, replaceGroup, setAtomClickability, setModelSet, setPropS, setShapeSizeRD, setSize, setSizeRD, wasClicked
-
-
-
-
Field Detail
-
displayType
protected int displayType
-
atoms
protected Atom[] atoms
-
ac
private int ac
-
minData
private float minData
-
maxData
private float maxData
-
rdVDW
private static final RadiusData rdVDW
-
vZ
private javajs.util.V3 vZ
-
vY
private javajs.util.V3 vY
-
vX
private javajs.util.V3 vX
-
pt1
private javajs.util.P3 pt1
-
pt2
private javajs.util.P3 pt2
-
-
Method Detail
-
initShape
public void initShape()
- Overrides:
initShape
in classIsosurface
-
getProperty
public java.lang.Object getProperty(java.lang.String property, int index)
- Overrides:
getProperty
in classIsosurface
- Returns:
- true if serviced
-
getPropC
protected java.lang.Object getPropC(java.lang.String property, int index)
-
setProperty
public void setProperty(java.lang.String propertyName, java.lang.Object value, javajs.util.BS bs)
- Overrides:
setProperty
in classIsosurface
-
setContacts
private void setContacts(java.lang.Object[] value, boolean doEditCpList)
-
combineSurfaces
private float combineSurfaces(javajs.util.Lst<ContactPair> pairs, int contactType, int displayType, float[] parameters, java.lang.Object func, boolean isColorDensity, boolean colorByType)
- Parameters:
pairs
-contactType
-displayType
-parameters
-func
-isColorDensity
-colorByType
-- Returns:
- volume
-
setColorByScore
private int setColorByScore(float score, int nV)
-
getPairs
private javajs.util.Lst<ContactPair> getPairs(javajs.util.BS bsA, javajs.util.BS bsB, RadiusData rd, int intramolecularMode, boolean doEditCpList)
- Parameters:
bsA
-bsB
-rd
-intramolecularMode
-doEditCpList
-- Returns:
- a list of pairs of atoms to process
-
checkCp
private static int checkCp(ContactPair cp1, ContactPair cp2, int i1, int i2)
- Parameters:
cp1
-cp2
-i1
-i2
-- Returns:
- 0 (no clash); 1 (remove #1); 2 (remove #2)
-
newSurface
private void newSurface(int displayType, ContactPair cp, javajs.util.BS bs1, javajs.util.BS bs2, RadiusData rd, float[] parameters, java.lang.Object func, boolean isColorDensity, VolumeData volumeData, float sasurfaceRadius)
-
setVolumeData
private void setVolumeData(int type, VolumeData volumeData, ContactPair cp, float resolution, int nPairs)
-
mergeMesh
private void mergeMesh(MeshData md)
-
addMeshInfo
protected void addMeshInfo(IsosurfaceMesh mesh, java.util.Map<java.lang.String,java.lang.Object> info)
- Overrides:
addMeshInfo
in classIsosurface
-
getVdwClashRadius
private static void getVdwClashRadius(ContactPair cp, double x0, double vdwA, double vdwB, double d)
well, heh, heh... This calculates the VDW extension x at a given distance for a clashing pair that will produce a volume that is equivalent to the volume for the vdw contact at the point of touching (d0 = vdwA + vdwB) and the transition to clash. This will provide the surface that will surround the clash until the clash size is larger than it.- Parameters:
cp
-x0
-vdwA
-vdwB
-d
-
-
-