24 #ifndef OB_ISOMORPHISM_H 25 #define OB_ISOMORPHISM_H 84 typedef std::vector< std::pair<unsigned int,unsigned int> >
Mapping;
140 virtual void MapAll(
const OBMol *queried, Mappings &maps,
const OBBitVec &mask =
OBBitVec(), std::size_t maxMemory = 3000000) = 0;
159 virtual bool operator()(Mapping &map) = 0;
175 void SetTimeout(
unsigned int seconds) { m_timeout = seconds; }
184 OBIsomorphismMapper::Mapping::const_iterator i;
185 for (i = map.begin(); i != map.end(); ++i)
186 if (i->first == queryIndex) {
187 queriedIndex = i->second;
225 OBAPI
bool FindAutomorphisms(
OBMol *mol, std::vector<OBIsomorphismMapper::Mapping> &aut,
const std::vector<unsigned int> &symmetry_classes,
236 std::size_t maxMemory = 3000000);
250 const std::vector<unsigned int> &symmetry_classes,
const OBBitVec &mask =
OBBitVec());
A substructure query.
Definition: query.h:197
Functor base class to be used in combination with MapGeneric.
Definition: isomorphism.h:148
OBIsomorphismMapper::Mappings Automorphisms
A group of automorphic permutations.
Definition: isomorphism.h:206
Molecule Class.
Definition: mol.h:118
A speed-optimized vector of bits.
Definition: bitvec.h:57
bool FindAutomorphisms(OBMol *mol, std::vector< OBIsomorphismMapper::Mapping > &aut, const std::vector< unsigned int > &symmetry_classes, const OBBitVec &mask=OBBitVec(), std::size_t maxMemory=3000000)
void SetTimeout(unsigned int seconds)
Definition: isomorphism.h:175
OBIsomorphismMapper::Mapping Automorphism
A single automorphic permutation.
Definition: isomorphism.h:200
std::vector< std::pair< unsigned int, unsigned int > > Mapping
Definition: isomorphism.h:84
bool MapsTo(const OBIsomorphismMapper::Mapping &map, unsigned int queryIndex, unsigned int &queriedIndex)
Definition: isomorphism.h:182
OBQuery * m_query
The search query.
Definition: isomorphism.h:178
unsigned int m_timeout
The timeout in seconds.
Definition: isomorphism.h:179
Abstract class defining interface for isomorphism (i.e. substructure) searches.
Definition: isomorphism.h:77
Fast and efficient bitstring class.
std::vector< Mapping > Mappings
Definition: isomorphism.h:89
virtual ~Functor()
Definition: isomorphism.h:151
Global namespace for all Open Babel code.
Definition: alias.h:22