13 #include <boost/tuple/tuple.hpp> 14 #include <boost/dynamic_bitset.hpp> 112 std::vector<AtomColors> &colors,
113 const std::vector<unsigned int> &ranks,
115 const boost::dynamic_bitset<> *bondsInPlay=0,
116 const std::vector<std::string> *bondSymbols=0,
117 bool doIsomericSmiles=
false);
const int MAX_CYCLES
used in the canonical traversal code
int number
stores our number (relevant for bonds and ring closures)
MolStackElem(Atom *at)
construct an Atom node
AtomColors
used in traversals of the molecule
MolStackElem(Bond *bond, int idx)
construct a bond node
used to store components in the molecular stack
boost::tuple< int, int, Bond * > PossibleType
used to represent possible branches from an atom
these are the actual elements in the molecular stack
ROMol is a molecule class that is intended to have a fixed topology.
MolStackUnion obj
holds our pointer (if appropriate)
void canonicalizeFragment(ROMol &mol, int atomIdx, std::vector< AtomColors > &colors, const std::vector< unsigned int > &ranks, MolStack &molStack, const boost::dynamic_bitset<> *bondsInPlay=0, const std::vector< std::string > *bondSymbols=0, bool doIsomericSmiles=false)
constructs the canonical traversal order for a molecular fragment
visited, but not finished
MolStackTypes type
stores the type of node
Includes a bunch of functionality for handling Atom and Bond queries.
MolStackTypes
used to indicate types of entries in the molecular stack:
MolStackElem(const char *chr, int idx)
construct for a branch opening or closing
class for representing a bond
const int MAX_BONDTYPE
used in the canonical traversal code
MolStackElem(int idx)
construct for a ring closure
const int MAX_NATOMS
used in the canonical traversal code
std::vector< MolStackElem > MolStack
The class for representing atoms.