Rosetta 3.4
Public Member Functions | Protected Member Functions | Protected Attributes
core::kinematics::tree::Atom_ Class Reference

Kinematics Atom abstract base class. More...

#include <Atom_.hh>

Inheritance diagram for core::kinematics::tree::Atom_:
Inheritance graph
[legend]
Collaboration diagram for core::kinematics::tree::Atom_:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual ~Atom_ ()
 Destructor.
void update_xyz_coords ()
 update xyz position of this atom and its offspring atoms
void update_internal_coords (bool const recursive)
 update internal coords of this atom and its offspring atoms (if recursive)
bool keep_dof_fixed (DOF_Type const ) const
 recursively add all atoms into the AtomPointers map
Real dihedral_between_bonded_children (Atom const *child1, Atom const *child2) const
 dihedral angle between two bonded children to this atom
void show () const
 dump out AtomID for this atom, its parent and all its offspring
void show (int const &n_level) const
 dump out AtomID for this atom, its parent and all its offspring up to n_level
void update_domain_map (int &current_color, int &biggest_color, DomainMap &domain_map, AtomID_Mask const &dof_moved, AtomID_Mask const &atom_moved) const
 update domain map
Atoms_ConstIterator atoms_begin () const
 starting const iterator of the children atom list
Atoms_ConstIterator atoms_end () const
 ending const iterator of the children atom list
Atoms_Iterator atoms_begin ()
 starting iterator of the children atom list
Atoms_Iterator atoms_end ()
 ending iterator of the children atom list
Size n_atom () const
 number of children atoms
void append_atom (Atom *)
 append an atom as this atom's child
void delete_atom (Atom *)
 remove an atom from this atom's children
void insert_atom (Atom *)
 insert an atom as this atom's child
void insert_atom (Atom *, int const )
 tries to insert at the position specified by the second argument
void replace_atom (Atom *const old_atom, Atom *const new_atom)
 replace the old atom by the new atom in the child atom list
Atom const * get_nonjump_atom (Size const i) const
 get non-jump atom by its index from the children atoms list
Size n_children () const
 delete this atom and all its children
Size n_nonjump_children () const
 number of the non-jump child atoms
Atom const * child (Size const k) const
 get a child atom by index (const method)
Atomchild (Size const k)
 get a child atom by index
Size child_index (Atom const *child) const
 the atom-index of this child
bool downstream (Atom const *atom1) const
 whether atom1 is downstream of this atom.
AtomID const & id () const
 Atom identifier.
void id (AtomID const &id_in)
 AtomID assignment.
AtomID const & atom_id () const
 Atom identifier.
Position const & position () const
 Position.
void position (Position const &position_a)
 Position assignment.
Position const & xyz () const
 Position.
void xyz (Position const &position_a)
 Position assignment.
Length const & x () const
 x coordinate
Length const & y () const
 y coordinate
Length const & z () const
 z coordinate
Length distance (Atom const &atom) const
 Distance to an Atom.
Length distance_squared (Atom const &atom) const
 Distance squared to an Atom.
Atom const * parent () const
 Parent atom pointer.
void parent (Atom *parent_in)
 parent assignment
Atomparent ()
 Parent atom pointer.
Stub get_stub () const
 stub centerd at this atom
Stub get_input_stub () const
 stub used to build this atom
AtomID const & stub_atom1_id () const
 stub atom1 's id
AtomID const & stub_atom2_id () const
 stub atom2's id
AtomID const & stub_atom3_id () const
 stub atom3's id
Atom const * input_stub_atom0 () const
 the center of the input stub for refolding this atom
Atom const * input_stub_atom1 () const
 the first atom to construct the input stub for refolding this atom
Atom const * input_stub_atom2 () const
 the second atom to construct the input stub for refolding this atom
Atom const * input_stub_atom3 () const
 the third atom to construct the input stub for refolding this atom
