BALL
1.5.0
include
BALL
DOCKING
GENETICDOCK
rotateBond.h
Go to the documentation of this file.
1
// ----------------------------------------------------
2
// $Maintainer: Marcel Schumann $
3
// $Authors: Jan Fuhrmann, Marcel Schumann $
4
// ----------------------------------------------------
5
6
#ifndef BALL_DOCKING_GENETICDOCK_ROTATE_BOND_H
7
#define BALL_DOCKING_GENETICDOCK_ROTATE_BOND_H
8
9
#include <
BALL/DATATYPE/hashSet.h
>
10
#include <
BALL/MATHS/angle.h
>
11
#include <
BALL/MATHS/matrix44.h
>
12
13
// This class changes the rotation angle(radians) around a defined axis, furthermore it is possible to select
14
// 2 additional atoms to calculate and change the dihedral angle. The rotation axis must not be contained in a
15
// ring system. If this condition holds true, the molecule is divided by the rotation axis. All atoms of the
16
// lighter part rotate while the larger part of the molecule remains unchanged.
17
18
19
namespace
BALL
20
{
21
class
Atom
;
22
23
class
Bond;
24
25
class
BALL_EXPORT
BALL_DEPRECATED
RotateBond
26
{
27
public
:
28
31
RotateBond
();
32
35
RotateBond
(
const
RotateBond
&);
36
39
RotateBond
(
const
Bond
&);
40
43
RotateBond
(
Atom
*,
Atom
*);
44
47
RotateBond
(
const
Bond
&,
Atom
*,
Atom
*);
48
51
RotateBond
(
Atom
*,
Atom
*,
Atom
*,
Atom
*);
52
55
~
RotateBond
();
56
59
void
rotate(
const
Angle
&,
bool
restorePosition =
true
);
60
63
void
setDihedral(
const
Angle
&);
64
67
Angle
getDihedral();
68
71
bool
operator<
(
const
RotateBond
& rb);
72
73
private
:
74
77
Atom
* hinge_;
78
81
Atom
* nail_;
82
85
Atom
* dihedral_lite_;
86
89
Atom
* dihedral_heavy_;
90
93
HashSet<Atom*>
rotate_atoms_;
94
97
void
collectAtoms(
Atom
*,
Atom
*,
Atom
*,
HashSet<Atom*>
&);
98
101
void
setup(
Atom
*,
Atom
*,
Atom
*,
Atom
*);
102
};
103
}
104
105
106
#endif
/* BALL_DOCKING_GENETICDOCK_ROTATE_BOND_H */
BALL_EXPORT
#define BALL_EXPORT
Definition:
COMMON/global.h:50
BALL::HashSet
Definition:
hashSet.h:45
angle.h
BALL::operator<
BALL_EXPORT bool operator<(const String &s1, const String &s2)
BALL::Bond
Definition:
bond.h:54
BALL::Atom
Definition:
atom.h:87
BALL
Definition:
constants.h:12
BALL_DEPRECATED
#define BALL_DEPRECATED
Definition:
COMMON/global.h:64
BALL::PDB::Atom
char Atom[5]
Definition:
PDBdefs.h:257
BALL::RotateBond
Definition:
rotateBond.h:25
hashSet.h
BALL::TAngle< float >
matrix44.h
Generated by
1.8.16