RDKit::Bond Class Reference

class for representing a bond More...

#include <Bond.h>

Inheritance diagram for RDKit::Bond:

RDKit::QueryBond

List of all members.

Public Types

enum  BondType {
  UNSPECIFIED = 0, SINGLE, DOUBLE, TRIPLE,
  QUADRUPLE, QUINTUPLE, HEXTUPLE, ONEANDAHALF,
  TWOANDAHALF, THREEANDAHALF, FOURANDAHALF, FIVEANDAHALF,
  AROMATIC, IONIC, HYDROGEN, THREECENTER,
  DATIVEONE, DATIVE, DATIVEL, DATIVER,
  OTHER
}
 the type of Bond More...
enum  BondDir {
  NONE = 0, BEGINWEDGE, BEGINDASH, ENDDOWNRIGHT,
  ENDUPRIGHT, EITHERDOUBLE, UNKNOWN
}
 the bond's direction (for chirality) More...
enum  BondStereo { STEREONONE = 0, STEREOANY, STEREOZ, STEREOE }
 the nature of the bond's stereochem (for cis/trans) More...
typedef boost::shared_ptr< BondBOND_SPTR
typedef Queries::Query< int,
Bond const *, true > 
QUERYBOND_QUERY

Public Member Functions

 Bond ()
 Bond (BondType bT)
 construct with a particular BondType
 Bond (const Bond &other)
virtual ~Bond ()
Bondoperator= (const Bond &other)
virtual Bondcopy () const
 returns a copy
const BondType getBondType () const
 returns our bondType
void setBondType (BondType bT)
 sets our bondType
double getBondTypeAsDouble () const
 returns our bondType as a double (e.g. SINGLE->1.0, AROMATIC->1.5, etc.)
double getValenceContrib (const Atom *at) const
 returns our contribution to the explicit valence of an Atom
double getValenceContrib (ATOM_SPTR at) const
void setIsAromatic (bool what)
 sets our isAromatic flag
bool getIsAromatic () const
 returns the status of our isAromatic flag
void setIsConjugated (bool what)
 sets our isConjugated flag
bool getIsConjugated () const
 returns the status of our isConjugated flag
ROMolgetOwningMol () const
 returns a reference to the ROMol that owns this Bond
void setOwningMol (ROMol *other)
 sets our owning molecule
void setOwningMol (ROMol &other)
 sets our owning molecule
unsigned int getIdx () const
 returns our index within the ROMol
void setIdx (unsigned int index)
 sets our index within the ROMol
unsigned int getBeginAtomIdx () const
 returns the index of our begin Atom
unsigned int getEndAtomIdx () const
 returns the index of our end Atom
unsigned int getOtherAtomIdx (unsigned int thisIdx) const
 given the index of one Atom, returns the index of the other
void setBeginAtomIdx (unsigned int what)
 sets the index of our begin Atom
void setEndAtomIdx (unsigned int what)
 sets the index of our end Atom
void setBeginAtom (Atom *at)
 sets our begin Atom
void setBeginAtom (ATOM_SPTR at)
void setEndAtom (Atom *at)
 sets our end Atom
void setEndAtom (ATOM_SPTR at)
AtomgetBeginAtom () const
 returns a pointer to our begin Atom
AtomgetEndAtom () const
 returns a pointer to our end Atom
AtomgetOtherAtom (Atom const *what) const
 returns a pointer to the other Atom
virtual bool hasQuery () const
virtual void setQuery (QUERYBOND_QUERY *what)
 NOT CALLABLE.
virtual QUERYBOND_QUERYgetQuery () const
 NOT CALLABLE.
void expandQuery (QUERYBOND_QUERY *what, Queries::CompositeQueryType how=Queries::COMPOSITE_AND, bool maintainOrder=true)
 NOT CALLABLE.
virtual bool Match (Bond const *what) const
 returns whether or not we match the argument
virtual bool Match (const Bond::BOND_SPTR what) const
void setBondDir (BondDir what)
 sets our direction
BondDir getBondDir () const
 returns our direction
void setStereo (BondStereo what)
 sets our stereo code
BondStereo getStereo () const
 returns our stereo code
const INT_VECTgetStereoAtoms () const
 returns the indices of our stereo atoms
INT_VECTgetStereoAtoms ()
STR_VECT getPropList () const
 returns a list with the names of our properties
template<typename T>
void setProp (const char *key, T val, bool computed=false) const
 sets a property value
template<typename T>
void setProp (const std::string key, T val, bool computed=false) const
template<typename T>
void getProp (const char *key, T &res) const
 allows retrieval of a particular property value
template<typename T>
void getProp (const std::string key, T &res) const
bool hasProp (const char *key) const
 returns whether or not we have a property with name key
bool hasProp (const std::string key) const
void clearProp (const char *key) const
 clears the value of a property
void clearProp (const std::string key) const
void clearComputedProps () const
 clears all of our computed properties
void updatePropertyCache (bool strict=true)
 calculates any of our lazy properties

Protected Member Functions

void initBond ()

Protected Attributes

BondType d_bondType
 sets our owning molecule
ROMoldp_mol
bool df_isAromatic
bool df_isConjugated
unsigned int d_index
unsigned int d_beginAtomIdx
unsigned int d_endAtomIdx
BondDir d_dirTag
BondStereo d_stereo
INT_VECT d_stereoAtoms
Dictdp_props

Friends

class RWMol
class ROMol


Detailed Description

class for representing a bond

Notes:

Definition at line 40 of file Bond.h.


Member Typedef Documentation

typedef boost::shared_ptr<Bond> RDKit::Bond::BOND_SPTR

Definition at line 44 of file Bond.h.

Reimplemented in RDKit::QueryBond.

Definition at line 46 of file Bond.h.


Member Enumeration Documentation

the type of Bond

Enumerator:
UNSPECIFIED 
SINGLE 
DOUBLE 
TRIPLE 
QUADRUPLE 
QUINTUPLE 
HEXTUPLE 
ONEANDAHALF 
TWOANDAHALF 
THREEANDAHALF 
FOURANDAHALF 
FIVEANDAHALF 
AROMATIC 
IONIC 
HYDROGEN 
THREECENTER 
DATIVEONE  one-electron dative (e.g. from a C in a Cp ring to a metal)
DATIVE  standard two-electron dative
DATIVEL  standard two-electron dative
DATIVER  standard two-electron dative
OTHER 

Definition at line 49 of file Bond.h.

the bond's direction (for chirality)

Enumerator:
NONE  no special style
BEGINWEDGE  wedged: narrow at begin
BEGINDASH  dashed: narrow at begin
ENDDOWNRIGHT  for cis/trans
ENDUPRIGHT  ditto
EITHERDOUBLE  a "crossed" double bond
UNKNOWN  intentionally unspecified stereochemistry

Definition at line 74 of file Bond.h.

the nature of the bond's stereochem (for cis/trans)

Enumerator:
STEREONONE 
STEREOANY 
STEREOZ 
STEREOE 

Definition at line 86 of file Bond.h.


Constructor & Destructor Documentation

RDKit::Bond::Bond (  ) 

RDKit::Bond::Bond ( BondType  bT  )  [explicit]

construct with a particular BondType

RDKit::Bond::Bond ( const Bond other  ) 

virtual RDKit::Bond::~Bond (  )  [virtual]


Member Function Documentation

Bond& RDKit::Bond::operator= ( const Bond other  ) 

virtual Bond* RDKit::Bond::copy (  )  const [virtual]

returns a copy

Note: the caller is responsible for deleteing the returned pointer.

Reimplemented in RDKit::QueryBond.

const BondType RDKit::Bond::getBondType (  )  const [inline]

returns our bondType

Definition at line 110 of file Bond.h.

References d_bondType.

Referenced by RDKit::queryBondOrder().

void RDKit::Bond::setBondType ( BondType  bT  )  [inline]

sets our bondType

Reimplemented in RDKit::QueryBond.

Definition at line 112 of file Bond.h.

References d_bondType.

double RDKit::Bond::getBondTypeAsDouble (  )  const

returns our bondType as a double (e.g. SINGLE->1.0, AROMATIC->1.5, etc.)

double RDKit::Bond::getValenceContrib ( const Atom at  )  const

returns our contribution to the explicit valence of an Atom

Notes:

  • requires an owning molecule

double RDKit::Bond::getValenceContrib ( ATOM_SPTR  at  )  const

void RDKit::Bond::setIsAromatic ( bool  what  )  [inline]

sets our isAromatic flag

Definition at line 127 of file Bond.h.

References df_isAromatic.

bool RDKit::Bond::getIsAromatic (  )  const [inline]

returns the status of our isAromatic flag

Definition at line 129 of file Bond.h.

References df_isAromatic.

void RDKit::Bond::setIsConjugated ( bool  what  )  [inline]

sets our isConjugated flag

Definition at line 132 of file Bond.h.

References df_isConjugated.

bool RDKit::Bond::getIsConjugated (  )  const [inline]

returns the status of our isConjugated flag

Definition at line 134 of file Bond.h.

References df_isConjugated.

ROMol& RDKit::Bond::getOwningMol (  )  const [inline]

returns a reference to the ROMol that owns this Bond

Definition at line 137 of file Bond.h.

References dp_mol.

Referenced by RDKit::queryBondIsInRingOfSize(), RDKit::queryBondMinRingSize(), RDKit::queryIsBondInNRings(), and RDKit::queryIsBondInRing().

void RDKit::Bond::setOwningMol ( ROMol other  ) 

sets our owning molecule

Referenced by setOwningMol().

void RDKit::Bond::setOwningMol ( ROMol other  )  [inline]

sets our owning molecule

Definition at line 141 of file Bond.h.

References setOwningMol().

unsigned int RDKit::Bond::getIdx (  )  const [inline]

returns our index within the ROMol

Notes:

  • this makes no sense if we do not have an owning molecule

Definition at line 149 of file Bond.h.

References d_index.

Referenced by RDKit::queryBondIsInRingOfSize(), RDKit::queryBondMinRingSize(), RDKit::queryIsBondInNRings(), and RDKit::queryIsBondInRing().

void RDKit::Bond::setIdx ( unsigned int  index  )  [inline]

sets our index within the ROMol

Notes:

  • this makes no sense if we do not have an owning molecule
  • the index should be < this->getOwningMol()->getNumBonds()

Definition at line 156 of file Bond.h.

References d_index.

unsigned int RDKit::Bond::getBeginAtomIdx (  )  const [inline]

returns the index of our begin Atom

Notes:

  • this makes no sense if we do not have an owning molecule

Definition at line 163 of file Bond.h.

References d_beginAtomIdx.

unsigned int RDKit::Bond::getEndAtomIdx (  )  const [inline]

returns the index of our end Atom

Notes:

  • this makes no sense if we do not have an owning molecule

Definition at line 170 of file Bond.h.

References d_endAtomIdx.

unsigned int RDKit::Bond::getOtherAtomIdx ( unsigned int  thisIdx  )  const

given the index of one Atom, returns the index of the other

Notes:

  • this makes no sense if we do not have an owning molecule

void RDKit::Bond::setBeginAtomIdx ( unsigned int  what  ) 

sets the index of our begin Atom

Notes:

  • requires an owning molecule

void RDKit::Bond::setEndAtomIdx ( unsigned int  what  ) 

sets the index of our end Atom

Notes:

  • requires an owning molecule

void RDKit::Bond::setBeginAtom ( Atom at  ) 

sets our begin Atom

Notes:

  • requires an owning molecule

void RDKit::Bond::setBeginAtom ( ATOM_SPTR  at  ) 

void RDKit::Bond::setEndAtom ( Atom at  ) 

