OBAtom Class Reference

Atom class. More...

#include <openbabel/atom.h>

Inheritance diagram for OBAtom:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 OBAtom ()
virtual ~OBAtom ()
OBAtomoperator= (OBAtom &)
bool Clear ()
double GetDistance (int index)
double GetDistance (OBAtom *)
double GetAngle (int b, int c)
double GetAngle (OBAtom *b, OBAtom *c)
virtual OBBaseDoTransformations (const std::map< std::string, std::string > *)
template<class T>
T * CastAndClear (bool clear=true)
Methods to set atomic information
void SetIdx (int idx)
void SetHyb (int hyb)
void SetAtomicNum (int atomicnum)
void SetIsotope (unsigned int iso)
void SetImplicitValence (int val)
void IncrementImplicitValence ()
void DecrementImplicitValence ()
void SetFormalCharge (int fcharge)
void SetSpinMultiplicity (short spin)
void SetType (const char *type)
void SetType (std::string &type)
void SetPartialCharge (double pcharge)
void SetVector (const vector3 &v)
void SetVector (const double x, const double y, const double z)
void SetCoordPtr (double **c)
void SetVector ()
void SetResidue (OBResidue *res)
void SetParent (OBMol *ptr)
void SetAromatic ()
void UnsetAromatic ()
void SetClockwiseStereo ()
void SetAntiClockwiseStereo ()
void SetPositiveStereo ()
void SetNegativeStereo ()
void UnsetStereo ()
void SetInRing ()
void SetChiral ()
void ClearCoordPtr ()
Methods to retrieve atomic information
int GetFormalCharge () const
unsigned int GetAtomicNum () const
unsigned short int GetIsotope () const
int GetSpinMultiplicity () const
double GetAtomicMass () const
double GetExactMass () const
unsigned int GetIdx () const
unsigned int GetCoordinateIdx () const
unsigned int GetCIdx () const
unsigned int GetValence () const
unsigned int GetHyb () const
unsigned int GetImplicitValence () const
unsigned int GetHvyValence () const
unsigned int GetHeteroValence () const
char * GetType ()
double GetX ()
double GetY ()
double GetZ ()
double x ()
double y ()
double z ()
double * GetCoordinate ()
vector3GetVector ()
const vector3GetVector () const
double GetPartialCharge ()
OBResidueGetResidue ()
OBMolGetParent ()
bool GetNewBondVector (vector3 &v, double length)
OBBondGetBond (OBAtom *)
OBAtomGetNextAtom ()
Iterator methods
OBBondIterator BeginBonds ()
OBBondIterator EndBonds ()
OBBondBeginBond (OBBondIterator &i)
OBBondNextBond (OBBondIterator &i)
OBAtomBeginNbrAtom (OBBondIterator &i)
OBAtomNextNbrAtom (OBBondIterator &i)
Addition of residue/bond info. for an atom
void NewResidue ()
void AddResidue (OBResidue *res)
void DeleteResidue ()
void AddBond (OBBond *bond)
void InsertBond (OBBondIterator &i, OBBond *bond)
bool DeleteBond (OBBond *bond)
void ClearBond ()
Builder utilities
bool HtoMethyl ()
bool SetHybAndGeom (int)
void ForceNoH ()
bool HasNoHForced ()
Property information
unsigned int CountFreeOxygens () const
unsigned int ImplicitHydrogenCount () const
unsigned int ExplicitHydrogenCount (bool ExcludeIsotopes=false) const
unsigned int MemberOfRingCount () const
unsigned int MemberOfRingSize () const
unsigned int CountRingBonds () const
double SmallestBondAngle ()
double AverageBondAngle ()
unsigned int BOSum () const
unsigned int KBOSum () const
bool HasResidue ()
bool IsHydrogen ()
bool IsCarbon ()
bool IsNitrogen ()
bool IsOxygen ()
bool IsSulfur ()
bool IsPhosphorus ()
bool IsAromatic () const
bool IsInRing () const
bool IsInRingSize (int) const
bool IsHeteroatom ()
bool IsNotCorH ()
bool IsConnected (OBAtom *)
bool IsOneThree (OBAtom *)
bool IsOneFour (OBAtom *)
bool IsCarboxylOxygen ()
bool IsPhosphateOxygen ()
bool IsSulfateOxygen ()
bool IsNitroOxygen ()
bool IsAmideNitrogen ()
bool IsPolarHydrogen ()
bool IsNonPolarHydrogen ()
bool IsAromaticNOxide ()
bool IsChiral ()
bool IsAxial ()
bool IsClockwise ()
bool IsAntiClockwise ()
bool IsPositiveStereo ()
bool IsNegativeStereo ()
bool HasChiralitySpecified ()
bool HasChiralVolume ()
bool IsHbondAcceptor ()
bool IsHbondDonor ()
bool IsHbondDonorH ()
bool HasAlphaBetaUnsat (bool includePandS=true)
bool HasBondOfOrder (unsigned int bo)
int CountBondsOfOrder (unsigned int bo)
bool HasNonSingleBond ()
bool HasSingleBond ()
bool HasDoubleBond ()
bool HasAromaticBond ()
bool MatchesSMARTS (const char *)
Generic data handling methods (via OBGenericData)
bool HasData (const std::string &)
bool HasData (const char *)
bool HasData (const unsigned int type)
void DeleteData (unsigned int type)
void DeleteData (OBGenericData *)
void DeleteData (std::vector< OBGenericData * > &)
void SetData (OBGenericData *d)
unsigned int DataSize () const
OBGenericDataGetData (const unsigned int type)
OBGenericDataGetData (const std::string &)
OBGenericDataGetData (const char *)
std::vector< OBGenericData * > & GetData ()
std::vector< OBGenericData * > GetData (DataOrigin source)
OBDataIterator BeginData ()
OBDataIterator EndData ()

