13 #include "../RDKitBase.h"
21 class MaximumCommonSubgraph;
53 NewBond(
unsigned from_atom,
unsigned bond_idx,
unsigned new_atom,
54 unsigned to_atom,
const Atom* a)
55 : SourceAtomIdx(from_atom),
59 EndAtomIdx(to_atom) {}
64 mutable std::vector<NewBond> NewBonds;
80 #ifdef DUP_SUBSTRUCT_CACHE
86 : CopyComplete(false),
88 LastAddedAtomsBeginIdx(0),
89 LastAddedBondsBeginIdx(0),
97 NewBonds = src.NewBonds;
106 #ifdef DUP_SUBSTRUCT_CACHE
119 #ifdef DUP_SUBSTRUCT_CACHE
122 LastAddedAtomsBeginIdx = getNumAtoms();
123 LastAddedBondsBeginIdx = getNumBonds();
132 unsigned maxAtoms)
const {
133 return RemainingBonds + getNumBonds() > maxBonds ||
134 (RemainingBonds + getNumBonds() == maxBonds &&
135 RemainingAtoms + getNumAtoms() > maxAtoms);
137 void computeRemainingSize(
const ROMol& qmol);
139 unsigned addAtom(
const Atom* atom);
140 unsigned addBond(
const Bond* bond);
141 void fillNewBonds(
const ROMol& qmol);