sets our end Atom

Notes:

  • requires an owning molecule

void RDKit::Bond::setEndAtom ( ATOM_SPTR  at  ) 

Atom* RDKit::Bond::getBeginAtom (  )  const

returns a pointer to our begin Atom

Notes:

  • requires an owning molecule

Atom* RDKit::Bond::getEndAtom (  )  const

returns a pointer to our end Atom

Notes:

  • requires an owning molecule

Atom* RDKit::Bond::getOtherAtom ( Atom const *  what  )  const

returns a pointer to the other Atom

Notes:

  • requires an owning molecule

virtual bool RDKit::Bond::hasQuery (  )  const [inline, virtual]

Reimplemented in RDKit::QueryBond.

Definition at line 235 of file Bond.h.

virtual void RDKit::Bond::setQuery ( QUERYBOND_QUERY what  )  [virtual]

NOT CALLABLE.

Reimplemented in RDKit::QueryBond.

virtual QUERYBOND_QUERY* RDKit::Bond::getQuery (  )  const [virtual]

NOT CALLABLE.

Reimplemented in RDKit::QueryBond.

void RDKit::Bond::expandQuery ( QUERYBOND_QUERY what,
Queries::CompositeQueryType  how = Queries::COMPOSITE_AND,
bool  maintainOrder = true 
)

NOT CALLABLE.

Reimplemented in RDKit::QueryBond.

virtual bool RDKit::Bond::Match ( Bond const *  what  )  const [virtual]

returns whether or not we match the argument

Notes:

  • for Bond objects, "match" means that either one of the Bonds has bondType Bond::UNSPECIFIED or both Bonds have the same bondType.

Reimplemented in RDKit::QueryBond.

virtual bool RDKit::Bond::Match ( const Bond::BOND_SPTR  what  )  const [virtual]

Reimplemented in RDKit::QueryBond.

void RDKit::Bond::setBondDir ( BondDir  what  )  [inline]

sets our direction

Reimplemented in RDKit::QueryBond.

Definition at line 260 of file Bond.h.

References d_dirTag.

BondDir RDKit::Bond::getBondDir (  )  const [inline]

returns our direction

Definition at line 262 of file Bond.h.

References d_dirTag.

Referenced by RDKit::queryBondDir().

void RDKit::Bond::setStereo ( BondStereo  what  )  [inline]

sets our stereo code

Definition at line 265 of file Bond.h.

References d_stereo.

BondStereo RDKit::Bond::getStereo (  )  const [inline]

returns our stereo code

Definition at line 267 of file Bond.h.

References d_stereo.

const INT_VECT& RDKit::Bond::getStereoAtoms (  )  const [inline]

returns the indices of our stereo atoms

Definition at line 270 of file Bond.h.

References d_stereoAtoms.

INT_VECT& RDKit::Bond::getStereoAtoms (  )  [inline]

Definition at line 272 of file Bond.h.

References d_stereoAtoms.

STR_VECT RDKit::Bond::getPropList (  )  const [inline]

returns a list with the names of our properties

Definition at line 279 of file Bond.h.

References dp_props, and RDKit::Dict::keys().

template<typename T>
void RDKit::Bond::setProp ( const char *  key,
val,
bool  computed = false 
) const [inline]

sets a property value

Parameters:
key the name under which the property should be stored. If a property is already stored under this name, it will be replaced.
val the value to be stored
computed (optional) allows the property to be flagged computed.

Definition at line 293 of file Bond.h.

template<typename T>
void RDKit::Bond::setProp ( const std::string  key,
val,
bool  computed = false 
) const [inline]

Definition at line 300 of file Bond.h.

References dp_props, getProp(), hasProp(), and RDKit::Dict::setVal().

template<typename T>
void RDKit::Bond::getProp ( const char *  key,
T &  res 
) const [inline]

allows retrieval of a particular property value

