Gromacs
2024.4
|
#include <gromacs/math/include/gromacs/math/coordinatetransformation.h>
Affine transformation of three-dimensional coordinates.
Perfoms in-place coordinate transformations.
Coordinates are first multiplied by a matrix, then translated.
Public Member Functions | |
AffineTransformation (Matrix3x3ConstSpan mat, const RVec &translation) | |
Construct a three-dimensional affine transformation. More... | |
void | operator() (ArrayRef< RVec > vectors) const |
Perform an affine transformation on input vectors. More... | |
void | operator() (RVec *vector) const |
Perform an affine transformation on a vector. More... | |
Matrix3x3 | gradient () const |
Return the gradient of this affine transformation. More... | |
gmx::AffineTransformation::AffineTransformation | ( | Matrix3x3ConstSpan | mat, |
const RVec & | translation | ||
) |
Construct a three-dimensional affine transformation.
[in] | mat | to be applied to the vectors |
[in] | translation | to be performed on the vectors |
Matrix3x3 gmx::AffineTransformation::gradient | ( | ) | const |
Return the gradient of this affine transformation.
The gradient of an affine transformation is the transpose of the linear transformation matrix. See, eg, here https://inst.eecs.berkeley.edu/~ee127/sp21/livebook/def_gradient.html
Perform an affine transformation on input vectors.
[in,out] | vectors | to be transformed in-place |
void gmx::AffineTransformation::operator() | ( | RVec * | vector | ) | const |
Perform an affine transformation on a vector.
[in,out] | vector | to be transformed in-place |