 |
RDKit
Open-source cheminformatics and machine learning.
|
Go to the documentation of this file.
23 #include <boost/foreach.hpp>
108 explicit Bond(BondType bT);
118 virtual Bond *copy()
const;
126 double getBondTypeAsDouble()
const;
133 double getValenceContrib(
const Atom *at)
const;
154 void setOwningMol(
ROMol *other);
164 unsigned int getIdx()
const {
return d_index; };
171 void setIdx(
unsigned int index) { d_index = index; };
192 unsigned int getOtherAtomIdx(
unsigned int thisIdx)
const;
199 void setBeginAtomIdx(
unsigned int what);
205 void setEndAtomIdx(
unsigned int what);
212 void setBeginAtom(
Atom *at);
218 void setEndAtom(
Atom *at);
225 Atom *getBeginAtom()
const;
231 Atom *getEndAtom()
const;
237 Atom *getOtherAtom(
Atom const *what)
const;
249 virtual void setQuery(QUERYBOND_QUERY *what);
251 virtual QUERYBOND_QUERY *getQuery()
const;
254 virtual void expandQuery(
255 QUERYBOND_QUERY *what,
257 bool maintainOrder =
true);
266 virtual bool Match(
Bond const *what)
const;
286 PRECONDITION(what <= STEREOE || getStereoAtoms().size() == 2,
287 "Stereo atoms should be specified before specifying CIS/TRANS "
288 "bond stereochemistry")
306 void setStereoAtoms(
unsigned int bgnIdx,
unsigned int endIdx);
310 if (!dp_stereoAtoms) {
311 const_cast<Bond *
>(
this)->dp_stereoAtoms =
new INT_VECT();
313 return *dp_stereoAtoms;
317 if (!dp_stereoAtoms) dp_stereoAtoms =
new INT_VECT();
318 return *dp_stereoAtoms;
@ BEGINDASH
dashed: narrow at begin
@ DATIVEL
standard two-electron dative
@ DATIVE
standard two-electron dative
BondStereo getStereo() const
returns our stereo code
bool df_isAromatic
sets our owning molecule
@ DATIVER
standard two-electron dative
std::vector< int > INT_VECT
Pulls in all the query types.
void updatePropertyCache(bool strict=true)
calculates any of our lazy properties
void setIsConjugated(bool what)
sets our isConjugated flag
INT_VECT * dp_stereoAtoms
@ EITHERDOUBLE
a "crossed" double bond
bool hasOwningMol() const
returns whether or not this instance belongs to a molecule
INT_VECT & getStereoAtoms()
This is an overloaded member function, provided for convenience. It differs from the above function o...
class for representing a bond
void setIdx(unsigned int index)
sets our index within the ROMol
RWMol is a molecule class that is intended to be edited.
RDKIT_GRAPHMOL_EXPORT std::ostream & operator<<(std::ostream &target, const RDKit::Bond &b)
allows Bond objects to be dumped to streams
void setOwningMol(ROMol &other)
sets our owning molecule
@ UNKNOWN
intentionally unspecified stereochemistry
void setBondDir(BondDir what)
sets our direction
The class for representing atoms.
unsigned int getEndAtomIdx() const
returns the index of our end Atom
unsigned int getIdx() const
returns our index within the ROMol
const INT_VECT & getStereoAtoms() const
returns the indices of our stereo atoms
#define RDKIT_GRAPHMOL_EXPORT
@ BEGINWEDGE
wedged: narrow at begin
BondDir getBondDir() const
returns our direction
Queries::Query< int, Bond const *, true > QUERYBOND_QUERY
@ ENDDOWNRIGHT
for cis/trans
bool getIsConjugated() const
returns the status of our isConjugated flag
void setIsAromatic(bool what)
sets our isAromatic flag
void setBondType(BondType bT)
sets our bondType
virtual bool hasQuery() const
#define PRECONDITION(expr, mess)
Base class for all queries.
std::uint32_t atomindex_t
BondType getBondType() const
returns our bondType
BondStereo
the nature of the bond's stereochem (for cis/trans)
ROMol & getOwningMol() const
returns a reference to the ROMol that owns this instance
@ DATIVEONE
one-electron dative (e.g. from a C in a Cp ring to a metal)
bool getIsAromatic() const
returns the status of our isAromatic flag
BondDir
the bond's direction (for chirality)
unsigned int getBeginAtomIdx() const
returns the index of our begin Atom
void setStereo(BondStereo what)
sets our stereo code