# Class transformation

- Defined in File symmetry.hpp

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