OBQueryAtom Class Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Attributes | Friends
OBQueryAtom Class Reference
Substructure Searching

`#include <openbabel/query.h>`

Inheritance diagram for OBQueryAtom:
[legend]

List of all members.

## Public Member Functions
| OBQueryAtom (int atomicNum=6, bool isInRing=false, bool isAromatic=false)
virtual | ~OBQueryAtom ()
unsigned int | GetIndex () const
const std::vector< OBQueryBond * > & | GetBonds () const
const std::vector< OBQueryAtom * > & | GetNbrs () const
virtual bool | Matches (const OBAtom *atom) const
## Protected Attributes
unsigned int | m_index
int | m_atomicNum
bool | m_isInRing
bool | m_isAromatic
std::vector< OBQueryBond * > | m_bonds
std::vector< OBQueryAtom * > | m_nbrs
## Friends
class | OBQuery
class | OBQueryBond

## Detailed Description

Atom in an OBQuery.

The OBQueryAtom class defines an interface for query atoms. The class provides some general methods and properties to access the topology information. The Matches method can be reimplemented in subclasses to get custom matching behavior.

The default Matches implementation only checks the atomic number.

See Substructure Search for more information.

See also:
  OBQuery OBQueryBond OBIsomorphismMapper

Since:
  version 2.3

## Constructor & Destructor Documentation

OBQueryAtom | ( | int | atomicNum = `6`,
|  | bool | isInRing = `false`,
|  | bool | isAromatic = `false`
| ) |  | `[inline]`

Constructor.

Parameters:

  atomicNum | The atomic number for this query atom.
  isInRing | Specify wether the query atom is in a ring. Default is false.
  isAromatic | Specify wether the query atom is aromatic. Default is false.

virtual ~OBQueryAtom | ( |  | ) | `[inline, virtual]`

## Member Function Documentation

unsigned int GetIndex | ( |  | ) | const`[inline]`

Get the index for this query atom. Atoms are indexed starting from 0. This method is used by OBIsomorphismMapper implementations.

const std::vector<OBQueryBond*>& GetBonds | ( |  | ) | const`[inline]`

Get the query bonds for this atom. This method is used by OBIsomorphismMapper implementations.

Referenced by OBQuery::GetBond().

const std::vector<OBQueryAtom*>& GetNbrs | ( |  | ) | const`[inline]`

Get the neighbor query atoms. This method is used by OBIsomorphismMapper implementations.

Referenced by OBQuery::GetBond().

virtual bool Matches | ( | const OBAtom * | atom | ) | const`[inline, virtual]`

This is the match method to verify if an OBQueryAtom and OBAtom class match. The default implementation only checks if the atomic numbers match. Reimplement this method in a subclass for more advances matching. This method is used by OBIsomorphismMapper implementations.

Parameters:

  atom | The OBAtom object to compare this OBQueryAtom with.

## Friends And Related Function Documentation

friend class OBQuery`[friend]`

friend class OBQueryBond`[friend]`

## Member Data Documentation

unsigned int m_index`[protected]`

Referenced by OBQuery::AddAtom().

int m_atomicNum`[protected]`

bool m_isInRing`[protected]`

bool m_isAromatic`[protected]`

std::vector<OBQueryBond*> m_bonds`[protected]`

std::vector<OBQueryAtom*> m_nbrs`[protected]`

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

- query.h

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines