45 RWMol(
const ROMol &other,
bool quickCopy =
false,
int confId = -1)
46 :
ROMol(other, quickCopy, confId) {}
51 ROMol::operator=(std::move(other));
69 unsigned int addAtom(
bool updateLabel =
true);
83 bool takeOwnership =
false) {
84 return ROMol::addAtom(atom, updateLabel, takeOwnership);
99 bool preserveProps =
false);
128 unsigned int addBond(
unsigned int beginAtomIdx,
unsigned int endAtomIdx,
144 return ROMol::addBond(bond, takeOwnership);
187 void removeBond(
unsigned int beginAtomIdx,
unsigned int endAtomIdx);
198 bool keepSGroups =
true);
218 void batchRemoveBonds();
219 void batchRemoveAtoms();
Defines the primary molecule class ROMol as well as associated typedefs.
The class for representing atoms.
class for representing a bond
RWMol is a molecule class that is intended to be edited.
RWMol & operator=(RWMol &&other) noexcept
void removeAtom(unsigned int idx)
removes an Atom from the molecule
void removeAtom(Atom *atom, bool clearProps)
This is an overloaded member function, provided for convenience. It differs from the above function o...
void replaceAtom(unsigned int idx, Atom *atom, bool updateLabel=false, bool preserveProps=false)
adds an Atom to our collection
void removeAtom(Atom *atom)
This is an overloaded member function, provided for convenience. It differs from the above function o...
unsigned int addBond(Bond *bond, bool takeOwnership=false)
adds a Bond to our collection
unsigned int addAtom(bool updateLabel=true)
adds an empty Atom to our collection
RWMol(const ROMol &other, bool quickCopy=false, int confId=-1)
copy constructor with a twist
Bond * createPartialBond(unsigned int beginAtomIdx, Bond::BondType order=Bond::UNSPECIFIED)
starts a Bond and sets its beginAtomIdx
unsigned int addBond(unsigned int beginAtomIdx, unsigned int endAtomIdx, Bond::BondType order=Bond::UNSPECIFIED)
adds a Bond between the indicated Atoms
unsigned int finishPartialBond(unsigned int endAtomIdx, int bondBookmark, Bond::BondType order=Bond::UNSPECIFIED)
finishes a partially constructed bond
unsigned int addAtom(Atom *atom, bool updateLabel=true, bool takeOwnership=false)
adds an Atom to our collection
RWMol & operator=(const RWMol &)
Atom * getActiveAtom()
returns a pointer to the "active" Atom
unsigned int addBond(Atom *beginAtom, Atom *endAtom, Bond::BondType order=Bond::UNSPECIFIED)
This is an overloaded member function, provided for convenience. It differs from the above function o...
RWMol(const RWMol &other)
void replaceBond(unsigned int idx, Bond *bond, bool preserveProps=false, bool keepSGroups=true)
replaces a particular Bond
void setActiveAtom(Atom *atom)
sets our activeAtom
void removeBond(unsigned int beginAtomIdx, unsigned int endAtomIdx)
removes a bond from the molecule
void setActiveAtom(unsigned int idx)
This is an overloaded member function, provided for convenience. It differs from the above function o...
void insertMol(const ROMol &other)
insert the atoms and bonds from other into this molecule
Atom * getLastAtom()
returns a pointer to the highest-numbered Atom
RWMol(RWMol &&other) noexcept
void clear()
removes all atoms, bonds, properties, bookmarks, etc.
#define RDKIT_GRAPHMOL_EXPORT
std::vector< RWMOL_SPTR > RWMOL_SPTR_VECT
boost::shared_ptr< RWMol > RWMOL_SPTR