Class BondCollection

    • Field Detail

      • bo

        public Bond[] bo
      • bondCount

        public int bondCount
      • numCached

        protected int[] numCached
      • freeBonds

        protected Bond[][][] freeBonds
      • 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:
        Constant Field Values
      • MAX_BONDS_LENGTH_TO_CACHE

        protected static final int MAX_BONDS_LENGTH_TO_CACHE
        See Also:
        Constant Field Values
      • haveAtropicBonds

        protected boolean haveAtropicBonds
    • Constructor Detail

      • BondCollection

        public BondCollection()
    • Method Detail

      • 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,
                                                java.lang.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)