OBQueryAtom Class Reference
[Substructure Searching]

Atom in an OBQuery. More...

#include <openbabel/query.h>

Inherited by OBAutomorphismQueryAtom.

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:
atomicNumThe atomic number for this query atom.
isInRingSpecify wether the query atom is in a ring. Default is false.
isAromaticSpecify 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:
atomThe 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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines