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 BS bsAromaticSingle
      • bsAromaticDouble

        private BS bsAromaticDouble
      • bsAromatic

        protected 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
    • Constructor Detail

      • BondCollection

        public BondCollection()
    • Method Detail

      • setupBC

        protected void setupBC()
      • releaseModelSetBC

        protected void releaseModelSetBC()
      • resetMolecules

        public void resetMolecules()
      • getBondIteratorForType

        public BondIterator getBondIteratorForType​(int bondType,
                                                   BS bsAtoms)
      • getBondIterator

        public BondIterator getBondIterator​(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 BS getBondsForSelectedAtoms​(BS bsAtoms,
                                           boolean bondSelectionModeOr)
      • bondAtoms

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

        protected Bond getOrAddBond​(Atom atom,
                                    Atom atomOther,
                                    int order,
                                    short mad,
                                    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,
                                          BS bsA,
                                          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)
      • dBm

        protected void dBm​(BS bsBonds,
                           boolean isFullModel)
        send request up to ModelCollection level. Done this way to avoid JavaScript super call
        Parameters:
        bsBonds -
        isFullModel -
      • dBb

        protected void dBb​(BS bsBond,
                           boolean isFullModel)
      • resetAromatic

        public void resetAromatic()
      • assignAromaticBondsBs

        public void assignAromaticBondsBs​(boolean isUserCalculation,
                                          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​(BS bsSelected)
      • getAtomBitsMDb

        protected BS getAtomBitsMDb​(int tokType,
                                    java.lang.Object specInfo)
      • assignBond

        public BS assignBond​(int bondIndex,
                             char type)
      • removeUnnecessaryBonds

        protected void removeUnnecessaryBonds​(Atom atom,
                                              boolean deleteAtom)
      • displayBonds

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

        public BS getAtomsConnected​(float min,
                                    float max,
                                    int intType,
                                    BS bs)