Atom
Date: 2019-10-22

org.jmol.modelset

## Class Atom

- java.lang.Object
- - javajs.util.T3
  - - javajs.util.P3
    - - org.jmol.util.Point3fi
      - - org.jmol.modelset.Atom

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, javajs.api.JSONEncodable, Node, SimpleNode

      public class Atom
      extends Point3fi
      implements Node

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `char` | `altloc`
    `static int` | `ATOM_INFRAME`
    `static int` | `ATOM_INFRAME_NOTHIDDEN`
    `static int` | `ATOM_NOFLAGS`
    `static int` | `ATOM_NOTHIDDEN`
    `static int` | `ATOM_SHAPE_VIS_MASK`
    `static int` | `ATOM_VISIBLE`
    `static int` | `ATOM_VISSET`
    `private short` | `atomicAndIsotopeNumber`
    `byte` | `atomID`
    `int` | `atomSite`
    `javajs.util.BS` | `atomSymmetry`
    `Bond[]` | `bonds` MAY BE NULL
    `private static int` | `CHARGE_OFFSET`
    `private static int` | `CIP_CHIRALITY_MASK`
    `private static int` | `CIP_CHIRALITY_OFFSET`
    `private static int` | `CIP_CHIRALITY_RULE_MASK`
    `private static int` | `CIP_CHIRALITY_RULE_OFFSET`
    `private static int` | `CIP_MASK`
    `int` | `clickabilityFlags`
    `short` | `colixAtom`
    `private static int` | `FLAG_MASK`
    `private int` | `formalChargeAndFlags`
    `Group` | `group`
    `private static int` | `IS_HETERO_FLAG`
    `static short` | `MAD_GLOBAL`
    `short` | `madAtom`
    `int` | `nBackbonesDisplayed`
    `private int` | `nBondsDisplayed`
    `byte` | `paletteID`
    `static float` | `RADIUS_GLOBAL`
    `static int` | `RADIUS_MAX`
    `int` | `shapeVisibilityFlags`
    `private float` | `userDefinedVanDerWaalRadius`
    `(package private) byte` | `valence`
    `private static int` | `VIBRATION_VECTOR_FLAG`

    - ### Fields inherited from class org.jmol.util.Point3fi

      `i, mi, sD, sX, sY, sZ`

    - ### Fields inherited from class javajs.util.T3

      `x, y, z`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Atom()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `(package private) void` | `addDisplayedBond(int stickVisibilityFlag, boolean isVisible)`
    `float` | `atomPropertyFloat(Viewer vwr, int tokWhat, javajs.util.P3 ptTemp)` called by isosurface and int comparator via atomProperty() and also by getBitsetProperty()
    `int` | `atomPropertyInt(int tokWhat)` called by isosurface and int comparator via atomProperty() and also by getBitsetProperty()
    `java.lang.String` | `atomPropertyString(Viewer vwr, int tokWhat)`
    `javajs.util.T3` | `atomPropertyTuple(Viewer vwr, int tok, javajs.util.P3 ptTemp)`
    `short` | `calculateMad(Viewer vwr, RadiusData rd)`
    `boolean` | `checkVisible()`
    `void` | `delete(javajs.util.BS bsBonds)`
    `(package private) void` | `deleteBond(Bond bond)`
    `private void` | `deleteBondAt(int i)`
    `boolean` | `equals(java.lang.Object obj)` Returns true if all of the data members of Tuple3f t1 are equal to the corresponding data members in this
    `Atom` | `findAromaticNeighbor(int notAtomIndex)`
    `javajs.util.BS` | `findAtomsLike(java.lang.String atomExpression)`
    `float` | `getADPMinMax(boolean isMax)`
    `int` | `getAtomicAndIsotopeNumber()`
    `java.lang.String` | `getAtomName()`
    `int` | `getAtomNumber()`
    `int` | `getAtomSite()`
    `java.lang.String` | `getAtomType()`
    `int` | `getBfactor100()`
    `char` | `getBioSmilesType()`
    `java.lang.String` | `getBioStructureTypeName()`
    `Bond` | `getBond(Atom atomOther)`
    `int` | `getBondCount()` Get the total number of bonds, including hydrogen bonds.
    `int` | `getBondedAtomIndex(int bondIndex)`
    `float` | `getBondingRadius()`
    `int` | `getCellTranslation(int cellNNN, int[] cellRange, int nOps)` Looks for a match in the cellRange list for this atom within the specified translation set select symop=0NNN for this
    `int` | `getChainID()`
    `java.lang.String` | `getChainIDStr()`
    `java.lang.String` | `getCIPChirality(boolean doCalculate)` Determine R/S chirality at this position; non-H atoms only; cached in formalChargeAndFlags
    `int` | `getCIPChiralityCode()`
    `java.lang.String` | `getCIPChiralityRule()`
    `int` | `getCovalentBondCount()` Get the total number of covalent bonds, thus not including hydrogen bonds.
    `int` | `getCovalentBondCountPlusMissingH()` includes actual + missing
    `int` | `getCovalentHydrogenCount()`
    `boolean` | `getCrossLinkVector(javajs.util.Lst<java.lang.Integer> vReturn, boolean crosslinkCovalent, boolean crosslinkHBond)` Used by SMILES to get vector of cross-links
    `(package private) int` | `getCurrentBondCount()`
    `float` | `getDimensionValue(int dimension)`
    `Edge[]` | `getEdges()` Get the bond array, including hydrogen bonds.
    `int` | `getElementNumber()`
    `java.lang.String` | `getElementSymbol()`
    `java.lang.String` | `getElementSymbolIso(boolean withIsotope)`
    `float` | `getFloatProperty(java.lang.String property)`
    `int` | `getFormalCharge()`
    `private float` | `getFractionalCoord(boolean fixJavaFloat, char ch, boolean ignoreOffset, javajs.util.P3 pt)`
    `javajs.util.P3` | `getFractionalCoordPt(boolean fixJavaFloat, boolean ignoreOffset, javajs.util.P3 pt)`
    `private float` | `getFractionalUnitCoord(boolean fixJavaFloat, char ch, javajs.util.P3 pt)`
    `(package private) javajs.util.P3` | `getFractionalUnitCoordPt(boolean fixJavaFloat, boolean asCartesian, javajs.util.P3 pt)`
    `(package private) float` | `getFractionalUnitDistance(javajs.util.T3 pt, javajs.util.T3 ptTemp1, javajs.util.T3 ptTemp2)`
    `java.lang.String` | `getGroup1(char c0)`
    `java.lang.String` | `getGroup3(boolean allowNull)`
    `void` | `getGroupBits(javajs.util.BS bs)`
    `float` | `getHydrophobicity()`
    `(package private) java.lang.String` | `getIdentity(boolean allInfo)`
    `java.lang.String` | `getIdentityXYZ(boolean allInfo, javajs.util.P3 pt)`
    `int` | `getImplicitHydrogenCount()` can be > 0 for PDB model with no H atoms or for SMILES string CCC
    `int` | `getIndex()`
    `java.lang.String` | `getInfo()`
    `char` | `getInsertionCode()`
    `int` | `getIsotopeNumber()`
    `float` | `getMass()`
    `int` | `getModelIndex()` SMILES only
    `int` | `getModelNumber()`
    `java.lang.String` | `getModelNumberForLabel()`
    `JmolModulationSet` | `getModulation()`
    `int` | `getMoleculeNumber(boolean inModel)`
    `int` | `getNominalMass()`
    `int` | `getOccupancy100()`
    `int` | `getOffsetResidueAtom(java.lang.String name, int offset)`
    `float` | `getPartialCharge()`
    `float` | `getRadius()`
    `int` | `getRasMolRadius()`
    `int` | `getResno()`
    `int` | `getSeqID()`
    `int` | `getSurfaceDistance100()`
    `(package private) java.lang.String` | `getSymmetryOperatorList(boolean isAll)`
    `int` | `getSymmetryTranslation(int symop, int[] cellRange, int nOps)` Given a symmetry operation number, the set of cells in the model, and the number of operations, this method returns either 0 or the cell number (555, 666) of the translated symmetry operation corresponding to this atom.
    `(package private) int` | `getSymOp()`
    `(package private) int` | `getTargetValence()`
    `java.lang.Object[]` | `getTensors()`
    `int` | `getTotalHydrogenCount()`
    `int` | `getTotalValence()`
    `(package private) SymmetryInterface` | `getUnitCell()`
    `java.lang.String` | `getUnitID(int flags)`
    `int` | `getValence()` return the total bond order for this atom
    `float` | `getVanderwaalsRadiusFloat(Viewer vwr, VDW type)`
    `private VDW` | `getVdwType(VDW type)`
    `float` | `getVib(char ch)`
    `Vibration` | `getVibrationVector()`
    `(package private) float` | `getVolume(Viewer vwr, VDW vType)`
    `javajs.util.P3` | `getXYZ()`
    `int` | `hashCode()` Returns a hash number based on the data values in this object.
    `boolean` | `hasVibration()`
    `boolean` | `isBonded(Atom atomOther)`
    `boolean` | `isClickable()`
    `boolean` | `isCovalentlyBonded(Atom atomOther)`
    `boolean` | `isCrossLinked(Node node)`
    `(package private) boolean` | `isCursorOnTopOf(int xCursor, int yCursor, int minRadius, Atom competitor)`
    `boolean` | `isDeleted()`
    `boolean` | `isHetero()`
    `boolean` | `isLeadAtom()`
    `boolean` | `isOccupied()`
    `boolean` | `isPurine()`
    `boolean` | `isPyrimidine()`
    `boolean` | `isVisible(int flags)`
    `boolean` | `modelIsRawPDB()`
    `Atom` | `setAtom(int modelIndex, int atomIndex, javajs.util.P3 xyz, float radius, javajs.util.BS atomSymmetry, int atomSite, short atomicAndIsotopeNumber, int formalCharge, boolean isHetero)`
    `void` | `setAtomicAndIsotopeNumber(int n)`
    `void` | `setCIPChirality(int c)`
    `void` | `setClickable(int flag)`
    `void` | `setFormalCharge(int charge)`
    `(package private) void` | `setFractionalCoord(int tok, float fValue, boolean asAbsolute)`
    `void` | `setFractionalCoordPt(javajs.util.P3 pt, javajs.util.P3 ptNew, boolean asAbsolute)`
    `(package private) void` | `setFractionalCoordTo(javajs.util.P3 ptNew, boolean asAbsolute)`
    `void` | `setMadAtom(Viewer vwr, RadiusData rd)`
    `boolean` | `setRadius(float radius)`
    `void` | `setShapeVisibility(int flag, boolean isVisible)`
    `void` | `setTranslucent(boolean isTranslucent, float translucentLevel)`
    `void` | `setValence(int nBonds)`
    `(package private) void` | `setVibrationVector()`
    `java.lang.String` | `toString()` Returns a string that contains the values of this Tuple3f.

    - ### Methods inherited from class org.jmol.util.Point3fi

      `copy`

    - ### Methods inherited from class javajs.util.P3

      `getUnlikely, new3, newP`

    - ### Methods inherited from class javajs.util.T3

      `add, add2, add3, ave, cross, distance, distanceSquared, dot, floatToIntBits, length, lengthSquared, normalize, scale, scaleAdd2, scaleT, set, setA, setT, sub, sub2, toJSON`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.jmol.util.Node

      `set`