Static Public Member Functions

static const char * ClassDescription ()

Public Attributes

bool Visit

Protected Member Functions

int GetFlag () const
void SetFlag (int flag)
bool HasFlag (int flag)

Protected Attributes

char _ele
char _impval
char _type [6]
short _fcharge
unsigned short _isotope
short _spinmultiplicity
unsigned int _idx
OBMol_parent
std::vector< OBBond * > _vbond
unsigned int _cidx
unsigned short _hyb
unsigned short _flags
double _pcharge
double ** _c
vector3 _v
OBResidue_residue
std::vector< OBGenericData * > _vdata

Detailed Description

Atom class.

To understand the OBAtom class it is important to state a key decision on which the design was based. The OBAtom class not only holds data, but facilitates extraction of data perceived from both the atom and the molecule. This prevents the OBMol class from becoming overly large and complicated.

A number of data extraction methods perform what is called `Lazy Evaluation,' which is essentially on-the-fly evaluation. For example, when an atom is queried as to whether it is cyclic or what it's hybridization state is the information is perceived automatically. The perception of a particular trait is actually performed on the entire molecule the first time it is requested of an atom or bond, and stored for subsequent requests for the same trait of additional atoms or bonds.The OBAtom class is similar to OBMol and the whole of Open Babel in that data access and modification is done through Get and Set methods.

The following code demonstrates how to print out the atom numbers, element numbers, and coordinates of a molecule:

      OBMol mol;

      FOR_ATOMS_OF_MOL(atom, mol)
      {
         cout << atom->GetIdx() << ` `;
         cout << atom->GetAtomicNum() << ` `;
         cout << atom->GetVector() << endl;
      }
A number of the property member functions indicate that atoms have some knowlege of their covalently attached neighbor atoms. Bonding information is partly redundant within a molecule in that an OBMol has a complete list of bonds in a molecule, and an OBAtom has a list bonds of which it is a member. The following code demonstrates how an OBAtom uses its bond information to loop over atoms attached to itself:
      OBMol mol;
      OBAtom *atom;

      atom = mol.GetAtom(1);
      FOR_NBORS_OF_ATOM(nbr, atom)
      {
         cout << "atom #" << atom->GetIdx() << " is attached to atom #"
              << nbr->GetIdx() << endl;
      }

should produce an output like

      atom #1 is attached to atom #2


Constructor & Destructor Documentation

OBAtom (  ) 

Constructor.

~OBAtom (  )  [virtual]

Destructor.


Member Function Documentation

int GetFlag (  )  const [inline, protected]

Returns:
All flags

void SetFlag ( int  flag  )  [inline, protected]

Sets the bitwise flag.

bool HasFlag ( int  flag  )  [inline, protected]

Returns:
True of the atom has the flag

OBAtom & operator= ( OBAtom  ) 

Assignment.

bool Clear (  )  [virtual]

Clear all data. Calls OBBase::Clear() to handle any generic data.

Returns:
True if successful.

Reimplemented from OBBase.

void SetIdx ( int  idx  )  [inline]

Set atom index (i.e., in an OBMol).

void SetHyb ( int  hyb  )  [inline]

Set atom hybridization (i.e., 1 = sp, 2 = sp2, 3 = sp3 ...).

void SetAtomicNum ( int  atomicnum  )  [inline]

Set atomic number.

void SetIsotope ( unsigned int  iso  ) 

Set isotope number (actual atomic weight is tabulated automatically, 0 = most abundant).

void SetImplicitValence ( int  val  )  [inline]

Set the implicit valence to val.

void IncrementImplicitValence (  )  [inline]

Increase the implicit valence by one.

void DecrementImplicitValence (  )  [inline]

Decrease the implicit valence by one.

void SetFormalCharge ( int  fcharge  )  [inline]

Set the formal charge of the atom to fcharge.

void SetSpinMultiplicity ( short  spin  )  [inline]

Set the atomic spin to spin. See _spinmultiplicity.

void SetType ( const char *  type  ) 

Set the atomic type symbol (see OBTypeTable and OBAtomTyper for more).

void SetType ( std::string &  type  ) 

Set the atomic type symbol (see OBTypeTable and OBAtomTyper for more).

void SetPartialCharge ( double  pcharge  )  [inline]

Set the partial charge to pcharge.

void SetVector ( const vector3 v  ) 

Set the coordinate vector for this atom to v as a vector3.

void SetVector ( const double  x,
const double  y,
const double  z 
)

Set the coordinate vector for this atom based on x y & z.

void SetCoordPtr ( double **  c  )  [inline]

Set the position of this atom from a pointer-driven array of coordinates.

void SetVector (  ) 

Set the position of this atom based on the internal pointer array (i.e. from SetCoordPtr() ).

void SetResidue ( OBResidue res  )  [inline]

Attach an OBResidue res as containing this atom.

void SetParent ( OBMol ptr  )  [inline]

Attach an OBMol ptr as the parent container for this atom.

void SetAromatic (  )  [inline]

Mark atom as being aromatic.

void UnsetAromatic (  )  [inline]

Clear aromatic information from the atom.

void SetClockwiseStereo (  )  [inline]

Mark atom as having SMILES clockwise stereochemistry (i.e., "@@").

void SetAntiClockwiseStereo (  )  [inline]

Mark atom as having SMILES anticlockwise stereochemistry (i.e., "@").

void SetPositiveStereo (  )  [inline]

Mark an atom as having + chiral volume.

void SetNegativeStereo (  )  [inline]

Mark an atom as having - chiral volume.

void UnsetStereo (  )  [inline]

Clear all stereochemistry information.

void SetInRing (  )  [inline]

Mark an atom as belonging to at least one ring.

void SetChiral (  )  [inline]

Mark an atom as being chiral with unknown stereochemistry.

void ClearCoordPtr (  )  [inline]

Clear the internal coordinate pointer.

int GetFormalCharge (  )  const [inline]

Returns:
the formal charge for this atom

unsigned int GetAtomicNum (  )  const [inline]

Returns:
the atomic number for this atom

unsigned short int GetIsotope (  )  const [inline]

Returns:
the isotope for this atom, if specified, or 0 for unspecified

int GetSpinMultiplicity (  )  const [inline]

Returns:
the atomic spin, e.g., 0 (default) for singlet, 2 for radical 1 or 3 for carbene

double GetAtomicMass (  )  const

Returns:
the atomic mass of this atom given by standard IUPAC average molar mass

double GetExactMass (  )  const

Returns:
the atomic mass of given by the isotope (default of 0 gives the most abundant isotope)

unsigned int GetIdx (  )  const [inline]

Returns:
the internal atom index (e.g., inside an OBMol)

unsigned int GetCoordinateIdx (  )  const [inline]

Returns:
the index into a pointer-driven array as used by GetCoordPtr() or SetCoordPtr()

unsigned int GetCIdx (  )  const [inline]

Deprecated:
Use GetCoordinateIdx() instead

unsigned int GetValence (  )  const [inline]

Returns:
The current number of explicit connections

unsigned int GetHyb (  )  const

Returns:
The hybridization of this atom (i.e. 1 for sp, 2 for sp2, 3 for sp3)

unsigned int GetImplicitValence (  )  const

Returns:
The implicit valence of this atom type (i.e. maximum number of connections expected)

unsigned int GetHvyValence (  )  const

Returns:
The number of non-hydrogens connected to this atom

unsigned int GetHeteroValence (  )  const

Returns:
The number of heteroatoms connected to an atom

char * GetType (  ) 

Returns:
the atomic type (e.g., for molecular mechanics)

double GetX (  )  [inline]

Returns:
the x coordinate

double GetY (  )  [inline]

Returns:
the y coordinate

double GetZ (  )  [inline]

Returns:
the z coordinate

double x (  )  [inline]

Returns:
the x coordinate

double y (  )  [inline]

Returns:
the y coordinate

double z (  )  [inline]

Returns:
the z coordinate

double* GetCoordinate (  )  [inline]

Returns:
the coordinates as a double* or NULL if none.
See SetCoordPtr() for more. If no coordinate pointer is used (e.g., only vector3), NULL will be returned.

vector3 & GetVector (  ) 

Returns:
the coordinates as a vector3 object

const vector3 & GetVector (  )  const

double GetPartialCharge (  ) 

Returns:
the partial charge of this atom, calculating a Gasteiger charge if needed

OBResidue * GetResidue (  ) 

Returns:
the residue which contains this atom, or NULL if none exists

OBMol* GetParent (  )  [inline]

Returns:
the molecule which contains this atom, or NULL if none exists

bool GetNewBondVector ( vector3 v,
double  length 
)

Create a vector for a new bond from this atom, with length given by the supplied parameter

Returns:
success or failure

OBBond * GetBond ( OBAtom  ) 

Returns:
the OBBond object between this atom and that supplied, or NULL if the two atoms are not bonded

OBAtom * GetNextAtom (  ) 

Returns:
a pointer to the "next" atom (by atom index) in the parent OBMol, or NULL if no such atom exists.
Deprecated:
Use any of the other iterator methods. This method will be removed in the future.

OBBondIterator BeginBonds (  )  [inline]

Returns:
An iterator to the beginning of the bonds to this atom

OBBondIterator EndBonds (  )  [inline]

Returns:
An iterator to the end of the bonds to this atom

OBBond * BeginBond ( OBBondIterator i  ) 

Set the iterator i to the beginning of the bonds

Returns:
The first bond to this atom (or NULL if none exist)

OBBond * NextBond ( OBBondIterator i  ) 

Increment the iterator i

Returns:
The next bond to this atom (or NULL if none exist)

OBAtom * BeginNbrAtom ( OBBondIterator i  ) 

Set the iterator i to the beginning of the bonds

Returns:
The first neighboring atom (or NULL if none exist)

OBAtom * NextNbrAtom ( OBBondIterator i  ) 

Increment the iterator i

Returns:
The next neighboring atom (or NULL if none exist)

double GetDistance ( int  index  ) 

Returns:
the distance to the atom defined by OBMol::GetAtom()

double GetDistance ( OBAtom  ) 

Returns:
the distance to the supplied OBAtom

double GetAngle ( int  b,
int  c 
)

Returns:
the angle defined by this atom -> b (vertex) -> c

double GetAngle ( OBAtom b,
OBAtom c 
)

Returns:
the angle defined by this atom -> b (vertex) -> c

void NewResidue (  )  [inline]

If no residue has been set for this atom, create a new one.

void AddResidue ( OBResidue res  )  [inline]

Add (set) the residue for this atom.

void DeleteResidue (  )  [inline]

Delete any residue associated with this atom.

void AddBond ( OBBond bond  )  [inline]

Add a bond to the internal list. Does not update the bond.

void InsertBond ( OBBondIterator i,
OBBond bond 
) [inline]

Insert bond into the internal list at the position from i Does not modify the bond.

bool DeleteBond ( OBBond bond  ) 

Find bond and remove it from the internal list. Does not update the bond.

void ClearBond (  )  [inline]

Clear all bonding information in this atom (does not delete them).

bool HtoMethyl (  ) 

If this is a hydrogen atom, transform into a methyl group.

Returns:
success or failure

bool SetHybAndGeom ( int   ) 

Change the hybridization of this atom and modify the geometry accordingly

Returns:
success or failure

void ForceNoH (  )  [inline]

Mark that atom has no hydrogens attached.

bool HasNoHForced (  )  [inline]

Returns:
if atom has been marked as having no hydrogens attached

unsigned int CountFreeOxygens (  )  const

Returns:
The number of oxygen atoms connected that only have one heavy valence

unsigned int ImplicitHydrogenCount (  )  const

Returns:
The number of hydrogens needed to fill the implicit valence of this atom

unsigned int ExplicitHydrogenCount ( bool  ExcludeIsotopes = false  )  const

Returns:
The number of hydrogens explicitly bound to this atom, optionally excluding D,T and isotope explicitly set to 1

unsigned int MemberOfRingCount (  )  const

Returns:
The number of rings that contain this atom

unsigned int MemberOfRingSize (  )  const

Returns:
The size of the smallest ring that contains this atom (0 if not in a ring)

unsigned int CountRingBonds (  )  const

Returns:
The number of explicit ring connections to this atom

double SmallestBondAngle (  ) 

Returns:
The smallest angle of bonds to this atom

double AverageBondAngle (  ) 

Returns:
The average angle of bonds to this atom

unsigned int BOSum (  )  const

Returns:
The sum of the bond orders of the bonds to the atom (i.e. double bond = 2...)

unsigned int KBOSum (  )  const

Returns:
The sum of the bond orders of bonds to the atom, considering only KDouble, KTriple bonds
Deprecated:
Use BOSum() instead

bool HasResidue (  )  [inline]

Returns:
Is there any residue information?

bool IsHydrogen (  )  [inline]

Returns:
Is the atom hydrogen?

bool IsCarbon (  )  [inline]

Returns:
Is the atom carbon?

bool IsNitrogen (  )  [inline]

Returns:
Is the atom nitrogen?

bool IsOxygen (  )  [inline]

Returns:
Is the atom oxygen?

bool IsSulfur (  )  [inline]

Returns:
Is the atom sulfur?

bool IsPhosphorus (  )  [inline]

Returns:
Is the atom phosphorus?

bool IsAromatic (  )  const

Returns:
Is the atom aromatic?

bool IsInRing (  )  const

Returns:
Is the atom in a ring?

bool IsInRingSize ( int   )  const

Returns:
Is the atom in a ring of a given size?

bool IsHeteroatom (  ) 

Returns:
Is this atom an element in the 15th or 16th main groups (i.e., N, O, P, S ...) ?

bool IsNotCorH (  ) 

Returns:
Is this atom any element except carbon or hydrogen?

bool IsConnected ( OBAtom  ) 

Returns:
Is this atom directly connected to the supplied OBAtom?

bool IsOneThree ( OBAtom  ) 

Returns:
Is this atom related to the supplied OBAtom in a 1,3 bonding pattern?

bool IsOneFour ( OBAtom  ) 

Returns:
Is this atom related to the supplied OBAtom in a 1,4 bonding pattern?

bool IsCarboxylOxygen (  ) 

Returns:
Is this atom an oxygen in a carboxyl (-CO2 or CO2H) group?

bool IsPhosphateOxygen (  ) 

Returns:
Is this atom an oxygen in a phosphate (R-PO3) group?

bool IsSulfateOxygen (  ) 

Returns:
Is this atom an oxygen in a sulfate (-SO3) group?

bool IsNitroOxygen (  ) 

Returns:
Is this atom an oxygen in a nitro (-NO2) group?

bool IsAmideNitrogen (  ) 

Returns true if nitrogen is part of an amide.

bool IsPolarHydrogen (  ) 

Returns:
Is this atom a hydrogen connected to a polar atom (i.e., N, O, P, S)

bool IsNonPolarHydrogen (  ) 

Returns:
Is this atom a hydrogen connected to a non-polar atom (i.e., C)

bool IsAromaticNOxide (  ) 

Returns:
Is this atom an aromatic nitrogen with at least one double bond to an oxygen atom

bool IsChiral (  ) 

Returns:
Is this atom chiral?

bool IsAxial (  ) 

Returns:
Is this atom an axial atom in a ring

bool IsClockwise (  )  [inline]

Returns:
Does this atom have SMILES-specified clockwise "@@" stereochemistry?

bool IsAntiClockwise (  )  [inline]

Returns:
Does this atom have SMILES-specified anticlockwise "@" stereochemistry?

bool IsPositiveStereo (  )  [inline]

Returns:
Does this atom have a positive chiral volume?

bool IsNegativeStereo (  )  [inline]

Returns:
Does this atom have a negative chiral volume?

bool HasChiralitySpecified (  )  [inline]

Returns:
Does this atom have SMILES-specified stereochemistry?

bool HasChiralVolume (  )  [inline]

Returns:
Does this atom have a specified chiral volume?

bool IsHbondAcceptor (  ) 

Returns:
Is this atom a hydrogen-bond acceptor (receptor)?

bool IsHbondDonor (  ) 

Returns:
Is this atom a hydrogen-bond donor?

bool IsHbondDonorH (  ) 

Returns:
Is this a hydrogen atom attached to a hydrogen-bond donor?

bool HasAlphaBetaUnsat ( bool  includePandS = true  ) 

Returns:
Whether a neighboring atom (alpha) has an unsaturated bond to a third atom (beta).
Parameters:
includePandS Whether to include phosphorus and sulfur neighbors in this determination (or to exclude them)

bool HasBondOfOrder ( unsigned int  bo  ) 

Returns:
Whether this atom is connected to any bond with order == bo

int CountBondsOfOrder ( unsigned int  bo  ) 

Returns:
The count of bonds connected to this atom with order == bo

bool HasNonSingleBond (  ) 

Returns:
Whether this atom is connected to any bond with order >1

bool HasSingleBond (  )  [inline]

Returns:
Does this atom have a single bond

bool HasDoubleBond (  )  [inline]

Returns:
Does this atom have a double bond

bool HasAromaticBond (  )  [inline]

Returns:
Does this atom have an aromatic bond

bool MatchesSMARTS ( const char *   ) 

Returns:
Whether this atom matches the first atom in a given SMARTS pattern

virtual OBBase* DoTransformations ( const std::map< std::string, std::string > *   )  [inline, virtual, inherited]

Perform a set of transformations specified by the user

Typically these are program options to filter or modify an object For example, see OBMol::DoTransformations() and OBMol::ClassDescription()

Reimplemented in OBMol.

static const char* ClassDescription (  )  [inline, static, inherited]

Returns:
A list of descriptions of command-line options for DoTransformations()

Reimplemented in OBMol.

T* CastAndClear ( bool  clear = true  )  [inline, inherited]

By default clears the object. Called from ReadMolecule of most format classes.

bool HasData ( const std::string &   )  [inherited]

Returns:
whether the generic attribute/value pair exists

bool HasData ( const char *   )  [inherited]

Returns:
whether the generic attribute/value pair exists

bool HasData ( const unsigned int  type  )  [inherited]

Returns:
whether the generic attribute/value pair exists, for a given OBGenericDataType

void DeleteData ( unsigned int  type  )  [inherited]

Delete any data matching the given OBGenericDataType.

void DeleteData ( OBGenericData  )  [inherited]

Delete the given generic data from this object.

void DeleteData ( std::vector< OBGenericData * > &   )  [inherited]

Delete all of the given generic data from this object.

void SetData ( OBGenericData d  )  [inline, inherited]

Adds a data object; does nothing if d==NULL.

unsigned int DataSize (  )  const [inline, inherited]

Returns:
the number of OBGenericData items attached to this molecule.

OBGenericData * GetData ( const unsigned int  type  )  [inherited]

Returns:
the first matching data for a given type from OBGenericDataType or NULL if nothing matches

OBGenericData * GetData ( const std::string &   )  [inherited]

Returns:
the value given an attribute name

OBGenericData * GetData ( const char *   )  [inherited]

Returns:
the value given an attribute name

std::vector<OBGenericData*>& GetData (  )  [inline, inherited]

Returns:
all data, suitable for iterating

std::vector< OBGenericData * > GetData ( DataOrigin  source  )  [inherited]

Returns:
all data with a specific origin, suitable for iterating

OBDataIterator BeginData (  )  [inline, inherited]

Returns:
An iterator pointing to the beginning of the data

OBDataIterator EndData (  )  [inline, inherited]

Returns:
An iterator pointing to the end of the data


Member Data Documentation

char _ele [protected]

atomic number (type char to minimize space -- allows for 0..255 elements)

char _impval [protected]

implicit valence

char _type[6] [protected]

atomic type

short _fcharge [protected]

formal charge

unsigned short _isotope [protected]

isotope (0 = most abundant)

short _spinmultiplicity [protected]

atomic spin, e.g., 2 for radical 1 or 3 for carbene

unsigned int _idx [protected]

unique node index (GetIdx(), SetIdx())

OBMol* _parent [protected]

parent molecule (if any)

std::vector<OBBond*> _vbond [protected]

bonds to this atom -- assumed to be one of the endpoints

unsigned int _cidx [protected]

index into coordinate array

unsigned short _hyb [protected]

hybridization

unsigned short _flags [protected]

bitwise flags (e.g. aromaticity)

double _pcharge [protected]

partial charge

double** _c [protected]

coordinate array in double*

vector3 _v [mutable, protected]

coordinate vector

OBResidue* _residue [protected]

parent residue (if applicable)

bool Visit

Used internally by graph traversal algorithms.

std::vector<OBGenericData*> _vdata [protected, inherited]

Custom data.


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