graphsym.h Source File

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

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