Loading...
Searching...
No Matches
pointgroup.h
Go to the documentation of this file.
/**********************************************************************
pointgroup.h - Brute force point group symmetry detection
Copyright (C) 1996, 2003 S. Patchkovskii, Serguei.Patchkovskii@sympatico.ca
Some portions Copyright (C) 2007 by Geoffrey R. Hutchison
This file is part of the Open Babel project.
For more information, see <http://openbabel.org/>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
***********************************************************************/
#ifndef OB_POINTGROUP_H
#define OB_POINTGROUP_H
#include <openbabel/babelconfig.h>
namespace OpenBabel
{
class OBMol;
class PointGroupPrivate;
class OBAPI OBPointGroup
{
public:
OBPointGroup();
~OBPointGroup();
enum Symbol
{ // The most likely 60 cases
C1 = 0, Cs, Ci, // 0 to 2
C2, C3, C4, C5, C6, C7, C8, // 3 to 9
D2, D3, D4, D5, D6, D7, D8, // 10 to 16
C2v, C3v, C4v, C5v, C6v, C7v, C8v, // 17 to 23
C2h, C3h, C4h, C5h, C6h, C7h, C8h, // 24 to 30
D2d, D3d, D4d, D5d, D6d, D7d, D8d, // 31 to 37
D2h, D3h, D4h, D5h, D6h, D7h, D8h, // 38 to 44
S4, S6, S8, // 45 to 47
T, Th, Td, // 48 to 50
O, Oh, // 51, 52
Cinfv, Dinfh, // 53, 54
I, Ih, // 55, 56
K, Kh, // 57, 58
Unknown // 59
};
void Setup(OBMol *);
const char * IdentifyPointGroup();
const char * IdentifyPointGroup(double tolerance /* = 0.01*/ );
Symbol IdentifyPointGroupSymbol(double tolerance = 0.01);
void Symmetrize(OBMol *);
protected:
PointGroupPrivate *d;
}; // class OBPointGroup
}// namespace OpenBabel
#endif // OB_POINT_GROUP_H
OpenBabel::OBMol
Molecule Class.
Definition mol.h:121
OpenBabel::OBPointGroup::OBPointGroup
OBPointGroup()
Definition pointgroup.cpp:1843
OpenBabel::OBPointGroup::Symbol
Symbol
Definition pointgroup.h:45
OpenBabel::OBPointGroup::D7
@ D7
Definition pointgroup.h:48
OpenBabel::OBPointGroup::D6d
@ D6d
Definition pointgroup.h:51
OpenBabel::OBPointGroup::Kh
@ Kh
Definition pointgroup.h:58
OpenBabel::OBPointGroup::D4
@ D4
Definition pointgroup.h:48
OpenBabel::OBPointGroup::C2h
@ C2h
Definition pointgroup.h:50
OpenBabel::OBPointGroup::D2h
@ D2h
Definition pointgroup.h:52
OpenBabel::OBPointGroup::T
@ T
Definition pointgroup.h:54
OpenBabel::OBPointGroup::C4
@ C4
Definition pointgroup.h:47
OpenBabel::OBPointGroup::C5v
@ C5v
Definition pointgroup.h:49
OpenBabel::OBPointGroup::C5
@ C5
Definition pointgroup.h:47
OpenBabel::OBPointGroup::C8h
@ C8h
Definition pointgroup.h:50
OpenBabel::OBPointGroup::C4v
@ C4v
Definition pointgroup.h:49
OpenBabel::OBPointGroup::C6h
@ C6h
Definition pointgroup.h:50
OpenBabel::OBPointGroup::Td
@ Td
Definition pointgroup.h:54
OpenBabel::OBPointGroup::D5d
@ D5d
Definition pointgroup.h:51
OpenBabel::OBPointGroup::D8d
@ D8d
Definition pointgroup.h:51
OpenBabel::OBPointGroup::Unknown
@ Unknown
Definition pointgroup.h:59
OpenBabel::OBPointGroup::C7
@ C7
Definition pointgroup.h:47
OpenBabel::OBPointGroup::Cinfv
@ Cinfv
Definition pointgroup.h:56
OpenBabel::OBPointGroup::D4h
@ D4h
Definition pointgroup.h:52
OpenBabel::OBPointGroup::C2
@ C2
Definition pointgroup.h:47
OpenBabel::OBPointGroup::C7v
@ C7v
Definition pointgroup.h:49
OpenBabel::OBPointGroup::C2v
@ C2v
Definition pointgroup.h:49
OpenBabel::OBPointGroup::K
@ K
Definition pointgroup.h:58
OpenBabel::OBPointGroup::D3d
@ D3d
Definition pointgroup.h:51
OpenBabel::OBPointGroup::C8
@ C8
Definition pointgroup.h:47
OpenBabel::OBPointGroup::Ih
@ Ih
Definition pointgroup.h:57
OpenBabel::OBPointGroup::C8v
@ C8v
Definition pointgroup.h:49
OpenBabel::OBPointGroup::Th
@ Th
Definition pointgroup.h:54
OpenBabel::OBPointGroup::D2
@ D2
Definition pointgroup.h:48
OpenBabel::OBPointGroup::S6
@ S6
Definition pointgroup.h:53
OpenBabel::OBPointGroup::D2d
@ D2d
Definition pointgroup.h:51
OpenBabel::OBPointGroup::C3h
@ C3h
Definition pointgroup.h:50
OpenBabel::OBPointGroup::D8h
@ D8h
Definition pointgroup.h:52
OpenBabel::OBPointGroup::D5
@ D5
Definition pointgroup.h:48
OpenBabel::OBPointGroup::D7d
@ D7d
Definition pointgroup.h:51
OpenBabel::OBPointGroup::Oh
@ Oh
Definition pointgroup.h:55
OpenBabel::OBPointGroup::D3h
@ D3h
Definition pointgroup.h:52
OpenBabel::OBPointGroup::Ci
@ Ci
Definition pointgroup.h:46
OpenBabel::OBPointGroup::D6h
@ D6h
Definition pointgroup.h:52
OpenBabel::OBPointGroup::Dinfh
@ Dinfh
Definition pointgroup.h:56
OpenBabel::OBPointGroup::S4
@ S4
Definition pointgroup.h:53
OpenBabel::OBPointGroup::D6
@ D6
Definition pointgroup.h:48
OpenBabel::OBPointGroup::Cs
@ Cs
Definition pointgroup.h:46
OpenBabel::OBPointGroup::C6v
@ C6v
Definition pointgroup.h:49
OpenBabel::OBPointGroup::D7h
@ D7h
Definition pointgroup.h:52
OpenBabel::OBPointGroup::C7h
@ C7h
Definition pointgroup.h:50
OpenBabel::OBPointGroup::C4h
@ C4h
Definition pointgroup.h:50
OpenBabel::OBPointGroup::I
@ I
Definition pointgroup.h:57
OpenBabel::OBPointGroup::C3
@ C3
Definition pointgroup.h:47
OpenBabel::OBPointGroup::D3
@ D3
Definition pointgroup.h:48
OpenBabel::OBPointGroup::C6
@ C6
Definition pointgroup.h:47
OpenBabel::OBPointGroup::C1
@ C1
Definition pointgroup.h:46
OpenBabel::OBPointGroup::D8
@ D8
Definition pointgroup.h:48
OpenBabel::OBPointGroup::C5h
@ C5h
Definition pointgroup.h:50
OpenBabel::OBPointGroup::D4d
@ D4d
Definition pointgroup.h:51
OpenBabel::OBPointGroup::S8
@ S8
Definition pointgroup.h:53
OpenBabel::OBPointGroup::O
@ O
Definition pointgroup.h:55
OpenBabel::OBPointGroup::D5h
@ D5h
Definition pointgroup.h:52
OpenBabel::OBPointGroup::C3v
@ C3v
Definition pointgroup.h:49
OpenBabel::OBPointGroup::d
PointGroupPrivate * d
Definition pointgroup.h:83
OpenBabel
Global namespace for all Open Babel code.
Definition alias.h:23