17 #ifndef __RD_RWMOL_H__ 18 #define __RD_RWMOL_H__ 45 RWMol(
const ROMol &other,
bool quickCopy =
false,
int confId = -1)
46 :
ROMol(other, quickCopy, confId) {
47 d_partialBonds.
clear();
52 void insertMol(
const ROMol &other);
65 unsigned int addAtom(
bool updateLabel =
true);
79 bool takeOwnership =
false) {
80 return ROMol::addAtom(atom, updateLabel, takeOwnership);
94 void replaceAtom(
unsigned int idx,
Atom *atom,
bool updateLabel =
false,
95 bool preserveProps =
false);
103 Atom *getActiveAtom();
105 void setActiveAtom(
Atom *atom);
107 void setActiveAtom(
unsigned int idx);
109 void removeAtom(
unsigned int idx);
111 void removeAtom(
Atom *atom);
122 unsigned int addBond(
unsigned int beginAtomIdx,
unsigned int endAtomIdx,
125 unsigned int addBond(
Atom *beginAtom,
Atom *endAtom,
138 return ROMol::addBond(bond, takeOwnership);
169 Bond *createPartialBond(
unsigned int beginAtomIdx,
177 unsigned int finishPartialBond(
unsigned int endAtomIdx,
int bondBookmark,
181 void removeBond(
unsigned int beginAtomIdx,
unsigned int endAtomIdx);
190 void replaceBond(
unsigned int idx,
Bond *bond,
bool preserveProps =
false);
202 return ROMol::setStereoGroups(std::move(stereo_groups));
214 std::vector<Bond *> d_partialBonds;
void clear()
removes all atoms, bonds, properties, bookmarks, etc.
std::vector< RWMOL_SPTR > RWMOL_SPTR_VECT
RWMol is a molecule class that is intended to be edited.
Defines the primary molecule class ROMol as well as associated typedefs.
#define RDKIT_GRAPHMOL_EXPORT
RWMol(const ROMol &other, bool quickCopy=false, int confId=-1)
copy constructor with a twist
boost::shared_ptr< RWMol > RWMOL_SPTR
void setStereoGroups(std::vector< StereoGroup > &&stereo_groups)
Sets groups of atoms with relative stereochemistry.
class for representing a bond
unsigned int addBond(Bond *bond, bool takeOwnership=false)
adds a Bond to our collection
unsigned int addAtom(Atom *atom, bool updateLabel=true, bool takeOwnership=false)
adds an Atom to our collection
The class for representing atoms.
Atom * getLastAtom()
returns a pointer to the highest-numbered Atom