22 #include <boost/foreach.hpp> 28 typedef boost::shared_ptr<Atom>
ATOM_SPTR;
109 explicit Bond(BondType bT);
253 virtual void setQuery(QUERYBOND_QUERY *what);
255 virtual QUERYBOND_QUERY *
getQuery()
const;
259 QUERYBOND_QUERY *what,
261 bool maintainOrder =
true);
270 virtual bool Match(
Bond const *what)
const;
293 "Stereo atoms should be specified before specifying CIS/TRANS " 294 "bond stereochemistry")
void setBeginAtomIdx(unsigned int what)
sets the index of our begin Atom
BondStereo getStereo() const
returns our stereo code
virtual Bond * copy() const
returns a copy
ROMol & getOwningMol() const
returns a reference to the ROMol that owns this Bond
double getBondTypeAsDouble() const
returns our bondType as a double (e.g. SINGLE->1.0, AROMATIC->1.5, etc.)
std::ostream & operator<<(std::ostream &target, const RDKit::Bond &b)
allows Bond objects to be dumped to streams
Atom * getEndAtom() const
returns a pointer to our end Atom
RWMol is a molecule class that is intended to be edited.
virtual bool hasQuery() const
bool df_isAromatic
sets our owning molecule
Queries::Query< int, Bond const *, true > QUERYBOND_QUERY
boost::shared_ptr< Atom > ATOM_SPTR
virtual QUERYBOND_QUERY * getQuery() const
NOT CALLABLE.
BondStereo
the nature of the bond's stereochem (for cis/trans)
void setIsConjugated(bool what)
sets our isConjugated flag
void setBondType(BondType bT)
sets our bondType
ROMol is a molecule class that is intended to have a fixed topology.
intentionally unspecified stereochemistry
standard two-electron dative
BondDir getBondDir() const
returns our direction
void setIdx(unsigned int index)
sets our index within the ROMol
bool getIsAromatic() const
returns the status of our isAromatic flag
INT_VECT * dp_stereoAtoms
virtual void expandQuery(QUERYBOND_QUERY *what, Queries::CompositeQueryType how=Queries::COMPOSITE_AND, bool maintainOrder=true)
NOT CALLABLE.
bool getIsConjugated() const
returns the status of our isConjugated flag
Atom * getBeginAtom() const
returns a pointer to our begin Atom
std::vector< int > INT_VECT
double getValenceContrib(const Atom *at) const
returns our contribution to the explicit valence of an Atom
void setIsAromatic(bool what)
sets our isAromatic flag
boost::uint8_t d_bondType
unsigned int getOtherAtomIdx(unsigned int thisIdx) const
given the index of one Atom, returns the index of the other
unsigned int getEndAtomIdx() const
returns the index of our end Atom
void updatePropertyCache(bool strict=true)
calculates any of our lazy properties
INT_VECT & getStereoAtoms()
void setStereo(BondStereo what)
sets our stereo code
standard two-electron dative
class for representing a bond
void setOwningMol(ROMol *other)
sets our owning molecule
standard two-electron dative
void setBeginAtom(Atom *at)
sets our begin Atom
BondDir
the bond's direction (for chirality)
atomindex_t d_beginAtomIdx
void setEndAtomIdx(unsigned int what)
sets the index of our end Atom
Atom * getOtherAtom(Atom const *what) const
returns a pointer to the other Atom
unsigned int getBeginAtomIdx() const
returns the index of our begin Atom
void setOwningMol(ROMol &other)
sets our owning molecule
one-electron dative (e.g. from a C in a Cp ring to a metal)
#define PRECONDITION(expr, mess)
boost::uint16_t atomindex_t
BondType getBondType() const
returns our bondType
Bond & operator=(const Bond &other)
boost::shared_ptr< Bond > BOND_SPTR
Pulls in all the query types.
void setEndAtom(Atom *at)
sets our end Atom
const INT_VECT & getStereoAtoms() const
returns the indices of our stereo atoms
virtual bool Match(Bond const *what) const
returns whether or not we match the argument
void setBondDir(BondDir what)
sets our direction
Base class for all queries.
unsigned int getIdx() const
returns our index within the ROMol
The class for representing atoms.
virtual void setQuery(QUERYBOND_QUERY *what)
NOT CALLABLE.
void setStereoAtoms(unsigned int bgnIdx, unsigned int endIdx)
sets the atoms to be considered as reference points for bond stereo