Open Babel: kekulize.cpp File Reference

Namespaces | Defines | Functions

# kekulize.cpp File Reference

Alternate algorithm to kekulize a molecule (OBMol::NewPerceiveKekuleBonds()). More...

`#include <openbabel/babelconfig.h>`
`#include <openbabel/mol.h>`
`#include <openbabel/ring.h>`
`#include <openbabel/obiter.h>`
`#include <openbabel/graphsym.h>`
`#include <sstream>`

## Namespaces
namespace | OpenBabel
## Defines
#define | DEBUG 0
#define | MAX_TIME 15
#define | MAX_DEPTH 30
#define | UNASSIGNED 0
#define | SINGLE 1
#define | DOUBLE 2
#define | NOT_IN_RINGS -1
#define | DOUBLE_ASSIGNED 0
#define | DOUBLE_ALLOWED 1
#define | DOUBLE_PROHIBITED 2
## Functions
int | expand_cycle (OBMol *mol, OBAtom *atom, OBBitVec &avisit, OBBitVec &cvisit, const OBBitVec &potAromBonds, int rootIdx, Timeout &timeout, int prevAtomIdx, int depth)
bool | expandKekulize (OBMol *mol, int bond_idx, std::vector< int > &atomState, std::vector< int > &bondState, Timeout &timeout)
bool | expand_kekulize_lssr (OBMol *mol, std::vector< int > &atomState, std::vector< int > &bondState, std::vector< OBRing * > &lssr, std::vector< bool > &lssrAssigned, std::vector< OBBond * > &bondsThisRing)
int | count_assigned_bonds (std::vector< OBBond * > &bondsThisRing, std::vector< int > &bondState)
bool | isPotentialAromaticAtom (OBAtom *atom)
void | potentialAromaticBonds (OBMol *mol, OBBitVec &bonds)
void | get_bonds_of_ring (OBMol *mol, OBRing *ring, std::vector< OBBond * > &ring_bonds)
bool | has_leftover_electrons (OBMol *mol, std::vector< int > &atomState)
bool | has_leftover_electrons (OBMol *mol, std::vector< int > &atomState, std::vector< int > &bondState)

## Detailed Description

Alternate algorithm to kekulize a molecule (OBMol::NewPerceiveKekuleBonds()).

## Define Documentation

#define DEBUG 0

Referenced by OpenBabel::expand_cycle(), OpenBabel::expand_kekulize_lssr(), OpenBabel::expandKekulize(), OpenBabel::has_leftover_electrons(), OBMol::NewPerceiveKekuleBonds(), and OBMol::start_kekulize().

#define MAX_TIME 15

Referenced by OBMol::expand_kekulize(), OBMol::NewPerceiveKekuleBonds(), and OBMol::start_kekulize().

#define MAX_DEPTH 30

#define UNASSIGNED 0

Referenced by OpenBabel::count_assigned_bonds(), OpenBabel::expand_kekulize_lssr(), and OpenBabel::has_leftover_electrons().

#define SINGLE 1

Referenced by OpenBabel::expand_kekulize_lssr(), and OBMol::start_kekulize().

#define DOUBLE 2

Referenced by OpenBabel::expand_kekulize_lssr(), OpenBabel::expandKekulize(), and OBMol::start_kekulize().

#define NOT_IN_RINGS -1

Referenced by OpenBabel::expandKekulize(), OpenBabel::has_leftover_electrons(), and OBMol::start_kekulize().

#define DOUBLE_ASSIGNED 0

Referenced by OpenBabel::expand_kekulize_lssr(), and OpenBabel::expandKekulize().

#define DOUBLE_ALLOWED 1

Referenced by OpenBabel::expand_kekulize_lssr(), OpenBabel::expandKekulize(), OpenBabel::has_leftover_electrons(), and OBMol::start_kekulize().

#define DOUBLE_PROHIBITED 2

Referenced by OBMol::start_kekulize().

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines