#include <openbabel/query.h>

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 |
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.
| OBQueryAtom | ( | int | atomicNum = 6, |
| bool | isInRing = false, |
||
| bool | isAromatic = false |
||
| ) | [inline] |
Constructor.
| 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] |
| 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.
| atom | The OBAtom object to compare this OBQueryAtom with. |
friend class OBQuery [friend] |
friend class OBQueryBond [friend] |
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] |