Class BondCollection

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

public abstract class BondCollection extends AtomCollection
  • Field Details

    • bo

      public Bond[] bo
    • bondCount

      public int bondCount
    • numCached

      protected int[] numCached
    • freeBonds

      protected Bond[][][] freeBonds
    • molecules

      protected JmolMolecule[] molecules
    • moleculeCount

      protected int moleculeCount
    • defaultCovalentMad

      protected short defaultCovalentMad
    • bsAromaticSingle

      private javajs.util.BS bsAromaticSingle
    • bsAromaticDouble

      private javajs.util.BS bsAromaticDouble
    • bsAromatic

      protected javajs.util.BS bsAromatic
    • haveHiddenBonds

      public boolean haveHiddenBonds
    • BOND_GROWTH_INCREMENT

      protected static final int BOND_GROWTH_INCREMENT
      See Also:
    • MAX_BONDS_LENGTH_TO_CACHE

      protected static final int MAX_BONDS_LENGTH_TO_CACHE
      See Also:
    • MAX_NUM_TO_CACHE

      protected static final int MAX_NUM_TO_CACHE
      See Also:
    • haveAtropicBonds

      protected boolean haveAtropicBonds
  • Constructor Details

    • BondCollection

      public BondCollection()
  • Method Details

    • setupBC

      protected void setupBC()
    • releaseModelSetBC

      protected void releaseModelSetBC()
    • getBondIteratorForType

      public BondIterator getBondIteratorForType(int bondType, javajs.util.BS bsAtoms)
    • getBondIterator

      public BondIterator getBondIterator(javajs.util.BS bsBonds)
    • getBondColix1

      public short getBondColix1(int i)
    • getBondColix2

      public short getBondColix2(int i)
    • getBondCountInModel

      protected int getBondCountInModel(int modelIndex)
      for general use
      Parameters:
      modelIndex - the model of interest or -1 for all
      Returns:
      the actual number of connections
    • getBondsForSelectedAtoms

      public javajs.util.BS getBondsForSelectedAtoms(javajs.util.BS bsAtoms, boolean bondSelectionModeOr)
    • bondAtoms

      public Bond bondAtoms(Atom atom1, Atom atom2, int order, short mad, javajs.util.BS bsBonds, float energy, boolean addGroup, boolean isNew)
    • getOrAddBond

      protected Bond getOrAddBond(Atom atom, Atom atomOther, int order, short mad, javajs.util.BS bsBonds, float energy, boolean overrideBonding)
    • setBond

      protected Bond setBond(int index, Bond bond)
    • bondMutually

      protected Bond bondMutually(Atom atom, Atom atomOther, int order, short mad, float energy)
    • addBondToAtom

      private void addBondToAtom(Atom atom, Bond bond)
    • addToBonds

      private Bond[] addToBonds(Bond newBond, Bond[] oldBonds)
    • addHBond

      public int addHBond(Atom atom1, Atom atom2, int order, float energy)
    • deleteAllBonds2

      protected void deleteAllBonds2()
    • getDefaultMadFromOrder

      public short getDefaultMadFromOrder(int order)
      When creating a new bond, determine bond diameter from order
      Parameters:
      order -
      Returns:
      if hydrogen bond, default to 1; otherwise 0 (general default)
    • deleteConnections

      protected int[] deleteConnections(float minD, float maxD, int order, javajs.util.BS bsA, javajs.util.BS bsB, boolean isBonds, boolean matchNull)
    • fixD

      protected float fixD(float d, boolean isF)
    • isInRange

      protected boolean isInRange(Atom atom1, Atom atom2, float minD, float maxD, boolean minFrac, boolean maxfrac, boolean isFractional)
      Consider the min/max option for CONNECT
      Parameters:
      atom1 -
      atom2 -
      minD -
      maxD -
      minFrac -
      maxfrac -
      isFractional -
      Returns:
      true if in range
    • dBb

      protected void dBb(javajs.util.BS bsBond, boolean isFullModel)
    • resetAromatic

      public void resetAromatic()
    • assignAromaticBondsBs

      public void assignAromaticBondsBs(boolean isUserCalculation, javajs.util.BS bsBonds)
      algorithm discussed above.
      Parameters:
      isUserCalculation - if set, don't reset the base aromatic bitset and do report changes to STICKS as though this were a bondOrder command.
      bsBonds - passed to us by autoBond routine
    • assignAromaticDouble

      private boolean assignAromaticDouble(Bond bond)
      try to assign AROMATICDOUBLE to this bond. Each atom needs to be have all single bonds except for this one.
      Parameters:
      bond -
      Returns:
      true if successful; false otherwise
    • assignAromaticSingle

      private boolean assignAromaticSingle(Bond bond)
      try to assign AROMATICSINGLE to this bond. Each atom needs to be able to have one aromatic double bond attached.
      Parameters:
      bond -
      Returns:
      true if successful; false otherwise
    • assignAromaticSingleForAtom

      private boolean assignAromaticSingleForAtom(Atom atom, int notBondIndex)
      N atoms with 3 bonds cannot also have a double bond; other atoms needs all single bonds, because the bond leading up to it is double.
      Parameters:
      atom -
      notBondIndex - that index of the bond leading to this atom --- to be ignored
      Returns:
      true if successful, false if not
    • assignAromaticDoubleForAtom

      private boolean assignAromaticDoubleForAtom(Atom atom)
      N atoms with 3 bonds cannot also have a double bond; other atoms need one and only one double bond; the rest must be single bonds.
      Parameters:
      atom -
      Returns:
      true if successful, false if not
    • allowAromaticBond

      protected boolean allowAromaticBond(Bond b)
    • assignAromaticMustBeSingle

      private boolean assignAromaticMustBeSingle(Atom atom)
    • assignAromaticNandO

      private void assignAromaticNandO(javajs.util.BS bsSelected)
    • getAtomBitsMDb

      protected javajs.util.BS getAtomBitsMDb(int tokType, Object specInfo)
    • removeUnnecessaryBonds

      public void removeUnnecessaryBonds(Atom atom, boolean deleteAtom)
    • displayBonds

      public void displayBonds(BondSet bs, boolean isDisplay)
    • getAtomsConnected

      public javajs.util.BS getAtomsConnected(float min, float max, int intType, javajs.util.BS bs)