OpenStructure
Public Member Functions | Protected Member Functions | Friends
ICSEditor Class Reference

#include <ics_editor.hh>

Inherits 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 ()
 
- Public Member Functions inherited from EditorBase
ChainHandle InsertChain (const String &chain_name)
 
ChainHandle InsertChain (const String &chain_name, ChainHandle chain, bool deep=false)
 
ResidueHandle AppendResidue (ChainHandle chain, const ResidueKey &k)
 
ResidueHandle AppendResidue (ChainHandle chain, const ResidueKey &k, const ResNum &num)
 
ResidueHandle AppendResidue (ChainHandle chain, ResidueHandle residue, bool deep=false)
 
ResidueHandle InsertResidueBefore (ChainHandle chain, int index, const ResNum &num, const ResidueKey &k)
 
ResidueHandle InsertResidueAfter (ChainHandle chain, int index, const ResNum &num, const ResidueKey &k)
 
AtomHandle InsertAtom (ResidueHandle residue, const String &name, const geom::Vec3 &pos, const String &ele="", Real occupancy=1.0, Real b_factor=0.0, bool is_hetatm=false)
 
AtomHandle InsertAtom (ResidueHandle residue, AtomHandle atom)
 
AtomHandle InsertAltAtom (ResidueHandle residue, const String &name, const String &alt_group, const geom::Vec3 &pos, const String &ele="", Real occ=1.0, Real b_factor=0.0)
 
AtomHandle InsertAltAtom (ResidueHandle residue, AtomHandle atom, const String &alt_group)
 
void AddAltAtomPos (const String &group, const AtomHandle &atom, const geom::Vec3 &position, Real occ=1.0, Real b_factor=0.0)
 
BondHandle Connect (const AtomHandle &first, const AtomHandle &second)
 
BondHandle Connect (const AtomHandle &first, const AtomHandle &second, unsigned char bond_order)
 
BondHandle Connect (const AtomHandle &first, const AtomHandle &second, Real len, Real theta, Real phi)
 
BondHandle Connect (const AtomHandle &first, const AtomHandle &second, Real len, Real theta, Real phi, unsigned char bond_order)
 
void RenameResidue (ResidueHandle res, const String &new_name)
 
void SetResidueNumber (ResidueHandle res, const ResNum &num)
 
void RenameChain (ChainHandle chain, const String &new_name)
 
void SetChainType (ChainHandle chain, const ChainType type)
 
void SetChainDescription (ChainHandle chain, const String desc)
 
void DeleteAllAtoms (ResidueHandle res)
 
void DeleteAtom (const AtomHandle &atom)
 
void DeleteAtoms (const AtomHandleList &atoms)
 
void DeleteBond (const BondHandle &bond)
 
void DeleteBonds (const BondHandleList &bonds)
 
TorsionHandle AddTorsion (const String &name, const AtomHandle &a1, const AtomHandle &a2, const AtomHandle &a3, const AtomHandle &a4)
 
void DeleteChain (const ChainHandle &chain)
 
void DeleteResidue (const ResidueHandle &residue_handle)
 
void ReorderResidues (const ChainHandle &chain)
 
void ReorderAllResidues ()
 
void RenumberAllResidues (int start, bool keep_spacing)
 
void RenumberChain (ChainHandle chain, const ResNumList &new_numbers)
 
void RenumberChain (const ChainHandle &chain, int start, bool keep_spacing)
 
EditMode GetMode () const
 
EntityHandle GetEntity () const
 
void RenameAtom (AtomHandle atom, const String &new_name)
 
void Prune ()
 

Protected Member Functions

 ICSEditor (const EntityHandle &ent, EditMode mode)
 
void Update ()
 
- Protected Member Functions inherited from EditorBase
 EditorBase (const EntityHandle &ent, EditMode mode)
 
void UpdateTrace ()
 

Friends

class EntityHandle
 

Additional Inherited Members

- Protected Attributes inherited from EditorBase
EntityHandle ent_
 
EditMode mode_
 

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 ( )

◆ ICSEditor() [1/2]

ICSEditor ( const EntityHandle ent,
EditMode  mode 
)
protected

◆ ICSEditor() [2/2]

ICSEditor ( const ICSEditor rhs)

Member Function Documentation

◆ operator=()

ICSEditor& operator= ( const ICSEditor rhs)

◆ RotateTorsionAngle() [1/2]

void RotateTorsionAngle ( const AtomHandle atom_a,
const AtomHandle atom_b,
const AtomHandle atom_c,
const AtomHandle atom_d,
Real  angle,
bool  update_others = true 
)

◆ RotateTorsionAngle() [2/2]

void RotateTorsionAngle ( TorsionHandle  torsion,
Real  delta,
bool  update_others = true 
)

rotate torsion angle

◆ SetAngle()

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.

◆ SetBondLength()

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

◆ SetTorsionAngle() [1/2]

void SetTorsionAngle ( const AtomHandle atom_a,
const AtomHandle atom_b,
const AtomHandle atom_c,
const AtomHandle atom_d,
Real  angle,
bool  update_others = true 
)

◆ SetTorsionAngle() [2/2]

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

◆ Update()

void Update ( )
protected

◆ UpdateXCS()

void UpdateXCS ( )

immediately update external coordinate system

Friends And Related Function Documentation

◆ EntityHandle

friend class EntityHandle
friend

Definition at line 36 of file ics_editor.hh.


The documentation for this class was generated from the following file: