bondtyper.h

Go to the documentation of this file.
00001 /**********************************************************************
00002 bondtyper.h - Bond typer to perceive connectivity and bond orders/types.
00003 
00004 Copyright (C) 2003-2005 by Geoffrey R. Hutchison
00005  
00006 This file is part of the Open Babel project.
00007 For more information, see <http://openbabel.sourceforge.net/>
00008  
00009 This program is free software; you can redistribute it and/or modify
00010 it under the terms of the GNU General Public License as published by
00011 the Free Software Foundation version 2 of the License.
00012  
00013 This program is distributed in the hope that it will be useful,
00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016 GNU General Public License for more details.
00017 ***********************************************************************/
00018 
00019 #ifndef OB_BONDTYPER_H
00020 #define OB_BONDTYPER_H
00021 
00022 #include <openbabel/parsmart.h>
00023 #include <openbabel/data.h>
00024 
00025 namespace OpenBabel
00026 {
00027 
00028 // class introduction in bondtyper.cpp
00029 // Used for "perceiving" bonds, e.g. in XYZ or QM files with no bond info.
00030 class OBAPI OBBondTyper : public OBGlobalDataBase
00031 {
00033     std::vector<std::pair<OBSmartsPattern*, std::vector<int> > >        _fgbonds;
00034 public:
00035     OBBondTyper();
00036     ~OBBondTyper();
00037 
00039 
00040     void ParseLine(const char*);
00042     unsigned int GetSize()                 { return _fgbonds.size();}
00044     
00046 
00047 
00048     void AssignFunctionalGroupBonds(OBMol &mol);
00050 };
00051 
00052 }
00053 
00054 #endif // OB_BONDTYPER_H
00055