- - ### Field Detail

    - #### ATOM_INFRAME

          public static final int ATOM_INFRAME

      See Also:
        Constant Field Values

    - #### ATOM_VISSET

          public static final int ATOM_VISSET

      See Also:
        Constant Field Values

    - #### ATOM_VISIBLE

          public static final int ATOM_VISIBLE

      See Also:
        Constant Field Values

    - #### ATOM_NOTHIDDEN

          public static final int ATOM_NOTHIDDEN

      See Also:
        Constant Field Values

    - #### ATOM_NOFLAGS

          public static final int ATOM_NOFLAGS

      See Also:
        Constant Field Values

    - #### ATOM_INFRAME_NOTHIDDEN

          public static final int ATOM_INFRAME_NOTHIDDEN

      See Also:
        Constant Field Values

    - #### ATOM_SHAPE_VIS_MASK

          public static final int ATOM_SHAPE_VIS_MASK

      See Also:
        Constant Field Values

    - #### RADIUS_MAX

          public static final int RADIUS_MAX

      See Also:
        Constant Field Values

    - #### RADIUS_GLOBAL

          public static final float RADIUS_GLOBAL

      See Also:
        Constant Field Values

    - #### MAD_GLOBAL

          public static short MAD_GLOBAL

    - #### altloc

          public char altloc

    - #### atomID

          public byte atomID

    - #### atomSite

          public int atomSite

    - #### group

          public Group group

    - #### userDefinedVanDerWaalRadius

          private float userDefinedVanDerWaalRadius

    - #### valence

          byte valence

    - #### atomicAndIsotopeNumber

          private short atomicAndIsotopeNumber

    - #### atomSymmetry

          public javajs.util.BS atomSymmetry

    - #### formalChargeAndFlags

          private int formalChargeAndFlags

    - #### CHARGE_OFFSET

          private static final int CHARGE_OFFSET

      See Also:
        Constant Field Values

    - #### FLAG_MASK

          private static final int FLAG_MASK

      See Also:
        Constant Field Values

    - #### VIBRATION_VECTOR_FLAG

          private static final int VIBRATION_VECTOR_FLAG

      See Also:
        Constant Field Values

    - #### IS_HETERO_FLAG

          private static final int IS_HETERO_FLAG

      See Also:
        Constant Field Values

    - #### CIP_CHIRALITY_OFFSET

          private static final int CIP_CHIRALITY_OFFSET

      See Also:
        Constant Field Values

    - #### CIP_CHIRALITY_MASK

          private static final int CIP_CHIRALITY_MASK

      See Also:
        Constant Field Values

    - #### CIP_CHIRALITY_RULE_OFFSET

          private static final int CIP_CHIRALITY_RULE_OFFSET

      See Also:
        Constant Field Values

    - #### CIP_CHIRALITY_RULE_MASK

          private static final int CIP_CHIRALITY_RULE_MASK

      See Also:
        Constant Field Values

    - #### CIP_MASK

          private static final int CIP_MASK

      See Also:
        Constant Field Values

    - #### madAtom

          public short madAtom

    - #### colixAtom

          public short colixAtom

    - #### paletteID

          public byte paletteID

    - #### bonds

          public Bond[] bonds

      MAY BE NULL

    - #### nBondsDisplayed

          private int nBondsDisplayed

    - #### nBackbonesDisplayed

          public int nBackbonesDisplayed

    - #### clickabilityFlags

          public int clickabilityFlags

    - #### shapeVisibilityFlags

          public int shapeVisibilityFlags

  - ### Constructor Detail

    - #### Atom

          public Atom()

  - ### Method Detail

    - #### setAtom

          public Atom setAtom(int modelIndex,
                              int atomIndex,
                              javajs.util.P3 xyz,
                              float radius,
                              javajs.util.BS atomSymmetry,
                              int atomSite,
                              short atomicAndIsotopeNumber,
                              int formalCharge,
                              boolean isHetero)

      Parameters:
        `modelIndex` -
        `atomIndex` -
        `xyz` -
        `radius` -
        `atomSymmetry` -
        `atomSite` -
        `atomicAndIsotopeNumber` -
        `formalCharge` -
        `isHetero` -
      Returns:
        this

    - #### setShapeVisibility

          public final void setShapeVisibility(int flag,
                                               boolean isVisible)

    - #### isCovalentlyBonded

          public boolean isCovalentlyBonded(Atom atomOther)

    - #### isBonded

          public boolean isBonded(Atom atomOther)

    - #### getBond

          public Bond getBond(Atom atomOther)

    - #### addDisplayedBond

          void addDisplayedBond(int stickVisibilityFlag,
                                boolean isVisible)

    - #### deleteBond

          void deleteBond(Bond bond)

    - #### deleteBondAt

          private void deleteBondAt(int i)

    - #### getBondedAtomIndex

          public int getBondedAtomIndex(int bondIndex)

      Specified by:
        `getBondedAtomIndex` in interface `Node`

    - #### setMadAtom

          public void setMadAtom(Viewer vwr,
                                 RadiusData rd)

    - #### calculateMad

          public short calculateMad(Viewer vwr,
                                    RadiusData rd)

    - #### getADPMinMax

          public float getADPMinMax(boolean isMax)

    - #### getTensors

          public java.lang.Object[] getTensors()

    - #### getRasMolRadius

          public int getRasMolRadius()

    - #### getEdges

          public Edge[] getEdges()

      Description copied from interface: `SimpleNode`
      Get the bond array, including hydrogen bonds.
      Specified by:
        `getEdges` in interface `Node`
      Specified by:
        `getEdges` in interface `SimpleNode`
      Returns:
        number of bonds

    - #### getBondCount

          public int getBondCount()

      Description copied from interface: `SimpleNode`
      Get the total number of bonds, including hydrogen bonds.
      Specified by:
        `getBondCount` in interface `SimpleNode`
      Returns:
        number of bonds

    - #### setTranslucent

          public void setTranslucent(boolean isTranslucent,
                                     float translucentLevel)

    - #### getElementNumber

          public int getElementNumber()

      Specified by:
        `getElementNumber` in interface `Node`
      Specified by:
        `getElementNumber` in interface `SimpleNode`
      Returns:
        the atomic number for this aotm

    - #### getIsotopeNumber

          public int getIsotopeNumber()

      Specified by:
        `getIsotopeNumber` in interface `Node`
      Specified by:
        `getIsotopeNumber` in interface `SimpleNode`

    - #### getAtomicAndIsotopeNumber

          public int getAtomicAndIsotopeNumber()

      Specified by:
        `getAtomicAndIsotopeNumber` in interface `Node`

    - #### setAtomicAndIsotopeNumber

          public void setAtomicAndIsotopeNumber(int n)

    - #### getElementSymbolIso

          public java.lang.String getElementSymbolIso(boolean withIsotope)

    - #### getElementSymbol

          public java.lang.String getElementSymbol()

    - #### isHetero

          public boolean isHetero()

    - #### hasVibration

          public boolean hasVibration()

    - #### setFormalCharge

          public void setFormalCharge(int charge)

      Parameters:
        `charge` - from -3 to 7

    - #### setVibrationVector

          void setVibrationVector()

    - #### getFormalCharge

          public int getFormalCharge()

      Specified by:
        `getFormalCharge` in interface `Node`
      Specified by:
        `getFormalCharge` in interface `SimpleNode`
      Returns:
        the formal charge for this atom

    - #### getOccupancy100

          public int getOccupancy100()

    - #### isOccupied

          public boolean isOccupied()

    - #### getBfactor100

          public int getBfactor100()

    - #### getHydrophobicity

          public float getHydrophobicity()

    - #### setRadius

          public boolean setRadius(float radius)

    - #### delete

          public void delete(javajs.util.BS bsBonds)

    - #### isDeleted

          public boolean isDeleted()

      Specified by:
        `isDeleted` in interface `Node`

    - #### setValence

          public void setValence(int nBonds)

    - #### getValence

          public int getValence()

      return the total bond order for this atom
      Specified by:
        `getValence` in interface `Node`
      Specified by:
        `getValence` in interface `SimpleNode`
      Returns:
        the sum of the bond orders for this atom

    - #### getCovalentBondCount

          public int getCovalentBondCount()

      Description copied from interface: `SimpleNode`
      Get the total number of covalent bonds, thus not including hydrogen bonds.
      Specified by:
        `getCovalentBondCount` in interface `Node`
      Specified by:
        `getCovalentBondCount` in interface `SimpleNode`
      Returns:
        number of bonds

    - #### getCovalentHydrogenCount

          public int getCovalentHydrogenCount()

      Specified by:
        `getCovalentHydrogenCount` in interface `Node`

    - #### getImplicitHydrogenCount

          public int getImplicitHydrogenCount()

      Description copied from interface: `Node`
      can be > 0 for PDB model with no H atoms or for SMILES string CCC
      Specified by:
        `getImplicitHydrogenCount` in interface `Node`
      Returns:
        number of missing H atoms

    - #### getTotalHydrogenCount

          public int getTotalHydrogenCount()

      Specified by:
        `getTotalHydrogenCount` in interface `Node`

    - #### getTotalValence

          public int getTotalValence()

      Specified by:
        `getTotalValence` in interface `Node`

    - #### getCovalentBondCountPlusMissingH

          public int getCovalentBondCountPlusMissingH()

      Description copied from interface: `Node`
      includes actual + missing
      Specified by:
        `getCovalentBondCountPlusMissingH` in interface `Node`
      Returns:
        actual + missing

    - #### getTargetValence

          int getTargetValence()

    - #### getDimensionValue

          public float getDimensionValue(int dimension)

    - #### getVanderwaalsRadiusFloat

          public float getVanderwaalsRadiusFloat(Viewer vwr,
                                                 VDW type)

    - #### getVdwType

          private VDW getVdwType(VDW type)

      Parameters:
        `type` -
      Returns:
        if VDW_AUTO, will return VDW_AUTO_JMOL, VDW_AUTO_RASMOL, or VDW_AUTO_BABEL based on the model type

    - #### getBondingRadius

          public float getBondingRadius()

    - #### getVolume

          float getVolume(Viewer vwr,
                          VDW vType)

    - #### getCurrentBondCount

          int getCurrentBondCount()

    - #### getRadius

          public float getRadius()

    - #### getIndex

          public int getIndex()

      Specified by:
        `getIndex` in interface `Node`
      Specified by:
        `getIndex` in interface `SimpleNode`
      Returns:
        the unique ID number associated with this atom (which in Jmol is its position in the atoms[] array

    - #### getAtomSite

          public int getAtomSite()

      Specified by:
        `getAtomSite` in interface `Node`

    - #### getGroupBits

          public void getGroupBits(javajs.util.BS bs)

      Specified by:
        `getGroupBits` in interface `Node`

    - #### getAtomName

          public java.lang.String getAtomName()

      Specified by:
        `getAtomName` in interface `Node`
      Specified by:
        `getAtomName` in interface `SimpleNode`

    - #### getAtomType

          public java.lang.String getAtomType()

      Specified by:
        `getAtomType` in interface `Node`

    - #### getAtomNumber

          public int getAtomNumber()

      Specified by:
        `getAtomNumber` in interface `Node`

    - #### getSeqID

          public int getSeqID()

    - #### isVisible

          public boolean isVisible(int flags)

    - #### getPartialCharge

          public float getPartialCharge()

    - #### getSymmetryTranslation

          public int getSymmetryTranslation(int symop,
                                            int[] cellRange,
                                            int nOps)

      Given a symmetry operation number, the set of cells in the model, and the number of operations, this method returns either 0 or the cell number (555, 666) of the translated symmetry operation corresponding to this atom. atomSymmetry is a bitset that is created in adapter.smarter.AtomSetCollection It is arranged as follows: |--overall--|---cell1---|---cell2---|---cell3---|... |012..nOps-1|012..nOps-1|012..nOp-1s|012..nOps-1|... If a bit is set, it means that the atom was created using that operator operating on the base file set and translated for that cell. If any bit is set in any of the cell blocks, then the same bit will also be set in the overall block. This allows for rapid determination of special positions and also of atom membership in any operation set. Note that it is not necessarily true that an atom is IN the designated cell, because one can load {nnn mmm 0}, and then, for example, the {-x,-y,-z} operator sends atoms from 555 to 444. Still, those atoms would be marked as cell 555 here, because no translation was carried out. That is, the numbers 444 in symop=3444 do not refer to a cell, per se. What they refer to is the file-designated operator plus a translation of {-1 -1 -1/1}.
      Parameters:
        `symop` - = 0, 1, 2, 3, ....
        `cellRange` - = {444, 445, 446, 454, 455, 456, .... }
        `nOps` - = 2 for x,y,z;-x,-y,-z, for example
      Returns:
        cell number such as 565

    - #### getCellTranslation

          public int getCellTranslation(int cellNNN,
                                        int[] cellRange,
                                        int nOps)

      Looks for a match in the cellRange list for this atom within the specified translation set select symop=0NNN for this
      Parameters:
        `cellNNN` -
        `cellRange` -
        `nOps` -
      Returns:
        matching cell number, if applicable

    - #### getSymmetryOperatorList

          java.lang.String getSymmetryOperatorList(boolean isAll)

    - #### getModelIndex

          public int getModelIndex()

      SMILES only
      Specified by:
        `getModelIndex` in interface `Node`

    - #### getMoleculeNumber

          public int getMoleculeNumber(boolean inModel)

      Specified by:
        `getMoleculeNumber` in interface `Node`

    - #### getFractionalCoord

          private float getFractionalCoord(boolean fixJavaFloat,
                                           char ch,
                                           boolean ignoreOffset,
                                           javajs.util.P3 pt)

    - #### getXYZ

          public javajs.util.P3 getXYZ()

      Specified by:
        `getXYZ` in interface `Node`
      Specified by:
        `getXYZ` in interface `SimpleNode`
      Returns:
        the position of this atom

    - #### getFractionalCoordPt

          public javajs.util.P3 getFractionalCoordPt(boolean fixJavaFloat,
                                                     boolean ignoreOffset,
                                                     javajs.util.P3 pt)

    - #### getUnitCell

          SymmetryInterface getUnitCell()

    - #### getFractionalUnitCoord

          private float getFractionalUnitCoord(boolean fixJavaFloat,
                                               char ch,
                                               javajs.util.P3 pt)

    - #### getFractionalUnitCoordPt

          javajs.util.P3 getFractionalUnitCoordPt(boolean fixJavaFloat,
                                                  boolean asCartesian,
                                                  javajs.util.P3 pt)

      Parameters:
        `fixJavaFloat` - ALWAYS set true for any new references to this method. False is for legacy only
        `asCartesian` -
        `pt` -
      Returns:
        unit cell coord

    - #### getFractionalUnitDistance

          float getFractionalUnitDistance(javajs.util.T3 pt,
                                          javajs.util.T3 ptTemp1,
                                          javajs.util.T3 ptTemp2)

    - #### setFractionalCoord

          void setFractionalCoord(int tok,
                                  float fValue,
                                  boolean asAbsolute)

    - #### setFractionalCoordTo

          void setFractionalCoordTo(javajs.util.P3 ptNew,
                                    boolean asAbsolute)

    - #### setFractionalCoordPt

          public void setFractionalCoordPt(javajs.util.P3 pt,
                                           javajs.util.P3 ptNew,
                                           boolean asAbsolute)

    - #### isCursorOnTopOf

          boolean isCursorOnTopOf(int xCursor,
                                  int yCursor,
                                  int minRadius,
                                  Atom competitor)

    - #### getInfo

          public java.lang.String getInfo()

    - #### getIdentityXYZ

          public java.lang.String getIdentityXYZ(boolean allInfo,
                                                 javajs.util.P3 pt)

    - #### getIdentity

          java.lang.String getIdentity(boolean allInfo)

    - #### getGroup3

          public java.lang.String getGroup3(boolean allowNull)

      Specified by:
        `getGroup3` in interface `Node`

    - #### getGroup1

          public java.lang.String getGroup1(char c0)

      Specified by:
        `getGroup1` in interface `Node`

    - #### getBioSmilesType

          public char getBioSmilesType()

      Specified by:
        `getBioSmilesType` in interface `Node`

    - #### isPurine

          public boolean isPurine()

      Specified by:
        `isPurine` in interface `Node`

    - #### isPyrimidine

          public boolean isPyrimidine()

      Specified by:
        `isPyrimidine` in interface `Node`

    - #### getResno

          public int getResno()

      Specified by:
        `getResno` in interface `Node`

    - #### isClickable

          public boolean isClickable()

    - #### setClickable

          public void setClickable(int flag)

    - #### checkVisible

          public boolean checkVisible()

    - #### isLeadAtom

          public boolean isLeadAtom()

      Specified by:
        `isLeadAtom` in interface `Node`

    - #### getChainID

          public int getChainID()

      Specified by:
        `getChainID` in interface `Node`

    - #### getChainIDStr

          public java.lang.String getChainIDStr()

      Specified by:
        `getChainIDStr` in interface `Node`

    - #### getSurfaceDistance100

          public int getSurfaceDistance100()

    - #### getVibrationVector

          public Vibration getVibrationVector()

    - #### getModulation

          public JmolModulationSet getModulation()

    - #### getModelNumberForLabel

          public java.lang.String getModelNumberForLabel()

    - #### getModelNumber

          public int getModelNumber()

    - #### getBioStructureTypeName

          public java.lang.String getBioStructureTypeName()

      Specified by:
        `getBioStructureTypeName` in interface `Node`

    - #### equals

          public boolean equals(java.lang.Object obj)

      Description copied from class: `javajs.util.T3`
      Returns true if all of the data members of Tuple3f t1 are equal to the corresponding data members in this
      Overrides:
        `equals` in class `javajs.util.T3`
      Parameters:
        `obj` - the vector with which the comparison is made.

    - #### hashCode

          public int hashCode()

      Description copied from class: `javajs.util.T3`
      Returns a hash number based on the data values in this object. Two different Tuple3f objects with identical data values (ie, returns true for equals(Tuple3f) ) will return the same hash number. Two vectors with different data members may return the same hash value, although this is not likely.
      Overrides:
        `hashCode` in class `javajs.util.T3`

    - #### findAromaticNeighbor

          public Atom findAromaticNeighbor(int notAtomIndex)

    - #### atomPropertyInt

          public int atomPropertyInt(int tokWhat)

      called by isosurface and int comparator via atomProperty() and also by getBitsetProperty()
      Parameters:
        `tokWhat` -
      Returns:
        int value or Integer.MIN_VALUE

    - #### getSymOp

          int getSymOp()

    - #### atomPropertyFloat

          public float atomPropertyFloat(Viewer vwr,
                                         int tokWhat,
                                         javajs.util.P3 ptTemp)

      called by isosurface and int comparator via atomProperty() and also by getBitsetProperty()
      Parameters:
        `vwr` -
        `tokWhat` -
        `ptTemp` -
      Returns:
        float value or value*100 (asInt=true) or throw an error if not found

    - #### getVib

          public float getVib(char ch)

    - #### getNominalMass

          public int getNominalMass()

    - #### getMass

          public float getMass()

      Specified by:
        `getMass` in interface `Node`
      Specified by:
        `getMass` in interface `SimpleNode`
      Returns:
        the mass or, if specified, the mass number

    - #### atomPropertyString

          public java.lang.String atomPropertyString(Viewer vwr,
                                                     int tokWhat)

    - #### getCIPChirality

          public java.lang.String getCIPChirality(boolean doCalculate)

      Determine R/S chirality at this position; non-H atoms only; cached in formalChargeAndFlags
      Specified by:
        `getCIPChirality` in interface `Node`
      Parameters:
        `doCalculate` -
      Returns:
        one of "", "R", "S", "E", "Z", "r", "s", "?"

    - #### getCIPChiralityRule

          public java.lang.String getCIPChiralityRule()

    - #### setCIPChirality

          public void setCIPChirality(int c)

      Specified by:
        `setCIPChirality` in interface `Node`
      Specified by:
        `setCIPChirality` in interface `SimpleNode`
      Parameters:
        `c` - [0:unknown; 3:none; 1: R; 2: S; 5: Z; 6: E; 9: M, 10: P, +r,s

    - #### getCIPChiralityCode

          public int getCIPChiralityCode()

      Specified by:
        `getCIPChiralityCode` in interface `Node`

    - #### getInsertionCode

          public char getInsertionCode()

      Specified by:
        `getInsertionCode` in interface `Node`

    - #### atomPropertyTuple

          public javajs.util.T3 atomPropertyTuple(Viewer vwr,
                                                  int tok,
                                                  javajs.util.P3 ptTemp)

    - #### getOffsetResidueAtom

          public int getOffsetResidueAtom(java.lang.String name,
                                          int offset)

      Specified by:
        `getOffsetResidueAtom` in interface `Node`

    - #### isCrossLinked

          public boolean isCrossLinked(Node node)

      Specified by:
        `isCrossLinked` in interface `Node`

    - #### getCrossLinkVector

          public boolean getCrossLinkVector(javajs.util.Lst<java.lang.Integer> vReturn,
                                            boolean crosslinkCovalent,
                                            boolean crosslinkHBond)

      Used by SMILES to get vector of cross-links
      Specified by:
        `getCrossLinkVector` in interface `Node`

    - #### toString

          public java.lang.String toString()

      Description copied from class: `javajs.util.T3`
      Returns a string that contains the values of this Tuple3f. The form is (x,y,z).
      Overrides:
        `toString` in class `javajs.util.T3`
      Returns:
        the String representation

    - #### findAtomsLike

          public javajs.util.BS findAtomsLike(java.lang.String atomExpression)

      Specified by:
        `findAtomsLike` in interface `Node`

    - #### getUnitID

          public java.lang.String getUnitID(int flags)

    - #### getFloatProperty

          public float getFloatProperty(java.lang.String property)

      Specified by:
        `getFloatProperty` in interface `Node`
      Parameters:
        `property` - "property_xxxx"
      Returns:
        value or Float.NaN

    - #### modelIsRawPDB

          public boolean modelIsRawPDB()

      Specified by:
        `modelIsRawPDB` in interface `Node`