AtomID const & input_stub_atom0_id () const
 input stub atom0's id
AtomID const & input_stub_atom1_id () const
 input stub atom1's id
AtomID const & input_stub_atom2_id () const
 input stub atom2's id
AtomID const & input_stub_atom3_id () const
 input stub atom3's id
Atom const * previous_sibling () const
 routines for navigating the tree find the sibling atom before itself
Atom const * previous_child (Atom const *child) const
 find the child atom before this child in the list
Atomnext_child (Atom const *child)
 find the child atom after this child in the list
bool stub_defined () const
 whether a Stub can be defined for this atom
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.

Protected Member Functions

 Atom_ ()
 Default constructor.
 Atom_ (Atom_ const &atom)
 Copy constructor.
Atom_operator= (Atom_ const &atom)
 Copy assignment.
void update_child_torsions (Atom *const child)
 when subtrees have changed their coordinates
Atoms_ConstIterator nonjump_atoms_begin () const
 constant iterator of the first non-jump (bonded) atom in the vector of children atoms.
Atoms_Iterator nonjump_atoms_begin ()
 iterator of the first non-jump (bonded) atom in the vector of children atoms.
void abort_bad_call () const
 helper function to abort if something is wrong in atom tree
virtual void transform_Ax_plus_b_recursive (Matrix const &A, Vector const &b, ResidueCoordinateChangeList &res_change_list)
 Transform atom and children by linear transformation.
