public abstract class BondCollection extends AtomCollection
AtomCollection.AtomSorter
Modifier and Type | Field and Description |
---|---|
protected static int |
BOND_GROWTH_INCREMENT |
int |
bondCount |
Bond[] |
bonds |
protected BS |
bsAromatic |
private BS |
bsAromaticDouble |
private BS |
bsAromaticSingle |
protected short |
defaultCovalentMad |
protected Bond[][][] |
freeBonds |
boolean |
haveHiddenBonds |
private boolean |
haveWarned |
protected static int |
MAX_BONDS_LENGTH_TO_CACHE |
protected static int |
MAX_NUM_TO_CACHE |
protected int |
moleculeCount |
protected JmolMolecule[] |
molecules |
protected int[] |
numCached |
atomCount, atomNames, atoms, atomSerials, atomTensorList, atomTensors, atomTypes, bfactor100s, bsModulated, bspf, canSkipLoad, g3d, haveStraightness, hydrophobicities, ionicRadii, labeler, maxBondingRadius, occupancies, partialCharges, preserveState, surfaceDistance100s, TAINT_ATOMNAME, TAINT_ATOMNO, TAINT_ATOMTYPE, TAINT_COORD, TAINT_ELEMENT, TAINT_FORMALCHARGE, TAINT_HYDROPHOBICITY, TAINT_IONICRADIUS, TAINT_MAX, TAINT_OCCUPANCY, TAINT_PARTIALCHARGE, TAINT_TEMPERATURE, TAINT_VALENCE, TAINT_VANDERWAALS, TAINT_VIBRATION, tainted, userSettableValues, vibrations, viewer
Constructor and Description |
---|
BondCollection() |
Modifier and Type | Method and Description |
---|---|
private void |
addBondToAtom(Atom atom,
Bond bond) |
int |
addHBond(Atom atom1,
Atom atom2,
int order,
float energy) |
private Bond[] |
addToBonds(Bond newBond,
Bond[] oldBonds) |
void |
assignAromaticBonds() |
protected void |
assignAromaticBondsBs(boolean isUserCalculation,
BS bsBonds)
algorithm discussed above.
|
private boolean |
assignAromaticDouble(Bond bond)
try to assign AROMATICDOUBLE to this bond.
|
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.
|
private void |
assignAromaticNandO(BS bsSelected) |
private boolean |
assignAromaticSingle(Bond bond)
try to assign AROMATICSINGLE to this bond.
|
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.
|
private boolean |
assignAromaticSingleHetero(Atom atom) |
Bond |
bondAtoms(Atom atom1,
Atom atom2,
int order,
short mad,
BS bsBonds,
float energy,
boolean addGroup,
boolean isNew) |
protected Bond |
bondMutually(Atom atom,
Atom atomOther,
int order,
short mad,
float energy) |
protected boolean |
checkValencesAndBond(Atom atomA,
Atom atomB,
int order,
short mad,
BS bsBonds) |
protected void |
dBb(BS bsBond,
boolean isFullModel) |
protected void |
dBm(BS bsBonds,
boolean isFullModel)
send request up to ModelCollection level.
|
protected void |
deleteAllBonds2() |
protected int[] |
deleteConnections(float minDistance,
float maxDistance,
int order,
BS bsA,
BS bsB,
boolean isBonds,
boolean matchNull,
float minDistanceSquared,
float maxDistanceSquared) |
void |
displayBonds(BondSet bs,
boolean isDisplay) |
protected BS |
getAtomBitsMDb(int tokType,
Object specInfo) |
Bond |
getBondAt(int bondIndex) |
Atom |
getBondAtom1(int i) |
Atom |
getBondAtom2(int i) |
short |
getBondColix1(int i) |
short |
getBondColix2(int i) |
protected int |
getBondCountInModel(int modelIndex)
for general use
|
BondIterator |
getBondIterator(BS bsBonds) |
BondIterator |
getBondIteratorForType(int bondType,
BS bsAtoms) |
int |
getBondModelIndex(int i) |
int |
getBondOrder(int i) |
protected static short |
getBondOrderFull(float bondingRadiusA,
float bondingRadiusB,
float distance2,
float minBondDistance2,
float bondTolerance) |
float |
getBondRadius(int i) |
BS |
getBondsForSelectedAtoms(BS bsAtoms,
boolean bondSelectionModeOr) |
short |
getDefaultMadFromOrder(int order)
When creating a new bond, determine bond diameter from order
|
private Bond |
getOrAddBond(Atom atom,
Atom atomOther,
int order,
short mad,
BS bsBonds,
float energy,
boolean overrideBonding) |
protected void |
releaseModelSet() |
protected void |
releaseModelSetBC() |
protected void |
removeUnnecessaryBonds(Atom atom,
boolean deleteAtom) |
void |
resetAromatic() |
protected void |
resetMolecules() |
protected Bond |
setBond(int index,
Bond bond) |
BS |
setBondOrder(int bondIndex,
char type) |
void |
setBondParameters(int modelIndex,
int i,
float rad,
float pymolValence,
int argb,
float trans) |
void |
setBondParametersBS(int modelIndex,
int iBond,
BS bsBonds,
float rad,
float pymolValence,
int argb,
float trans)
used in PyMOL reader to set unique bond settings and for valence
|
addTensor, calculateHydrogens, calculateSurface, calculateVolume, chainToUpper, clearBfactorRange, deleteModelAtoms, fillADa, findAtomsInRectangle, findMaxRadii, findNearest2, fixFormalCharges, getAllAtomTensors, getAtomBitsMDa, getAtomChain, getAtomColix, getAtomCount, getAtomicCharges, getAtomIdentityInfo, getAtomIndexFromAtomNumber, getAtomIndices, getAtomInfo, getAtomInfoXYZ, getAtomName, getAtomNumber, getAtomPoint3f, getAtomPointVector, getAtomRadius, getAtomsWithin, getAtomsWithinBs, getAtomTensor, getAtomTensorList, getAtomTypes, getAtomVdwRadius, getBfactor100Hi, getBfactor100Lo, getBFactors, getChainBits, getClickableSet, getElementName, getElementNumber, getElementSymbol, getHaveStraightness, getHelixData, getHybridizationAndAxes, getHydrophobicity, getImplicitHydrogenCount, getIonicRadii, getLabeler, getMaxVanderwaalsRadius, getPartialCharges, getQuaternion, getRadiusVdwJmol, getSeqcodeBits, getSurfaceDistance100, getSurfaceDistanceMax, getTaintedAtoms, getUserSettableType, getVibration, getVibrationCoord, getVisibleSet, isAtomHidden, isCursorOnTopOf, isModulated, mergeAtomArrays, modelSetHasVibrationVectors, releaseModelSetAC, setAPa, setAtomCoord, setAtomCoord2, setAtomCoordRelative, setAtomData, setAtomName, setAtomNumber, setAtomsCoordRelative, setAtomTensors, setAtomType, setBFactor, setBsHidden, setElement, setFormalCharges, setHaveStraightness, setHydrophobicity, setIonicRadius, setOccupancy, setPartialCharge, setPreserveState, setTaintedAtoms, setVibrationVector, taintAtom, taintAtoms, unTaintAtoms, validateBspf, validateBspfForModel
protected JmolMolecule[] molecules
protected int moleculeCount
public Bond[] bonds
public int bondCount
protected static final int BOND_GROWTH_INCREMENT
protected static final int MAX_BONDS_LENGTH_TO_CACHE
protected static final int MAX_NUM_TO_CACHE
protected int[] numCached
protected Bond[][][] freeBonds
private boolean haveWarned
protected short defaultCovalentMad
private BS bsAromaticSingle
private BS bsAromaticDouble
protected BS bsAromatic
public boolean haveHiddenBonds
protected void releaseModelSet()
releaseModelSet
in class AtomCollection
protected void releaseModelSetBC()
protected void resetMolecules()
public Bond getBondAt(int bondIndex)
public BondIterator getBondIteratorForType(int bondType, BS bsAtoms)
public BondIterator getBondIterator(BS bsBonds)
public Atom getBondAtom1(int i)
public Atom getBondAtom2(int i)
public float getBondRadius(int i)
public int getBondOrder(int i)
public short getBondColix1(int i)
public short getBondColix2(int i)
public int getBondModelIndex(int i)
protected int getBondCountInModel(int modelIndex)
modelIndex
- the model of interest or -1 for allpublic BS getBondsForSelectedAtoms(BS bsAtoms, boolean bondSelectionModeOr)
public Bond bondAtoms(Atom atom1, Atom atom2, int order, short mad, BS bsBonds, float energy, boolean addGroup, boolean isNew)
private Bond getOrAddBond(Atom atom, Atom atomOther, int order, short mad, BS bsBonds, float energy, boolean overrideBonding)
protected Bond bondMutually(Atom atom, Atom atomOther, int order, short mad, float energy)
protected static short getBondOrderFull(float bondingRadiusA, float bondingRadiusB, float distance2, float minBondDistance2, float bondTolerance)
protected boolean checkValencesAndBond(Atom atomA, Atom atomB, int order, short mad, BS bsBonds)
protected void deleteAllBonds2()
public short getDefaultMadFromOrder(int order)
order
- protected int[] deleteConnections(float minDistance, float maxDistance, int order, BS bsA, BS bsB, boolean isBonds, boolean matchNull, float minDistanceSquared, float maxDistanceSquared)
protected void dBm(BS bsBonds, boolean isFullModel)
bsBonds
- isFullModel
- protected void dBb(BS bsBond, boolean isFullModel)
public void resetAromatic()
public void assignAromaticBonds()
protected void assignAromaticBondsBs(boolean isUserCalculation, BS bsBonds)
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 routineprivate boolean assignAromaticDouble(Bond bond)
bond
- private boolean assignAromaticSingle(Bond bond)
bond
- private boolean assignAromaticSingleForAtom(Atom atom, int notBondIndex)
atom
- notBondIndex
- that index of the bond leading to this atom --- to be ignoredprivate boolean assignAromaticDoubleForAtom(Atom atom)
atom
- private boolean assignAromaticSingleHetero(Atom atom)
private void assignAromaticNandO(BS bsSelected)
public BS setBondOrder(int bondIndex, char type)
protected void removeUnnecessaryBonds(Atom atom, boolean deleteAtom)
public void displayBonds(BondSet bs, boolean isDisplay)
public void setBondParametersBS(int modelIndex, int iBond, BS bsBonds, float rad, float pymolValence, int argb, float trans)
modelIndex
- iBond
- bsBonds
- rad
- pymolValence
- 1 for "show multiple bondsargb
- trans
- public void setBondParameters(int modelIndex, int i, float rad, float pymolValence, int argb, float trans)