![]() |
Rosetta Core
2014.16.56682
|
Kinematics Atom abstract base class. More...
#include <Atom_.hh>
Public Member Functions | |
| virtual | ~Atom_ () |
| Destructor. More... | |
| virtual void | set_weak_ptr_to_self (AtomAP weak_ptr) |
| Set the weak-pointer-to-self for this atom. Must be called after the Atom is created and put inside of an owning_ptr. Required for atoms to be able to hold pointers to their parents: parents must give child atoms weak pointers to themselves. More... | |
| void | update_xyz_coords () |
| update xyz position of this atom and its offspring atoms More... | |
| void | update_internal_coords (bool const recursive) |
| update internal coords of this atom and its offspring atoms (if recursive) More... | |
| bool | keep_dof_fixed (DOF_Type const ) const |
| for DOFs which must be kept fixed due to topology of tree More... | |
| Real | dihedral_between_bonded_children (AtomCOP child1, AtomCOP child2) const |
| dihedral angle between two bonded children to this atom More... | |
| void | show () const |
| dump out AtomID for this atom, its parent and all its offspring More... | |
| void | show (int const &n_level) const |
| dump out AtomID for this atom, its parent and all its offspring up to n_level More... | |
| void | update_domain_map (int ¤t_color, int &biggest_color, DomainMap &domain_map, AtomID_Mask const &dof_moved, AtomID_Mask const &atom_moved) const |
| update domain map More... | |
| Atoms_ConstIterator | atoms_begin () const |
| starting const iterator of the children atom list More... | |
| Atoms_ConstIterator | atoms_end () const |
| ending const iterator of the children atom list More... | |
| Atoms_Iterator | atoms_begin () |
| starting iterator of the children atom list More... | |
| Atoms_Iterator | atoms_end () |
| ending iterator of the children atom list More... | |
| Size | n_atom () const |
| number of children atoms More... | |
| void | append_atom (AtomOP) |
| append an atom as this atom's child More... | |
| void | delete_atom (AtomOP) |
| remove an atom from this atom's children More... | |
| void | insert_atom (AtomOP) |
| insert an atom as this atom's child More... | |
| void | insert_atom (AtomOP, int const ) |
| tries to insert at the position specified by the second argument More... | |
| void | replace_atom (AtomOP const old_atom, AtomOP const new_atom) |
| replace the old atom by the new atom in the child atom list More... | |
| AtomCOP | get_nonjump_atom (Size const i) const |
| get non-jump atom by its index from the children atoms list More... | |
| Size | n_children () const |
| number of the child atoms More... | |
| Size | n_nonjump_children () const |
| number of the non-jump child atoms More... | |
| AtomCOP | child (Size const k) const |
| get a child atom by index (const method) More... | |
| AtomOP | child (Size const k) |
| get a child atom by index More... | |
| Size | child_index (AtomCOP child) const |
| the atom-index of this child More... | |
| bool | downstream (AtomCOP atom1) const |
| whether atom1 is downstream of this atom. More... | |
| AtomID const & | id () const |
| Atom identifier. More... | |
| void | id (AtomID const &id_in) |
| AtomID assignment. More... | |
| AtomID const & | atom_id () const |
| Atom identifier. More... | |
| Position const & | position () const |
| Position. More... | |
| void | position (Position const &position_a) |
| Position assignment. More... | |
| Position const & | xyz () const |
| Position. More... | |
| void | xyz (Position const &position_a) |
| Position assignment. More... | |
| Length const & | x () const |
| x coordinate More... | |
| Length const & | y () const |
| y coordinate More... | |
| Length const & | z () const |
| z coordinate More... | |
| Length | distance (Atom const &atom) const |
| Distance to an Atom. More... | |
| Length | distance_squared (Atom const &atom) const |
| Distance squared to an Atom. More... | |
| AtomCOP | parent () const |
| Parent atom pointer. More... | |
| void | parent (AtomAP parent_in) |
| parent assignment More... | |
| AtomOP | parent () |
| Parent atom pointer. More... | |
| Stub | get_stub () const |
| stub centerd at this atom More... | |
| Stub | get_input_stub () const |
| stub used to build this atom More... | |
| AtomID const & | stub_atom1_id () const |
| stub atom1 's id More... | |
| AtomID const & | stub_atom2_id () const |
| stub atom2's id More... | |
| AtomID const & | stub_atom3_id () const |
| stub atom3's id More... | |
| AtomCOP | input_stub_atom0 () const |
| the center of the input stub for refolding this atom More... | |
| AtomCOP | input_stub_atom1 () const |
| the first atom to construct the input stub for refolding this atom More... | |
| AtomCOP | input_stub_atom2 () const |
| the second atom to construct the input stub for refolding this atom More... | |
| AtomCOP | input_stub_atom3 () const |
| the third atom to construct the input stub for refolding this atom More... | |
| AtomID const & | input_stub_atom0_id () const |
| input stub atom0's id More... | |
| AtomID const & | input_stub_atom1_id () const |
| input stub atom1's id More... | |
| AtomID const & | input_stub_atom2_id () const |
| input stub atom2's id More... | |
| AtomID const & | input_stub_atom3_id () const |
| input stub atom3's id More... | |
| AtomCOP | previous_sibling () const |
| routines for navigating the tree find the sibling atom before itself More... | |
| AtomCOP | previous_child (AtomCOP child) const |
| find the child atom before this child in the list More... | |
| AtomOP | next_child (AtomCOP child) |
| find the child atom after this child in the list More... | |
| bool | stub_defined () const |
| whether a Stub can be defined for this atom More... | |
| virtual void | dfs (AtomDOFChangeSet &changeset, ResidueCoordinateChangeList &res_change_list, Size const start_atom_index) const |
| base class implementation that traverses the subtree routed at this node in the depth-first traversal of the atoms requiring coordinate updates. More... | |
Public Member Functions inherited from core::kinematics::tree::Atom | |
| virtual | ~Atom () |
| Destructor. More... | |
| virtual void | update_xyz_coords (Stub &stub)=0 |
| update xyz coords from stub and internal coords and More... | |
| virtual void | update_internal_coords (Stub &stub, bool const recursive=true)=0 |
| update internal coords from stub and xyz coords More... | |
| virtual void | update_stub (Stub &stub) const =0 |
| update the stub without actually updating coordinates More... | |
| virtual void | copy_coords (Atom const &src)=0 |
| copy DOFs and xyz coords from src Atom More... | |
| virtual Real | dof (DOF_Type const type) const =0 |
| get dof More... | |
| virtual void | set_dof (DOF_Type const type, Real const value)=0 |
| set dof, use "set_" syntax since we have multiple dof's More... | |
| virtual void | set_dof (DOF_Type const type, Real const value, AtomDOFChangeSet &set)=0 |
| set dof, use "set_" syntax since we have multiple dof's – for use in output-sensitive refold routine More... | |
| virtual Jump const & | jump () const =0 |
| get Jump More... | |
| virtual void | jump (Jump const &jump_in)=0 |
| set Jump More... | |
| virtual void | jump (Jump const &jump_in, AtomDOFChangeSet &set)=0 |
| set Jump – for use in output-sensitive refolding More... | |
| virtual AtomOP | clone (AtomAP parent_in, AtomPointer2D &atom_pointer) const =0 |
| copy atom with new memory allocation More... | |
| virtual void | setup_min_map (DOF_ID &last_torsion, DOF_ID_Mask const &move_map, MinimizerMapBase &min_map) const =0 |
| virtual void | get_dof_axis_and_end_pos (Vector &axis, Position &end_pos, DOF_Type const type) const =0 |
| virtual bool | is_jump () const =0 |
| atom is a jump atom? More... | |
| virtual bool | keep_1st_child_pos () const =0 |
| when other atoms are inserted insert after 1st child if available. –> this enables us to keep a stub of Downstream Jump atoms inside a single residue More... | |
| virtual AtomCOP | stub_atom1 () const =0 |
| virtual AtomCOP | stub_atom2 () const =0 |
| virtual AtomCOP | stub_atom3 () const =0 |
Protected Member Functions | |
| Atom_ () | |
| Default constructor. More... | |
| Atom_ (Atom_ const &atom) | |
| Copy constructor. More... | |
| Atom_ & | operator= (Atom_ const &atom) |
| Copy assignment. More... | |
| AtomAP | this_weak_ptr () |
| Read access to the replacement "this" pointer. More... | |
| AtomCAP | this_weak_ptr () const |
| Read access to the replacement "this" pointer. More... | |
| void | update_child_torsions (AtomOP const child) |
| when subtrees have changed their coordinates More... | |
| Atoms_ConstIterator | nonjump_atoms_begin () const |
| constant iterator of the first non-jump (bonded) atom in the vector of children atoms. More... | |
| Atoms_Iterator | nonjump_atoms_begin () |
| iterator of the first non-jump (bonded) atom in the vector of children atoms. More... | |
| void | abort_bad_call () const |
| helper function to abort if something is wrong in atom tree More... | |
| virtual void | transform_Ax_plus_b_recursive (Matrix const &A, Vector const &b, ResidueCoordinateChangeList &res_change_list) |
| Transform atom and children by linear transformation. More... | |
| void | get_path_from_root (utility::vector1< AtomCOP > &path) const |
| bool | atom_is_on_path_from_root (AtomCOP atm) const |
| void | note_dof_change (AtomDOFChangeSet &changset) |
| Records this atom as having a changed DOF in the input list of Atoms with changed DOFs. For use in output-sensitive refold subroutine. More... | |
| void | note_xyz_uptodate () |
| To ensure proper function of the output-senstive refold subroutine, derived classes must invoke this function during their update_xyz_coord subroutines. More... | |
| Size | dof_refold_index () const |
| read access for derived classes More... | |
Protected Member Functions inherited from core::kinematics::tree::Atom | |
| Atom () | |
| Default constructor. More... | |
| Atom (Atom const &) | |
| Copy constructor. More... | |
| Atom & | operator= (Atom const &) |
| Copy assignment. More... | |
Protected Attributes | |
| AtomAP | this_weak_ptr_ |
| Each atom must hold a weak pointer to itself, and this weak pointer must be given to the atom at its construction. More... | |
| AtomID | atom_id_ |
| Atom ID. More... | |
| AtomAP | parent_ |
| Associated conformation Atom. More... | |
| PointPosition | position_ |
| xyz More... | |
| Atoms | atoms_ |
| Children atom pointers. More... | |
Private Types | |
| typedef Atom | Super |
Private Attributes | |
| Size | dof_refold_index_ |
| Track my position in my owner's list of Atoms with modified DOFs. 0 when my dofs have not changed since the last update_coords. More... | |
Additional Inherited Members | |
Public Types inherited from core::kinematics::tree::Atom | |
| typedef PointPosition | Position |
| typedef utility::vector0< AtomOP > | Atoms |
| typedef Atoms::ConstIterator | Atoms_ConstIterator |
| typedef Atoms::Iterator | Atoms_Iterator |
| typedef numeric::xyzMatrix< Real > | Matrix |
| typedef id::DOF_Type | DOF_Type |
| typedef id::DOF_ID | DOF_ID |
| typedef id::AtomID | AtomID |
| typedef id::AtomID_Mask | AtomID_Mask |
| typedef id::DOF_ID_Mask | DOF_ID_Mask |
| typedef void | iterator_category |
| typedef void | difference_type |
Kinematics Atom abstract base class.
|
inlineprotected |
Default constructor.
References atoms_.
|
inlineprotected |
|
inlinevirtual |
Destructor.
|
protected |
helper function to abort if something is wrong in atom tree
References utility_exit.
Referenced by core::kinematics::tree::BondedAtom::jump().
|
virtual |
append an atom as this atom's child
if the child atom is a jump atom, put it before all the non-jump children atoms but after all the children jump atoms. Otherwise, put it at the end of the children atom list.
Implements core::kinematics::tree::Atom.
References atoms_, nonjump_atoms_begin(), and this_weak_ptr_.
|
inlinevirtual |
Atom identifier.
Implements core::kinematics::tree::Atom.
References atom_id_.
Referenced by core::kinematics::tree::BondedAtom::copy_coords().
Implements core::kinematics::tree::Atom.
References parent_.
|
inlinevirtual |
starting const iterator of the children atom list
Implements core::kinematics::tree::Atom.
References atoms_.
Referenced by core::kinematics::tree::JumpAtom::clone(), core::kinematics::tree::BondedAtom::clone(), core::kinematics::tree::JumpAtom::copy_coords(), core::kinematics::tree::BondedAtom::copy_coords(), dfs(), core::kinematics::tree::JumpAtom::setup_min_map(), core::kinematics::tree::BondedAtom::setup_min_map(), core::kinematics::tree::JumpAtom::update_internal_coords(), core::kinematics::tree::BondedAtom::update_internal_coords(), core::kinematics::tree::JumpAtom::update_xyz_coords(), and core::kinematics::tree::BondedAtom::update_xyz_coords().
|
inlinevirtual |
starting iterator of the children atom list
Implements core::kinematics::tree::Atom.
References atoms_.
|
inlinevirtual |
ending const iterator of the children atom list
Implements core::kinematics::tree::Atom.
References atoms_.
Referenced by core::kinematics::tree::JumpAtom::clone(), core::kinematics::tree::BondedAtom::clone(), core::kinematics::tree::JumpAtom::copy_coords(), core::kinematics::tree::BondedAtom::copy_coords(), dfs(), dihedral_between_bonded_children(), n_nonjump_children(), core::kinematics::tree::JumpAtom::setup_min_map(), core::kinematics::tree::BondedAtom::setup_min_map(), core::kinematics::tree::JumpAtom::update_internal_coords(), core::kinematics::tree::BondedAtom::update_internal_coords(), core::kinematics::tree::BondedAtom::update_xyz_coords(), and core::kinematics::tree::JumpAtom::update_xyz_coords().
|
inlinevirtual |
ending iterator of the children atom list
Implements core::kinematics::tree::Atom.
References atoms_.
get a child atom by index (const method)
Implements core::kinematics::tree::Atom.
References atoms_.
Referenced by delete_atom(), downstream(), next_child(), and previous_child().
the atom-index of this child
the atom-index of this child
Implements core::kinematics::tree::Atom.
References atoms_, and utility_exit_with_message.
|
virtual |
remove an atom from this atom's children
only unlink the child atom from this atom (parent). No recursive operation or freeing memory( use Atom_::erase() to free up memory for an atom and all its children
Implements core::kinematics::tree::Atom.
References atoms_, child(), and utility_exit.
|
virtual |
base class implementation that traverses the subtree routed at this node in the depth-first traversal of the atoms requiring coordinate updates.
the "start atom index" is used to determine which subtrees have already been examined. The atom tree guarantees that the dfs's occur in increasing order by dof refold indices. If this atom has a dof refold index less than the start atom index, then a dfs has previously been launched from this node and the recursion must stop: subtrees must be visited at most once, or running time grows quadratically in the number of atoms in the tree. The atom is responsible for handing the start atom index down to its children in the recursion (if it continues recursing).
Implements core::kinematics::tree::Atom.
Reimplemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.
References atom_id_, atoms_, atoms_begin(), atoms_end(), dof_refold_index_, and core::kinematics::ResidueCoordinateChangeList::mark_residue_moved().
Referenced by core::kinematics::tree::JumpAtom::dfs(), and core::kinematics::tree::BondedAtom::dfs().
|
virtual |
dihedral angle between two bonded children to this atom
the improper dihedral from child1 to child2 about my x-axis (ie, axis defined by me and my parent for nonjump atoms). Since phi_ for a non-first branched atom is defined as the improper angle offset with respect to its previous sibling, we just need to add up all the offsets between them.
Implements core::kinematics::tree::Atom.
References atoms_end(), nonjump_atoms_begin(), core::chemical::PHI, and utility_exit_with_message.
Distance to an Atom.
Implements core::kinematics::tree::Atom.
References numeric::xyzVector< class >::distance(), core::kinematics::tree::Atom::position(), and position_.
Distance squared to an Atom.
Implements core::kinematics::tree::Atom.
References numeric::xyzVector< class >::distance_squared(), core::kinematics::tree::Atom::position(), and position_.
|
inlineprotected |
read access for derived classes
References dof_refold_index_.
Referenced by core::kinematics::tree::BondedAtom::dfs().
whether atom1 is downstream of this atom.
Implements core::kinematics::tree::Atom.
References child(), and n_children().
|
virtual |
stub used to build this atom
the stub that is passed to me during folding, which is normally the stub centered at the parent atom.
Implements core::kinematics::tree::Atom.
References core::kinematics::default_stub, input_stub_atom0(), input_stub_atom1(), input_stub_atom2(), input_stub_atom3(), parent_, and position().
Referenced by core::kinematics::tree::JumpAtom::get_dof_axis_and_end_pos(), core::kinematics::tree::BondedAtom::get_dof_axis_and_end_pos(), update_internal_coords(), core::kinematics::tree::JumpAtom::update_xyz_coords(), core::kinematics::tree::BondedAtom::update_xyz_coords(), and update_xyz_coords().
get non-jump atom by its index from the children atoms list
returns 0 if atom doesnt exist
Implements core::kinematics::tree::Atom.
References atoms_, and nonjump_atoms_begin().
Referenced by core::kinematics::tree::JumpAtom::stub_atom2(), core::kinematics::tree::JumpAtom::stub_atom3(), and stub_defined().
|
protectedvirtual |
Implements core::kinematics::tree::Atom.
References parent_.
|
virtual |
stub centerd at this atom
my stub is center at myself. Normally for bonded atom, X direction is from my parent to me; Z direction is perpendicular to the plane defined by myself, my parent and my parent's parent
Implements core::kinematics::tree::Atom.
References position(), core::kinematics::tree::Atom::stub_atom1(), core::kinematics::tree::Atom::stub_atom2(), and core::kinematics::tree::Atom::stub_atom3().
Referenced by core::kinematics::tree::JumpAtom::get_dof_axis_and_end_pos(), core::kinematics::tree::BondedAtom::get_dof_axis_and_end_pos(), update_child_torsions(), and core::kinematics::tree::JumpAtom::update_internal_coords().
|
inlinevirtual |
Atom identifier.
Implements core::kinematics::tree::Atom.
References atom_id_.
Referenced by core::kinematics::tree::JumpAtom::clone(), core::kinematics::tree::BondedAtom::clone(), and core::kinematics::tree::JumpAtom::copy_coords().
|
inlinevirtual |
|
inlinevirtual |
the center of the input stub for refolding this atom
it is its parent
Implements core::kinematics::tree::Atom.
References parent_.
Referenced by get_input_stub(), and input_stub_atom0_id().
|
inlinevirtual |
|
inlinevirtual |
the first atom to construct the input stub for refolding this atom
it is its parent's stub_atom1, which normally the parent itself
Implements core::kinematics::tree::Atom.
References parent_.
Referenced by get_input_stub(), and input_stub_atom1_id().
|
inlinevirtual |
|
inlinevirtual |
the second atom to construct the input stub for refolding this atom
it is its parent's stub_atom2, which normally the parent's parent
Implements core::kinematics::tree::Atom.
References parent_.
Referenced by get_input_stub(), and input_stub_atom2_id().
|
inlinevirtual |
|
inlinevirtual |
the third atom to construct the input stub for refolding this atom
it is either its previous sibling or its parent's stub_atom3,
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::is_jump(), parent_, and previous_sibling().
Referenced by get_input_stub(), and input_stub_atom3_id().
|
inlinevirtual |
|
virtual |
insert an atom as this atom's child
if the child atom is a jump atom, put it before all jump children atoms; otherwise, put it before all non-jump children atoms; Different from Atom_::append_atom in that it put the new child atom before instead after the other existing child atoms.
Implements core::kinematics::tree::Atom.
References atoms_, nonjump_atoms_begin(), and this_weak_ptr_.
tries to insert at the position specified by the second argument
insert the child atom in a specified position. If the specified postion is out of range, put it either at the beginning or the end of the child atom list. note that jump child atoms are always listed before non-jump atoms and the index must be a non-negative integer.
Implements core::kinematics::tree::Atom.
References atoms_, nonjump_atoms_begin(), and this_weak_ptr_.
for DOFs which must be kept fixed due to topology of tree
eg, phi of stub_atoms for jump_atoms
Reimplemented from core::kinematics::tree::Atom.
Reimplemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.
|
inlinevirtual |
|
virtual |
number of the child atoms
Implements core::kinematics::tree::Atom.
References atoms_.
Referenced by core::kinematics::tree::JumpAtom::copy_coords(), core::kinematics::tree::BondedAtom::copy_coords(), and downstream().
|
inlinevirtual |
number of the non-jump child atoms
Implements core::kinematics::tree::Atom.
References atoms_end(), and nonjump_atoms_begin().
find the child atom after this child in the list
return 0 if the input child is the last child in the list
Implements core::kinematics::tree::Atom.
References atoms_, child(), and utility_exit.
|
protectedvirtual |
constant iterator of the first non-jump (bonded) atom in the vector of children atoms.
Implements core::kinematics::tree::Atom.
References atoms_.
Referenced by append_atom(), dihedral_between_bonded_children(), get_nonjump_atom(), insert_atom(), and n_nonjump_children().
|
protectedvirtual |
iterator of the first non-jump (bonded) atom in the vector of children atoms.
Implements core::kinematics::tree::Atom.
References atoms_.
|
protected |
Records this atom as having a changed DOF in the input list of Atoms with changed DOFs. For use in output-sensitive refold subroutine.
Records this atom as an atom with one-or-more changed dofs in the input AtomDOFChangeSet if this is first DOF on this atom to change; if it is not the first DOF on this atom that has changed, then this atom is already in set and this atom is recorded at position dof_refold_index_.
References atom_id_, and dof_refold_index_.
Referenced by core::kinematics::tree::JumpAtom::jump(), core::kinematics::tree::JumpAtom::set_dof(), and core::kinematics::tree::BondedAtom::set_dof().
|
inlineprotected |
To ensure proper function of the output-senstive refold subroutine, derived classes must invoke this function during their update_xyz_coord subroutines.
References dof_refold_index_.
Referenced by core::kinematics::tree::JumpAtom::update_xyz_coords(), and core::kinematics::tree::BondedAtom::update_xyz_coords().
Copy assignment.
References dof_refold_index_, and position_.
Referenced by core::kinematics::tree::JumpAtom::copy_coords(), and core::kinematics::tree::BondedAtom::copy_coords().
|
inlinevirtual |
Parent atom pointer.
Implements core::kinematics::tree::Atom.
References parent_.
Referenced by core::kinematics::tree::JumpAtom::keep_dof_fixed(), core::kinematics::tree::BondedAtom::keep_dof_fixed(), core::kinematics::tree::JumpAtom::set_dof(), core::kinematics::tree::JumpAtom::setup_min_map(), core::kinematics::tree::JumpAtom::stub_atom1(), core::kinematics::tree::BondedAtom::stub_atom2(), core::kinematics::tree::JumpAtom::stub_atom2(), core::kinematics::tree::BondedAtom::stub_atom3(), core::kinematics::tree::JumpAtom::stub_atom3(), and core::kinematics::tree::BondedAtom::update_xyz_coords().
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Position.
Implements core::kinematics::tree::Atom.
References position_.
Referenced by core::kinematics::tree::JumpAtom::clone(), core::kinematics::tree::BondedAtom::clone(), get_input_stub(), get_stub(), core::kinematics::tree::BondedAtom::update_internal_coords(), core::kinematics::tree::JumpAtom::update_xyz_coords(), and core::kinematics::tree::BondedAtom::update_xyz_coords().
|
inlinevirtual |
find the child atom before this child in the list
return 0 if the input child is the first child in the list
Implements core::kinematics::tree::Atom.
References atoms_, child(), and utility_exit.
|
virtual |
routines for navigating the tree find the sibling atom before itself
call parent's previous_child method to get its previous sibling; return 0 if no parent is present.
Implements core::kinematics::tree::Atom.
References parent_, and this_weak_ptr_.
Referenced by input_stub_atom3().
|
virtual |
replace the old atom by the new atom in the child atom list
old atom and new atom need to belong to the same type ( either both jump atoms or both non-jump atoms. New atom is inserted at the position of old atom.
Implements core::kinematics::tree::Atom.
References atoms_, this_weak_ptr_, and utility_exit.
|
virtual |
Set the weak-pointer-to-self for this atom. Must be called after the Atom is created and put inside of an owning_ptr. Required for atoms to be able to hold pointers to their parents: parents must give child atoms weak pointers to themselves.
Implements core::kinematics::tree::Atom.
References this_weak_ptr_.
|
virtual |
dump out AtomID for this atom, its parent and all its offspring
first this atom, then its parent and then recursively all its children
Implements core::kinematics::tree::Atom.
|
virtual |
dump out AtomID for this atom, its parent and all its offspring up to n_level
first this atom, then its parent and then recursively all its children up to n_level
Implements core::kinematics::tree::Atom.
References atom_id_, atoms_, parent_, core::kinematics::tree::TR, x(), y(), and z().
|
inlinevirtual |
stub atom1 's id
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::stub_atom1().
|
inlinevirtual |
stub atom2's id
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::stub_atom2().
Referenced by core::kinematics::tree::BondedAtom::keep_dof_fixed().
|
inlinevirtual |
stub atom3's id
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::stub_atom3().
Referenced by core::kinematics::tree::BondedAtom::keep_dof_fixed().
|
virtual |
whether a Stub can be defined for this atom
Implements core::kinematics::tree::Atom.
References get_nonjump_atom(), and core::kinematics::tree::Atom::is_jump().
Referenced by core::kinematics::tree::JumpAtom::stub_atom1(), core::kinematics::tree::JumpAtom::stub_atom2(), core::kinematics::tree::BondedAtom::stub_atom3(), and core::kinematics::tree::JumpAtom::stub_atom3().
|
inlineprotected |
Read access to the replacement "this" pointer.
References this_weak_ptr_.
|
inlineprotected |
Read access to the replacement "this" pointer.
References this_weak_ptr_.
|
protectedvirtual |
Transform atom and children by linear transformation.
Keep track of any residue that moves so that the Conformation object may be correctly updated.
Implements core::kinematics::tree::Atom.
References atom_id_, atoms_, core::kinematics::ResidueCoordinateChangeList::mark_residue_moved(), and position_.
|
protectedvirtual |
when subtrees have changed their coordinates
the coordinates of the atom "*child" – one of my children – have changed. This routine updates the torsions to reflect this. Useful if we have just repacked or rotamer-trialed, ie sidechain atoms_ have moved but the backbone is still the same, more efficient than calling update_internal_coords on the entire tree...
Implements core::kinematics::tree::Atom.
References atom_id_, atoms_, get_stub(), and utility_exit.
|
virtual |
update domain map
update domain map for this atom and all its offspring consider this like a graph coloring problem. we are recursively (depth-first) assigning a color to each atom.
Implements core::kinematics::tree::Atom.
References atom_id_, atoms_, and core::kinematics::tree::Atom::is_jump().
|
virtual |
update internal coords of this atom and its offspring atoms (if recursive)
get the input stub for building this atom first
Implements core::kinematics::tree::Atom.
References get_input_stub().
|
virtual |
update xyz position of this atom and its offspring atoms
get the input stub for building this atom first
Implements core::kinematics::tree::Atom.
Reimplemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.
References get_input_stub().
|
inlinevirtual |
x coordinate
Implements core::kinematics::tree::Atom.
References position_, and numeric::xyzVector< class >::x().
Referenced by show(), and core::kinematics::tree::BondedAtom::update_internal_coords().
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
y coordinate
Implements core::kinematics::tree::Atom.
References position_, and numeric::xyzVector< class >::y().
Referenced by show(), and core::kinematics::tree::BondedAtom::update_internal_coords().
|
inlinevirtual |
z coordinate
Implements core::kinematics::tree::Atom.
References position_, and numeric::xyzVector< class >::z().
Referenced by show(), and core::kinematics::tree::BondedAtom::update_internal_coords().
|
protected |
Atom ID.
Referenced by atom_id(), dfs(), id(), note_dof_change(), show(), transform_Ax_plus_b_recursive(), update_child_torsions(), and update_domain_map().
|
protected |
Children atom pointers.
Referenced by append_atom(), Atom_(), atoms_begin(), atoms_end(), child(), child_index(), delete_atom(), dfs(), get_nonjump_atom(), insert_atom(), n_atom(), n_children(), next_child(), nonjump_atoms_begin(), previous_child(), replace_atom(), show(), transform_Ax_plus_b_recursive(), update_child_torsions(), and update_domain_map().
|
private |
Track my position in my owner's list of Atoms with modified DOFs. 0 when my dofs have not changed since the last update_coords.
Referenced by dfs(), dof_refold_index(), note_dof_change(), note_xyz_uptodate(), and operator=().
|
protected |
Associated conformation Atom.
Parent atom pointer
Referenced by atom_is_on_path_from_root(), core::kinematics::tree::BondedAtom::dfs(), get_input_stub(), get_path_from_root(), input_stub_atom0(), input_stub_atom1(), input_stub_atom2(), input_stub_atom3(), parent(), previous_sibling(), show(), and core::kinematics::tree::BondedAtom::update_xyz_coords().
|
protected |
xyz
Referenced by distance(), distance_squared(), operator=(), position(), transform_Ax_plus_b_recursive(), x(), xyz(), y(), and z().
|
protected |
Each atom must hold a weak pointer to itself, and this weak pointer must be given to the atom at its construction.
Referenced by append_atom(), insert_atom(), previous_sibling(), replace_atom(), set_weak_ptr_to_self(), and this_weak_ptr().
1.8.7