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
This file is part of the documentation for Open Babel, version 2.3.