AtomCollection
Date: 2019-10-22

org.jmol.modelset

## Class AtomCollection

- java.lang.Object
- - org.jmol.modelset.AtomCollection

- Direct Known Subclasses:
    BondCollection

      public abstract class AtomCollection
      extends java.lang.Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `AtomCollection.AtomSorter`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) int[]` | `aaRet`
    `int` | `ac`
    `private static float` | `almost180`
    `Atom[]` | `at`
    `private int` | `atomCapacity`
    `(package private) java.lang.String[]` | `atomNames`
    `(package private) int[]` | `atomResnos`
    `(package private) int[]` | `atomSeqIDs`
    `(package private) int[]` | `atomSerials`
    `java.lang.Object[][]` | `atomTensorList`
    `java.util.Map<java.lang.String,javajs.util.Lst<java.lang.Object>>` | `atomTensors`
    `(package private) java.lang.String[]` | `atomTypes`
    `private int` | `bfactor100Hi`
    `private int` | `bfactor100Lo`
    `(package private) short[]` | `bfactor100s`
    `BioModelSet` | `bioModelset` If any model in the collection is a BioModel, then it is also indicated here as a "bioModelset", meaning
    `(package private) float[]` | `bondingRadii`
    `javajs.util.BS` | `bsClickable`
    `private javajs.util.BS` | `bsHidden`
    `javajs.util.BS` | `bsModulated`
    `javajs.util.BS` | `bsPartialCharges`
    `protected Bspf` | `bspf` Binary Space Partitioning Forest
    `private javajs.util.BS` | `bsSurface`
    `javajs.util.BS` | `bsVisible`
    `boolean` | `canSkipLoad`
    `(package private) float[]` | `dssrData`
    `protected GData` | `g3d`
    `private boolean` | `hasBfactorRange`
    `private boolean` | `haveBSClickable`
    `private boolean` | `haveBSVisible`
    `protected boolean` | `haveChirality`
    `boolean` | `haveStraightness`
    `(package private) float[]` | `hydrophobicities`
    `private LabelToken` | `labeler`
    `protected float` | `maxBondingRadius`
    `private float` | `maxVanderwaalsRadius`
    `private int` | `nSurfaceAtoms`
    `float[]` | `occupancies`
    `(package private) float[]` | `partialCharges`
    `protected SymmetryInterface` | `pointGroup`
    `protected boolean` | `preserveState`
    `private static float` | `sqrt3_2`
    `protected int[]` | `surfaceDistance100s`
    `private int` | `surfaceDistanceMax`
    `static int` | `TAINT_ATOMNAME`
    `static int` | `TAINT_ATOMNO`
    `static int` | `TAINT_ATOMTYPE`
    `static int` | `TAINT_BONDINGRADIUS`
    `static int` | `TAINT_CHAIN`
    `static int` | `TAINT_COORD`
    `static int` | `TAINT_ELEMENT`
    `static int` | `TAINT_FORMALCHARGE`
    `static int` | `TAINT_HYDROPHOBICITY`
    `static int` | `TAINT_MAX`
    `static int` | `TAINT_OCCUPANCY`
    `static int` | `TAINT_PARTIALCHARGE`
    `static int` | `TAINT_RESNO`
    `static int` | `TAINT_SEQID`
    `static int` | `TAINT_TEMPERATURE`
    `static int` | `TAINT_VALENCE`
    `static int` | `TAINT_VANDERWAALS`
    `static int` | `TAINT_VIBRATION`
    `javajs.util.BS[]` | `tainted`
    `Trajectory` | `trajectory`
    `static java.lang.String[]` | `userSettableValues`
    `Vibration[]` | `vibrations`
    `private static javajs.util.V3` | `vRef`
    `Viewer` | `vwr`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AtomCollection()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addTensor(Tensor t, java.lang.String type)`
    `private void` | `calcBfactorRange(javajs.util.BS bs)`
    `private void` | `calcSurfaceDistances()`
    `javajs.util.P3[][]` | `calculateHydrogens(javajs.util.BS bs, int[] nTotal, boolean doAll, boolean justCarbon, javajs.util.Lst<Atom> vConnect)` get a list of potential H atom positions based on elemental valence and formal charge
    `javajs.util.P3[]` | `calculateSurface(javajs.util.BS bsSelected, float envelopeRadius)`
    `float` | `calculateVolume(javajs.util.BS bs, VDW vType)`
    `int` | `chainToUpper(int chainID)`
    `void` | `clearBfactorRange()`
    `void` | `clearVisibleSets()`
    `private void` | `deleteAtomTensors(javajs.util.BS bsAtoms)`
    `protected void` | `deleteModelAtoms(int firstAtomIndex, int nAtoms, javajs.util.BS bsAtoms)`
    `protected void` | `fillADa(AtomData atomData, int mode)`
    `protected void` | `findMaxRadii()`
    `protected void` | `findNearest2(int x, int y, Atom[] closest, javajs.util.BS bsNot, int min)`
    `private javajs.util.BS` | `findNotAttached(int nAttached, int[][] angles, int[] ptrs, int nPtrs)`
    `int` | `fixFormalCharges(javajs.util.BS bs)`
    `private void` | `fixTrajectory(Atom a)`
    `javajs.util.Lst<javajs.util.P3>` | `generateCrystalClass(int atomIndex, javajs.util.P3 pt)`
    `javajs.util.Lst<java.lang.Object>` | `getAllAtomTensors(java.lang.String type)`
    `Atom` | `getAtom(int iatom)`
    `javajs.util.BS` | `getAtomBitsMDa(int tokType, java.lang.Object specInfo, javajs.util.BS bs)` general unqualified lookup of atom set type
    `float[]` | `getAtomicCharges()`
    `void` | `getAtomIdentityInfo(int i, java.util.Map<java.lang.String,java.lang.Object> info, javajs.util.P3 ptTemp)`
    `int[]` | `getAtomIndices(javajs.util.BS bs)`
    `java.lang.String` | `getAtomInfo(int i, java.lang.String format, javajs.util.P3 ptTemp)`
    `javajs.util.Lst<javajs.util.P3>` | `getAtomPointVector(javajs.util.BS bs)`
    `javajs.util.BS` | `getAtomsFromAtomNumberInFrame(int atomNumber)`
    `void` | `getAtomsInFrame(javajs.util.BS bsAtoms)`
    `javajs.util.BS` | `getAtomsNearPlane(float distance, javajs.util.P4 plane)`
    `Tensor` | `getAtomTensor(int i, java.lang.String type)`
    `java.lang.Object[]` | `getAtomTensorList(int i)`
    `java.lang.String[]` | `getAtomTypes()`
    `private Atom[]` | `getAttached(Atom atom, int nMax, boolean doSort)`
    `int` | `getBfactor100Hi()`
    `int` | `getBfactor100Lo()`
    `short[]` | `getBFactors()`
    `float[]` | `getBondingRadii()`
    `javajs.util.BS` | `getChainBits(int chainID)`
    `javajs.util.BS` | `getClickableSet(boolean forceNew)`
    `java.lang.String` | `getElementName(int i)`
    `int` | `getFirstAtomIndexFromAtomNumber(int atomNumber, javajs.util.BS bsVisibleFrames)`
    `java.lang.String` | `getHybridizationAndAxes(int atomIndex, int atomicNumber, javajs.util.V3 z, javajs.util.V3 x, java.lang.String lcaoTypeRaw, boolean hybridizationCompatible, boolean doAlignZ)`
    `private java.lang.String` | `getHybridizationAndAxesD(int atomIndex, javajs.util.V3 z, javajs.util.V3 x, java.lang.String lcaoType)` dsp3 (trigonal bipyramidal, see-saw, T-shaped) or d2sp3 (square planar, square pyramidal, octahedral)
    `float[]` | `getHydrophobicity()`
    `private javajs.util.BS` | `getIdentifierOrNull(java.lang.String identifier)` overhauled by RMH Nov 1, 2006.
    `LabelToken` | `getLabeler()`
    `float` | `getMaxVanderwaalsRadius()`
    `int` | `getMissingHydrogenCount(Atom atom, boolean allowNegative)`
    `JmolModulationSet` | `getModulation(int iAtom)`
    `float[]` | `getPartialCharges()`
    `javajs.util.Quat` | `getQuaternion(int i, char qtype)`
    `protected float` | `getRadiusVdwJmol(Atom atom)`
    `javajs.util.BS` | `getSeqcodeBits(int seqcode, boolean returnEmpty)`
    `private javajs.util.BS` | `getSpecName(java.lang.String name)`
    `javajs.util.BS` | `getSpecNameOrNull(java.lang.String name, boolean checkStar)`
    `(package private) int` | `getSurfaceDistance100(int atomIndex)`
    `int` | `getSurfaceDistanceMax()`
    `javajs.util.BS` | `getTaintedAtoms(int type)`
    `private static java.lang.Object[]` | `getTensorList(javajs.util.Lst<java.lang.Object> list)`
    `static int` | `getUserSettableType(java.lang.String dataType)`
    `float` | `getVibCoord(int atomIndex, char c)` also handles modulation info
    `Vibration` | `getVibration(int atomIndex, boolean forceNew)`
    `javajs.util.BS` | `getVisibleSet(boolean forceNew)`
    `private float` | `getWorkingRadius(Atom atom, AtomData atomData)`
    `private boolean` | `isAdjacentSp2(Atom atom)`
    `private boolean` | `isAltLoc(char altloc, java.lang.String strPattern)`
    `boolean` | `isAtomHidden(int iAtom)`
    `private boolean` | `isAtomNameMatch(Atom atom, java.lang.String strPattern, boolean checkStar, boolean allowInitialStar)`
    `(package private) boolean` | `isCursorOnTopOf(Atom contender, int x, int y, int radius, Atom champion)` used by Frame and AminoMonomer and NucleicMonomer -- does NOT check for clickability
    `boolean` | `isModulated(int i)`
    `private void` | `loadCoordinates(java.lang.String data, boolean isVibrationVectors, boolean doTaint)`
    `protected void` | `mergeAtomArrays(AtomCollection mergeModelSet)`
    `boolean` | `modelSetHasVibrationVectors()`
    `protected void` | `releaseModelSetAC()`
    `private void` | `resetPartialCharges()`
    `void` | `scaleVectorsToMax(float max)` Scales vibrations and associated vectors such that the maximum length is the given value
    `protected void` | `setAPa(javajs.util.BS bs, int tok, int iValue, float fValue, java.lang.String sValue, float[] values, java.lang.String[] list)`
    `void` | `setAtomCoord(int atomIndex, float x, float y, float z)`
    `protected void` | `setAtomCoord2(javajs.util.BS bs, int tokType, java.lang.Object xyzValues)`
    `void` | `setAtomCoordRelative(int atomIndex, float x, float y, float z)`
    `void` | `setAtomData(int type, java.lang.String name, java.lang.String dataString, boolean isDefault)`
    `void` | `setAtomName(int atomIndex, java.lang.String name, boolean doTaint)`
    `void` | `setAtomNumber(int atomIndex, int atomno, boolean doTaint)`
    `private void` | `setAtomResno(int atomIndex, int resno)`
    `protected void` | `setAtomsCoordRelative(javajs.util.BS bs, float x, float y, float z)`
    `private void` | `setAtomSeqID(int atomIndex, int seqID)`
    `void` | `setAtomTensors(int atomIndex, javajs.util.Lst<java.lang.Object> list)`
    `private void` | `setAtomType(int atomIndex, java.lang.String type)`
    `private void` | `setAtomVibrationVector(int atomIndex, javajs.util.T3 vib)`
    `private void` | `setBf(int i)`
    `protected void` | `setBFactor(int atomIndex, float bfactor, boolean doTaint)`
    `private void` | `setBondingRadius(int atomIndex, float radius)`
    `void` | `setBsHidden(javajs.util.BS bs)`
    `(package private) void` | `setCapacity(int nAtoms)`
    `private void` | `setChainID(int atomIndex, java.lang.String id)`
    `void` | `setElement(Atom atom, int atomicNumber, boolean doTaint)`
    `void` | `setFormalCharges(javajs.util.BS bs, int formalCharge)`
    `private void` | `setHydrophobicity(int atomIndex, float value)`
    `protected void` | `setOccupancy(int atomIndex, float occupancy, boolean doTaint)`
    `protected void` | `setPartialCharge(int atomIndex, float partialCharge, boolean doTaint)`
    `void` | `setPreserveState(boolean TF)`
    `void` | `setTaintedAtoms(javajs.util.BS bs, int type)`
    `protected void` | `setupAC()`
    `protected void` | `setVibrationVector(int atomIndex, javajs.util.T3 vib)`
    `private void` | `setVibrationVector2(int atomIndex, int tok, float fValue)`
    `void` | `taintAtom(int atomIndex, int type)`
    `void` | `taintAtoms(javajs.util.BS bsAtoms, int type)`
    `private void` | `taintModelCoord(int atomIndex)`
    `private void` | `untaint(int atomIndex, int type)`
    `void` | `unTaintAtoms(javajs.util.BS bs, int type)`
    `void` | `validateBspf(boolean isValid)`
    `(package private) void` | `validateBspfForModel(int modelIndex, boolean isValid)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### almost180

          private static final float almost180

      See Also:
        Constant Field Values

    - #### 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 java.lang.Object[][] atomTensorList

    - #### atomTensors

          public java.util.Map<java.lang.String,javajs.util.Lst<java.lang.Object>> atomTensors

    - #### surfaceDistance100s

          protected int[] surfaceDistance100s

    - #### tainted

          public javajs.util.BS[] tainted

    - #### userSettableValues

          public static java.lang.String[] userSettableValues

    - #### TAINT_ATOMNAME

          public static final int TAINT_ATOMNAME

      See Also:
        Constant Field Values

    - #### TAINT_ATOMTYPE

          public static final int TAINT_ATOMTYPE

      See Also:
        Constant Field Values

    - #### TAINT_COORD

          public static final int TAINT_COORD

      See Also:
        Constant Field Values

    - #### TAINT_ELEMENT

          public static final int TAINT_ELEMENT

      See Also:
        Constant Field Values

    - #### TAINT_FORMALCHARGE

          public static final int TAINT_FORMALCHARGE

      See Also:
        Constant Field Values

    - #### TAINT_HYDROPHOBICITY

          public static final int TAINT_HYDROPHOBICITY

      See Also:
        Constant Field Values

    - #### TAINT_BONDINGRADIUS

          public static final int TAINT_BONDINGRADIUS

      See Also:
        Constant Field Values

    - #### TAINT_OCCUPANCY

          public static final int TAINT_OCCUPANCY

      See Also:
        Constant Field Values

    - #### TAINT_PARTIALCHARGE

          public static final int TAINT_PARTIALCHARGE

      See Also:
        Constant Field Values

    - #### TAINT_TEMPERATURE

          public static final int TAINT_TEMPERATURE

      See Also:
        Constant Field Values

    - #### TAINT_VALENCE

          public static final int TAINT_VALENCE

      See Also:
        Constant Field Values

    - #### TAINT_VANDERWAALS

          public static final int TAINT_VANDERWAALS

      See Also:
        Constant Field Values

    - #### TAINT_VIBRATION

          public static final int TAINT_VIBRATION

      See Also:
        Constant Field Values

    - #### TAINT_ATOMNO

          public static final int TAINT_ATOMNO

      See Also:
        Constant Field Values

    - #### TAINT_SEQID

          public static final int TAINT_SEQID

      See Also:
        Constant Field Values

    - #### TAINT_RESNO

          public static final int TAINT_RESNO

      See Also:
        Constant Field Values

    - #### TAINT_CHAIN

          public static final int TAINT_CHAIN

      See Also:
        Constant Field Values

    - #### TAINT_MAX

          public static final int TAINT_MAX

      See Also:
        Constant Field Values

    - #### atomNames

          java.lang.String[] atomNames

    - #### atomTypes

          java.lang.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

    - #### aaRet

          int[] aaRet

    - #### atomCapacity

          private int atomCapacity

  - ### Constructor Detail

    - #### AtomCollection

          public AtomCollection()

  - ### Method Detail

    - #### 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 java.lang.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 java.lang.String getAtomInfo(int i,
                                              java.lang.String format,
                                              javajs.util.P3 ptTemp)

    - #### getElementName

          public java.lang.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,
                                       java.lang.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,
                                java.lang.String sValue,
                                float[] values,
                                java.lang.String[] list)

    - #### getVibCoord

          public float getVibCoord(int atomIndex,
                                   char c)

      also handles modulation info
      Parameters:
        `atomIndex` -
        `c` -
      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,
                                  java.lang.String name,
                                  boolean doTaint)

    - #### setAtomType

          private void setAtomType(int atomIndex,
                                   java.lang.String type)

    - #### setChainID

          private void setChainID(int atomIndex,
                                  java.lang.String id)

    - #### setAtomNumber

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

    - #### setElement

          public void setElement(Atom atom,
                                 int atomicNumber,
                                 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)

    - #### setPartialCharge

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

    - #### setBondingRadius

          private 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,
                                  java.lang.String name,
                                  java.lang.String dataString,
                                  boolean isDefault)

    - #### loadCoordinates

          private void loadCoordinates(java.lang.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(java.lang.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,
                                                       boolean doAll,
                                                       boolean justCarbon,
                                                       javajs.util.Lst<Atom> vConnect)

      get a list of potential H atom positions based on elemental valence and formal charge
      Parameters:
        `bs` -
        `nTotal` -
        `doAll` - -- whether we add to C that already have H or not.
        `justCarbon` -
        `vConnect` -
      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 java.lang.String getHybridizationAndAxes(int atomIndex,
                                                          int atomicNumber,
                                                          javajs.util.V3 z,
                                                          javajs.util.V3 x,
                                                          java.lang.String lcaoTypeRaw,
                                                          boolean hybridizationCompatible,
                                                          boolean doAlignZ)

    - #### getHybridizationAndAxesD

          private java.lang.String getHybridizationAndAxesD(int atomIndex,
                                                            javajs.util.V3 z,
                                                            javajs.util.V3 x,
                                                            java.lang.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)

    - #### findNotAttached

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

    - #### getAtomBitsMDa

          public javajs.util.BS getAtomBitsMDa(int tokType,
                                               java.lang.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,
                                   java.lang.String strPattern)

    - #### getSeqcodeBits

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

    - #### getIdentifierOrNull

          private javajs.util.BS getIdentifierOrNull(java.lang.String identifier)

      overhauled by RMH Nov 1, 2006.
      Parameters:
        `identifier` -
      Returns:
        null or bs

    - #### getSpecName

          private javajs.util.BS getSpecName(java.lang.String name)

    - #### getSpecNameOrNull

          public javajs.util.BS getSpecNameOrNull(java.lang.String name,
                                                  boolean checkStar)

    - #### isAtomNameMatch

          private boolean isAtomNameMatch(Atom atom,
                                          java.lang.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,
                                          java.util.Map<java.lang.String,java.lang.Object> info,
                                          javajs.util.P3 ptTemp)

    - #### getAtomTensorList

          public java.lang.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<java.lang.Object> list)

    - #### addTensor

          public void addTensor(Tensor t,
                                java.lang.String type)

    - #### getTensorList

          private static java.lang.Object[] getTensorList(javajs.util.Lst<java.lang.Object> list)

    - #### getAtomTensor

          public Tensor getAtomTensor(int i,
                                      java.lang.String type)

    - #### getAllAtomTensors

          public javajs.util.Lst<java.lang.Object> getAllAtomTensors(java.lang.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)