Parameters:
key the name under which the property should be stored. If a property is already stored under this name, it will be replaced.
res a reference to the storage location for the value.
Notes:
  • if no property with name key exists, a KeyErrorException will be thrown.
  • the boost::lexical_cast machinery is used to attempt type conversions. If this fails, a boost::bad_lexical_cast exception will be thrown.

Definition at line 328 of file Bond.h.

References dp_props, RDKit::Dict::getVal(), and PRECONDITION.

Referenced by clearComputedProps(), clearProp(), and setProp().

template<typename T>
void RDKit::Bond::getProp ( const std::string  key,
T &  res 
) const [inline]

Definition at line 334 of file Bond.h.

References dp_props, RDKit::Dict::getVal(), and PRECONDITION.

bool RDKit::Bond::hasProp ( const char *  key  )  const [inline]

returns whether or not we have a property with name key

Definition at line 341 of file Bond.h.

References dp_props, and RDKit::Dict::hasVal().

Referenced by clearComputedProps(), clearProp(), and setProp().

bool RDKit::Bond::hasProp ( const std::string  key  )  const [inline]

Definition at line 346 of file Bond.h.

References dp_props, and RDKit::Dict::hasVal().

void RDKit::Bond::clearProp ( const char *  key  )  const [inline]

clears the value of a property

Notes:

  • if no property with name key exists, a KeyErrorException will be thrown.
  • if the property is marked as computed, it will also be removed from our list of computedProperties

Definition at line 359 of file Bond.h.

void RDKit::Bond::clearProp ( const std::string  key  )  const [inline]

Definition at line 364 of file Bond.h.

References RDKit::Dict::clearVal(), dp_props, getProp(), hasProp(), and RDKit::Dict::setVal().

void RDKit::Bond::clearComputedProps (  )  const [inline]

clears all of our computed properties

Definition at line 378 of file Bond.h.

References RDKit::Dict::clearVal(), dp_props, getProp(), hasProp(), and RDKit::Dict::setVal().

void RDKit::Bond::updatePropertyCache ( bool  strict = true  )  [inline]

calculates any of our lazy properties

Notes:

  • requires an owning molecule

Definition at line 395 of file Bond.h.

void RDKit::Bond::initBond (  )  [protected]


Friends And Related Function Documentation

friend class RWMol [friend]

Definition at line 41 of file Bond.h.

friend class ROMol [friend]

Definition at line 42 of file Bond.h.


Member Data Documentation

sets our owning molecule

sets our owning molecule

Definition at line 395 of file Bond.h.

Referenced by getBondType(), and setBondType().

ROMol* RDKit::Bond::dp_mol [protected]

Definition at line 403 of file Bond.h.

Referenced by getOwningMol().

bool RDKit::Bond::df_isAromatic [protected]

Definition at line 404 of file Bond.h.

Referenced by getIsAromatic(), and setIsAromatic().

bool RDKit::Bond::df_isConjugated [protected]

Definition at line 405 of file Bond.h.

Referenced by getIsConjugated(), and setIsConjugated().

unsigned int RDKit::Bond::d_index [protected]

Definition at line 406 of file Bond.h.

Referenced by getIdx(), and setIdx().

unsigned int RDKit::Bond::d_beginAtomIdx [protected]

Definition at line 407 of file Bond.h.

Referenced by getBeginAtomIdx().

unsigned int RDKit::Bond::d_endAtomIdx [protected]

Definition at line 407 of file Bond.h.

Referenced by getEndAtomIdx().

Definition at line 408 of file Bond.h.

Referenced by getBondDir(), and setBondDir().

Definition at line 409 of file Bond.h.

Referenced by getStereo(), and setStereo().

Definition at line 410 of file Bond.h.

Referenced by getStereoAtoms().

Definition at line 412 of file Bond.h.

Referenced by clearComputedProps(), clearProp(), getProp(), getPropList(), hasProp(), and setProp().


The documentation for this class was generated from the following file:

Generated on Tue Oct 7 06:10:12 2008 for RDCode by  doxygen 1.5.5