Class Contact

All Implemented Interfaces:
MeshDataServer, VertexDataServer

public class Contact extends Isosurface
  • Field Details

    • 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
  • Constructor Details

    • Contact

      public Contact()
  • Method Details

    • initShape

      public void initShape()
      Overrides:
      initShape in class Isosurface
    • getProperty

      public Object getProperty(String property, int index)
      Overrides:
      getProperty in class Isosurface
      Parameters:
      property -
      index -
      Returns:
      true if serviced
    • getPropC

      protected Object getPropC(String property, int index)
    • setProperty

      public void setProperty(String propertyName, Object value, javajs.util.BS bs)
      Overrides:
      setProperty in class Isosurface
    • setContacts

      private void setContacts(Object[] value, boolean doEditCpList)
    • combineSurfaces

      private float combineSurfaces(javajs.util.Lst<ContactPair> pairs, int contactType, int displayType, float[] parameters, 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
    • isWithinFourBonds

      private boolean isWithinFourBonds(Atom atomA, Atom atomB)
    • 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, 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, Map<String,Object> info)
      Overrides:
      addMeshInfo in class Isosurface
    • 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 -