19 #ifndef OST_BASE_DIHEDRAL_HH
20 #define OST_BASE_DIHEDRAL_HH
26 namespace ost {
namespace mol {
namespace impl {
Three dimensional vector class, using Real precision.
Low level dihedral implementation.
AtomImplPtr GetSecond() const
geom::Vec3 GetOriginalPos() const
AtomImplPtr GetThird() const
AtomImplPtr GetFourth() const
geom::Vec3 GetPos() const
Real GetAngleXCS() const
get dihedral angle base on atom position
Real GetAngleICS() const
get dihedral angle based on internal coordinate system
bool IsAtomInvolved(const AtomImplPtr &atom)
bool Matches(const AtomImplPtr &a1, const AtomImplPtr &a2, const AtomImplPtr &a3, const AtomImplPtr &a4) const
Dihedral(const AtomImplPtr &atom1, const AtomImplPtr &atom2, const AtomImplPtr &atom3, const AtomImplPtr &atom4)
construct new dihedral as defined by the four consecutive atoms atom1 to atom4
void SetAngleICS(Real angle, bool update_other)
set dihedral angle. Requires an intact internal coordinate system.
AtomImplPtr GetFirst() const
Dihedral(const AtomImplList &atoms)
construct new dihedral as defined by the four consecutive atoms stored in atoms
boost::shared_ptr< AtomImpl > AtomImplPtr
std::vector< AtomImplPtr > AtomImplList