public bool SetBondCountWithSpecialUnknownHandling(PotentialBond potentialBond, BondCount bondCount) { if (!atoms.ContainsKey(potentialBond.coords) || !atoms.ContainsKey(potentialBond.getCoordsOfOtherBonder())) { return(false); } if (bondCount > (BondCount)GetBondCountAsInt(potentialBond)) { Atom sourceAtom = atoms[potentialBond.coords]; if (sourceAtom.element != Element.Unknown && (GetTotalBondsAt(potentialBond.coords) - GetBondCountAsInt(potentialBond) + bondCount > (BondCount)sourceAtom.GetMaxBonds())) { // source atom would be over max. bonds return(false); } Atom targetAtom = atoms[potentialBond.getCoordsOfOtherBonder()]; if (targetAtom.element != Element.Unknown && (GetTotalBondsAt(potentialBond.getCoordsOfOtherBonder()) - GetBondCountAsInt(potentialBond) + bondCount > (BondCount)targetAtom.GetMaxBonds())) { // target atom would be over max. bonds return(false); } } SetBondCount(potentialBond, new BondCount?(bondCount)); return(true); }
public bool SetBondCountWithoutMaxBondsCheck(PotentialBond potentialBond, BondCount bondCount) { if (!atoms.ContainsKey(potentialBond.coords) || !atoms.ContainsKey(potentialBond.getCoordsOfOtherBonder())) { return(false); } SetBondCount(potentialBond, new BondCount?(bondCount)); return(true); }
private int GetBondCountAsInt(PotentialBond bond) { return(0); }
public bool RemoveBond(PotentialBond potentialBond) { return(false); }
public void SetBondCount(PotentialBond potentialBond, BondCount?bondCount) { }
public static IEnumerable <MoleculeDefinition> BreakBond(MoleculeDefinition moleculeDefinition, PotentialBond bondToRemove) { return(null); }
public bool SetBondCountWithMaxBondsCheck(PotentialBond potentialBond, BondCount bondCount) { return(false); }
public BondCount?GetBondCount(PotentialBond potentialBond) { return(null); }