Class AtomCollection

java.lang.Object
org.jmol.modelset.AtomCollection
Direct Known Subclasses:
BondCollection

public abstract class AtomCollection extends Object
  • Field Details

    • almost180

      private static final float almost180
      See Also:
    • sqrt3_2

      private static final float sqrt3_2
    • vRef

      private static final javajs.util.V3 vRef
    • vwr

      public Viewer vwr
    • g3d

      protected GData g3d
    • bioModelset

      public BioModelSet bioModelset
      If any model in the collection is a BioModel, then it is also indicated here as a "bioModelset", meaning
    • at

      public Atom[] at
    • ac

      public int ac
    • trajectory

      public Trajectory trajectory
    • pointGroup

      protected SymmetryInterface pointGroup
    • labeler

      private LabelToken labeler
    • maxBondingRadius

      protected float maxBondingRadius
    • maxVanderwaalsRadius

      private float maxVanderwaalsRadius
    • hasBfactorRange

      private boolean hasBfactorRange
    • bfactor100Lo

      private int bfactor100Lo
    • bfactor100Hi

      private int bfactor100Hi
    • haveBSVisible

      private boolean haveBSVisible
    • haveBSClickable

      private boolean haveBSClickable
    • bsSurface

      private javajs.util.BS bsSurface
    • nSurfaceAtoms

      private int nSurfaceAtoms
    • surfaceDistanceMax

      private int surfaceDistanceMax
    • haveChirality

      protected boolean haveChirality
    • bspf

      protected Bspf bspf
      Binary Space Partitioning Forest
    • preserveState

      protected boolean preserveState
    • canSkipLoad

      public boolean canSkipLoad
    • haveStraightness

      public boolean haveStraightness
    • bsHidden

      private javajs.util.BS bsHidden
    • bsVisible

      public javajs.util.BS bsVisible
    • bsClickable

      public javajs.util.BS bsClickable
    • bsModulated

      public javajs.util.BS bsModulated
    • atomTensorList

      public Object[][] atomTensorList
    • atomTensors

      public Map<String,javajs.util.Lst<Object>> atomTensors
    • surfaceDistance100s

      protected int[] surfaceDistance100s
    • tainted

      public javajs.util.BS[] tainted
    • userSettableValues

      public static String[] userSettableValues
    • TAINT_ATOMNAME

      public static final int TAINT_ATOMNAME
      See Also:
    • TAINT_ATOMTYPE

      public static final int TAINT_ATOMTYPE
      See Also:
    • TAINT_COORD

      public static final int TAINT_COORD
      See Also:
    • TAINT_ELEMENT

      public static final int TAINT_ELEMENT
      See Also:
    • TAINT_FORMALCHARGE

      public static final int TAINT_FORMALCHARGE
      See Also:
    • TAINT_HYDROPHOBICITY

      public static final int TAINT_HYDROPHOBICITY
      See Also:
    • TAINT_BONDINGRADIUS

      public static final int TAINT_BONDINGRADIUS
      See Also:
    • TAINT_OCCUPANCY

      public static final int TAINT_OCCUPANCY
      See Also:
    • TAINT_PARTIALCHARGE

      public static final int TAINT_PARTIALCHARGE
      See Also:
    • TAINT_TEMPERATURE

      public static final int TAINT_TEMPERATURE
      See Also:
    • TAINT_VALENCE

      public static final int TAINT_VALENCE
      See Also:
    • TAINT_VANDERWAALS

      public static final int TAINT_VANDERWAALS
      See Also:
    • TAINT_VIBRATION

      public static final int TAINT_VIBRATION
      See Also:
    • TAINT_ATOMNO

      public static final int TAINT_ATOMNO
      See Also:
    • TAINT_SEQID

      public static final int TAINT_SEQID
      See Also:
    • TAINT_RESNO

      public static final int TAINT_RESNO
      See Also:
    • TAINT_CHAIN

      public static final int TAINT_CHAIN
      See Also:
    • TAINT_SITE

      public static final int TAINT_SITE
      See Also:
    • TAINT_MAX

      public static final int TAINT_MAX
      See Also:
    • atomNames

      String[] atomNames
    • atomTypes

      String[] atomTypes
    • atomSerials

      int[] atomSerials
    • atomResnos

      int[] atomResnos
    • atomSeqIDs

      int[] atomSeqIDs
    • dssrData

      float[] dssrData
    • vibrations

      public Vibration[] vibrations
    • occupancies

      public float[] occupancies
    • bfactor100s

      short[] bfactor100s
    • partialCharges

      float[] partialCharges
    • bondingRadii

      float[] bondingRadii
    • hydrophobicities

      float[] hydrophobicities
    • bsPartialCharges

      public javajs.util.BS bsPartialCharges
    • CALC_H_DOALL

      public static final int CALC_H_DOALL
      See Also:
    • CALC_H_JUSTC

      public static final int CALC_H_JUSTC
      See Also:
    • CALC_H_HAVEH

      public static final int CALC_H_HAVEH
      See Also:
    • CALC_H_QUICK

      public static final int CALC_H_QUICK
      See Also:
    • CALC_H_IGNORE_H

      public static final int CALC_H_IGNORE_H
      See Also:
    • CALC_H_ALLOW_H

      public static final int CALC_H_ALLOW_H
      See Also:
    • aaRet

      int[] aaRet
    • atomCapacity

      private int atomCapacity
  • Constructor Details

    • AtomCollection

      public AtomCollection()
  • Method Details

    • getAtom

      public Atom getAtom(int iatom)
    • setupAC

      protected void setupAC()
    • releaseModelSetAC

      protected void releaseModelSetAC()
    • mergeAtomArrays

      protected void mergeAtomArrays(AtomCollection mergeModelSet)
    • getAtomPointVector

      public javajs.util.Lst<javajs.util.P3> getAtomPointVector(javajs.util.BS bs)
    • modelSetHasVibrationVectors

      public boolean modelSetHasVibrationVectors()
    • getAtomTypes

      public String[] getAtomTypes()
    • getPartialCharges

      public float[] getPartialCharges()
    • getBondingRadii

      public float[] getBondingRadii()
    • getBFactors

      public short[] getBFactors()
    • getHydrophobicity

      public float[] getHydrophobicity()
    • setBsHidden

      public void setBsHidden(javajs.util.BS bs)
    • isAtomHidden

      public boolean isAtomHidden(int iAtom)
    • getLabeler

      public LabelToken getLabeler()
    • getAtomInfo

      public String getAtomInfo(int i, String format, javajs.util.P3 ptTemp)
    • getElementName

      public String getElementName(int i)
    • getQuaternion

      public javajs.util.Quat getQuaternion(int i, char qtype)
    • getFirstAtomIndexFromAtomNumber

      public int getFirstAtomIndexFromAtomNumber(int atomNumber, javajs.util.BS bsVisibleFrames)
    • setFormalCharges

      public void setFormalCharges(javajs.util.BS bs, int formalCharge)
    • getAtomicCharges

      public float[] getAtomicCharges()
    • getRadiusVdwJmol

      protected float getRadiusVdwJmol(Atom atom)
    • getMaxVanderwaalsRadius

      public float getMaxVanderwaalsRadius()
    • findMaxRadii

      protected void findMaxRadii()
    • clearBfactorRange

      public void clearBfactorRange()
    • calcBfactorRange

      private void calcBfactorRange(javajs.util.BS bs)
    • setBf

      private void setBf(int i)
    • getBfactor100Lo

      public int getBfactor100Lo()
    • getBfactor100Hi

      public int getBfactor100Hi()
    • getSurfaceDistanceMax

      public int getSurfaceDistanceMax()
    • calculateVolume

      public float calculateVolume(javajs.util.BS bs, VDW vType)
    • getSurfaceDistance100

      int getSurfaceDistance100(int atomIndex)
    • calcSurfaceDistances

      private void calcSurfaceDistances()
    • calculateSurface

      public javajs.util.P3[] calculateSurface(javajs.util.BS bsSelected, float envelopeRadius)
    • setAtomCoord2

      protected void setAtomCoord2(javajs.util.BS bs, int tokType, Object xyzValues)
    • setAtomVibrationVector

      private void setAtomVibrationVector(int atomIndex, javajs.util.T3 vib)
    • setAtomCoord

      public void setAtomCoord(int atomIndex, float x, float y, float z)
    • fixTrajectory

      private void fixTrajectory(Atom a)
    • setAtomCoordRelative

      public void setAtomCoordRelative(int atomIndex, float x, float y, float z)
    • setAtomsCoordRelative

      protected void setAtomsCoordRelative(javajs.util.BS bs, float x, float y, float z)
    • setAPa

      protected void setAPa(javajs.util.BS bs, int tok, int iValue, float fValue, String sValue, float[] values, String[] list)
    • getVibCoord

      public float getVibCoord(int atomIndex, char c)
      also handles modulation info
      Parameters:
      atomIndex -
      c - generally x, y, z, but for modulation could be 1, 2, 3, or O (oh, not zero)
      Returns:
      value or NaN
    • getVibration

      public Vibration getVibration(int atomIndex, boolean forceNew)
    • getModulation

      public JmolModulationSet getModulation(int iAtom)
    • setVibrationVector

      protected void setVibrationVector(int atomIndex, javajs.util.T3 vib)
    • setVibrationVector2

      private void setVibrationVector2(int atomIndex, int tok, float fValue)
    • setAtomName

      public void setAtomName(int atomIndex, String name, boolean doTaint)
    • setAtomType

      private void setAtomType(int atomIndex, String type)
    • setChainID

      private void setChainID(int atomIndex, String id)
    • setAtomNumber

      public void setAtomNumber(int atomIndex, int atomno, boolean doTaint)
    • setElement

      public void setElement(Atom atom, int atomicNumber, boolean doTaint)
    • setSite

      public void setSite(Atom atom, int site, boolean doTaint)
    • resetPartialCharges

      private void resetPartialCharges()
    • setAtomResno

      private void setAtomResno(int atomIndex, int resno)
    • setAtomSeqID

      private void setAtomSeqID(int atomIndex, int seqID)
    • setOccupancy

      protected void setOccupancy(int atomIndex, float occupancy, boolean doTaint)
    • getOccupancyFloat

      public float getOccupancyFloat(int i)
    • setPartialCharge

      protected void setPartialCharge(int atomIndex, float partialCharge, boolean doTaint)
    • setBondingRadius

      protected void setBondingRadius(int atomIndex, float radius)
    • setBFactor

      protected void setBFactor(int atomIndex, float bfactor, boolean doTaint)
    • setHydrophobicity

      private void setHydrophobicity(int atomIndex, float value)
    • setAtomData

      public void setAtomData(int type, String name, String dataString, boolean isDefault)
    • loadCoordinates

      private void loadCoordinates(String data, boolean isVibrationVectors, boolean doTaint)
    • validateBspf

      public void validateBspf(boolean isValid)
    • validateBspfForModel

      void validateBspfForModel(int modelIndex, boolean isValid)
    • setPreserveState

      public void setPreserveState(boolean TF)
    • getUserSettableType

      public static int getUserSettableType(String dataType)
    • getTaintedAtoms

      public javajs.util.BS getTaintedAtoms(int type)
    • taintAtoms

      public void taintAtoms(javajs.util.BS bsAtoms, int type)
    • taintAtom

      public void taintAtom(int atomIndex, int type)
    • taintModelCoord

      private void taintModelCoord(int atomIndex)
    • untaint

      private void untaint(int atomIndex, int type)
    • setTaintedAtoms

      public void setTaintedAtoms(javajs.util.BS bs, int type)
    • unTaintAtoms

      public void unTaintAtoms(javajs.util.BS bs, int type)
    • findNearest2

      protected void findNearest2(int x, int y, Atom[] closest, javajs.util.BS bsNot, int min)
    • isCursorOnTopOf

      boolean isCursorOnTopOf(Atom contender, int x, int y, int radius, Atom champion)
      used by Frame and AminoMonomer and NucleicMonomer -- does NOT check for clickability
      Parameters:
      contender -
      x -
      y -
      radius -
      champion -
      Returns:
      true if user is pointing to this atom
    • fillADa

      protected void fillADa(AtomData atomData, int mode)
    • getWorkingRadius

      private float getWorkingRadius(Atom atom, AtomData atomData)
    • calculateHydrogens

      public javajs.util.P3[][] calculateHydrogens(javajs.util.BS bs, int[] nTotal, javajs.util.Lst<Atom> vConnect, int flags)
      get a list of potential H atom positions based on elemental valence and formal charge
      Parameters:
      bs -
      nTotal -
      vConnect -
      flags - [CALC_H_DOALL | CALC_H_JUSTC | CALC_H_HAVEH | CALC_H_QUICK
      Returns:
      array of arrays of points added to specific atoms
    • isAdjacentSp2

      private boolean isAdjacentSp2(Atom atom)
    • getMissingHydrogenCount

      public int getMissingHydrogenCount(Atom atom, boolean allowNegative)
    • fixFormalCharges

      public int fixFormalCharges(javajs.util.BS bs)
    • getHybridizationAndAxes

      public String getHybridizationAndAxes(int atomIndex, int atomicNumber, javajs.util.V3 z, javajs.util.V3 x, String lcaoTypeRaw, boolean hybridizationCompatible, boolean doAlignZ, boolean isQuick, javajs.util.T3 ref)
    • getHybridizationAndAxesD

      private String getHybridizationAndAxesD(int atomIndex, javajs.util.V3 z, javajs.util.V3 x, String lcaoType)
      dsp3 (trigonal bipyramidal, see-saw, T-shaped) or d2sp3 (square planar, square pyramidal, octahedral)
      Parameters:
      atomIndex -
      z -
      x -
      lcaoType -
      Returns:
      valid hybridization or null
    • getAttached

      private Atom[] getAttached(Atom atom, int nMax, boolean doSort, boolean isQuick)
    • findNotAttached

      private javajs.util.BS findNotAttached(int nAttached, int[][] angles, int[] ptrs, int nPtrs)
    • getAtomBitsMDa

      public javajs.util.BS getAtomBitsMDa(int tokType, Object specInfo, javajs.util.BS bs)
      general unqualified lookup of atom set type
      Parameters:
      tokType -
      specInfo -
      bs - - to be filled
      Returns:
      BitSet; or null if we mess up the type
    • getChainBits

      public javajs.util.BS getChainBits(int chainID)
    • chainToUpper

      public int chainToUpper(int chainID)
    • isAltLoc

      private boolean isAltLoc(char altloc, String strPattern)
    • getSeqcodeBits

      public javajs.util.BS getSeqcodeBits(int seqcode, boolean returnEmpty)
    • getIdentifierOrNull

      private javajs.util.BS getIdentifierOrNull(String identifier)
      overhauled by RMH Nov 1, 2006.
      Parameters:
      identifier -
      Returns:
      null or bs
    • getSpecName

      private javajs.util.BS getSpecName(String name)
    • getSpecNameOrNull

      public javajs.util.BS getSpecNameOrNull(String name, boolean checkStar)
    • isAtomNameMatch

      private boolean isAtomNameMatch(Atom atom, String strPattern, boolean checkStar, boolean allowInitialStar)
    • getAtomIndices

      public int[] getAtomIndices(javajs.util.BS bs)
    • getAtomsNearPlane

      public javajs.util.BS getAtomsNearPlane(float distance, javajs.util.P4 plane)
    • clearVisibleSets

      public void clearVisibleSets()
    • getAtomsInFrame

      public void getAtomsInFrame(javajs.util.BS bsAtoms)
    • getVisibleSet

      public javajs.util.BS getVisibleSet(boolean forceNew)
    • getClickableSet

      public javajs.util.BS getClickableSet(boolean forceNew)
    • isModulated

      public boolean isModulated(int i)
    • deleteModelAtoms

      protected void deleteModelAtoms(int firstAtomIndex, int nAtoms, javajs.util.BS bsAtoms)
    • getAtomIdentityInfo

      public void getAtomIdentityInfo(int i, Map<String,Object> info, javajs.util.P3 ptTemp)
    • getAtomTensorList

      public Object[] getAtomTensorList(int i)
    • deleteAtomTensors

      private void deleteAtomTensors(javajs.util.BS bsAtoms)
    • setCapacity

      void setCapacity(int nAtoms)
    • setAtomTensors

      public void setAtomTensors(int atomIndex, javajs.util.Lst<Object> list)
    • addTensor

      public void addTensor(Tensor t, String type)
    • getTensorList

      private static Object[] getTensorList(javajs.util.Lst<Object> list)
    • getAtomTensor

      public Tensor getAtomTensor(int i, String type)
    • getAllAtomTensors

      public javajs.util.Lst<Object> getAllAtomTensors(String type)
    • scaleVectorsToMax

      public void scaleVectorsToMax(float max)
      Scales vibrations and associated vectors such that the maximum length is the given value
      Parameters:
      max -
    • getAtomsFromAtomNumberInFrame

      public javajs.util.BS getAtomsFromAtomNumberInFrame(int atomNumber)
    • generateCrystalClass

      public javajs.util.Lst<javajs.util.P3> generateCrystalClass(int atomIndex, javajs.util.P3 pt)
    • isDeleted

      public static boolean isDeleted(Atom atom)