void get_path_from_root (utility::vector1< Atom const * > &path) const
bool atom_is_on_path_from_root (Atom const *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.
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.
Size dof_refold_index () const
 read access for derived classes

Protected Attributes

AtomID atom_id_
 Atom ID.
Atomparent_
 Associated conformation Atom.
PointPosition position_
 xyz
Atoms atoms_
 Children atom pointers.

Detailed Description

Kinematics Atom abstract base class.


Constructor & Destructor Documentation

core::kinematics::tree::Atom_::Atom_ ( ) [inline, protected]

Default constructor.

References atoms_.

core::kinematics::tree::Atom_::Atom_ ( Atom_ const &  atom) [inline, protected]

Copy constructor.

Note:
Copies value and type state but not context state

References atoms_.

virtual core::kinematics::tree::Atom_::~Atom_ ( ) [inline, virtual]

Destructor.


Member Function Documentation

void core::kinematics::tree::Atom_::abort_bad_call ( ) const [protected]

helper function to abort if something is wrong in atom tree

Referenced by core::kinematics::tree::BondedAtom::jump().

void core::kinematics::tree::Atom_::append_atom ( Atom atom) [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_, core::kinematics::tree::Atom::is_jump(), nonjump_atoms_begin(), and core::kinematics::tree::Atom::parent().

Referenced by core::kinematics::tree::BondedAtom::clone(), and core::kinematics::tree::JumpAtom::clone().

AtomID const& core::kinematics::tree::Atom_::atom_id ( ) const [inline, virtual]
bool core::kinematics::tree::Atom_::atom_is_on_path_from_root ( Atom const *  atm) const [protected, virtual]
Atoms_Iterator core::kinematics::tree::Atom_::atoms_begin ( ) [inline, virtual]

starting iterator of the children atom list

Implements core::kinematics::tree::Atom.

References atoms_.

Atoms_ConstIterator core::kinematics::tree::Atom_::atoms_begin ( ) const [inline, virtual]
Atoms_ConstIterator core::kinematics::tree::Atom_::atoms_end ( ) const [inline, virtual]
Atoms_Iterator core::kinematics::tree::Atom_::atoms_end ( ) [inline, virtual]

ending iterator of the children atom list

Implements core::kinematics::tree::Atom.

References atoms_.

Atom const * core::kinematics::tree::Atom_::child ( Size const  k) const [virtual]

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

Atom * core::kinematics::tree::Atom_::child ( Size const  k) [virtual]

get a child atom by index

Implements core::kinematics::tree::Atom.

References atoms_.

Size core::kinematics::tree::Atom_::child_index ( Atom const *  child) const [virtual]

the atom-index of this child

Implements core::kinematics::tree::Atom.

References atoms_, and core::kinematics::tree::Atom::parent().

void core::kinematics::tree::Atom_::delete_atom ( Atom child) [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_, and child().

void core::kinematics::tree::Atom_::dfs ( AtomDOFChangeSet changeset,
ResidueCoordinateChangeList res_change_list,
Size const  start_atom_index 
) const [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(), and core::kinematics::ResidueCoordinateChangeList::mark_residue_moved().

Real core::kinematics::tree::Atom_::dihedral_between_bonded_children ( Atom const *  child1,
Atom const *  child2 
) const [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(), core::kinematics::tree::Atom::is_jump(), nonjump_atoms_begin(), core::kinematics::tree::Atom::parent(), and core::id::PHI.

Length core::kinematics::tree::Atom_::distance ( Atom const &  atom) const [inline, virtual]
Length core::kinematics::tree::Atom_::distance_squared ( Atom const &  atom) const [inline, virtual]

Distance squared to an Atom.

Implements core::kinematics::tree::Atom.

References core::kinematics::tree::Atom::position(), and position_.

Size core::kinematics::tree::Atom_::dof_refold_index ( ) const [inline, protected]

read access for derived classes

Referenced by core::kinematics::tree::BondedAtom::dfs().

bool core::kinematics::tree::Atom_::downstream ( Atom const *  atom1) const [virtual]

whether atom1 is downstream of this atom.

Implements core::kinematics::tree::Atom.

References child(), and n_children().

Stub core::kinematics::tree::Atom_::get_input_stub ( ) const [virtual]
Atom const * core::kinematics::tree::Atom_::get_nonjump_atom ( Size const  index) const [virtual]

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

void core::kinematics::tree::Atom_::get_path_from_root ( utility::vector1< Atom const * > &  path) const [protected, virtual]
Stub core::kinematics::tree::Atom_::get_stub ( ) const [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().

AtomID const& core::kinematics::tree::Atom_::id ( ) const [inline, virtual]
void core::kinematics::tree::Atom_::id ( AtomID const &  id_in) [inline, virtual]

AtomID assignment.

Implements core::kinematics::tree::Atom.

References atom_id_.

Atom const* core::kinematics::tree::Atom_::input_stub_atom0 ( ) const [inline, virtual]

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

AtomID const& core::kinematics::tree::Atom_::input_stub_atom0_id ( ) const [inline, virtual]

input stub atom0's id

Implements core::kinematics::tree::Atom.

References core::kinematics::tree::Atom::id(), and input_stub_atom0().

Atom const* core::kinematics::tree::Atom_::input_stub_atom1 ( ) const [inline, virtual]

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_, and core::kinematics::tree::Atom::stub_atom1().

Referenced by get_input_stub(), and input_stub_atom1_id().

AtomID const& core::kinematics::tree::Atom_::input_stub_atom1_id ( ) const [inline, virtual]

input stub atom1's id

Implements core::kinematics::tree::Atom.

References core::kinematics::tree::Atom::id(), and input_stub_atom1().

Atom const* core::kinematics::tree::Atom_::input_stub_atom2 ( ) const [inline, virtual]

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_, and core::kinematics::tree::Atom::stub_atom2().

Referenced by get_input_stub(), and input_stub_atom2_id().

AtomID const& core::kinematics::tree::Atom_::input_stub_atom2_id ( ) const [inline, virtual]

input stub atom2's id

Implements core::kinematics::tree::Atom.

References core::kinematics::tree::Atom::id(), and input_stub_atom2().

Atom const* core::kinematics::tree::Atom_::input_stub_atom3 ( ) const [inline, virtual]

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::id(), core::kinematics::tree::Atom::is_jump(), parent_, previous_sibling(), core::kinematics::tree::Atom::stub_atom2_id(), and core::kinematics::tree::Atom::stub_atom3().

Referenced by get_input_stub(), and input_stub_atom3_id().

AtomID const& core::kinematics::tree::Atom_::input_stub_atom3_id ( ) const [inline, virtual]

input stub atom3's id

Implements core::kinematics::tree::Atom.

References core::kinematics::tree::Atom::id(), and input_stub_atom3().

void core::kinematics::tree::Atom_::insert_atom ( Atom atom,
int const  index 
) [virtual]

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_, core::kinematics::tree::Atom::is_jump(), nonjump_atoms_begin(), and core::kinematics::tree::Atom::parent().

void core::kinematics::tree::Atom_::insert_atom ( Atom atom) [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_, core::kinematics::tree::Atom::is_jump(), nonjump_atoms_begin(), and core::kinematics::tree::Atom::parent().

bool core::kinematics::tree::Atom_::keep_dof_fixed ( DOF_Type  const) const [inline, virtual]

recursively add all atoms into the AtomPointers map

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.

Size core::kinematics::tree::Atom_::n_atom ( ) const [inline, virtual]

number of children atoms

Implements core::kinematics::tree::Atom.

References atoms_.

Size core::kinematics::tree::Atom_::n_children ( ) const [virtual]

delete this atom and all its children

number of the child atoms

delete an atom (free memory) and recursively for all its children. reset its children's list.

Implements core::kinematics::tree::Atom.

References atoms_.

Referenced by core::kinematics::tree::BondedAtom::copy_coords(), core::kinematics::tree::JumpAtom::copy_coords(), and downstream().

Size core::kinematics::tree::Atom_::n_nonjump_children ( ) const [inline, virtual]

number of the non-jump child atoms

Implements core::kinematics::tree::Atom.

References atoms_end(), and nonjump_atoms_begin().

Atom * core::kinematics::tree::Atom_::next_child ( Atom const *  child) [virtual]

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_, and child().

Atom_::Atoms_ConstIterator core::kinematics::tree::Atom_::nonjump_atoms_begin ( ) const [protected, virtual]

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

Atom_::Atoms_Iterator core::kinematics::tree::Atom_::nonjump_atoms_begin ( ) [protected, virtual]

iterator of the first non-jump (bonded) atom in the vector of children atoms.

Implements core::kinematics::tree::Atom.

References atoms_.

void core::kinematics::tree::Atom_::note_dof_change ( AtomDOFChangeSet changset) [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_.

Referenced by core::kinematics::tree::JumpAtom::jump(), core::kinematics::tree::JumpAtom::set_dof(), and core::kinematics::tree::BondedAtom::set_dof().

void core::kinematics::tree::Atom_::note_xyz_uptodate ( ) [inline, protected]

To ensure proper function of the output-senstive refold subroutine, derived classes must invoke this function during their update_xyz_coord subroutines.

Referenced by core::kinematics::tree::JumpAtom::update_xyz_coords(), and core::kinematics::tree::BondedAtom::update_xyz_coords().

Atom_& core::kinematics::tree::Atom_::operator= ( Atom_ const &  atom) [inline, protected]

Copy assignment.

Note:
Copies value and type state but not context state

References position_.

Referenced by core::kinematics::tree::JumpAtom::copy_coords(), and core::kinematics::tree::BondedAtom::copy_coords().

Atom const* core::kinematics::tree::Atom_::parent ( ) const [inline, virtual]
Atom* core::kinematics::tree::Atom_::parent ( ) [inline, virtual]

Parent atom pointer.

Implements core::kinematics::tree::Atom.

References parent_.

void core::kinematics::tree::Atom_::parent ( Atom parent_in) [inline, virtual]

parent assignment

Implements core::kinematics::tree::Atom.

References parent_.

void core::kinematics::tree::Atom_::position ( Position const &  position_a) [inline, virtual]

Position assignment.

Implements core::kinematics::tree::Atom.

References position_.

Position const& core::kinematics::tree::Atom_::position ( ) const [inline, virtual]
Atom const * core::kinematics::tree::Atom_::previous_child ( Atom const *  child) const [virtual]

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_, and child().

Atom const * core::kinematics::tree::Atom_::previous_sibling ( ) const [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 core::kinematics::tree::Atom::previous_child().

Referenced by input_stub_atom3().

void core::kinematics::tree::Atom_::replace_atom ( Atom *const  old_atom,
Atom *const  new_atom 
) [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_, core::kinematics::tree::Atom::is_jump(), and core::kinematics::tree::Atom::parent().

void core::kinematics::tree::Atom_::show ( int const &  n_level) const [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_, core::kinematics::tree::Atom::id(), parent_, core::kinematics::tree::TR(), x(), y(), and z().

void core::kinematics::tree::Atom_::show ( ) const [virtual]

dump out AtomID for this atom, its parent and all its offspring

When this atom is added, it will call this function recursively for all its children atoms first. The end condition is for those tip atoms in the tree, i.e., without children. After this function is finished, this atom and all its children (and their children) should be updated properly in the map

first this atom, then its parent and then recursively all its children

Implements core::kinematics::tree::Atom.

References atom_id_, atoms_, core::kinematics::tree::Atom::id(), and parent_.

AtomID const& core::kinematics::tree::Atom_::stub_atom1_id ( ) const [inline, virtual]
AtomID const& core::kinematics::tree::Atom_::stub_atom2_id ( ) const [inline, virtual]
AtomID const& core::kinematics::tree::Atom_::stub_atom3_id ( ) const [inline, virtual]
bool core::kinematics::tree::Atom_::stub_defined ( ) const [virtual]

whether a Stub can be defined for this atom

  • bonded-atom always has its stub defined (from its parent)
  • jump-atom needs to have at least three atoms (including itself) at its end to define a stub, such as three linearly bonded atoms or two children atoms bonded to itself.

Implements core::kinematics::tree::Atom.

References core::kinematics::tree::Atom::get_nonjump_atom(), 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().

void core::kinematics::tree::Atom_::transform_Ax_plus_b_recursive ( Matrix const &  A,
Vector const &  b,
ResidueCoordinateChangeList res_change_list 
) [protected, virtual]

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_, protocols::match::upstream::b, core::kinematics::ResidueCoordinateChangeList::mark_residue_moved(), and position_.

void core::kinematics::tree::Atom_::update_child_torsions ( Atom *const  child) [protected, virtual]

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...

Note:
update_internal_coords is called recursively on all of *child's children.

Implements core::kinematics::tree::Atom.

References atom_id_, atoms_, get_stub(), and core::kinematics::tree::Atom::id().

void core::kinematics::tree::Atom_::update_domain_map ( int current_color,
int biggest_color,
DomainMap domain_map,
AtomID_Mask const &  dof_moved,
AtomID_Mask const &  atom_moved 
) const [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().

void core::kinematics::tree::Atom_::update_internal_coords ( bool const  recursive) [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().

void core::kinematics::tree::Atom_::update_xyz_coords ( ) [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().

Length const& core::kinematics::tree::Atom_::x ( ) const [inline, virtual]
Position const& core::kinematics::tree::Atom_::xyz ( ) const [inline, virtual]

Position.

Implements core::kinematics::tree::Atom.

References position_.

void core::kinematics::tree::Atom_::xyz ( Position const &  position_a) [inline, virtual]

Position assignment.

Implements core::kinematics::tree::Atom.

References position_.

Length const& core::kinematics::tree::Atom_::y ( ) const [inline, virtual]
Length const& core::kinematics::tree::Atom_::z ( ) const [inline, virtual]

Member Data Documentation


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines