Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

Buildable atom functions


Functions

template<typename AtomType> void BTK::add_bond (AtomType &first, AtomType &last)
 Add a covalent bond between two atoms.

template<typename AtomType> unsigned BTK::bond_distance_4 (AtomType &a1, AtomType &a2)
 Get the topological distance of another atom up to 4 bonds away.

template<typename AtomIterator> void BTK::build (AtomIterator first, AtomIterator last)
 Build a set of atoms by building transitively bonded neighbors.

template<typename AtomType> void BTK::build_atom (AtomType &a)
 Build atom by building transitively bonded neighbors.

template<typename AtomType> void BTK::restricted_rotate (AtomType &start, AtomType &boundary, double delta_angle)
 Rotate a transitively bonded atom group.

template<typename AtomType, typename UnaryFunction> UnaryFunction BTK::for_each_buildable_atom (AtomType &start, AtomType &boundary, UnaryFunction func)
 Apply a function to a sequence of bonded atoms.


Function Documentation

template<typename AtomType>
void BTK::add_bond AtomType &  first,
AtomType &  last
 

Add a covalent bond between two atoms.

:

template<typename AtomType>
unsigned BTK::bond_distance_4 AtomType &  a1,
AtomType &  a2
 

Get the topological distance of another atom up to 4 bonds away.

note that this returns 5 bonds for all distances greater than 4

template<typename AtomIterator>
void BTK::build AtomIterator  first,
AtomIterator  last
 

Build a set of atoms by building transitively bonded neighbors.

build every possible unbuilt atom in first-last range, including unbuilt atoms which require a default free torsion angle setting

Here is the call graph for this function:

template<typename AtomType>
void BTK::build_atom AtomType &  a  ) 
 

Build atom by building transitively bonded neighbors.

build atom, doing whatever adjacent atom building is necassary to to make the given atom buildable, if all transitively adjacent atoms are unbuilt, then bootstrap build this atom and two adjacent neighboring atoms

template<typename AtomType, typename UnaryFunction>
UnaryFunction BTK::for_each_buildable_atom AtomType &  start,
AtomType &  boundary,
UnaryFunction  func
 

Apply a function to a sequence of bonded atoms.

a specialization of std::for_each, which iterates through all atoms transitively bonded to start that can be reached without crossing atom boundary, and applies 'func' to each atom

template<typename AtomType>
void BTK::restricted_rotate AtomType &  start,
AtomType &  boundary,
double  delta_angle
 

Rotate a transitively bonded atom group.

for all atoms bonded to atom 'start' which can be reached without crossing atom 'boundary', rotate about the start-boundary axis by delta_angle

Here is the call graph for this function:


Generated on Wed Apr 14 00:43:19 2004 for BTK by doxygen 1.3.6