Loading...
Searching...
No Matches
rotateBond.h
Go to the documentation of this file.
// ----------------------------------------------------
// $Maintainer: Marcel Schumann $
// $Authors: Jan Fuhrmann, Marcel Schumann $
// ----------------------------------------------------
#ifndef BALL_DOCKING_GENETICDOCK_ROTATE_BOND_H
#define BALL_DOCKING_GENETICDOCK_ROTATE_BOND_H
#include <BALL/DATATYPE/hashSet.h>
#include <BALL/MATHS/angle.h>
#include <BALL/MATHS/matrix44.h>
// This class changes the rotation angle(radians) around a defined axis, furthermore it is possible to select
// 2 additional atoms to calculate and change the dihedral angle. The rotation axis must not be contained in a
// ring system. If this condition holds true, the molecule is divided by the rotation axis. All atoms of the
// lighter part rotate while the larger part of the molecule remains unchanged.
namespace BALL
{
class Atom;
class Bond;
class BALL_EXPORT BALL_DEPRECATED RotateBond
{
public:
RotateBond();
RotateBond(const RotateBond&);
RotateBond(const Bond&);
RotateBond(Atom*, Atom*);
RotateBond(const Bond&, Atom*, Atom*);
RotateBond(Atom*, Atom*, Atom*, Atom*);
~RotateBond();
void rotate(const Angle&, bool restorePosition = true);
void setDihedral(const Angle&);
Angle getDihedral();
bool operator<(const RotateBond& rb);
private:
Atom* hinge_;
Atom* nail_;
Atom* dihedral_lite_;
Atom* dihedral_heavy_;
HashSet<Atom*> rotate_atoms_;
void collectAtoms(Atom*, Atom*, Atom*, HashSet<Atom*>&);
void setup(Atom*, Atom*, Atom*, Atom*);
};
}
#endif /* BALL_DOCKING_GENETICDOCK_ROTATE_BOND_H */
BALL_DEPRECATED
#define BALL_DEPRECATED
Definition COMMON/global.h:64
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
angle.h
BALL::Atom
Definition atom.h:90
BALL::Bond
Definition bond.h:57
BALL::HashSet
Definition hashSet.h:46
BALL::RotateBond::RotateBond
RotateBond(const Bond &, Atom *, Atom *)
BALL::RotateBond::rotate
void rotate(const Angle &, bool restorePosition=true)
BALL::RotateBond::RotateBond
RotateBond(Atom *, Atom *)
BALL::RotateBond::getDihedral
Angle getDihedral()
BALL::RotateBond::operator<
bool operator<(const RotateBond &rb)
BALL::RotateBond::RotateBond
RotateBond()
BALL::RotateBond::RotateBond
RotateBond(Atom *, Atom *, Atom *, Atom *)
BALL::RotateBond::~RotateBond
~RotateBond()
BALL::RotateBond::setDihedral
void setDihedral(const Angle &)
BALL::RotateBond::RotateBond
RotateBond(const RotateBond &)
BALL::RotateBond::RotateBond
RotateBond(const Bond &)
hashSet.h
matrix44.h
BALL
Definition constants.h:13
BALL::Angle
TAngle< float > Angle
Definition angle.h:697