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 intacprotected Atom[]atomsprivate floatmaxDataprivate floatminDataprivate javajs.util.P3pt1private javajs.util.P3pt2private static RadiusDatardVDWprivate javajs.util.V3vXprivate javajs.util.V3vYprivate javajs.util.V3vZ-
Fields inherited from class org.jmol.shapesurface.Isosurface
allowMesh, iHaveBitSets, jvxlData, keyXy, sg, thisMesh
-
Fields inherited from class org.jmol.shape.MeshCollection
bsDisplay, colix, color, connections, currentMesh, displayWithinDistance2, displayWithinPoints, explicitID, htObjects, isDisplayWithinNot, isFixed, 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 voidaddMeshInfo(IsosurfaceMesh mesh, java.util.Map<java.lang.String,java.lang.Object> info)private static intcheckCp(ContactPair cp1, ContactPair cp2, int i1, int i2)private floatcombineSurfaces(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(BS bsA, BS bsB, RadiusData rd, int intramolecularMode, boolean doEditCpList)private static voidgetVdwClashRadius(ContactPair cp, double x0, double vdwA, double vdwB, double d)well, heh, heh...voidinitShape()private booleanisWithinFourBonds(Atom atomA, Atom atomB)private voidmergeMesh(MeshData md)private voidnewSurface(int displayType, ContactPair cp, BS bs1, BS bs2, RadiusData rd, float[] parameters, java.lang.Object func, boolean isColorDensity, VolumeData volumeData, float sasurfaceRadius)private intsetColorByScore(float score, int nV)private voidsetContacts(java.lang.Object[] value, boolean doEditCpList)voidsetProperty(java.lang.String propertyName, java.lang.Object value, BS bs)private voidsetVolumeData(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, getProperty, getPropertyData, getPropI, getShapeDetail, getShapeState, getSurfacePointIndexAndFraction, getValue, invalidateTriangles, newSg, notifySurfaceGenerationCompleted, notifySurfaceMappingCompleted, setOutputChannel, setPropI, 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
-
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:
initShapein classIsosurface
-
setProperty
public void setProperty(java.lang.String propertyName, java.lang.Object value, BS bs)- Overrides:
setPropertyin 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(BS bsA, 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, BS bs1, 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:
addMeshInfoin 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-
-
-