Class transformation

Class Documentation

class transformation

A class you can use to apply symmetry transformations on points.

Transformations consist of two operations, a matrix transformation which is often a rotation followed by a translation.

In case the matrix transformation is a pure rotation a quaternion is created to do the actual calculations. That’s faster and more precise.

Public Functions

transformation(const symop_data &data)

constructor taking a symop_data object data

transformation(const matrix3x3<float> &r, const cif::point &t)

constructor taking a rotation matrix r and a translation vector t

inline point operator()(point pt) const

operator() to perform the transformation on point pt and return the result

inline transformation operator-() const

return the inverse tranformation for this

Friends

friend class spacegroup
friend transformation operator*(const transformation &lhs, const transformation &rhs)

return a transformation object that is the result of applying rhs after lhs

friend transformation inverse(const transformation &t)

return the inverse transformation for t