SubstructUtils.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef _RD_SUBSTRUCT_UTILS_H_
00007 #define _RD_SUBSTRUCT_UTILS_H_
00008
00009 #include "SubstructMatch.h"
00010 #include <boost/smart_ptr.hpp>
00011
00012 #ifdef USE_VFLIB
00013 class ARGEdit;
00014 #endif
00015
00016 namespace RDKit{
00017 class ROMol;
00018 class Atom;
00019 class Bond;
00020 typedef boost::shared_ptr<Atom> ATOM_SPTR;
00021 typedef boost::shared_ptr<Bond> BOND_SPTR;
00022
00023 double toPrime(const MatchVectType &v);
00024 void removeDuplicates(std::vector<MatchVectType> &v);
00025 #ifdef USE_VFLIB
00026 bool atomCompat(const Atom *a1,const Atom *a2);
00027 bool chiralAtomCompat(const Atom *a1,const Atom *a2);
00028 bool bondCompat(const Bond *b1,const Bond *b2);
00029 void MolToVFGraph(const ROMol &mol,ARGEdit *vgEd);
00030 bool substructVisitor(int n, node_id ni1[],node_id ni2[],void *mvp);
00031 bool substructHeadVisitor(int n, node_id ni1[],node_id ni2[],void *mvp);
00032 #else
00033 bool atomCompat(const ATOM_SPTR a1,const ATOM_SPTR a2);
00034 bool chiralAtomCompat(const ATOM_SPTR a1,const ATOM_SPTR a2);
00035 bool bondCompat(const BOND_SPTR b1,const BOND_SPTR b2);
00036 #endif
00037
00038 }
00039
00040
00041 #endif