ICSEditor Class Reference

editor for internal molecule coordinates More...

#include <ics_editor.hh>

Inherits ost::mol::EditorBase.

Public Member Functions

 ~ICSEditor ()
 ICSEditor (const ICSEditor &rhs)
ICSEditoroperator= (const ICSEditor &rhs)
void SetBondLength (const BondHandle &bond, Real length)
bool SetAngle (const AtomHandle &atom_a, const AtomHandle &atom_b, const AtomHandle &atom_c, Real angle)
void SetTorsionAngle (TorsionHandle torsion, Real angle, bool update_others=true)
void RotateTorsionAngle (TorsionHandle torsion, Real delta, bool update_others=true)
void RotateTorsionAngle (const AtomHandle &atom_a, const AtomHandle &atom_b, const AtomHandle &atom_c, const AtomHandle &atom_d, Real angle, bool update_others=true)
void SetTorsionAngle (const AtomHandle &atom_a, const AtomHandle &atom_b, const AtomHandle &atom_c, const AtomHandle &atom_d, Real angle, bool update_others=true)
void UpdateXCS ()

Protected Member Functions

 ICSEditor (const EntityHandle &ent, EditMode mode)
void Update ()

Friends

class EntityHandle

Detailed Description

editor for internal molecule coordinates

See also:
Entity Editors, Roll Helix Example

Definition at line 34 of file ics_editor.hh.


Constructor & Destructor Documentation

~ICSEditor (  ) 
ICSEditor ( const EntityHandle ent,
EditMode  mode 
) [protected]
ICSEditor ( const ICSEditor rhs  ) 

Member Function Documentation

ICSEditor& operator= ( const ICSEditor rhs  ) 
void RotateTorsionAngle ( const AtomHandle atom_a,
const AtomHandle atom_b,
const AtomHandle atom_c,
const AtomHandle atom_d,
Real  angle,
bool  update_others = true 
)
void RotateTorsionAngle ( TorsionHandle  torsion,
Real  delta,
bool  update_others = true 
)

rotate torsion angle

bool SetAngle ( const AtomHandle atom_a,
const AtomHandle atom_b,
const AtomHandle atom_c,
Real  angle 
)

Set angle of vectors formed by a12 and a13 to the given value.

The angle is adjusted in such a way that the plane given by the 3 atom positions is kept invariant (the vectors are rotated around the plane normal).

Setting the angle requires the 3 atoms to be connected with bond. If they are not, the method will fail. The method is solely based on the internal coordinate system.

void SetBondLength ( const BondHandle bond,
Real  length 
)

set the lengh of the bond, ie the distance of the second atom from the first

Calling BondHandle::SetLength will bring the external coordinate system out of sync. It will not be updated until EntityHandle::UpdateICS() is called.

See also:
EntityHandle::UpdateICS
void SetTorsionAngle ( const AtomHandle atom_a,
const AtomHandle atom_b,
const AtomHandle atom_c,
const AtomHandle atom_d,
Real  angle,
bool  update_others = true 
)
void SetTorsionAngle ( TorsionHandle  torsion,
Real  angle,
bool  update_others = true 
)

set absolute torsion angle

All connectors at the third atom (A3) will be adjusted accordingly. If you only want to adjust the bond between A3 and A4, and leave the other bonds untouched, use the SetDihedralAngle() function

See also:
RotateTorsionAngle
void Update (  )  [protected]
void UpdateXCS (  ) 

immediately update external coordinate system


Friends And Related Function Documentation

friend class EntityHandle [friend]

Definition at line 36 of file ics_editor.hh.


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated on 20 Jun 2016 for OpenStructure by  doxygen 1.6.1