13 #include "../RDKitBase.h" 21 class MaximumCommonSubgraph;
52 NewBond(
unsigned from_atom,
unsigned bond_idx,
unsigned new_atom,
53 unsigned to_atom,
const Atom* a)
54 : SourceAtomIdx(from_atom),
58 EndAtomIdx(to_atom) {}
63 mutable std::vector<NewBond> NewBonds;
79 #ifdef DUP_SUBSTRUCT_CACHE 85 : CopyComplete(false),
87 LastAddedAtomsBeginIdx(0),
88 LastAddedBondsBeginIdx(0),
96 NewBonds = src.NewBonds;
105 #ifdef DUP_SUBSTRUCT_CACHE 118 #ifdef DUP_SUBSTRUCT_CACHE 121 LastAddedAtomsBeginIdx = getNumAtoms();
122 LastAddedBondsBeginIdx = getNumBonds();
131 unsigned maxAtoms)
const {
132 return RemainingBonds + getNumBonds() > maxBonds ||
133 (RemainingBonds + getNumBonds() == maxBonds &&
134 RemainingAtoms + getNumAtoms() > maxAtoms);
136 void computeRemainingSize(
const ROMol& qmol);
138 unsigned addAtom(
const Atom* atom);
139 unsigned addBond(
const Bond* bond);
140 void fillNewBonds(
const ROMol& qmol);
std::vector< TargetMatch > MatchResult
std::vector< unsigned > BondsIdx
std::map< unsigned, unsigned > SeedAtomIdxMap
void setMoleculeFragment(const Seed &src)
bool canGrowBiggerThan(unsigned maxBonds, unsigned maxAtoms) const
#define RDKIT_FMCS_EXPORT
std::vector< bool > ExcludedBonds
unsigned LastAddedAtomsBeginIdx
unsigned getNumAtoms() const
class for representing a bond
MolFragment MoleculeFragment
DuplicatedSeedCache::TKey DupCacheKey
std::vector< const Bond * > Bonds
NewBond(unsigned from_atom, unsigned bond_idx, unsigned new_atom, unsigned to_atom, const Atom *a)
void createFromParent(const Seed *parent)
Seed & operator=(const Seed &src)
unsigned LastAddedBondsBeginIdx
std::vector< const Atom * > Atoms
The class for representing atoms.
std::vector< unsigned > AtomsIdx
unsigned getNumBonds() const