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

Rotation functions


Functions to rotate atoms by Euler angles.

These functions rotate a structure using Euler angles under the 'X Convention,' where:

  • phi - first rotation, around the Z axis
  • theta - second rotation, around the X axis [0,pi]
  • psi - third rotation, around Z axis

The fixed_point parameter allows for specification of a linear translation to be performed to each point in the structure prior to rotation. You'll usually want to use the default fixed_point, which is the unweighted center of mass of the structure.

template<typename AtomIterator> void BTK::rotate (AtomIterator first, AtomIterator last, double phi, double theta, double psi, const BTKVector &fixed_point)
template<typename AtomIterator> void BTK::rotate (AtomIterator first, AtomIterator last, double phi, double theta, double psi)

Functions to rotate atoms around an axis.

These methods rotate a structure by theta radians about axis. As with Euler rotations, the fixed_point allows the specification of a linear translation to be performed to each point in the structure prior to rotation. The default is the structure's unweighted center of mass.

template<typename AtomIterator> void BTK::rotate (AtomIterator first, AtomIterator last, const BTKVector &axis, double theta, const BTKVector &fixed_point)
template<typename AtomIterator> void BTK::rotate (AtomIterator first, AtomIterator last, const BTKVector &axis, double theta)

Functions

template<typename AtomIterator> void BTK::rotate (AtomIterator first, AtomIterator last, const BTKMatrix &R)
 Rotate atoms using a rotation matrix.


Detailed Description

These functions provide different ways of rotating atoms.

Function Documentation

template<typename AtomIterator>
void BTK::rotate AtomIterator  first,
AtomIterator  last,
const BTKMatrix &  R
 

Rotate atoms using a rotation matrix.

Applies rotation matrix rot to every point in the structure, thus rotating the structure.

template<typename AtomIterator>
void rotate AtomIterator  first,
AtomIterator  last,
const BTKVector &  axis,
double  theta
[inline]
 

Here is the call graph for this function:

template<typename AtomIterator>
void BTK::rotate AtomIterator  first,
AtomIterator  last,
const BTKVector &  axis,
double  theta,
const BTKVector &  fixed_point
 

Here is the call graph for this function:

template<typename AtomIterator>
void rotate AtomIterator  first,
AtomIterator  last,
double  phi,
double  theta,
double  psi
[inline]
 

Here is the call graph for this function:

template<typename AtomIterator>
void BTK::rotate AtomIterator  first,
AtomIterator  last,
double  phi,
double  theta,
double  psi,
const BTKVector &  fixed_point
 

Here is the call graph for this function:


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