BTK::ALGORITHMS Namespace Reference


Classes

struct  is_any
 Indiscriminate predicate. More...
struct  is_selected
 Selection predicate. More...
struct  is_not_selected
 Inverse selection predicate. More...
struct  is_named
 Name predicate. More...
struct  type_is
 Type predicate. More...
struct  chain_id_is
 Chain ID predicate. More...
struct  number_is
 Number predicate. More...

Namespaces

namespace  internal

Functions

template<typename AtomIterator1, typename AtomIterator2>
double leastsquares_superposition (AtomIterator1 fixed_first, AtomIterator1 fixed_last, AtomIterator2 superimpose_first, AtomIterator2 superimpose_last, BTK::MATH::BTKMatrix &U, BTK::MATH::BTKVector &T)
 Calculate the transformation resulting in the least-squares superposition of two atom sets.
template<typename AtomIterator1, typename AtomIterator2, typename AtomIterator3>
double leastsquares_superposition (AtomIterator1 fixed_first, AtomIterator1 fixed_last, AtomIterator2 superimpose_first, AtomIterator2 superimpose_last, AtomIterator3 transform_first, AtomIterator3 transform_last)
 Applies the least-squares superposition of two atom sets to a third atom set.
template<typename AtomIterator1, typename AtomIterator2>
double get_rmsd (AtomIterator1 a1_first, AtomIterator1 a1_last, AtomIterator2 a2_first, AtomIterator2 a2_last)
 Calculate the superimposed RMSD of two atom sets.
template<typename AtomIterator1, typename AtomIterator2>
double get_trivial_rmsd (AtomIterator1 a1_first, AtomIterator1 a1_last, AtomIterator2 a2_first, AtomIterator2 a2_last)
 calculate the trivial (non-superimposed) RMSD between two atom sets.
template<typename AtomIterator>
void translate (AtomIterator begin, AtomIterator end, BTK::MATH::BTKVector const &T)
 Translate atoms along vector T.
template<typename AtomIterator>
void center (AtomIterator begin, AtomIterator end)
 Center a structure.
template<typename AtomIterator1, typename AtomIterator2>
void align_centers (AtomIterator1 fixed_begin, AtomIterator1 fixed_end, AtomIterator2 mobile_begin, AtomIterator2 mobile_end)
 Align the geometric centers of two molecules.
template<typename AtomIterator>
void rotate (AtomIterator begin, AtomIterator end, double phi, double theta, double psi, BTK::MATH::BTKVector const &fixed_point)
 Rotate atoms about a fixed point.
template<typename AtomIterator>
void rotate (AtomIterator begin, AtomIterator end, double phi, double theta, double psi)
 Rotate atoms about their geometric center.
template<typename AtomIterator>
void rotate (AtomIterator begin, AtomIterator end, BTK::MATH::BTKVector const &axis, double theta, BTK::MATH::BTKVector const &fixed_point)
 Rotate atoms around an axis or vector, with respect to a point.
template<typename AtomIterator>
void rotate (AtomIterator begin, AtomIterator end, BTK::MATH::BTKVector const &axis, double theta)
 Rotate atoms around an axis or vector, with respect to their geometric center.
template<typename AtomIterator>
void rotate (AtomIterator begin, AtomIterator end, BTK::MATH::BTKMatrix const &R)
 Rotate atoms using a rotation matrix.
template<typename AtomIterator>
void transform (AtomIterator begin, AtomIterator end, BTK::MATH::BTKMatrix const &R, BTK::MATH::BTKVector const &T)
 Combined translate/rotate.
Molecular geometric properties
Methods for computing geometric properties of atomic structures.

These are iterator-based methods for computing geometric properties of atomic structures, such as principal axes and geometric centers. They will work with any iterator that is a model of the AtomIterator concept.

template<typename AtomIterator>
BTK::MATH::BTKVector geometric_center (AtomIterator begin, AtomIterator end)
 Compute the geometric center of a range of atoms.
Selection methods.
template<typename Iterator>
void select (Iterator begin, Iterator end, bool select_value=true)
 Select/deselect all objects in a range.
template<typename Iterator, typename UnaryPredicate>
void select_if (Iterator begin, Iterator end, UnaryPredicate test, bool select_value=true)
 Select/deselect objects in a range that satisfy a predicate.


Function Documentation

BTK::MATH::BTKVector BTK::ALGORITHMS::geometric_center ( AtomIterator  begin,
AtomIterator  end 
)

Compute the geometric center of a range of atoms.

Calculates the geometric center of atoms in the range [first,last).

Examples:
gyration_radius.cpp.

void BTK::ALGORITHMS::select ( Iterator  begin,
Iterator  end,
bool  select_value = true 
)

Select/deselect all objects in a range.

Changes the select flag for every object in the range [begin,end) to the specified value (the objects must expose the select(bool) method).

Parameters:
select_value The value to assign to the select flag of every atom in the starting range.

void BTK::ALGORITHMS::select_if ( Iterator  begin,
Iterator  end,
UnaryPredicate  test,
bool  select_value = true 
)

Select/deselect objects in a range that satisfy a predicate.

Changes the select flag for every object in the range [begin,end) that satisfies the given predicate (the objects must expose the select(bool) method).

Parameters:
test An object or function satisfying the UnaryPredicate concept.
select_value The value to assign to the select flag of every object that satisfies the supplied predicate.


Generated on Sun Jul 15 20:46:32 2007 for BTK Core by  doxygen 1.5.1