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
double getValenceContrib(const Atom *at) const
returns our contribution to the explicit valence of an Atom
std::ostream & operator<<(std::ostream &target, const RDKit::Bond &b)
allows Bond objects to be dumped to streams
RWMol is a molecule class that is intended to be edited.
virtual bool Match(Bond const *what) const
returns whether or not we match the argument
bool df_isAromatic
sets our owning molecule
BondDir getBondDir() const
returns our direction
Queries::Query< int, Bond const *, true > QUERYBOND_QUERY
BondStereo getStereo() const
returns our stereo code
boost::shared_ptr< Atom > ATOM_SPTR
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
unsigned int getOtherAtomIdx(unsigned int thisIdx) const
given the index of one Atom, returns the index of the other
ROMol is a molecule class that is intended to have a fixed topology.
unsigned int getBeginAtomIdx() const
returns the index of our begin Atom
intentionally unspecified stereochemistry
standard two-electron dative
void setIdx(unsigned int index)
sets our index within the ROMol
bool getIsConjugated() const
returns the status of our isConjugated flag
virtual bool hasQuery() const
Atom * getOtherAtom(Atom const *what) const
returns a pointer to the other Atom
INT_VECT * dp_stereoAtoms
virtual void expandQuery(QUERYBOND_QUERY *what, Queries::CompositeQueryType how=Queries::COMPOSITE_AND, bool maintainOrder=true)
NOT CALLABLE.
std::vector< int > INT_VECT
void setIsAromatic(bool what)
sets our isAromatic flag
boost::uint8_t d_bondType
Atom * getEndAtom() const
returns a pointer to our end Atom
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()
virtual QUERYBOND_QUERY * getQuery() const
NOT CALLABLE.
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
double getBondTypeAsDouble() const
returns our bondType as a double (e.g. SINGLE->1.0, AROMATIC->1.5, etc.)
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
void setOwningMol(ROMol &other)
sets our owning molecule
const INT_VECT & getStereoAtoms() const
returns the indices of our stereo atoms
one-electron dative (e.g. from a C in a Cp ring to a metal)
#define PRECONDITION(expr, mess)
bool getIsAromatic() const
returns the status of our isAromatic flag
boost::uint16_t atomindex_t
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
virtual Bond * copy() const
returns a copy
unsigned int getIdx() const
returns our index within the ROMol
Atom * getBeginAtom() const
returns a pointer to our begin Atom
void setBondDir(BondDir what)
sets our direction
ROMol & getOwningMol() const
returns a reference to the ROMol that owns this Bond
Base class for all queries.
The class for representing atoms.
BondType getBondType() const
returns our bondType
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