Open Babel  3.0
graphsym.h
Go to the documentation of this file.
1 /**********************************************************************
2 graphsym.h - Class for handling graph symmetry.
3 
4  Copyright (C) 2009-2010 by Tim Vandermeersch
5  Copyright (C) 2005-2006, eMolecules, Inc. (www.emolecules.com)
6  Craig A. James
7 
8 This file is part of the Open Babel project.
9 For more information, see <http://openbabel.org/>
10 
11 This program is free software; you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation version 2 of the License.
14 
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
19 ***********************************************************************/
20 
21 #ifndef OB_GRAPHSYM_H
22 #define OB_GRAPHSYM_H
23 
24 #include <openbabel/babelconfig.h>
26 #include <vector>
27 
28 #ifndef EXTERN
29 # define EXTERN extern
30 #endif
31 
32 namespace OpenBabel {
33 
34  class OBBitVec;
35  class OBMol;
36  class OBAtom;
37  class OBBond;
38  class OBMol;
39  class OBGraphSymPrivate;
40 
46  class OBAPI OBGraphSym {
47 
48  public:
50  OBGraphSym(OBMol* pmol, const OBBitVec* frag_atoms = NULL);
52  virtual ~OBGraphSym();
53 
54  static const unsigned int NoSymmetryClass;
55 
66  int GetSymmetry(std::vector<unsigned int> &symmetry_classes);
71  void ClearSymmetry();
72 
73  private:
74  OBGraphSymPrivate * const d;
75  };
76 
77 } // namespace OpenBabel
78 
79 #endif // OB_GRAPHSYM_H
80 
83 
84 
static const unsigned int NoSymmetryClass
Definition: graphsym.h:54
Molecule Class.
Definition: mol.h:118
Process molecular stereochemistry information.
A speed-optimized vector of bits.
Definition: bitvec.h:57
Handle and perceive graph symmtery for canonical numbering .
Definition: graphsym.h:46
Global namespace for all Open Babel code.
Definition: alias.h:22