graphsym.h
Go to the documentation of this file.
00001 /**********************************************************************
00002 graphsym.h - Class for handling graph symmetry.
00003 
00004   Copyright (C) 2009-2010 by Tim Vandermeersch
00005   Copyright (C) 2005-2006, eMolecules, Inc. (www.emolecules.com)
00006                            Craig A. James
00007 
00008 This file is part of the Open Babel project.
00009 For more information, see <http://openbabel.org/>
00010 
00011 This program is free software; you can redistribute it and/or modify
00012 it under the terms of the GNU General Public License as published by
00013 the Free Software Foundation version 2 of the License.
00014 
00015 This program is distributed in the hope that it will be useful,
00016 but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018 GNU General Public License for more details.
00019 ***********************************************************************/
00020 
00021 #ifndef OB_GRAPHSYM_H
00022 #define OB_GRAPHSYM_H
00023 
00024 #include <openbabel/babelconfig.h>
00025 #include <openbabel/stereo/stereo.h>
00026 #include <vector>
00027 
00028 #ifndef EXTERN
00029 #  define EXTERN extern
00030 #endif
00031 
00032 namespace OpenBabel {
00033 
00034   class OBBitVec;
00035   class OBMol;
00036   class OBAtom;
00037   class OBBond;
00038   class OBMol;
00039   class OBGraphSymPrivate;
00040 
00046   class OBAPI OBGraphSym {
00047 
00048     public:
00050       OBGraphSym(OBMol* pmol, const OBBitVec* frag_atoms = NULL);
00052       virtual ~OBGraphSym();
00053 
00054       static const unsigned int NoSymmetryClass;
00055 
00066       int GetSymmetry(std::vector<unsigned int> &symmetry_classes);
00071       void ClearSymmetry();
00072 
00073     private:
00074       OBGraphSymPrivate * const d;
00075   };
00076 
00077 } // namespace OpenBabel
00078 
00079 #endif // OB_GRAPHSYM_H
00080 
00083 
00084 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines